doc: Add 1.9 release notes
[fw/altos] / src / nucleao-32 / ao_nucleo.c
index cda889c6eef25c0eeb43d39a0bb19d36bb5e7707..6b4cbaaed195d23687c6f670951fd35e96a0b53e 100644 (file)
  */
 
 #include <ao.h>
+#include <ao_lisp.h>
+#include <ao_beep.h>
 
-static uint16_t        blink_delay, blink_running;
-
-static void blink(void) {
-       blink_running = 1;
-       while (blink_delay) {
-               ao_led_on(AO_LED_GREEN);
-               ao_delay(blink_delay);
-               ao_led_off(AO_LED_GREEN);
-               ao_delay(blink_delay);
-       }
-       blink_running = 0;
-       ao_wakeup(&blink_running);
-       ao_exit();
+static void lisp_cmd() {
+       ao_lisp_read_eval_print();
 }
 
-struct ao_task blink_task;
-
-static void blink_cmd() {
-       ao_cmd_decimal();
-       blink_delay = ao_cmd_lex_i;
-       if (blink_delay && !blink_running)
-               ao_add_task(&blink_task, blink, "blink");
-       if (!blink_delay)
-               while (blink_running)
-                       ao_sleep(&blink_running);
+static void beep() {
+       ao_beep_for(AO_BEEP_MID, AO_MS_TO_TICKS(200));
 }
 
 static const struct ao_cmds blink_cmds[] = {
-       { blink_cmd,    "b <delay, 0 off>\0Blink the green LED" },
+       { lisp_cmd,     "l\0Run lisp interpreter" },
+       { beep,         "b\0Beep" },
        { 0, 0 }
 };
 
@@ -55,6 +39,7 @@ void main(void)
        ao_dma_init();
        ao_usb_init();
        ao_serial_init();
+       ao_beep_init();
        ao_cmd_init();
        ao_cmd_register(blink_cmds);
        ao_start_scheduler();