#define N_PWMLEDS 3
#define N_PWMLED_MODES 4
+#define N_BUTTONS 2
+
/* logging.c */
#ifdef USE_LOGGING
void log_set_state(unsigned char val);
void pwmled_init();
void pwmled_adc(unsigned char n, uint16_t adcval);
void pwmled_set_mode(unsigned char n, unsigned char mode);
-unsigned char pwmled_is_on(unsigned char n);
+unsigned char pwmled_needs_adc(unsigned char n);
+unsigned char pwmled_enabled(unsigned char n);
/* gpio.c */
#define GPIO_LED1 0
/* ambient.c */
void ambient_init();
-extern unsigned char ambient_zone;
+extern volatile unsigned char ambient_zone;
void ambient_adc(uint16_t adc_val);
+/* pattern.c */
+void pattern_init();
+void patterns_next_tick();
+void led_set_status(unsigned char status);
+
+/* buttons.c */
+void init_buttons();
+void timer_check_buttons();
+
+/* init.c */
+void hw_setup();
+
#endif /* !LIGHTS_H__ */