]> git.gag.com Git - fw/altos/commitdiff
quantimotor: serial port receive to usb serial emulation working
authorBdale Garbee <bdale@gag.com>
Wed, 3 Jul 2024 23:55:32 +0000 (17:55 -0600)
committerBdale Garbee <bdale@gag.com>
Tue, 6 May 2025 18:37:26 +0000 (12:37 -0600)
src/quantimotor-v1/Makefile
src/quantimotor-v1/ao_pins.h
src/quantimotor-v1/ao_quantimotor.c

index c5e56dce8608397e6aacd5cb3f96bea94044b84b..d033f920749adb45629e911b80abacaf696f7e17 100644 (file)
@@ -29,9 +29,7 @@ ALTOS_SRC = \
        ao_convert_volt.c \
        ao_task.c \
        ao_cmd.c \
-       ao_config.c \
        ao_timer_lpc.c \
-       ao_exti_lpc.c \
        ao_romconfig.c \
        ao_adc_lpc.c \
        ao_serial_lpc.c \
index 963908e12d13843170a2d0e7c01ab12a86185a6f..cb65a6ab0ac91cfd8c0c89a7dcb2d1c50619ff03 100644 (file)
@@ -29,7 +29,9 @@
 #define HAS_USB_VBUS           0
 #define HAS_USB_PULLUP         1
 #define AO_USB_PULLUP_PORT     0
-#define AO_USB_PULLUP_PIN      20
+/* #define AO_USB_PULLUP_PIN   20 */
+/* following is for use of fctester proto as development device */
+#define AO_USB_PULLUP_PIN      6
 
 /* USART */
 
index 5ee30d743155894fb763a80324f74447d10c5584..18362c2a29d2796d3599a76183d2ddbd000a2770 100644 (file)
@@ -4,24 +4,44 @@
  */
 
 #include <ao.h>
-#include <ao_exti.h>
 #include <ao_serial.h>
 
+static struct ao_task ao_console_read_task;
+
+static void
+ao_console_read(void)
+{
+        int     c;
+        for (;;) {
+                ao_arch_block_interrupts();
+                c = _ao_serial0_pollchar();
+                ao_arch_release_interrupts();
+                if (c == AO_READ_AGAIN) {
+                        flush();
+                        c = ao_serial0_getchar();
+                }
+                ao_usb_putchar((char) c);
+        }
+}
+
 int
 main(void)
 {
        ao_clock_init();
        ao_task_init();
        ao_timer_init();
-       ao_exti_init();
 
        ao_adc_init();
 
        ao_usb_init();
+
        ao_serial_init();
+        ao_serial0_set_speed(AO_SERIAL_SPEED_115200);
 
        ao_cmd_init();
-       ao_config_init();
+
+       ao_add_task(&ao_console_read_task, ao_console_read, "console_read");
 
        ao_start_scheduler();
+       return 0;
 }