mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-24 11:16:34 +00:00
adc_temp alternate mode, take 2
This commit is contained in:
parent
8d436ff910
commit
e9922b0b13
@ -501,13 +501,19 @@ void AdcEverySecond(void) {
|
||||
// double Rt = (adc * Adc[idx].param1 * MAX_ADC_V) / (ANALOG_RANGE * ANALOG_V33 - (double)adc * MAX_ADC_V);
|
||||
// MAX_ADC_V in ESP8266 is 1
|
||||
// MAX_ADC_V in ESP32 is 3.3
|
||||
if (Adc[idx].param4) { // Alternate mode
|
||||
adc = ANALOG_RANGE - adc;
|
||||
}
|
||||
double Rt;
|
||||
#ifdef ESP8266
|
||||
double Rt = (adc * Adc[idx].param1) / (ANALOG_RANGE * ANALOG_V33 - (double)adc); // Shelly param1 = 32000 (ANALOG_NTC_BRIDGE_RESISTANCE)
|
||||
if (Adc[idx].param4) { // Alternate mode
|
||||
Rt = (double)Adc[idx].param1 * (ANALOG_RANGE * ANALOG_V33 - (double)adc) / (double)adc;
|
||||
} else {
|
||||
Rt = (double)Adc[idx].param1 * (double)adc / (ANALOG_RANGE * ANALOG_V33 - (double)adc);
|
||||
}
|
||||
#else
|
||||
double Rt = (adc * Adc[idx].param1) / (ANALOG_RANGE - (double)adc);
|
||||
if (Adc[idx].param4) { // Alternate mode
|
||||
Rt = (double)Adc[idx].param1 * (ANALOG_RANGE - (double)adc) / (double)adc;
|
||||
} else {
|
||||
Rt = (double)Adc[idx].param1 * (double)adc / (ANALOG_RANGE - (double)adc);
|
||||
}
|
||||
#endif
|
||||
double BC = (double)Adc[idx].param3 / 10000; // Shelly param3 = 3350 (ANALOG_NTC_B_COEFFICIENT)
|
||||
double T = BC / (BC / ANALOG_T0 + TaylorLog(Rt / (double)Adc[idx].param2)); // Shelly param2 = 10000 (ANALOG_NTC_RESISTANCE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user