X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=bike-lights.git;a=blobdiff_plain;f=firmware%2Flights.h;h=26f7372988d00bff323654f41adea2459581b59f;hp=7e7e2a4d850b18d46e469c8e75668b42f1ca1f32;hb=ea3a89b1a1e089f72fc7a5a7a9cc9f46cf666faa;hpb=a366ae18debc6e73c4946aa6290ed37c49bb1fc0 diff --git a/firmware/lights.h b/firmware/lights.h index 7e7e2a4..26f7372 100644 --- a/firmware/lights.h +++ b/firmware/lights.h @@ -3,9 +3,13 @@ #define TESTING_FW 1 -#define N_LEDS 7 +#define N_LEDS 4 +#define N_STATUS_LED 1 +#define N_ILLUM_LED 2 +#define N_LASER_LED 4 + #define N_PWMLEDS 3 -#define N_PWMLED_MODES 4 +#define N_PWMLED_MODES 3 #define N_BUTTONS 2 @@ -57,6 +61,14 @@ void susp_tmr(); void init_pwmled(); void pwmled_adc(unsigned char n, uint16_t adcval); void pwmled_set_mode(unsigned char n, unsigned char mode); +void pwmled_set_brightness(uint16_t brightness); +#define PWMLED_BRIGHTNESS(l0_lo, l0_hi, l1, l2_lo, l2_hi) ( \ + (uint16_t)(l0_lo) \ + | ((uint16_t)(l0_hi) << 3) \ + | ((uint16_t)(l1) << 6) \ + | ((uint16_t)(l2_lo) << 9) \ + | ((uint16_t)(l2_hi) << 12) \ + ) /* gpio.c */ void init_gpio(); @@ -86,6 +98,11 @@ typedef struct { #define D_13 6 #define D_21 7 +#define PWM_PAT(L2, L1, L0) ( \ + (((L2) & 3) << 3) | \ + (((L1) & 1) << 2) | \ + (((L0) & 3)) ) + void init_pattern(); void patterns_next_tick(); void led_set_pattern(unsigned char led, pattern_t *pattern); @@ -111,16 +128,14 @@ void init_battery(); unsigned char battery_gauge(); /* control.c */ -extern pattern_t on1_pattern[]; +extern pattern_t on_pattern[]; void init_control(); void brake_on(); void brake_off(); 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 *pwmled_pattern_select(); pattern_t *status_led_pattern_select(); pattern_t *illumination_led_pattern_select(); pattern_t *laser_pattern_select();