#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
+#define GPIO_LED2 1
+
+void gpio_init();
+void gpio_set(unsigned char n, unsigned char on);
+
+/* ambient.c */
+void ambient_init();
+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__ */