diff options
| author | Selene ToyKeeper | 2020-09-07 00:27:22 -0600 |
|---|---|---|
| committer | Selene ToyKeeper | 2020-09-07 00:27:22 -0600 |
| commit | d1f8589596a082a9a1a9e3d9c7d3c4180fe57e94 (patch) | |
| tree | 412f72dee8b9b21b50d19640efdcb75e3f5107dd | |
| parent | imported cfg and hwdef files for lume1 (diff) | |
| download | anduril-d1f8589596a082a9a1a9e3d9c7d3c4180fe57e94.tar.gz anduril-d1f8589596a082a9a1a9e3d9c7d3c4180fe57e94.tar.bz2 anduril-d1f8589596a082a9a1a9e3d9c7d3c4180fe57e94.zip | |
added support for external thermal sensors in fsm-adc.c
Diffstat (limited to '')
| -rw-r--r-- | spaghetti-monster/fsm-adc.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/spaghetti-monster/fsm-adc.c b/spaghetti-monster/fsm-adc.c index 4fc777b..91562a2 100644 --- a/spaghetti-monster/fsm-adc.c +++ b/spaghetti-monster/fsm-adc.c @@ -20,6 +20,14 @@ #ifndef FSM_ADC_C #define FSM_ADC_C +// override onboard temperature sensor definition, if relevant +#ifdef USE_EXTERNAL_TEMP_SENSOR +#ifdef ADMUX_THERM +#undef ADMUX_THERM +#endif +#define ADMUX_THERM ADMUX_THERM_EXTERNAL_SENSOR +#endif + static inline void set_admux_therm() { #if (ATTINY == 1634) @@ -335,7 +343,13 @@ static inline void ADC_temperature_handler() { // let the UI see the current temperature in C // Convert ADC units to Celsius (ish) + #ifndef USE_EXTERNAL_TEMP_SENSOR + // onboard sensor for attiny25/45/85/1634 temperature = (measurement>>1) + THERM_CAL_OFFSET + (int16_t)therm_cal_offset - 275; + #else + // external sensor + temperature = EXTERN_TEMP_FORMULA(measurement>>1) + THERM_CAL_OFFSET + (int16_t)therm_cal_offset; + #endif // how much has the temperature changed between now and a few seconds ago? int16_t diff; |
