on utilise un 2438 (1AN + temp) + capteur H25K5A
export vers BDD Net
ce capteur sera utilisé pour :
ou comment automatiser la lecture de la table en page2 de la datasheet h25k5a.pdf
/* avec double
fred@Xubuntu:~/test_c$ ./humid_interpolation
start
RH*10 = 661
Tv0 403 us -WL500GP-> 1200 us
Tv1 8 us -WL500GP-> 100 us
Tv2 9 us -WL500GP-> 18 us
avec float
fred@Xubuntu:~/test_c$ ./humid_interpolation @msi
start
RH*10 = 661
Tv0 400 us -WL500GP-> 1100 us
Tv1 8 us -WL500GP-> 92 us
Tv2 9 us -WL500GP-> 18 us
conclusions :
REAL_TYPE str_to_dbl_base10_noexp(const char * s) { //4*"xx.xx" = 140us@xubuntu , 175us@WL500GP int a = 0; int e = 1; char c; int sign = 1; REAL_TYPE ret_d; while (!isdigit(*s)) { /* Skip leading whitespace. */ if(*s == '-')sign=-1; ++s; } while ((c = *s++) != '\0' && isdigit(c)) { a = a*10 + (c - '0'); } if (c == '.') { while ((c = *s++) != '\0' && isdigit(c)) { a = a*10 + (c - '0'); e = e*10; } } a=a*sign; ret_d = (REAL_TYPE)a/e; return ret_d; }