aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorSelene ToyKeeper2023-11-27 14:45:00 -0700
committerSelene ToyKeeper2023-11-27 14:45:00 -0700
commit62e9337211eea3583daa24e84ce9fda5db5a35e7 (patch)
treec5f7076c8dc50fae5634a0b12981228325ba4e57 /hw
parentfixed ADC on sp10-pro (diff)
downloadanduril-62e9337211eea3583daa24e84ce9fda5db5a35e7.tar.gz
anduril-62e9337211eea3583daa24e84ce9fda5db5a35e7.tar.bz2
anduril-62e9337211eea3583daa24e84ce9fda5db5a35e7.zip
fw3x: fixed swapped red+blue, fixed battery measurements, added police color strobe
Diffstat (limited to 'hw')
-rw-r--r--hw/lumintop/fw3x-lume1/anduril.h27
-rw-r--r--hw/lumintop/fw3x-lume1/hwdef.h15
2 files changed, 29 insertions, 13 deletions
diff --git a/hw/lumintop/fw3x-lume1/anduril.h b/hw/lumintop/fw3x-lume1/anduril.h
index b208fbc..5cde5e9 100644
--- a/hw/lumintop/fw3x-lume1/anduril.h
+++ b/hw/lumintop/fw3x-lume1/anduril.h
@@ -11,7 +11,7 @@
* - 85: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf
*/
-#include "lumintop/fw3x-lume1/hwdef.h"
+#define HWDEF_H lumintop/fw3x-lume1/hwdef.h
// set this light for 50C thermal ceiling
#undef DEFAULT_THERM_CEIL
@@ -46,11 +46,6 @@
#undef USE_DYNAMIC_UNDERCLOCKING
#endif
-// the entire ramp is regulated except turbo; don't blink halfway up
-#ifdef BLINK_AT_RAMP_MIDDLE
-#undef BLINK_AT_RAMP_MIDDLE
-#endif
-
#define RAMP_SMOOTH_FLOOR 1
#define RAMP_SMOOTH_CEIL 149
// turn on BuckBoost from level 1 to 149, but not 150
@@ -59,21 +54,39 @@
#define LED_ENABLE_PIN_LEVEL_MAX 149
// 10 33 56 79 102 125 [149]
#define RAMP_DISCRETE_FLOOR 10
-#define RAMP_DISCRETE_CEIL RAMP_SMOOTH_CEIL
+#define RAMP_DISCRETE_CEIL RAMP_SMOOTH_CEIL
#define RAMP_DISCRETE_STEPS 7
#define SIMPLE_UI_FLOOR RAMP_DISCRETE_FLOOR
#define SIMPLE_UI_CEIL 120
#define SIMPLE_UI_STEPS 5
+// 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
+
// slow down party strobe; this driver can't pulse for too short a time
#define PARTY_STROBE_ONTIME 4
+// use aux red + aux blue for police strobe
+#define USE_POLICE_COLOR_STROBE_MODE
+#define POLICE_STROBE_USES_AUX
+#define POLICE_COLOR_STROBE_CH1 CM_AUXRED
+#define POLICE_COLOR_STROBE_CH2 CM_AUXBLU
+
// stop panicking at ~85% regulated power or ~750 lm
#define THERM_FASTER_LEVEL 140
#define THERM_CAL_OFFSET 0 // not needed due to external sensor
+// don't blink while ramping
+#ifdef BLINK_AT_RAMP_MIDDLE
+#undef BLINK_AT_RAMP_MIDDLE
+#endif
+
+
// can't reset the normal way because power is connected before the button
#define USE_SOFT_FACTORY_RESET
diff --git a/hw/lumintop/fw3x-lume1/hwdef.h b/hw/lumintop/fw3x-lume1/hwdef.h
index ca412cc..e50d8b1 100644
--- a/hw/lumintop/fw3x-lume1/hwdef.h
+++ b/hw/lumintop/fw3x-lume1/hwdef.h
@@ -8,9 +8,9 @@
*
* Pin / Name / Function in Lume1 Rev B
* 1 PA6 Regulated PWM (PWM1B)
- * 2 PA5 R: red aux LED (PWM0B)
+ * 2 PA5 B: blue aux LED (PWM0B)
* 3 PA4 G: green aux LED
- * 4 PA3 B: blue aux LED
+ * 4 PA3 R: red aux LED
* 5 PA2 e-switch (PCINT2)
* 6 PA1 Jumper 1
* 7 PA0 Jumper 2
@@ -111,16 +111,19 @@ enum CHANNEL_MODES {
#define ADMUX_VOLTAGE_DIVIDER 0b00000101
#define ADC_PRSCL 0x06 // clk/64
+#undef voltage_raw2cooked
+#define voltage_raw2cooked mcu_vdivider_raw2cooked
+
// Raw ADC readings at 4.4V and 2.2V
// calibrate the voltage readout here
// estimated / calculated values are:
// [(Vbatt)*(R2/(R2+R1)) / 2.5V] * 1023
// R1 = R2 = 100kR
#ifndef ADC_44
-#define ADC_44 900
+#define ADC_44 (4*900)
#endif
#ifndef ADC_22
-#define ADC_22 450
+#define ADC_22 (4*450)
#endif
// Default ADMUX_THERM for Temperature is: 0b10001110 in arch/mcu.h
@@ -139,9 +142,9 @@ enum CHANNEL_MODES {
#define EXTERN_TEMP_FORMULA(m) (((m)-205)/4.09)
// this driver allows for aux LEDs under the optic
-#define AUXLED_R_PIN PA5 // pin 2
+#define AUXLED_R_PIN PA3 // pin 2
#define AUXLED_G_PIN PA4 // pin 3
-#define AUXLED_B_PIN PA3 // pin 4
+#define AUXLED_B_PIN PA5 // pin 4
#define AUXLED_RGB_PORT PORTA // PORTA or PORTB or PORTC
#define AUXLED_RGB_DDR DDRA // DDRA or DDRB or DDRC
#define AUXLED_RGB_PUE PUEA // PUEA or PUEB or PUEC
If you find this content useful please consider a small donation via bitcoin: bitcoin:1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2?amount=0.001&message=Donation Scraping git contents via cgit is very resource intensive. The continued hosting of these git repositories is entirely financed by your bitcoin contributions. For donations of a least 1 mBTC you include your IP address in the message of your bitcoin donation. This will remove this message in the future for requests from your IP, which will significantly reduce token usage. In any case, any contributions to bitcoin address 1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2 are very welcome. Thanks in advance for you contribution to a self-sustaining ecosystem.