#ifndef _OW_H #define _OW_H #include "mcf5xxx.h" /* 1-Wire Master */ #define DS2482_I2C_RESET 0xF0 #define DS2482_I2C_SET_READ_PTR 0xE1 #define DS2482_I2C_CONFIG 0xD2 #define DS2482_OW_RESET 0xB4 //1-Wire Reset #define DS2482_OW_WRITE_BIT 0x87 //1-Wire Single Bit #define DS2482_OW_WRITE_BYTE 0xA5 //1-Wire Write Byte #define DS2482_OW_READ_BYTE 0x96 //1-Wire Read Byte #define DS2482_OW_TRIPLET 0x78 //1-Wire triplet #define DS2482_REG_STATUS 0xF0 //Status Register #define DS2482_REG_DATA 0xE1 //Data Register #define DS2482_REG_CONF 0xC3 //Configuration Register #define OW_ROM_MATCH 0x55 // Digital Thermometer 28h #define DS18B20_FAM 0x28 #define DS18B20_CONVERT_T 0x44 #define DS18B20_WRITE_SCRATCH 0x4E //Write Scratchpad #define DS18B20_READ_SCRATCH 0xBE //Read Scratchpad #define DS18B20_COPY_SCRATCH 0x48 //Copy Scratchpad #define DS18B20_RECALL_E2 0xB8 #define DS18B20_READ_POWER 0xB4 #define DS18B20_ROM_READ 0x33 #define DS18B20_ROM_MATCH 0x55 #define DS18B20_ROM_SKIP 0xCC #define DS18B20_ROM_SEARCH 0xF0 #define DS18B20_ALARM_SEARCH 0xEC // Quad ADC 20h #define DS2450_FAM 0x20 #define DS2450_READ_MEM 0xAA #define DS2450_WRITE_MEM 0x55 #define DS2450_CONVERT 0x3C #define DS2450_ROM_READ 0x33 #define DS2450_ROM_MATCH 0x55 #define DS2450_ROM_SEARCH 0xF0 #define DS2450_ROM_COND_SEARCH 0xEC //Conditional Search ROM #define DS2450_ROM_SKIP 0xCC #define DS2450_ROM_OD_SKIP 0x3C //OverDrive Skip ROM #define DS2450_ROM_OD_MATCH 0x69 //OverDrive Match ROM // Digital Potentiometer 2Ch #define DS2890_FAM 0x2C #define DS2890_READ_POS 0xF0 #define DS2890_WRITE_POS 0x0F #define DS2890_READ_CTL_REG 0xAA #define DS2890_WRITE_CTL_REG 0x55 #define DS2890_INCR 0xC3 #define DS2890_DECR 0x99 #define DS2890_ROM_READ 0x33 #define DS2890_ROM_MATCH 0x55 #define DS2890_ROM_SEARCH 0xF0 #define DS2890_ROM_COND_SEARCH 0xEC //Conditional Search ROM #define DS2890_ROM_SKIP 0xCC #define DS2890_ROM_OD_SKIP 0x3C //OverDrive Skip ROM #define DS2890_ROM_OD_MATCH 0x69 //OverDrive Match ROM #define DS2890_RESUME 0xA5 #define DS2890_RELEASE_CODE 0x96 // Dual Channel Switch 3Ah #define DS2413_FAM 0x3A #define DS2413_PIO_READ 0xF5 // PIO Access Read #define DS2413_PIO_WRITE 0x5A // PIO Access Write #define DS2413_ROM_READ 0x33 #define DS2413_ROM_MATCH 0x55 #define DS2413_ROM_SEARCH 0xF0 #define DS2413_ROM_SKIP 0xCC #define DS2413_ROM_OD_SKIP 0x3C //OverDrive Skip ROM #define DS2413_ROM_OD_MATCH 0x69 //OverDrive Match ROM #define DS2413_RESUME 0xA5 int OW_crc8(uint8 data); int OW_getReg(uint8 i2cSlave, uint8 reg); int OW_idleMask(uint8 i2cSlave, uint8 mask, uint8 cmp); int OW_command(uint8 i2cSlave, uint8 command, uint8 param); int OW_commandNoIdle(uint8 i2cSlave, uint8 command, uint8 param); int OW_masterReset(uint8 i2cSlave); int OW_masterInit(uint8 i2cSlave); int OW_reset(uint8 i2cSlave); int OW_writeBit(uint8 i2cSlave, uint8 data); int OW_readBit(uint8 i2cSlave); int OW_writeByte(uint8 i2cSlave, uint8 data); uint8 OW_getByte(uint8 i2cSlave); int OW_block(uint8 i2cSlave, uint8 *data, int len); int OW_triplet(uint8 i2cSlave, uint8 *dir, uint8 *firstBit, uint8 *secondBit); int OW_findNext(uint8 i2cSlave, uint8 *deviceAddress, uint8 *lastDiscrepancy); int OW_searchAll(uint8 i2cSlave); #endif