From e1104525bc8e17880e83a4a1058291dc0e5e89d7 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 30 Aug 2018 19:47:17 -0600 Subject: First Anduril build for Fireflies ROT66. --- hwdef-FF_ROT66.h | 20 +++++++++++++ spaghetti-monster/anduril/anduril.c | 10 +++++-- spaghetti-monster/anduril/build-all.sh | 1 + spaghetti-monster/anduril/cfg-ff-rot66.h | 51 ++++++++++++++++++++++++++++++++ tk-attiny.h | 3 ++ 5 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 hwdef-FF_ROT66.h create mode 100644 spaghetti-monster/anduril/cfg-ff-rot66.h diff --git a/hwdef-FF_ROT66.h b/hwdef-FF_ROT66.h new file mode 100644 index 0000000..49947ab --- /dev/null +++ b/hwdef-FF_ROT66.h @@ -0,0 +1,20 @@ +/* Fireflies ROT66 driver layout + */ +// same as a FW3A, basically +#include "hwdef-FW3A.h" + +// ... except the ROT66 has a lighted button +#ifndef AUXLED_PIN +#define AUXLED_PIN PB2 // pin 7 +#endif + +// ... and no optic nerve +#ifdef VISION_PIN +#undef VISION_PIN +#endif + +// average drop across diode on this hardware +#ifdef VOLTAGE_FUDGE_FACTOR +#undef VOLTAGE_FUDGE_FACTOR +#endif +#define VOLTAGE_FUDGE_FACTOR 7 // add 0.35V diff --git a/spaghetti-monster/anduril/anduril.c b/spaghetti-monster/anduril/anduril.c index bf16da5..533ace4 100644 --- a/spaghetti-monster/anduril/anduril.c +++ b/spaghetti-monster/anduril/anduril.c @@ -20,12 +20,15 @@ /********* User-configurable options *********/ // Physical driver type (uncomment one of the following or define it at the gcc command line) +//#define FSM_BLF_GT_DRIVER +//#define FSM_BLF_Q8_DRIVER +//#define FSM_EMISAR_D1_DRIVER +//#define FSM_EMISAR_D1S_DRIVER //#define FSM_EMISAR_D4_DRIVER //#define FSM_EMISAR_D4S_DRIVER //#define FSM_EMISAR_D4S_219c_DRIVER -//#define FSM_BLF_Q8_DRIVER +//#define FSM_FF_ROT66_DRIVER //#define FSM_FW3A_DRIVER -//#define FSM_BLF_GT_DRIVER #define USE_LVP // FIXME: won't build when this option is turned off @@ -86,6 +89,9 @@ #elif defined(FSM_EMISAR_D4S_DRIVER) #include "cfg-emisar-d4s.h" +#elif defined(FSM_FF_ROT66_DRIVER) +#include "cfg-ff-rot66.h" + #elif defined(FSM_FW3A_DRIVER) #include "cfg-fw3a.h" diff --git a/spaghetti-monster/anduril/build-all.sh b/spaghetti-monster/anduril/build-all.sh index d0c0d5c..306dabc 100755 --- a/spaghetti-monster/anduril/build-all.sh +++ b/spaghetti-monster/anduril/build-all.sh @@ -8,6 +8,7 @@ for TARGET in \ EMISAR_D4 \ EMISAR_D4S \ EMISAR_D4S_219c \ + FF_ROT66 \ FW3A \ ; do echo "===== $TARGET =====" diff --git a/spaghetti-monster/anduril/cfg-ff-rot66.h b/spaghetti-monster/anduril/cfg-ff-rot66.h new file mode 100644 index 0000000..b001216 --- /dev/null +++ b/spaghetti-monster/anduril/cfg-ff-rot66.h @@ -0,0 +1,51 @@ +// Fireflies ROT66 config options for Anduril + +// the button lights up +#define USE_INDICATOR_LED +// the button is visible while main LEDs are on +#define USE_INDICATOR_LED_WHILE_RAMPING +// enable blinking indicator LED while off +// (no, it doesn't really make sense on this light) +//#define TICK_DURING_STANDBY + +#ifdef RAMP_LENGTH +#undef RAMP_LENGTH +#endif + +// driver is a FET+N+1, +// where N=6 for the 219b version, +// or N=13 for the XP-L HI version +// FIXME: ramp stalls when Nx7135 turns on, start at higher PWM level there +#if 1 // copied from FW3A +// ../../bin/level_calc.py 1 65 7135 1 0.8 150 +// ... mixed with this: +// ../../../bin/level_calc.py 3 150 7135 1 0.33 150 7135 4 1 850 FET 1 10 1500 +#define RAMP_LENGTH 150 +#define PWM1_LEVELS 1,1,2,2,3,3,4,4,5,6,7,8,9,10,12,13,14,15,17,19,20,22,24,26,29,31,34,36,39,42,45,48,51,55,59,62,66,70,75,79,84,89,93,99,104,110,115,121,127,134,140,147,154,161,168,176,184,192,200,209,217,226,236,245,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,255,255,255,255,0 +#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,5,7,9,11,13,15,18,20,22,24,27,29,32,34,37,39,42,45,48,50,53,56,60,63,66,69,72,76,79,83,87,90,94,98,102,106,110,114,118,122,127,131,136,140,145,149,154,159,164,169,174,180,185,190,196,201,207,213,218,224,230,236,243,249,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,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,8,19,31,43,55,67,79,91,104,117,130,143,157,170,184,198,212,226,240,255 +#define MAX_1x7135 65 +#define MAX_Nx7135 130 +#define HALFSPEED_LEVEL 14 +#define QUARTERSPEED_LEVEL 5 +#else +// #level_calc.py 3 150 7135 1 3.3 150 7135 1 2.0 723 FET 1 5 4500 +// level_calc.py 3 150 7135 1 3.3 150 7135 1 2.0 1140.9 FET 1 5 4500 +// (with the ramp shape set to "ninth") +#define RAMP_LENGTH 150 +#define PWM1_LEVELS 1,1,2,2,3,4,4,5,5,6,7,8,9,10,11,12,13,14,15,16,18,19,21,23,24,26,28,30,32,35,37,40,42,45,48,51,55,58,62,66,70,74,79,83,88,93,99,105,111,117,123,130,137,145,153,161,170,179,189,198,209,220,231,243,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,255,255,255,255,0 +#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,1,2,4,6,8,10,12,14,16,18,21,23,26,29,32,35,38,41,44,48,51,55,59,63,67,72,76,81,86,91,96,102,108,114,120,126,133,140,147,154,162,170,178,186,195,204,214,224,234,244,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,13,17,22,27,32,37,42,47,53,58,64,70,77,83,90,97,104,112,119,127,135,144,152,161,170,180,190,200,210,221,232,243,255 +#define MAX_1x7135 65 +#define MAX_Nx7135 115 +#define HALFSPEED_LEVEL 20 +#define QUARTERSPEED_LEVEL 5 +#endif + +// regulate down faster when the FET is active, slower otherwise +#define THERM_FASTER_LEVEL MAX_Nx7135 // throttle back faster when high + +// don't do this +#undef BLINK_AT_CHANNEL_BOUNDARIES +#undef BLINK_AT_RAMP_CEILING + diff --git a/tk-attiny.h b/tk-attiny.h index 1b7722c..eb971dd 100644 --- a/tk-attiny.h +++ b/tk-attiny.h @@ -93,6 +93,9 @@ #elif defined(FSM_EMISAR_D1S_DRIVER) #include "hwdef-Emisar_D1S.h" +#elif defined(FSM_FF_ROT66_DRIVER) +#include "hwdef-FF_ROT66.h" + #elif defined(FSM_FW3A_DRIVER) #include "hwdef-FW3A.h" -- cgit v1.2.3 From 89f38f6dd8e4b0050cf284e5361a87c75f8aa2d6 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Wed, 5 Sep 2018 03:45:40 -0600 Subject: enable ROT66 aux LED blinking mode because there's enough room now --- spaghetti-monster/anduril/cfg-ff-rot66.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spaghetti-monster/anduril/cfg-ff-rot66.h b/spaghetti-monster/anduril/cfg-ff-rot66.h index b001216..c336dcd 100644 --- a/spaghetti-monster/anduril/cfg-ff-rot66.h +++ b/spaghetti-monster/anduril/cfg-ff-rot66.h @@ -6,7 +6,7 @@ #define USE_INDICATOR_LED_WHILE_RAMPING // enable blinking indicator LED while off // (no, it doesn't really make sense on this light) -//#define TICK_DURING_STANDBY +#define TICK_DURING_STANDBY #ifdef RAMP_LENGTH #undef RAMP_LENGTH -- cgit v1.2.3 From 927ddf4fe1891f9dd4ce05e10022e099317ce4cc Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Wed, 5 Sep 2018 04:04:22 -0600 Subject: made aux LED default mode configurable per hardware target, and changed the ROT66 default to something more sensible --- spaghetti-monster/anduril/anduril.c | 22 +++++++++++++--------- spaghetti-monster/anduril/cfg-ff-rot66.h | 5 +++++ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/spaghetti-monster/anduril/anduril.c b/spaghetti-monster/anduril/anduril.c index 14faf5f..40d3f5d 100644 --- a/spaghetti-monster/anduril/anduril.c +++ b/spaghetti-monster/anduril/anduril.c @@ -281,15 +281,19 @@ volatile uint8_t ramp_discrete_steps = RAMP_DISCRETE_STEPS; uint8_t ramp_discrete_step_size; // don't set this #ifdef USE_INDICATOR_LED -// bits 2-3 control lockout mode -// bits 0-1 control "off" mode -// modes are: 0=off, 1=low, 2=high, 3=blinking (if TICK_DURING_STANDBY enabled) -#ifdef USE_INDICATOR_LED_WHILE_RAMPING -//uint8_t indicator_led_mode = (1<<2) + 2; -uint8_t indicator_led_mode = (2<<2) + 1; -#else -uint8_t indicator_led_mode = (3<<2) + 1; -#endif + // bits 2-3 control lockout mode + // bits 0-1 control "off" mode + // modes are: 0=off, 1=low, 2=high, 3=blinking (if TICK_DURING_STANDBY enabled) + #ifdef INDICATOR_LED_DEFAULT_MODE + uint8_t indicator_led_mode = INDICATOR_LED_DEFAULT_MODE; + #else + #ifdef USE_INDICATOR_LED_WHILE_RAMPING + //uint8_t indicator_led_mode = (1<<2) + 2; + uint8_t indicator_led_mode = (2<<2) + 1; + #else + uint8_t indicator_led_mode = (3<<2) + 1; + #endif + #endif #endif // calculate the nearest ramp level which would be valid at the moment diff --git a/spaghetti-monster/anduril/cfg-ff-rot66.h b/spaghetti-monster/anduril/cfg-ff-rot66.h index c336dcd..a454eb3 100644 --- a/spaghetti-monster/anduril/cfg-ff-rot66.h +++ b/spaghetti-monster/anduril/cfg-ff-rot66.h @@ -8,6 +8,11 @@ // (no, it doesn't really make sense on this light) #define TICK_DURING_STANDBY +// off mode: high (2) +// lockout: blinking (3) +#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 2) + + #ifdef RAMP_LENGTH #undef RAMP_LENGTH #endif -- cgit v1.2.3 From 43035ced19deb1cdb1783c5a621f39d4fb09a241 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 6 Sep 2018 01:06:53 -0600 Subject: Adjusted ROT66-219b ramp shape to max out channels at 65, 115, and 150. (original ROT66 code used 62/112/150, so this is pretty close) --- spaghetti-monster/anduril/cfg-ff-rot66.h | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/spaghetti-monster/anduril/cfg-ff-rot66.h b/spaghetti-monster/anduril/cfg-ff-rot66.h index a454eb3..8a63719 100644 --- a/spaghetti-monster/anduril/cfg-ff-rot66.h +++ b/spaghetti-monster/anduril/cfg-ff-rot66.h @@ -20,35 +20,21 @@ // driver is a FET+N+1, // where N=6 for the 219b version, // or N=13 for the XP-L HI version -// FIXME: ramp stalls when Nx7135 turns on, start at higher PWM level there -#if 1 // copied from FW3A -// ../../bin/level_calc.py 1 65 7135 1 0.8 150 -// ... mixed with this: -// ../../../bin/level_calc.py 3 150 7135 1 0.33 150 7135 4 1 850 FET 1 10 1500 +// calculated to get transition points at level 65 and 115, using a "ninth"-shaped ramp #define RAMP_LENGTH 150 +// first 65 steps copied from FW3A #define PWM1_LEVELS 1,1,2,2,3,3,4,4,5,6,7,8,9,10,12,13,14,15,17,19,20,22,24,26,29,31,34,36,39,42,45,48,51,55,59,62,66,70,75,79,84,89,93,99,104,110,115,121,127,134,140,147,154,161,168,176,184,192,200,209,217,226,236,245,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,255,255,255,255,0 -#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,5,7,9,11,13,15,18,20,22,24,27,29,32,34,37,39,42,45,48,50,53,56,60,63,66,69,72,76,79,83,87,90,94,98,102,106,110,114,118,122,127,131,136,140,145,149,154,159,164,169,174,180,185,190,196,201,207,213,218,224,230,236,243,249,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,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,8,19,31,43,55,67,79,91,104,117,130,143,157,170,184,198,212,226,240,255 -#define MAX_1x7135 65 -#define MAX_Nx7135 130 -#define HALFSPEED_LEVEL 14 -#define QUARTERSPEED_LEVEL 5 -#else -// #level_calc.py 3 150 7135 1 3.3 150 7135 1 2.0 723 FET 1 5 4500 -// level_calc.py 3 150 7135 1 3.3 150 7135 1 2.0 1140.9 FET 1 5 4500 -// (with the ramp shape set to "ninth") -#define RAMP_LENGTH 150 -#define PWM1_LEVELS 1,1,2,2,3,4,4,5,5,6,7,8,9,10,11,12,13,14,15,16,18,19,21,23,24,26,28,30,32,35,37,40,42,45,48,51,55,58,62,66,70,74,79,83,88,93,99,105,111,117,123,130,137,145,153,161,170,179,189,198,209,220,231,243,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,255,255,255,255,0 -#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,1,2,4,6,8,10,12,14,16,18,21,23,26,29,32,35,38,41,44,48,51,55,59,63,67,72,76,81,86,91,96,102,108,114,120,126,133,140,147,154,162,170,178,186,195,204,214,224,234,244,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,13,17,22,27,32,37,42,47,53,58,64,70,77,83,90,97,104,112,119,127,135,144,152,161,170,180,190,200,210,221,232,243,255 +// remaining steps from this command: +// level_calc.py 3 150 7135 1 1.4 110.1 7135 4 1 1058.5 FET 1 10 4500 +#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,5,7,8,10,12,14,15,17,20,22,24,26,29,32,34,37,40,43,47,50,54,57,61,65,70,74,79,83,88,94,99,105,111,117,123,130,137,144,151,159,167,175,184,193,202,212,222,233,244,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,12,16,21,25,30,35,40,45,50,56,62,68,74,81,87,94,101,109,116,124,133,141,150,159,168,178,188,198,209,220,231,243,255 #define MAX_1x7135 65 #define MAX_Nx7135 115 -#define HALFSPEED_LEVEL 20 +#define HALFSPEED_LEVEL 14 #define QUARTERSPEED_LEVEL 5 -#endif // regulate down faster when the FET is active, slower otherwise -#define THERM_FASTER_LEVEL MAX_Nx7135 // throttle back faster when high +#define THERM_FASTER_LEVEL 120 // throttle back faster when high // don't do this #undef BLINK_AT_CHANNEL_BOUNDARIES -- cgit v1.2.3 From 6763dc58b046861bfbed8686e920c01e3e8edeed Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 6 Sep 2018 04:03:35 -0600 Subject: Don't attempt to regulate back up above hard turbo drop level. (avoids sawtooth oscillations while temperature settles) --- spaghetti-monster/anduril/anduril.c | 1 + 1 file changed, 1 insertion(+) diff --git a/spaghetti-monster/anduril/anduril.c b/spaghetti-monster/anduril/anduril.c index 40d3f5d..c8517af 100644 --- a/spaghetti-monster/anduril/anduril.c +++ b/spaghetti-monster/anduril/anduril.c @@ -742,6 +742,7 @@ uint8_t steady_state(EventPtr event, uint16_t arg) { #else set_level(THERM_FASTER_LEVEL); #endif + target_level = THERM_FASTER_LEVEL; } else #endif if (actual_level > MIN_THERM_STEPDOWN) { -- cgit v1.2.3 From 09b9cba18d85d75ca3317766c85f4434eb0489b8 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 6 Sep 2018 04:06:21 -0600 Subject: Calibrated ROT66-219b build better. The ramp on this thing is weird, and likes to stall at channel boundaries. Also, enabled hard turbo drop, calibrated the level for that, and turned off blinking button to make room. --- spaghetti-monster/anduril/cfg-ff-rot66.h | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/spaghetti-monster/anduril/cfg-ff-rot66.h b/spaghetti-monster/anduril/cfg-ff-rot66.h index 8a63719..6cae4fd 100644 --- a/spaghetti-monster/anduril/cfg-ff-rot66.h +++ b/spaghetti-monster/anduril/cfg-ff-rot66.h @@ -4,13 +4,18 @@ #define USE_INDICATOR_LED // the button is visible while main LEDs are on #define USE_INDICATOR_LED_WHILE_RAMPING -// enable blinking indicator LED while off -// (no, it doesn't really make sense on this light) -#define TICK_DURING_STANDBY +// enable blinking indicator LED while off? +//#define TICK_DURING_STANDBY +// If TICK_DURING_STANDBY is enabled... // off mode: high (2) // lockout: blinking (3) -#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 2) +//#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 2) + +// ... or if TICK_DURING_STANDBY is turned off: +// off mode: high (2) +// lockout: off (0) +#define INDICATOR_LED_DEFAULT_MODE ((0<<2) + 2) #ifdef RAMP_LENGTH @@ -25,16 +30,19 @@ // first 65 steps copied from FW3A #define PWM1_LEVELS 1,1,2,2,3,3,4,4,5,6,7,8,9,10,12,13,14,15,17,19,20,22,24,26,29,31,34,36,39,42,45,48,51,55,59,62,66,70,75,79,84,89,93,99,104,110,115,121,127,134,140,147,154,161,168,176,184,192,200,209,217,226,236,245,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,255,255,255,255,0 // remaining steps from this command: -// level_calc.py 3 150 7135 1 1.4 110.1 7135 4 1 1058.5 FET 1 10 4500 -#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,5,7,8,10,12,14,15,17,20,22,24,26,29,32,34,37,40,43,47,50,54,57,61,65,70,74,79,83,88,94,99,105,111,117,123,130,137,144,151,159,167,175,184,193,202,212,222,233,244,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 +// level_calc.py 3 150 7135 1 1.4 110.1 7135 14 1 1058.5 FET 1 10 4500 +#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,15,17,18,20,21,23,25,27,29,31,33,36,38,41,43,46,49,52,55,58,62,65,69,73,77,81,86,90,95,100,105,111,116,122,128,135,141,148,155,163,170,178,187,195,204,214,224,234,244,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,12,16,21,25,30,35,40,45,50,56,62,68,74,81,87,94,101,109,116,124,133,141,150,159,168,178,188,198,209,220,231,243,255 #define MAX_1x7135 65 #define MAX_Nx7135 115 #define HALFSPEED_LEVEL 14 -#define QUARTERSPEED_LEVEL 5 +#define QUARTERSPEED_LEVEL 8 // regulate down faster when the FET is active, slower otherwise -#define THERM_FASTER_LEVEL 120 // throttle back faster when high +#define THERM_FASTER_LEVEL 130 // throttle back faster when high + +// play it safe, don't try to regulate above the recommended safe level +#define THERM_HARD_TURBO_DROP // don't do this #undef BLINK_AT_CHANNEL_BOUNDARIES -- cgit v1.2.3