altos/nucleo-32: Update lisp files, add beeper support
authorKeith Packard <keithp@keithp.com>
Tue, 21 Feb 2017 01:34:43 +0000 (17:34 -0800)
committerKeith Packard <keithp@keithp.com>
Tue, 21 Feb 2017 01:35:51 +0000 (17:35 -0800)
Signed-off-by: Keith Packard <keithp@keithp.com>
src/nucleao-32/Makefile
src/nucleao-32/ao_nucleo.c
src/nucleao-32/ao_pins.h

index 57fb4cde626038beebb7acb728c02cf9629418a3..6904998265b123d3649725118226a77d66ddb848 100644 (file)
@@ -27,6 +27,7 @@ ALTOS_SRC = \
        ao_config.c \
        ao_task.c \
        ao_led.c \
+       ao_beep_stm.c \
        ao_dma_stm.c \
        ao_stdio.c \
        ao_panic.c \
@@ -35,21 +36,22 @@ ALTOS_SRC = \
        ao_usb_stm.c \
        ao_serial_stm.c \
        ao_flash_stm.c \
-       ao_lisp_lex.c \
-       ao_lisp_mem.c \
+       ao_lisp_atom.c \
+       ao_lisp_builtin.c \
        ao_lisp_cons.c \
+       ao_lisp_error.c \
        ao_lisp_eval.c \
-       ao_lisp_string.c \
-       ao_lisp_atom.c \
+       ao_lisp_frame.c \
        ao_lisp_int.c \
+       ao_lisp_lambda.c \
+       ao_lisp_lex.c \
+       ao_lisp_mem.c \
        ao_lisp_poly.c \
-       ao_lisp_builtin.c \
        ao_lisp_read.c \
        ao_lisp_rep.c \
-       ao_lisp_frame.c \
-       ao_lisp_error.c \
-       ao_lisp_lambda.c \
        ao_lisp_save.c \
+       ao_lisp_stack.c \
+       ao_lisp_string.c \
        ao_lisp_os_save.c
 
 PRODUCT=Nucleo-32
index 3e448865f890288d49e45fbc9e411cd7451a5b2c..6b4cbaaed195d23687c6f670951fd35e96a0b53e 100644 (file)
 
 #include <ao.h>
 #include <ao_lisp.h>
+#include <ao_beep.h>
 
 static void lisp_cmd() {
        ao_lisp_read_eval_print();
 }
 
+static void beep() {
+       ao_beep_for(AO_BEEP_MID, AO_MS_TO_TICKS(200));
+}
+
 static const struct ao_cmds blink_cmds[] = {
        { lisp_cmd,     "l\0Run lisp interpreter" },
+       { beep,         "b\0Beep" },
        { 0, 0 }
 };
 
@@ -33,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();
index e631db7bd5c763401490e6d6640514725bf9dc28..cee4616f08ceabd872beace2dcbd7782f8ae8665 100644 (file)
 #define HAS_USB                                1
 #define AO_USB_DIRECTIO                        0
 #define AO_PA11_PA12_RMP               0
-#define HAS_BEEP                       0
+#define HAS_BEEP                       1
+
+#define BEEPER_TIMER                   2
+#define BEEPER_CHANNEL                 4
+#define BEEPER_PORT                    (&stm_gpioa)
+#define BEEPER_PIN                     3
 
 #define IS_FLASH_LOADER        0