From fa9313280f6f326036f1798cae94924bb60fe1d8 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sat, 28 Oct 2023 08:13:52 -0600 Subject: converted ff-rot66 to new API (it's mostly the same as FW3A, but has an aux LED so there's less room for other stuff) --- hwdef-FF_ROT66.h | 24 ----------------- hwdef-ff-rot66.h | 24 +++++++++++++++++ spaghetti-monster/anduril/cfg-ff-rot66.h | 43 ++++++++++++++++-------------- spaghetti-monster/anduril/cfg-ff-rot66g2.h | 3 +++ spaghetti-monster/anduril/cfg-fw3a.h | 10 +++---- 5 files changed, 55 insertions(+), 49 deletions(-) delete mode 100644 hwdef-FF_ROT66.h create mode 100644 hwdef-ff-rot66.h diff --git a/hwdef-FF_ROT66.h b/hwdef-FF_ROT66.h deleted file mode 100644 index e84b565..0000000 --- a/hwdef-FF_ROT66.h +++ /dev/null @@ -1,24 +0,0 @@ -// Fireflies ROT66 driver layout -// Copyright (C) 2018-2023 Selene ToyKeeper -// SPDX-License-Identifier: GPL-3.0-or-later -#pragma once - -// same as a FW3A, basically, except ... - -// ... except the ROT66 has a lighted button -#ifndef AUXLED_PIN -#define AUXLED_PIN PB2 // pin 7 -#endif - -// ... and slightly different calibration -#ifndef VOLTAGE_FUDGE_FACTOR -#define VOLTAGE_FUDGE_FACTOR 7 // add 0.35V -#endif - -#include "hwdef-FW3A.h" - -// ... and no optic nerve -#ifdef VISION_PIN -#undef VISION_PIN -#endif - diff --git a/hwdef-ff-rot66.h b/hwdef-ff-rot66.h new file mode 100644 index 0000000..3fea9f1 --- /dev/null +++ b/hwdef-ff-rot66.h @@ -0,0 +1,24 @@ +// Fireflies ROT66 driver layout +// Copyright (C) 2018-2023 Selene ToyKeeper +// SPDX-License-Identifier: GPL-3.0-or-later +#pragma once + +// same as a FW3A, basically, except ... + +// ... except the ROT66 has a lighted button +#ifndef AUXLED_PIN +#define AUXLED_PIN PB2 // pin 7 +#endif + +// ... and slightly different calibration +#ifndef VOLTAGE_FUDGE_FACTOR +#define VOLTAGE_FUDGE_FACTOR 7 // add 0.35V +#endif + +#include "hwdef-fw3a.h" + +// ... and no optic nerve +#ifdef VISION_PIN +#undef VISION_PIN +#endif + diff --git a/spaghetti-monster/anduril/cfg-ff-rot66.h b/spaghetti-monster/anduril/cfg-ff-rot66.h index f357956..752ddbb 100644 --- a/spaghetti-monster/anduril/cfg-ff-rot66.h +++ b/spaghetti-monster/anduril/cfg-ff-rot66.h @@ -4,7 +4,7 @@ #pragma once #define MODEL_NUMBER "0411" -#include "hwdef-FF_ROT66.h" +#include "hwdef-ff-rot66.h" // the button lights up #define USE_INDICATOR_LED @@ -15,28 +15,30 @@ // lockout: blinking (3) #define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 2) +#define RAMP_SIZE 150 // driver is a FET+N+1, // where N=6 for the 219b version, // or N=13 for the XP-L HI version (this version) // calculated to get transition points at level 65 and 125 -#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 // remaining steps from this command: // level_calc.py ninth 3 150 7135 1 1.4 110.1 7135 15 1 1644.16 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,16,17,18,19,20,21,22,23,25,26,27,29,30,32,34,35,37,39,41,43,46,48,50,53,55,58,61,64,67,70,73,77,81,84,88,92,97,101,106,110,115,120,126,131,137,143,149,156,162,169,177,184,192,200,208,217,226,235,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,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,7,13,21,28,35,43,51,60,68,77,87,96,106,117,127,138,150,161,173,186,199,212,226,240,255 -#define MAX_1x7135 65 -#define MAX_Nx7135 125 -#define HALFSPEED_LEVEL 14 -#define QUARTERSPEED_LEVEL 8 +#define MAX_1x7135 65 +#define MAX_Nx7135 125 +#define HALFSPEED_LEVEL 14 +#define QUARTERSPEED_LEVEL 8 +#define RAMP_SMOOTH_FLOOR 1 +#define RAMP_SMOOTH_CEIL MAX_Nx7135 // safe limit max regulated power // 20 46 72 98 [125] -#define SIMPLE_UI_FLOOR RAMP_DISCRETE_FLOOR -#define SIMPLE_UI_CEIL MAX_Nx7135 -#define SIMPLE_UI_STEPS 5 +#define SIMPLE_UI_FLOOR RAMP_DISCRETE_FLOOR +#define SIMPLE_UI_CEIL MAX_Nx7135 +#define SIMPLE_UI_STEPS 5 // regulate down faster when the FET is active, slower otherwise #define THERM_FASTER_LEVEL 130 // throttle back faster when high @@ -45,18 +47,19 @@ #undef BLINK_AT_RAMP_MIDDLE #undef BLINK_AT_RAMP_CEIL -// too big, remove stuff to make room +// enable extra features +#define USE_SMOOTH_STEPS + +// too big, turn off extra features +#undef USE_MOMENTARY_MODE +#undef USE_TACTICAL_MODE #undef USE_SOS_MODE -#undef USE_RAMP_AFTER_MOON_CONFIG -#undef USE_RAMP_SPEED_CONFIG -#undef USE_VOLTAGE_CORRECTION +//#undef USE_RAMP_AFTER_MOON_CONFIG +//#undef USE_RAMP_SPEED_CONFIG +//#undef USE_VOLTAGE_CORRECTION //#undef USE_2C_STYLE_CONFIG //#undef USE_TACTICAL_STROBE_MODE +//#ifdef USE_LOWPASS_WHILE_ASLEEP +//#undef USE_LOWPASS_WHILE_ASLEEP +//#endif -// reduce size a bit -#ifdef USE_LOWPASS_WHILE_ASLEEP -#undef USE_LOWPASS_WHILE_ASLEEP -#endif - -// too big, turn off extra features -#undef USE_TACTICAL_MODE diff --git a/spaghetti-monster/anduril/cfg-ff-rot66g2.h b/spaghetti-monster/anduril/cfg-ff-rot66g2.h index dca180d..04aac53 100644 --- a/spaghetti-monster/anduril/cfg-ff-rot66g2.h +++ b/spaghetti-monster/anduril/cfg-ff-rot66g2.h @@ -18,6 +18,9 @@ #endif #define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 1) +// the button is *not* visible while main LEDs are on +#undef USE_INDICATOR_LED_WHILE_RAMPING + // ramp shape is different than original ROT66 // 1x7135: 150 lm // Nx7135: 1200 lm diff --git a/spaghetti-monster/anduril/cfg-fw3a.h b/spaghetti-monster/anduril/cfg-fw3a.h index 1802f9b..53c4135 100644 --- a/spaghetti-monster/anduril/cfg-fw3a.h +++ b/spaghetti-monster/anduril/cfg-fw3a.h @@ -21,12 +21,12 @@ #define HALFSPEED_LEVEL 15 #define QUARTERSPEED_LEVEL 6 -#define RAMP_SMOOTH_FLOOR 1 -#define RAMP_SMOOTH_CEIL MAX_Nx7135 +#define RAMP_SMOOTH_FLOOR 1 +#define RAMP_SMOOTH_CEIL MAX_Nx7135 // 10, 30, 50, [70], 90, 110, 130 -#define RAMP_DISCRETE_FLOOR 10 -#define RAMP_DISCRETE_CEIL RAMP_SMOOTH_CEIL -#define RAMP_DISCRETE_STEPS 7 +#define RAMP_DISCRETE_FLOOR 10 +#define RAMP_DISCRETE_CEIL RAMP_SMOOTH_CEIL +#define RAMP_DISCRETE_STEPS 7 // safe limit ~20% power // 20 40 60 80 100 -- cgit v1.2.3