#include "lights.h"
static pattern_t panic_pattern[] = {
- { 3, D_1 }, // FIXME: will be 4, but let's be safe while testing
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- { 3, D_1 },
- { 0, D_1 },
- PATTERN_END
-};
-
-static pattern_t brake_pattern [] = {
- { 4, D_2 },
- { 3, D_8 },
+ { PWM_PAT(2, 0, 0), D_1 },
+ { PWM_PAT(0, 0, 2), D_1 },
+ { PWM_PAT(0, 0, 0), D_1 },
+ { PWM_PAT(2, 0, 0), D_1 },
+ { PWM_PAT(0, 0, 2), D_1 },
+ { PWM_PAT(0, 0, 0), D_1 },
+ { PWM_PAT(2, 0, 0), D_1 },
+ { PWM_PAT(0, 0, 2), D_1 },
+ { PWM_PAT(0, 0, 0), D_1 },
+ { PWM_PAT(2, 0, 0), D_1 },
+ { PWM_PAT(0, 0, 2), D_1 },
+ { PWM_PAT(0, 0, 0), D_1 },
+ { PWM_PAT(2, 0, 0), D_1 },
+ { PWM_PAT(0, 0, 2), D_1 },
+ { PWM_PAT(0, 0, 0), D_1 },
+ { PWM_PAT(2, 0, 0), D_1 },
+ { PWM_PAT(0, 0, 2), D_1 },
+ { PWM_PAT(0, 0, 0), D_1 },
+ { PWM_PAT(2, 0, 0), D_1 },
+ { PWM_PAT(0, 0, 2), D_1 },
+ { PWM_PAT(0, 0, 0), D_1 },
PATTERN_END
};
PATTERN_END
};
-static unsigned char dim_mode, towbar_mode, braking;
+volatile unsigned char braking;
+static unsigned char dim_mode, towbar_mode;
void init_control()
{
braking = 1;
gpio_set(0, 1);
led_set_pattern(N_STATUS_LED, status_led_pattern_select());
- led_set_pattern(0, pwmled_pattern_select());
+ pwmleds_update_mode();
}
void brake_off()
braking = 0;
gpio_set(0, 0);
led_set_pattern(N_STATUS_LED, status_led_pattern_select());
- led_set_pattern(0, pwmled_pattern_select());
+ pwmleds_update_mode();
}
void toggle_dim_mode()
if (battery_critical)
return slow_pattern;
- if (towbar_mode)
- return NULL;
-
- if (braking)
- return brake_pattern;
-
switch (ambient_zone) {
case 0: return night_pattern;
case 1: