#include #include "hw_timer.c" /** * @struct oneWire_t * Structure that holds all the information about onewire connections, including the 64-bit ROM address for each device and some buffer memory to read out the scratchpad */ typedef struct { uint8_t address[8]; uint8_t scratchpad[20]; } oneWire_t; /** * @enum ds18b20_cmds * This enum simply gives easy to read names to all the various one-wire commands that the DS18B20 can accept */ enum ds18b20_cmds { READ_ROM = 0x33, MATCH_ROM = 0x55, SEARCH_ROM = 0xF0, ALARM_SEARCH = 0xEC, SKIP_ROM = 0xCC, CONVERT_T = 0x44, SCRATCH_READ = 0xBE, SCRATCH_WRITE = 0x4E, SCRATCH_COPY = 0x48, E2_RECALL = 0xB8 }; LOCAL void timerISR(void); LOCAL void ICACHE_FLASH_ATTR reset(oneWire_t *owDev); LOCAL void ICACHE_FLASH_ATTR transact(oneWire_t *owDev, ds18b20_cmds cmd);