diff options
| author | Keith Packard <keithp@keithp.com> | 2012-03-18 22:26:43 -0700 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-03-28 21:37:03 -0700 |
| commit | 4be74ef0d13114707fd8217907a5ec457f886160 (patch) | |
| tree | fafe7935bad49480fefb462aa49a33f7e46af3a4 /src/stm-demo | |
| parent | ab6ea9043b592c25948a70b6204d613756a9a250 (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/Makefile | 1 | ||||
| -rw-r--r-- | src/stm-demo/ao_demo.c | 13 | ||||
| -rw-r--r-- | src/stm-demo/ao_pins.h | 11 |
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_ */ |
