void ambient_adc(uint16_t adc_val);
/* pattern.c */
+typedef struct {
+ unsigned char mode: 3;
+ unsigned char duration: 5;
+} pattern_t;
+
+#define PATTERN_END { 0, 0 }
+extern pattern_t off_pattern[];
+extern pattern_t on_pattern[];
+
void pattern_init();
void patterns_next_tick();
void led_set_status(unsigned char status);
+void led_set_pattern(unsigned char led, pattern_t *pattern);
/* buttons.c */
void init_buttons();
#include "lights.h"
-typedef struct {
- unsigned char mode: 3;
- unsigned char duration: 5;
-} pattern_t;
-
static unsigned char led_counters[N_LEDS];
static pattern_t *led_patterns[N_LEDS];
-#define PATTERN_END { 0, 0 }
pattern_t off_pattern[] = {
{ 0, 0x1F },
PATTERN_END
};
+pattern_t on_pattern[] = {
+ { 1, 0x1F },
+ PATTERN_END
+};
+
pattern_t blink_pattern[] = {
{ 1, 0x4 },
{ 0, 0x8 },