]> www.fi.muni.cz Git - bike-lights.git/blobdiff - firmware/lights.h
firmware: control logic moved to a separate module
[bike-lights.git] / firmware / lights.h
index 81871421a2bf322f4f3e13bd0a3632d24119bad4..4a23436ea79dd84b8b21a055c70890cce5127fbe 100644 (file)
@@ -66,15 +66,11 @@ typedef struct {
 
 #define PATTERN_FOREVER 0x1F
 #define PATTERN_END { 0, 0 }
-extern pattern_t off_pattern[];
-extern pattern_t zero_pattern[];
-extern pattern_t on_pattern[];
-extern pattern_t mode1_pattern[];
-
 void init_pattern();
 void patterns_next_tick();
 void led_set_pattern(unsigned char led, pattern_t *pattern);
-pattern_t *number_pattern(unsigned char num);
+pattern_t *number_pattern(unsigned char num, unsigned char inv);
+void pattern_reload();
 
 /* buttons.c */
 #define MAX_USER_PARAMS 3
@@ -82,14 +78,28 @@ void init_buttons();
 void susp_buttons();
 void timer_check_buttons();
 unsigned char get_user_param(unsigned char param);
-pattern_t *status_pattern_select(unsigned char n);
 unsigned char buttons_wait_for_release();
+unsigned char buttons_setup_in_progress();
+pattern_t *buttons_setup_status0_pattern_select();
+pattern_t *buttons_setup_status1_pattern_select();
 
 /* battery.c */
 extern volatile unsigned char battery_100mv;
 void battery_adc();
 void init_battery();
 
+/* control.c */
+extern pattern_t on1_pattern[];
+
+void init_control();
+void toggle_dim_mode();
+void set_panic_mode();
+pattern_t *pwmled0_pattern_select();
+pattern_t *pwmled1_pattern_select();
+pattern_t *pwmled2_pattern_select();
+pattern_t *status_led_pattern_select();
+pattern_t *illumination_led_pattern_select();
+
 /* main.c */
 void power_down();