X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fcortexelf-v1%2Fao_cortexelf.c;h=1c30cd85dda20a768642261c9a2d826c186ba07f;hp=8be7ef151457acd362733157709f0684dd7ff159;hb=2f87e182d9f0b3c2856f62149371ad70b16148cf;hpb=1bc48b075f76bfef258f516549573429b24f284c diff --git a/src/cortexelf-v1/ao_cortexelf.c b/src/cortexelf-v1/ao_cortexelf.c index 8be7ef15..1c30cd85 100644 --- a/src/cortexelf-v1/ao_cortexelf.c +++ b/src/cortexelf-v1/ao_cortexelf.c @@ -27,9 +27,12 @@ #include #include #include -#include +#include #include #include +#include +#include +#include struct ao_task ball_task; @@ -146,17 +149,16 @@ ao_fb_init(void) static void ao_video_toggle(void) { - ao_cmd_decimal(); - if (ao_cmd_lex_i) + uint16_t r = ao_cmd_decimal(); + if (r) ao_fb_init(); - ao_vga_enable(ao_cmd_lex_i); + ao_vga_enable(r) } static void ao_ball_toggle(void) { - ao_cmd_decimal(); - ball_enable = ao_cmd_lex_i; + ball_enable = ao_cmd_decimal(); ao_wakeup(&ball_enable); } @@ -185,8 +187,8 @@ ao_console_send(void) } } -static void lisp_cmd() { - ao_lisp_read_eval_print(); +static void scheme_cmd() { + ao_scheme_read_eval_print(); } static void @@ -200,13 +202,27 @@ ao_serial_blather(void) } } -__code struct ao_cmds ao_demo_cmds[] = { +static void +led_cmd(void) +{ + uint8_t start; + uint8_t value; + + start = ao_cmd_decimal(); + value = ao_cmd_hex(); + if (ao_cmd_status != ao_cmd_success) + return; + ao_as1107_write_8(start, value); +} + +const struct ao_cmds ao_demo_cmds[] = { { ao_video_toggle, "V\0Toggle video" }, { ao_ball_toggle, "B\0Toggle ball" }, { ao_ps2_read_keys, "K\0Read keys from keyboard" }, { ao_console_send, "C\0Send data to console, end with ~" }, { ao_serial_blather, "S\0Blather on serial ports briefly" }, - { lisp_cmd, "l\0Run lisp interpreter" }, + { scheme_cmd, "l\0Run scheme interpreter" }, + { led_cmd, "L start value\0Show value (byte) at digit start" }, { 0, NULL } }; @@ -255,6 +271,12 @@ main(void) ao_button_init(); + ao_as1107_init(); + ao_matrix_init(); + ao_1802_init(); + + ao_hex_init(); + ao_config_init(); ao_add_task(&ball_task, ao_ball, "ball");