kopia lustrzana https://github.com/rs1729/RS
M20: T>60C invalid
rodzic
ad8e5ac3e8
commit
f3e542f2c7
|
@ -77,6 +77,7 @@ dduudduudduudduu duduudduuduudduu ddududuudduduudd uduuddududududud uudduduuddu
|
|||
//"0111011010011111"; // M10: 76 9F , w/ aux-data
|
||||
//"0110010001001001"; // M10-dop: 64 49 09
|
||||
//"0110010010101111"; // M10+: 64 AF w/ gtop-GPS
|
||||
//"0100010100100000"; // M20: 45 20 (baud=9600)
|
||||
static char rawheader[] = "10011001100110010100110010011001";
|
||||
|
||||
#define FRAME_LEN (100+1) // 0x64+1
|
||||
|
@ -618,7 +619,9 @@ static float get_Temp(gpx_t *gpx) {
|
|||
x = (4095.0-ADC_RT)/ADC_RT; // (Vcc-Vout)/Vout = Vcc/Vout - 1
|
||||
R = Rs[scT] /( x - Rs[scT]/Rp[scT] );
|
||||
|
||||
if (R > 0) T = 1/( p0 + p1*log(R) + p2*log(R)*log(R) + p3*log(R)*log(R)*log(R) );
|
||||
if (R > 0) T = 1.0/( p0 + p1*log(R) + p2*log(R)*log(R) + p3*log(R)*log(R)*log(R) );
|
||||
|
||||
if (T > 333.15) T = 0; // T > 60C invalid
|
||||
|
||||
return T - 273.15; // Celsius
|
||||
}
|
||||
|
@ -641,7 +644,7 @@ static float get_Tntc2(gpx_t *gpx) {
|
|||
ADC_ntc0 = (gpx->frame_bytes[0x07] << 8) | gpx->frame_bytes[0x06]; // M10: 0x40,0x3F
|
||||
x = (4095.0 - ADC_ntc0)/ADC_ntc0; // (Vcc-Vout)/Vout
|
||||
R = Rs / x;
|
||||
if (R > 0) T = 1/(1/T25 + 1/b * log(R/R25));
|
||||
if (R > 0) T = 1.0/(1.0/T25 + 1.0/b * log(R/R25));
|
||||
//if (R > 0) T = 1/( p0 + p1*log(R) + p2*log(R)*log(R) + p3*log(R)*log(R)*log(R) );
|
||||
|
||||
return T - 273.15;
|
||||
|
@ -945,7 +948,7 @@ static int print_frame(gpx_t *gpx, int pos, int b2B) {
|
|||
}
|
||||
fprintf(stdout, "\n");
|
||||
}
|
||||
if (gpx->option.slt /*&& gpx->option.jsn*/) {
|
||||
if (gpx->option.slt /*&& gpx->option.jsn && gpx->frame_bytes[1] != 0x49*/) {
|
||||
print_pos(gpx, bc, cs1 == cs2);
|
||||
}
|
||||
}
|
||||
|
@ -956,6 +959,7 @@ static int print_frame(gpx_t *gpx, int pos, int b2B) {
|
|||
byte = gpx->frame_bytes[i];
|
||||
fprintf(stdout, "%02x", byte);
|
||||
}
|
||||
if (cs1 == cs2) fprintf(stdout, " [OK]"); else fprintf(stdout, " [NO]");
|
||||
fprintf(stdout, "\n");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -601,7 +601,9 @@ static float get_Temp(gpx_t *gpx) {
|
|||
x = (4095.0-ADC_RT)/ADC_RT; // (Vcc-Vout)/Vout = Vcc/Vout - 1
|
||||
R = Rs[scT] /( x - Rs[scT]/Rp[scT] );
|
||||
|
||||
if (R > 0) T = 1/( p0 + p1*log(R) + p2*log(R)*log(R) + p3*log(R)*log(R)*log(R) );
|
||||
if (R > 0) T = 1.0/( p0 + p1*log(R) + p2*log(R)*log(R) + p3*log(R)*log(R)*log(R) );
|
||||
|
||||
if (T > 333.15) T = 0; // T > 60C invalid
|
||||
|
||||
return T - 273.15; // Celsius
|
||||
}
|
||||
|
@ -624,7 +626,7 @@ static float get_Tntc2(gpx_t *gpx) {
|
|||
ADC_ntc0 = (gpx->frame_bytes[0x07] << 8) | gpx->frame_bytes[0x06]; // M10: 0x40,0x3F
|
||||
x = (4095.0 - ADC_ntc0)/ADC_ntc0; // (Vcc-Vout)/Vout
|
||||
R = Rs / x;
|
||||
if (R > 0) T = 1/(1/T25 + 1/b * log(R/R25));
|
||||
if (R > 0) T = 1.0/(1.0/T25 + 1.0/b * log(R/R25));
|
||||
//if (R > 0) T = 1/( p0 + p1*log(R) + p2*log(R)*log(R) + p3*log(R)*log(R)*log(R) );
|
||||
|
||||
return T - 273.15;
|
||||
|
|
Ładowanie…
Reference in New Issue