25 #ifndef ERRIEZ_OREGON_THN128_H_
26 #define ERRIEZ_OREGON_THN128_H_
29 #if !defined(ARDUINO_ARCH_AVR) && !defined(ARDUINO_ARCH_ESP8266) && !defined(ARDUINO_ARCH_ESP32)
30 #error "Platform not supported."
41 #define T_RX_TOLERANCE_US 400
42 #define T_PREAMBLE_SPACE_US 3000
43 #define T_SYNC_US 5500
45 #define T_SPACE_FRAMES_MS 100
47 #define T_SYNC_H_MIN (T_SYNC_US - T_RX_TOLERANCE_US)
48 #define T_SYNC_H_MAX (T_SYNC_US + T_RX_TOLERANCE_US)
50 #define T_SYNC_L_MIN_0 (T_SYNC_US + T_BIT_US - T_RX_TOLERANCE_US)
51 #define T_SYNC_L_MAX_0 (T_SYNC_US + T_BIT_US + T_RX_TOLERANCE_US)
52 #define T_SYNC_L_MIN_1 (T_SYNC_US - T_RX_TOLERANCE_US)
53 #define T_SYNC_L_MAX_1 (T_SYNC_US + T_RX_TOLERANCE_US)
55 #define T_BIT_SHORT_MIN (T_BIT_US - T_RX_TOLERANCE_US)
56 #define T_BIT_SHORT_MAX (T_BIT_US + T_RX_TOLERANCE_US)
57 #define T_BIT_LONG_MIN ((T_BIT_US * 2) - T_RX_TOLERANCE_US)
58 #define T_BIT_LONG_MAX ((T_BIT_US * 2) + T_RX_TOLERANCE_US)
uint32_t OregonTHN128_DataToRaw(OregonTHN128Data_t *data)
Convert data structure to 32-bit raw data.
bool OregonTHN128_RawToData(uint32_t rawData, OregonTHN128Data_t *data)
Cnonvert 32-bit raw data to OregonTHN128Data_t structure.
void OregonTHN128_TempToString(char *temperatureStr, uint8_t temperatureStrLen, int16_t temperature)
Convert temperature to string.
bool OregonTHN128_CheckCRC(uint32_t rawData)
Verify checksum.