diff options
| author | Selene ToyKeeper | 2017-09-22 07:22:16 -0600 |
|---|---|---|
| committer | Selene ToyKeeper | 2017-09-22 07:22:16 -0600 |
| commit | e4634255795f04a1d859aa691fbc6e729973b14d (patch) | |
| tree | 40ee093fecb61ea6907cbb3abc50495b55293eed /spaghetti-monster | |
| parent | Added FW3A driver support to FSM and Anduril. (diff) | |
| download | anduril-e4634255795f04a1d859aa691fbc6e729973b14d.tar.gz anduril-e4634255795f04a1d859aa691fbc6e729973b14d.tar.bz2 anduril-e4634255795f04a1d859aa691fbc6e729973b14d.zip | |
Slightly increased resolution of VOLTAGE_FUDGE_FACTOR.
My lights seemed to measure just a bit low, so hopefully this will help.
It bumps up reported values by 0.05V.
Diffstat (limited to 'spaghetti-monster')
| -rw-r--r-- | spaghetti-monster/fsm-adc.c | 3 | ||||
| -rw-r--r-- | spaghetti-monster/fsm-adc.h | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/spaghetti-monster/fsm-adc.c b/spaghetti-monster/fsm-adc.c index 02fd8c2..5be3061 100644 --- a/spaghetti-monster/fsm-adc.c +++ b/spaghetti-monster/fsm-adc.c @@ -108,7 +108,8 @@ ISR(ADC_vect) { // calculate actual voltage: volts * 10 // ADC = 1.1 * 1024 / volts // volts = 1.1 * 1024 / ADC - voltage = (uint16_t)(1.1*1024*10)/measurement + VOLTAGE_FUDGE_FACTOR; + //voltage = (uint16_t)(1.1*1024*10)/measurement + VOLTAGE_FUDGE_FACTOR; + voltage = ((uint16_t)(2*1.1*1024*10)/measurement + VOLTAGE_FUDGE_FACTOR) >> 1; #endif // if low, callback EV_voltage_low / EV_voltage_critical // (but only if it has been more than N ticks since last call) diff --git a/spaghetti-monster/fsm-adc.h b/spaghetti-monster/fsm-adc.h index 2a7c26d..b9462f7 100644 --- a/spaghetti-monster/fsm-adc.h +++ b/spaghetti-monster/fsm-adc.h @@ -30,9 +30,9 @@ #ifndef VOLTAGE_LOW #define VOLTAGE_LOW 29 #endif -// MCU sees voltage 0.X volts lower than actual, add X to readings +// MCU sees voltage 0.X volts lower than actual, add X/2 to readings #ifndef VOLTAGE_FUDGE_FACTOR -#define VOLTAGE_FUDGE_FACTOR 2 +#define VOLTAGE_FUDGE_FACTOR 5 #endif volatile uint8_t voltage; void low_voltage(); |
