aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hwdef-wurkkos-ts10.c16
-rw-r--r--hwdef-wurkkos-ts10.h19
-rw-r--r--hwdef-wurkkos-ts25.c13
-rw-r--r--hwdef-wurkkos-ts25.h45
-rw-r--r--spaghetti-monster/anduril/cfg-wurkkos-ts25.h5
5 files changed, 42 insertions, 56 deletions
diff --git a/hwdef-wurkkos-ts10.c b/hwdef-wurkkos-ts10.c
index 14f6794..44602c0 100644
--- a/hwdef-wurkkos-ts10.c
+++ b/hwdef-wurkkos-ts10.c
@@ -6,6 +6,22 @@
#include "chan-aux.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
+ },
+ { // aux LEDs
+ .set_level = set_level_aux,
+ .gradual_tick = gradual_tick_null
+ }
+};
+
+
// single set of LEDs with 2 stacked power channels, DDFET+1 or DDFET+linear
void set_level_main(uint8_t level) {
if (level == 0) {
diff --git a/hwdef-wurkkos-ts10.h b/hwdef-wurkkos-ts10.h
index c150add..4af6a84 100644
--- a/hwdef-wurkkos-ts10.h
+++ b/hwdef-wurkkos-ts10.h
@@ -21,25 +21,18 @@
// allow using aux LEDs as extra channel modes
#include "chan-aux.h"
-#define USE_CHANNEL_MODES
// channel modes:
// * 0. FET+7135 stacked
// * 1. aux LEDs
#define NUM_CHANNEL_MODES 2
-#define CM_MAIN 0
-#define CM_AUX 1
-
+enum CHANNEL_MODES {
+ CM_MAIN = 0,
+ CM_AUX
+};
#define DEFAULT_CHANNEL_MODE CM_MAIN
#define CHANNEL_MODES_ENABLED 0b00000001
-#define CHANNEL_HAS_ARGS 0b00000000
-
-#define SET_LEVEL_MODES set_level_main, \
- set_level_aux
-// gradual ticking for thermal regulation
-#define GRADUAL_TICK_MODES gradual_tick_main, \
- gradual_tick_null
#define PWM_CHANNELS 2 // old, remove this
@@ -83,10 +76,6 @@
#define AUXLED_PIN PIN5_bp
#define AUXLED_PORT PORTB
-void set_level_main(uint8_t level);
-
-bool gradual_tick_main(uint8_t gt);
-
inline void hwdef_setup() {
diff --git a/hwdef-wurkkos-ts25.c b/hwdef-wurkkos-ts25.c
index 1d5b656..7ae7b28 100644
--- a/hwdef-wurkkos-ts25.c
+++ b/hwdef-wurkkos-ts25.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[] = {
+ { // channel 1 only
+ .set_level = set_level_main,
+ .gradual_tick = gradual_tick_main
+ },
+ RGB_AUX_CHANNELS
+};
+
+
// single set of LEDs with 2 stacked power channels, DDFET+1 or DDFET+linear
void set_level_main(uint8_t level) {
if (level == 0) {
diff --git a/hwdef-wurkkos-ts25.h b/hwdef-wurkkos-ts25.h
index b9fbdfb..5eed219 100644
--- a/hwdef-wurkkos-ts25.h
+++ b/hwdef-wurkkos-ts25.h
@@ -22,50 +22,19 @@
// allow using aux LEDs as extra channel modes
#include "chan-rgbaux.h"
-#define USE_CHANNEL_MODES
// channel modes:
// * 0. FET+7135 stacked
-// * 1. aux red
-// * 2. aux yellow
-// * 3. aux green
-// * 4. aux cyan
-// * 5. aux blue
-// * 6. aux purple
-// * 7. aux white
-#define NUM_CHANNEL_MODES 8
+// * 1+. aux RGB
+#define NUM_CHANNEL_MODES (1 + NUM_RGB_AUX_CHANNEL_MODES)
enum CHANNEL_MODES {
CM_MAIN = 0,
- CM_AUXRED,
- CM_AUXYEL,
- CM_AUXGRN,
- CM_AUXCYN,
- CM_AUXBLU,
- CM_AUXPRP,
- CM_AUXWHT,
+ RGB_AUX_ENUMS
};
#define DEFAULT_CHANNEL_MODE CM_MAIN
-#define CHANNEL_MODES_ENABLED 0b00000001
-#define CHANNEL_HAS_ARGS 0b00000000
-
-#define SET_LEVEL_MODES set_level_main, \
- set_level_auxred, \
- set_level_auxyel, \
- set_level_auxgrn, \
- set_level_auxcyn, \
- set_level_auxblu, \
- set_level_auxprp, \
- set_level_auxwht
-// gradual ticking for thermal regulation
-#define GRADUAL_TICK_MODES gradual_tick_main, \
- gradual_tick_null, \
- gradual_tick_null, \
- gradual_tick_null, \
- gradual_tick_null, \
- gradual_tick_null, \
- gradual_tick_null, \
- gradual_tick_null
+// right-most bit first, modes are in fedcba9876543210 order
+#define CHANNEL_MODES_ENABLED 0b0000000000000001
#define PWM_CHANNELS 2 // old, remove this
@@ -114,10 +83,6 @@ enum CHANNEL_MODES {
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
-void set_level_main(uint8_t level);
-
-bool gradual_tick_main(uint8_t gt);
-
inline void hwdef_setup() {
diff --git a/spaghetti-monster/anduril/cfg-wurkkos-ts25.h b/spaghetti-monster/anduril/cfg-wurkkos-ts25.h
index 26dc493..0f54b32 100644
--- a/spaghetti-monster/anduril/cfg-wurkkos-ts25.h
+++ b/spaghetti-monster/anduril/cfg-wurkkos-ts25.h
@@ -70,8 +70,11 @@
// show each channel while it scroll by in the menu
#define USE_CONFIG_COLORS
+// blink numbers on the main LEDs by default
+// (so battcheck will be visible while charging)
+#define DEFAULT_BLINK_CHANNEL CM_MAIN
// blink numbers on the aux LEDs by default
-#define DEFAULT_BLINK_CHANNEL CM_AUXWHT
+//#define DEFAULT_BLINK_CHANNEL CM_AUXWHT
// use aux red + aux blue for police strobe
#define USE_POLICE_COLOR_STROBE_MODE