aboutsummaryrefslogtreecommitdiff
path: root/hw/hank/emisar-d3aa/hwdef.c
diff options
context:
space:
mode:
authorSelene ToyKeeper2024-03-29 08:24:32 -0600
committerSelene ToyKeeper2024-03-29 08:34:29 -0600
commitda5278d03f67c868bdc5388832c175a9199554f9 (patch)
tree8d5c06f7b910f8cc7daf936d903090abe445add1 /hw/hank/emisar-d3aa/hwdef.c
parentMerge branch 'trunk' into emisar-d3aa (diff)
downloadanduril-da5278d03f67c868bdc5388832c175a9199554f9.tar.gz
anduril-da5278d03f67c868bdc5388832c175a9199554f9.tar.bz2
anduril-da5278d03f67c868bdc5388832c175a9199554f9.zip
d3aa: fixed voltage calculation to use 0.02V units instead of 0.025V
Diffstat (limited to 'hw/hank/emisar-d3aa/hwdef.c')
-rw-r--r--hw/hank/emisar-d3aa/hwdef.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/hw/hank/emisar-d3aa/hwdef.c b/hw/hank/emisar-d3aa/hwdef.c
index 36c6fed..be673e1 100644
--- a/hw/hank/emisar-d3aa/hwdef.c
+++ b/hw/hank/emisar-d3aa/hwdef.c
@@ -101,13 +101,11 @@ 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
+ // Out: uint8_t: Vbat * 50
// BATTLVL = Vbat * (100.0/(330+100)) = Vbat / 4.3
- // So, Out = In * 4.3 / 1600
- // (plus a bit of fudging to fix the slope and offset,
- // based on measuring actual hardware)
+ // So, Out = In * 4.3 / 1280
uint8_t result = (uint32_t)(measurement + (65535 * 4 / 1024))
- * 43 / 16000;
+ * 43 / 12800;
return result;
}
#endif