aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hwdef-BLF_GT.h16
-rw-r--r--hwdef-BLF_GT_Mini.h6
-rw-r--r--hwdef-BLF_Q8.h13
-rw-r--r--hwdef-Emisar_D4.h16
-rw-r--r--hwdef-FF_PL47.h29
-rw-r--r--hwdef-FF_ROT66.h15
-rw-r--r--hwdef-FW3A.h22
-rw-r--r--spaghetti-monster/anduril/cfg-blf-gt.h4
-rw-r--r--spaghetti-monster/anduril/cfg-blf-q8.h4
-rw-r--r--spaghetti-monster/anduril/cfg-emisar-d4.h3
-rw-r--r--spaghetti-monster/anduril/cfg-ff-pl47.h3
-rw-r--r--spaghetti-monster/anduril/cfg-ff-rot66.h4
-rw-r--r--spaghetti-monster/anduril/cfg-fw3a.h4
13 files changed, 79 insertions, 60 deletions
diff --git a/hwdef-BLF_GT.h b/hwdef-BLF_GT.h
index 1a05741..7dcc8a0 100644
--- a/hwdef-BLF_GT.h
+++ b/hwdef-BLF_GT.h
@@ -9,29 +9,43 @@
#define PWM_CHANNELS 2
+#ifndef AUXLED_PIN
#define AUXLED_PIN PB4 // pin 3
+#endif
+#ifndef SWITCH_PIN
#define SWITCH_PIN PB3 // pin 2
#define SWITCH_PCINT PCINT3 // pin 2 pin change interrupt
+#endif
+#ifndef PWM1_PIN
#define PWM1_PIN PB0 // pin 5, 1x7135 PWM
#define PWM1_LVL OCR0A // OCR0A is the output compare register for PB0
+#endif
+#ifndef PWM2_PIN
#define PWM2_PIN PB1 // pin 6, FET PWM
#define PWM2_LVL OCR0B // OCR0B is the output compare register for PB1
+#endif
#define USE_VOLTAGE_DIVIDER // use a voltage divider on pin 7, not VCC
+#ifndef VOLTAGE_PIN
#define VOLTAGE_PIN PB2 // pin 7, voltage ADC
#define VOLTAGE_CHANNEL 0x01 // MUX 01 corresponds with PB2
+#define VOLTAGE_ADC_DIDR ADC1D // Digital input disable bit corresponding with PB2
// 1.1V reference, left-adjust, ADC1/PB2
//#define ADMUX_VOLTAGE_DIVIDER ((1 << V_REF) | (1 << ADLAR) | VOLTAGE_CHANNEL)
// 1.1V reference, no left-adjust, ADC1/PB2
#define ADMUX_VOLTAGE_DIVIDER ((1 << V_REF) | VOLTAGE_CHANNEL)
-#define VOLTAGE_ADC_DIDR ADC1D // Digital input disable bit corresponding with PB2
+#endif
#define ADC_PRSCL 0x06 // clk/64
// Raw ADC readings at 4.4V and 2.2V (in-between, we assume values form a straight line)
+#ifndef ADC_44
#define ADC_44 184
+#endif
+#ifndef ADC_22
#define ADC_22 92
+#endif
#define TEMP_CHANNEL 0b00001111
diff --git a/hwdef-BLF_GT_Mini.h b/hwdef-BLF_GT_Mini.h
index 504c561..aacbca4 100644
--- a/hwdef-BLF_GT_Mini.h
+++ b/hwdef-BLF_GT_Mini.h
@@ -2,3 +2,9 @@
*/
// exactly the same as a D1S, but with a lighted button
#include "hwdef-Emisar_D1S.h"
+
+// lighted button
+#ifndef AUXLED_PIN
+#define AUXLED_PIN PB4 // pin 3
+#endif
+
diff --git a/hwdef-BLF_Q8.h b/hwdef-BLF_Q8.h
index f00c392..6e13faf 100644
--- a/hwdef-BLF_Q8.h
+++ b/hwdef-BLF_Q8.h
@@ -1,16 +1,17 @@
/* BLF Q8 driver layout
+ * Q8 driver is the same as a D4, basically
*/
-// Q8 driver is the same as a D4, basically
-#include "hwdef-Emisar_D4.h"
// ... except the Q8 has a lighted button
#ifndef AUXLED_PIN
#define AUXLED_PIN PB4 // pin 3
#endif
-// average drop across diode on this hardware
-#ifdef VOLTAGE_FUDGE_FACTOR
-#undef VOLTAGE_FUDGE_FACTOR
-#endif
+// ... and slightly different calibration
+#ifndef VOLTAGE_FUDGE_FACTOR
#define VOLTAGE_FUDGE_FACTOR 7 // add 0.35V
+#endif
+
+// Q8 driver is the same as a D4, basically
+#include "hwdef-Emisar_D4.h"
diff --git a/hwdef-Emisar_D4.h b/hwdef-Emisar_D4.h
index 105d3b9..0dfcab9 100644
--- a/hwdef-Emisar_D4.h
+++ b/hwdef-Emisar_D4.h
@@ -9,24 +9,32 @@
#define PWM_CHANNELS 2
-#define AUXLED_PIN PB4 // pin 3
+//#define AUXLED_PIN PB4 // pin 3
+#ifndef SWITCH_PIN
#define SWITCH_PIN PB3 // pin 2
#define SWITCH_PCINT PCINT3 // pin 2 pin change interrupt
+#endif
+#ifndef PWM1_PIN
#define PWM1_PIN PB0 // pin 5, 1x7135 PWM
#define PWM1_LVL OCR0A // OCR0A is the output compare register for PB0
+#endif
+#ifndef PWM2_PIN
#define PWM2_PIN PB1 // pin 6, FET PWM
#define PWM2_LVL OCR0B // OCR0B is the output compare register for PB1
+#endif
// (FIXME: remove? not used?)
-#define VOLTAGE_PIN PB2 // pin 7, voltage ADC
-#define ADC_CHANNEL 0x01 // MUX 01 corresponds with PB2
-#define ADC_DIDR ADC1D // Digital input disable bit corresponding with PB2
+//#define VOLTAGE_PIN PB2 // pin 7, voltage ADC
+//#define ADC_CHANNEL 0x01 // MUX 01 corresponds with PB2
+//#define ADC_DIDR ADC1D // Digital input disable bit corresponding with PB2
#define ADC_PRSCL 0x06 // clk/64
// average drop across diode on this hardware
+#ifndef VOLTAGE_FUDGE_FACTOR
#define VOLTAGE_FUDGE_FACTOR 5 // add 0.25V
+#endif
//#define TEMP_DIDR ADC4D
#define TEMP_CHANNEL 0b00001111
diff --git a/hwdef-FF_PL47.h b/hwdef-FF_PL47.h
index 4189220..217ce45 100644
--- a/hwdef-FF_PL47.h
+++ b/hwdef-FF_PL47.h
@@ -1,24 +1,23 @@
/* Fireflies PL47 driver layout
+ * same as a D4S, basically, except ...
*/
-// same as a D4S, basically
-#include "hwdef-Emisar_D4S.h"
-#undef FSM_EMISAR_D4S_DRIVER
-#undef FSM_EMISAR_D4_DRIVER
-// ... except the PL47 has aux LEDs on pin 7
-#ifdef AUXLED_PIN
-#undef AUXLED_PIN
-#endif
+// ... the PL47 has aux LEDs on pin 7
+#ifndef AUXLED_PIN
#define AUXLED_PIN PB2 // pin 7
+#endif
// ... and switch LEDs on pin 3
-#ifdef AUXLED2_PIN
-#undef AUXLED2_PIN
-#endif
+#ifndef AUXLED2_PIN
#define AUXLED2_PIN PB4 // pin 3
-
-// average drop across diode on this hardware
-#ifdef VOLTAGE_FUDGE_FACTOR
-#undef VOLTAGE_FUDGE_FACTOR
#endif
+
+// ... and slightly different calibration
+#ifndef VOLTAGE_FUDGE_FACTOR
#define VOLTAGE_FUDGE_FACTOR 7 // add 0.35V
+#endif
+
+#include "hwdef-Emisar_D4S.h"
+#undef FSM_EMISAR_D4S_DRIVER
+#undef FSM_EMISAR_D4_DRIVER
+
diff --git a/hwdef-FF_ROT66.h b/hwdef-FF_ROT66.h
index 49947ab..0913a76 100644
--- a/hwdef-FF_ROT66.h
+++ b/hwdef-FF_ROT66.h
@@ -1,20 +1,21 @@
/* Fireflies ROT66 driver layout
+ * same as a FW3A, basically, except ...
*/
-// 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 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
-// 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/hwdef-FW3A.h b/hwdef-FW3A.h
index 5e253c7..8abab9a 100644
--- a/hwdef-FW3A.h
+++ b/hwdef-FW3A.h
@@ -9,23 +9,35 @@
#define PWM_CHANNELS 3
+#ifndef SWITCH_PIN
#define SWITCH_PIN PB3 // pin 2
#define SWITCH_PCINT PCINT3 // pin 2 pin change interrupt
+#endif
+#ifndef PWM1_PIN
#define PWM1_PIN PB0 // pin 5, 1x7135 PWM
#define PWM1_LVL OCR0A // OCR0A is the output compare register for PB0
-#define PWM2_PIN PB1 // pin 6, FET PWM
+#endif
+#ifndef PWM2_PIN
+#define PWM2_PIN PB1 // pin 6, 7x7135 PWM
#define PWM2_LVL OCR0B // OCR0B is the output compare register for PB1
-#define PWM3_PIN PB4 // pin 3
-#define PWM3_LVL OCR1B
+#endif
+#ifndef PWM3_PIN
+#define PWM3_PIN PB4 // pin 3, FET PWM
+#define PWM3_LVL OCR1B // OCR1B is the output compare register for PB4
+#endif
+#ifndef VISION_PIN
#define VISION_PIN PB2 // pin 7, optic nerve
-#define ADC_CHANNEL 0x01 // MUX 01 corresponds with PB2
-#define ADC_DIDR ADC1D // Digital input disable bit corresponding with PB2
+//#define ADC_CHANNEL 0x01 // MUX 01 corresponds with PB2
+//#define ADC_DIDR ADC1D // Digital input disable bit corresponding with PB2
+#endif
#define ADC_PRSCL 0x06 // clk/64
// average drop across diode on this hardware
+#ifndef VOLTAGE_FUDGE_FACTOR
#define VOLTAGE_FUDGE_FACTOR 5 // add 0.25V
+#endif
//#define TEMP_DIDR ADC4D
#define TEMP_CHANNEL 0b00001111
diff --git a/spaghetti-monster/anduril/cfg-blf-gt.h b/spaghetti-monster/anduril/cfg-blf-gt.h
index 369d028..a29d7e7 100644
--- a/spaghetti-monster/anduril/cfg-blf-gt.h
+++ b/spaghetti-monster/anduril/cfg-blf-gt.h
@@ -14,10 +14,6 @@
//#undef USE_SET_LEVEL_GRADUALLY
-#ifdef RAMP_LENGTH
-#undef RAMP_LENGTH
-#endif
-
#define RAMP_LENGTH 150
// First 60 values: level_calc.py 1 60 7135 4 5.0 255
// Remainder: all 255 (buck driver at 100% duty cycle)
diff --git a/spaghetti-monster/anduril/cfg-blf-q8.h b/spaghetti-monster/anduril/cfg-blf-q8.h
index 269aae9..1b9b971 100644
--- a/spaghetti-monster/anduril/cfg-blf-q8.h
+++ b/spaghetti-monster/anduril/cfg-blf-q8.h
@@ -7,10 +7,6 @@
// enable blinking indicator LED while off
#define TICK_DURING_STANDBY
-#ifdef RAMP_LENGTH
-#undef RAMP_LENGTH
-#endif
-
// copied from Emisar D4 ramp
// ../../bin/level_calc.py 1 65 7135 1 0.8 150
// ... mixed with this:
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4.h b/spaghetti-monster/anduril/cfg-emisar-d4.h
index 251f81d..e83c62d 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4.h
@@ -1,8 +1,5 @@
// Emisar D4 config options for Anduril
-#ifdef RAMP_LENGTH
-#undef RAMP_LENGTH
-#endif
// ../../bin/level_calc.py 1 65 7135 1 0.8 150
// ... mixed with this:
// ../../bin/level_calc.py 2 150 7135 4 0.33 150 FET 1 10 1500
diff --git a/spaghetti-monster/anduril/cfg-ff-pl47.h b/spaghetti-monster/anduril/cfg-ff-pl47.h
index d9431a1..2e5647d 100644
--- a/spaghetti-monster/anduril/cfg-ff-pl47.h
+++ b/spaghetti-monster/anduril/cfg-ff-pl47.h
@@ -26,9 +26,6 @@
//#define INDICATOR_LED_DEFAULT_MODE ((0<<2) + 2)
-#ifdef RAMP_LENGTH
-#undef RAMP_LENGTH
-#endif
#define RAMP_LENGTH 150
// driver is a FET + 3x7135, ~400 lm at highest regulated level
diff --git a/spaghetti-monster/anduril/cfg-ff-rot66.h b/spaghetti-monster/anduril/cfg-ff-rot66.h
index c8e0d52..165b2ba 100644
--- a/spaghetti-monster/anduril/cfg-ff-rot66.h
+++ b/spaghetti-monster/anduril/cfg-ff-rot66.h
@@ -18,10 +18,6 @@
#define INDICATOR_LED_DEFAULT_MODE ((0<<2) + 2)
-#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 (this version)
diff --git a/spaghetti-monster/anduril/cfg-fw3a.h b/spaghetti-monster/anduril/cfg-fw3a.h
index 65f1e48..efa70ae 100644
--- a/spaghetti-monster/anduril/cfg-fw3a.h
+++ b/spaghetti-monster/anduril/cfg-fw3a.h
@@ -1,9 +1,5 @@
// FW3A config options for Anduril
-#ifdef RAMP_LENGTH
-#undef RAMP_LENGTH
-#endif
-
// ../../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 1 1 850 FET 1 10 1500
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.