This commit is contained in:
Leon Wilzer 2022-11-23 15:16:34 +01:00
parent 118ce9b99c
commit 95f4b78eb2

View File

@ -9,7 +9,8 @@
static unsigned long cur_time; static unsigned long cur_time;
static unsigned long prev_time; static unsigned long prev_time;
static enum {GREEN, RED, BLUE} stage; enum color_pin {GREEN, RED, BLUE};
enum color_pin pin;
static int lamp_idx; static int lamp_idx;
static int n_loops; static int n_loops;
static int wait; static int wait;
@ -21,7 +22,7 @@ void PrgInit
) )
{ {
prev_time = 0; prev_time = 0;
stage = GREEN; pin = GREEN;
lamp_idx = BEG_LAMP_IDX; lamp_idx = BEG_LAMP_IDX;
n_loops = 10; n_loops = 10;
wait = 1000; wait = 1000;
@ -46,30 +47,31 @@ int PrgTic
if(cur_time-prev_time>=wait) if(cur_time-prev_time>=wait)
{ {
prev_time = cur_time; prev_time = cur_time;
p_ta->output.duty[stage-1] = LIGHT_OFF;
p_ta->output.duty[stage] = LIGHT_MAX;
p_ta->hook_table.DisplayMsg(p_ta, NULL); p_ta->hook_table.DisplayMsg(p_ta, NULL);
switch(stage) switch(pin)
{ {
case GREEN: case GREEN:
p_ta->hook_table.DisplayMsg(p_ta, "GREEN"); p_ta->hook_table.DisplayMsg(p_ta, "GREEN");
p_ta->output.duty[BLUE] = LIGHT_OFF;
p_ta->output.duty[GREEN] = LIGHT_MAX;
break; break;
case RED: case RED:
p_ta->hook_table.DisplayMsg(p_ta, "RED"); p_ta->hook_table.DisplayMsg(p_ta, "RED");
p_ta->output.duty[GREEN] = LIGHT_OFF;
p_ta->output.duty[RED] = LIGHT_MAX;
break; break;
case BLUE: case BLUE:
p_ta->hook_table.DisplayMsg(p_ta, "BLUE"); p_ta->hook_table.DisplayMsg(p_ta, "BLUE");
break; p_ta->output.duty[RED] = LIGHT_OFF;
p_ta->output.duty[BLUE] = LIGHT_MAX;
default: default:
p_ta->hook_table.DisplayMsg(p_ta, NULL); p_ta->hook_table.DisplayMsg(p_ta, NULL);
} }
if(++stage>END_LAMP_IDX) if(++pin>END_LAMP_IDX)
{ {
stage = 0; pin = GREEN;
p_ta->output.duty[END_LAMP_IDX] = LIGHT_OFF;
// p_ta->output.duty[lamp_idx] = LIGHT_MAX;
return rc; return rc;
} }
} }