summaryrefslogtreecommitdiff
path: root/src/stm-demo
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-03-18 22:26:43 -0700
committerKeith Packard <keithp@keithp.com>2012-03-28 21:37:03 -0700
commit4be74ef0d13114707fd8217907a5ec457f886160 (patch)
treefafe7935bad49480fefb462aa49a33f7e46af3a4 /src/stm-demo
parentab6ea9043b592c25948a70b6204d613756a9a250 (diff)
Fix STM LED driver and blink LEDs on discovery board
This adds a task to blink the LEDs, after first fixing up the LED output code to enable the GPIO and talk to the right pins for the discovery board. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/stm-demo')
-rw-r--r--src/stm-demo/Makefile1
-rw-r--r--src/stm-demo/ao_demo.c13
-rw-r--r--src/stm-demo/ao_pins.h11
3 files changed, 21 insertions, 4 deletions
diff --git a/src/stm-demo/Makefile b/src/stm-demo/Makefile
index a675182e..b2413a2c 100644
--- a/src/stm-demo/Makefile
+++ b/src/stm-demo/Makefile
@@ -37,6 +37,7 @@ ALTOS_SRC = \
ao_romconfig.c \
ao_cmd.c \
ao_task.c \
+ ao_led.c \
ao_stdio.c \
ao_panic.c \
ao_timer.c \
diff --git a/src/stm-demo/ao_demo.c b/src/stm-demo/ao_demo.c
index 5fe0b154..94527089 100644
--- a/src/stm-demo/ao_demo.c
+++ b/src/stm-demo/ao_demo.c
@@ -22,9 +22,13 @@ struct ao_task demo_task;
void
ao_demo(void)
{
- int i = 0;
for (;;) {
- printf ("hello %d\n", i++);
+ ao_led_on(AO_LED_BLUE);
+ ao_delay(AO_MS_TO_TICKS(500));
+ ao_led_off(AO_LED_BLUE);
+ ao_led_on(AO_LED_GREEN);
+ ao_delay(AO_MS_TO_TICKS(500));
+ ao_led_off(AO_LED_GREEN);
}
}
@@ -42,9 +46,10 @@ main(void)
ao_serial_init();
ao_timer_init();
-// ao_cmd_init();
-
+ ao_cmd_init();
+ ao_led_init(LEDS_AVAILABLE);
ao_add_task(&demo_task, ao_demo, "demo");
+
ao_start_scheduler();
return 0;
}
diff --git a/src/stm-demo/ao_pins.h b/src/stm-demo/ao_pins.h
index f436e9c8..39d4fc3c 100644
--- a/src/stm-demo/ao_pins.h
+++ b/src/stm-demo/ao_pins.h
@@ -26,4 +26,15 @@
#define LOW_LEVEL_DEBUG 1
+#define LED_PORT_ENABLE STM_RCC_AHBENR_GPIOBEN
+#define LED_PORT stm_gpiob
+#define LED_PIN_GREEN 7
+#define LED_PIN_BLUE 6
+#define AO_LED_GREEN (1 << LED_PIN_GREEN)
+#define AO_LED_BLUE (1 << LED_PIN_BLUE)
+
+#define AO_LED_RED AO_LED_BLUE /* a patent lie */
+
+#define LEDS_AVAILABLE (AO_LED_BLUE | AO_LED_GREEN)
+
#endif /* _AO_PINS_H_ */