#include "project.h" #define LED_BOARD GPIO13 #define LED_BOARD_PORT GPIOC #define LED_YELLOW GPIO11 #define LED_YELLOW_PORT GPIOA #define LED_GREEN1 GPIO12 #define LED_GREEN1_PORT GPIOA #define LED_GREEN2 GPIO15 #define LED_GREEN2_PORT GPIOA #define LED_RED GPIO3 #define LED_RED_PORT GPIOB static unsigned led, yellow; void led_red_set (int i) { if (i) CLEAR (LED_RED); else SET (LED_RED); } void led_green1_set (int i) { if (i) CLEAR (LED_GREEN1); else SET (LED_GREEN1); } void led_green2_set (int i) { if (i) CLEAR (LED_GREEN2); else SET (LED_GREEN2); } static void _led_yellow_set (int i) { if (i) CLEAR (LED_YELLOW); else SET (LED_YELLOW); } static void led_board_set (int i) { if (i) CLEAR (LED_BOARD); else SET (LED_BOARD); } void led_blink (void) { led = MS_TO_TICKS (25); } void led_yellow_set (int i) { yellow = !!i; } void led_tick (void) { if (led) { led--; led_board_set (1); _led_yellow_set (!yellow); } else { led_board_set (0); _led_yellow_set (yellow); } } void led_init (void) { MAP_OUTPUT_PP (LED_BOARD); MAP_OUTPUT_PP (LED_RED); MAP_OUTPUT_PP (LED_GREEN1); MAP_OUTPUT_PP (LED_GREEN2); MAP_OUTPUT_PP (LED_YELLOW); CLEAR (LED_BOARD); }