aboutsummaryrefslogtreecommitdiff
path: root/hw/hank
diff options
context:
space:
mode:
Diffstat (limited to 'hw/hank')
-rw-r--r--hw/hank/emisar-d3aa/hwdef.c2
-rw-r--r--hw/hank/emisar-d3aa/hwdef.h21
2 files changed, 14 insertions, 9 deletions
diff --git a/hw/hank/emisar-d3aa/hwdef.c b/hw/hank/emisar-d3aa/hwdef.c
index 853e84d..5f41d9d 100644
--- a/hw/hank/emisar-d3aa/hwdef.c
+++ b/hw/hank/emisar-d3aa/hwdef.c
@@ -104,6 +104,7 @@ bool gradual_tick_main(uint8_t gt) {
}
+#ifdef USE_VOLTAGE_DIVIDER
uint8_t voltage_raw2cooked(uint16_t measurement) {
// In : 65535 * BATTLVL / 1.024V
// Out: uint8_t: Vbat * 40
@@ -115,4 +116,5 @@ uint8_t voltage_raw2cooked(uint16_t measurement) {
* 43 / 16128;
return result;
}
+#endif
diff --git a/hw/hank/emisar-d3aa/hwdef.h b/hw/hank/emisar-d3aa/hwdef.h
index 8677609..1001e5d 100644
--- a/hw/hank/emisar-d3aa/hwdef.h
+++ b/hw/hank/emisar-d3aa/hwdef.h
@@ -97,17 +97,20 @@ enum CHANNEL_MODES {
#define SWITCH_INTFLG VPORTA.INTFLAGS
#endif
-// TODO: define stuff for the voltage divider
-// AVR datasheet table 3.1 I/O Multiplexing, PA5 ADC0 = AIN25
-#define USE_VOLTAGE_DIVIDER // use a dedicated pin, not VCC, because VCC input is regulated
-#define ADMUX_VOLTAGE_DIVIDER ADC_MUXPOS_AIN25_gc
#define DUAL_VOLTAGE_FLOOR (4*21) // for AA/14500 boost drivers, don't indicate low voltage if below this level
#define DUAL_VOLTAGE_LOW_LOW (4*7) // the lower voltage range's danger zone 0.7 volts (NiMH)
-// don't use the default VDD converter
-// convert BATT LVL pin readings to FSM volt units
-#undef voltage_raw2cooked
-uint8_t voltage_raw2cooked(uint16_t measurement);
-
+// comment out to use VDDIO2 instead of external voltage divider
+//#define USE_VOLTAGE_DIVIDER
+#ifdef USE_VOLTAGE_DIVIDER
+ // AVR datasheet table 3.1 I/O Multiplexing, PA5 ADC0 = AIN25
+ #define ADMUX_VOLTAGE_DIVIDER ADC_MUXPOS_AIN25_gc
+ // don't use the default VDD converter
+ // convert BATT LVL pin readings to FSM volt units
+ #undef voltage_raw2cooked
+ uint8_t voltage_raw2cooked(uint16_t measurement);
+#else
+ #define USE_VOLTAGE_VDDIO2
+#endif
// average drop across diode on this hardware
#ifndef VOLTAGE_FUDGE_FACTOR