|
|
|
|
1191
|
#define SCAN_THERMISTOR_TABLE(TBL,LEN) do{ \
|
1191
|
#define SCAN_THERMISTOR_TABLE(TBL,LEN) do{ \
|
1192
|
uint8_t l = 0, r = LEN, m; \
|
1192
|
uint8_t l = 0, r = LEN, m; \
|
1193
|
for (;;) { \
|
1193
|
for (;;) { \
|
1194
|
- m = l + r; \
|
|
|
|
|
1194
|
+ m = (l + r) >> 1; \
|
1195
|
if (!m) return short(pgm_read_word(&TBL[0][1])); \
|
1195
|
if (!m) return short(pgm_read_word(&TBL[0][1])); \
|
1196
|
- m >>= 1; \
|
|
|
1197
|
if (m == l || m == r) return short(pgm_read_word(&TBL[LEN-1][1])); \
|
1196
|
if (m == l || m == r) return short(pgm_read_word(&TBL[LEN-1][1])); \
|
1198
|
short v00 = pgm_read_word(&TBL[m-1][0]), \
|
1197
|
short v00 = pgm_read_word(&TBL[m-1][0]), \
|
1199
|
v10 = pgm_read_word(&TBL[m-0][0]); \
|
1198
|
v10 = pgm_read_word(&TBL[m-0][0]); \
|