From 941fcb820509400f373a36dfb1e9363115de6a99 Mon Sep 17 00:00:00 2001 From: Leon Wilzer Date: Wed, 23 Nov 2022 17:41:47 +0100 Subject: [PATCH] spectrum --- Demo_C/Demo/LED/LED.c | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/Demo_C/Demo/LED/LED.c b/Demo_C/Demo/LED/LED.c index f4a0ac1..7a9f40c 100644 --- a/Demo_C/Demo/LED/LED.c +++ b/Demo_C/Demo/LED/LED.c @@ -1,6 +1,7 @@ // #include #include "ROBO_TX_PRG.h" #include "ROBO_TX_FW.h" +#include #define LIGHT_MAX DUTY_MAX #define LIGHT_MIN DUTY_MIN @@ -12,8 +13,7 @@ #define BEG_LAMP_IDX 0 #define END_LAMP_IDX 2 #define COLOR_AMOUNT 3 -enum color_pin {GREEN, RED, BLUE}; -enum spectrum_transisition {r, br, g, rg, b, gb}; +enum color_pin {RED, GREEN, BLUE}; static unsigned long cur_time; static unsigned long prev_time; @@ -22,7 +22,7 @@ short green_state; short red_state; short blue_state; enum color_pin pin; -enum spectrum_transisition spectrum_state; +enum color_pin spectrum_state; static int lamp_idx; static int n_loops; static int wait; @@ -41,11 +41,11 @@ void PrgInit green_state = LIGHT_MIN; red_state = LIGHT_MIN; blue_state = LIGHT_MIN; - states[0] = &green_state; - states[1] = &red_state; + states[0] = &red_state; + states[1] = &green_state; states[2] = &blue_state; spectrum_state = 0; - pin = GREEN; + pin = RED; lamp_idx = BEG_LAMP_IDX; n_loops = 10; wait = 1000; @@ -76,23 +76,17 @@ void spectrum() { switch(spectrum_state) { - case g: - if(++green_state>=LIGHT_MAX) { ++spectrum_state; } + case RED: + --blue_state; + if(++red_state>LIGHT_MAX) {++spectrum_state;} break; - case br: - if(--blue_state<=LIGHT_MIN) { ++spectrum_state; } + case GREEN: + --red_state; + if(++green_state>LIGHT_MAX) {++spectrum_state;} break; - case r: - if(++red_state>=LIGHT_MAX) { ++spectrum_state; } - break; - case gb: - if(--green_state<=LIGHT_MIN) { ++spectrum_state; } - break; - case b: - if(++blue_state>=LIGHT_MAX) { ++spectrum_state; } - break; - case rg: - if(--red_state<=LIGHT_MIN) { spectrum_state = 0; } + case BLUE: + --green_state; + if(++blue_state>LIGHT_MAX) {spectrum_state = 0;} } }