summaryrefslogtreecommitdiff
path: root/boards
diff options
context:
space:
mode:
authorhathach <[email protected]>2014-03-21 16:32:39 +0700
committerhathach <[email protected]>2014-03-21 16:32:39 +0700
commitd2d0d0a6d528bd44c73ceeea6fbf1093dc339786 (patch)
tree979467b17eeb4fe3c8e773364ec2dae6987aab37 /boards
parent34c60cdca30a2106a3bf578b45c9cc4b049310ed (diff)
clean up some device warnings
move led_blinking_task and led_blinking_set_interval to board.c
Diffstat (limited to 'boards')
-rw-r--r--boards/board.c40
-rw-r--r--boards/board.h7
2 files changed, 45 insertions, 2 deletions
diff --git a/boards/board.c b/boards/board.c
index 06ed9f0fd..fac6077b8 100644
--- a/boards/board.c
+++ b/boards/board.c
@@ -38,6 +38,7 @@
#include "board.h"
+
#if TUSB_CFG_OS == TUSB_OS_NONE
volatile uint32_t system_ticks = 0;
@@ -53,6 +54,45 @@ uint32_t tusb_tick_get(void)
#endif
+//--------------------------------------------------------------------+
+// BLINKING TASK
+//--------------------------------------------------------------------+
+OSAL_TASK_DEF(led_blinking_task, 128, LED_BLINKING_APP_TASK_PRIO);
+static uint32_t led_blink_interval_ms = 1000; // default is 1 second
+
+void led_blinking_init(void)
+{
+ (void) osal_task_create( OSAL_TASK_REF(led_blinking_task) );
+}
+
+void led_blinking_set_interval(uint32_t ms)
+{
+ led_blink_interval_ms = ms;
+}
+
+OSAL_TASK_FUNCTION( led_blinking_task , p_task_para)
+{
+ OSAL_TASK_LOOP_BEGIN
+
+ static uint32_t led_on_mask = 0;
+
+ osal_task_delay(led_blink_interval_ms);
+
+ board_leds(led_on_mask, 1 - led_on_mask);
+ led_on_mask = 1 - led_on_mask; // toggle
+
+// uint32_t btn_mask;
+// btn_mask = board_buttons();
+//
+// for(uint8_t i=0; i<32; i++)
+// {
+// if ( BIT_TEST_(btn_mask, i) ) printf("button %d is pressed\n", i);
+// }
+
+ OSAL_TASK_LOOP_END
+}
+
+// TODO remove legacy cmsis code
void check_failed(uint8_t *file, uint32_t line)
{
(void) file;
diff --git a/boards/board.h b/boards/board.h
index 9c7facacb..d1bc0cc04 100644
--- a/boards/board.h
+++ b/boards/board.h
@@ -115,13 +115,16 @@
void board_init(void);
void board_leds(uint32_t on_mask, uint32_t off_mask);
+uint32_t board_buttons(void);
uint8_t board_uart_getchar(void);
void board_uart_putchar(uint8_t c);
-uint32_t board_buttons(void);
+//------------- Board Application -------------//
+OSAL_TASK_FUNCTION( led_blinking_task , p_task_para);
-extern volatile uint32_t system_ticks;
+void led_blinking_init(void);
+void led_blinking_set_interval(uint32_t ms);
#ifdef __cplusplus
}