/* adc.c */
void init_adc();
void susp_adc();
-void timer_start_adcs();
/* pwm.c */
#define PWM_MAX 0x1E4 /* This should be different than ADC frequency 125 kHz */
#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
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();