From ff0c77fea64e3b0b27cb3a3ca2e323a1581a6bb9 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 20 Jul 2023 20:30:18 -0600 Subject: fixed D4Sv2 (using new refactor) --- hwdef-emisar-d4sv2.c | 13 +++++++++++ hwdef-emisar-d4sv2.h | 35 +++++++--------------------- spaghetti-monster/anduril/cfg-emisar-d4sv2.h | 4 ++++ 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/hwdef-emisar-d4sv2.c b/hwdef-emisar-d4sv2.c index d67efb5..c19054e 100644 --- a/hwdef-emisar-d4sv2.c +++ b/hwdef-emisar-d4sv2.c @@ -6,6 +6,19 @@ #include "chan-rgbaux.c" +void set_level_main(uint8_t level); +bool gradual_tick_main(uint8_t gt); + + +Channel channels[] = { + { // main LEDs + .set_level = set_level_main, + .gradual_tick = gradual_tick_main + }, + RGB_AUX_CHANNELS +}; + + // single set of LEDs with 3 stacked power channels, DDFET+3+1 void set_level_main(uint8_t level) { if (level == 0) { diff --git a/hwdef-emisar-d4sv2.h b/hwdef-emisar-d4sv2.h index 0607c24..11d1abb 100644 --- a/hwdef-emisar-d4sv2.h +++ b/hwdef-emisar-d4sv2.h @@ -38,35 +38,22 @@ // allow using aux LEDs as extra channel modes #include "chan-rgbaux.h" -#define USE_CHANNEL_MODES // channel modes: // * 0. FET+3+1 stacked -// * 1. aux red -// * 2. aux green -// * 3. aux blue -#define NUM_CHANNEL_MODES 4 -#define CM_MAIN 0 -#define CM_AUXRED 1 -#define CM_AUXGRN 2 -#define CM_AUXBLU 3 +// * 1+. aux RGB +#define NUM_CHANNEL_MODES (1 + NUM_RGB_AUX_CHANNEL_MODES) +enum CHANNEL_MODES { + CM_MAIN = 0, + RGB_AUX_ENUMS +}; #define DEFAULT_CHANNEL_MODE CM_MAIN -#define CHANNEL_MODES_ENABLED 0b00000001 -#define CHANNEL_HAS_ARGS 0b00000000 +// right-most bit first, modes are in fedcba9876543210 order +#define CHANNEL_MODES_ENABLED 0b0000000000000001 // no args //#define USE_CHANNEL_MODE_ARGS -//#define CHANNEL_MODE_ARGS 0,0,0,0 - -#define SET_LEVEL_MODES set_level_main, \ - set_level_auxred, \ - set_level_auxgrn, \ - set_level_auxblu -// gradual ticking for thermal regulation -#define GRADUAL_TICK_MODES gradual_tick_main, \ - gradual_tick_null, \ - gradual_tick_null, \ - gradual_tick_null +//#define CHANNEL_MODE_ARGS 0,0,0,0,0,0,0,0 #define PWM_CHANNELS 3 // old, remove this @@ -135,10 +122,6 @@ #undef USE_INDICATOR_LED_WHILE_RAMPING #endif -void set_level_main(uint8_t level); - -bool gradual_tick_main(uint8_t gt); - inline void hwdef_setup() { // enable output ports diff --git a/spaghetti-monster/anduril/cfg-emisar-d4sv2.h b/spaghetti-monster/anduril/cfg-emisar-d4sv2.h index 10883b8..666b394 100644 --- a/spaghetti-monster/anduril/cfg-emisar-d4sv2.h +++ b/spaghetti-monster/anduril/cfg-emisar-d4sv2.h @@ -17,6 +17,7 @@ #define PWM2_LEVELS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,12,19,25,32,40,47,55,64,72,81,91,101,111,122,133,144,156,169,182,195,209,224,239,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0 #define PWM3_LEVELS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,7,10,12,15,17,20,22,25,28,31,34,38,41,44,48,52,56,60,64,68,72,77,81,86,91,96,101,107,112,118,124,130,136,143,149,156,163,170,178,186,193,201,210,218,227,236,245,255 #define PWM_TOPS 4095,2701,3200,3586,2518,2778,2834,2795,2705,2587,2455,2582,2412,2247,2256,2091,2062,1907,1860,1802,1737,1605,1542,1477,1412,1347,1284,1222,1162,1105,1050,997,946,898,853,810,768,730,693,658,625,594,564,536,503,485,462,439,418,398,384,366,353,340,327,319,307,298,292,284,280,273,269,266,263,260,258,256,256,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + #define MIN_THERM_STEPDOWN 70 // should be above highest dyn_pwm level #define MAX_1x7135 75 #define MAX_Nx7135 100 @@ -61,6 +62,9 @@ // show each channel while it scroll by in the menu #define USE_CONFIG_COLORS +// blink numbers on the main LEDs by default (but allow user to change it) +#define DEFAULT_BLINK_CHANNEL CM_MAIN + // use aux red + aux blue for police strobe #define USE_POLICE_COLOR_STROBE_MODE #define POLICE_STROBE_USES_AUX -- cgit v1.2.3