void ds18x20_init() { //only for DS18B20 (not for DS18S20) ow_command(COMMAND_WRITE_SP,NULL); // write ow_byte_write(0x00); //Th ow_byte_write(0x00); //Tl ow_byte_write(0x7F); //config }
u8 ow_2760_copy_data(u8 addr) { u8 ret; ret = ow_reset(); if (ret) { return ret; } ow_byte_write(OW_CMD_SKIP_ROM); ow_byte_write(OW_2760_COPY_DATA); ow_byte_write(addr); return 0; }
u8 ow_2760_recall_data(u8 addr) { u8 ret; ret = ow_reset(); if (ret) { return ret; } ow_byte_write(OW_CMD_SKIP_ROM); ow_byte_write(OW_2760_RECALL_DATA); ow_byte_write(addr); return 0; }
u8 ow_2760_read_reg(u8 reg, u8 *buf, u8 len) { u8 ret; ret = ow_reset(); if (ret) { return ret; } ow_byte_write(OW_CMD_SKIP_ROM); ow_byte_write(OW_2760_READ_REG); ow_byte_write(reg); while(len--) { *buf++ = ow_byte_write(0xFF); } return 0; }
u8 ow_read_rom(u8 *rombuf) { u8 ret; ret = ow_reset(); if (ret) { return ret; } ow_byte_write(OW_CMD_READ_ROM); { u8 i; for(i=0; i<8; i++) { rombuf[i] = ow_byte_write(0xFF); } } return 0; }
u8 ow_2760_write_reg(u8 reg, u8 val) { u8 ret; ret = ow_reset(); if (!ret) { ow_byte_write(OW_CMD_SKIP_ROM); ow_byte_write(OW_2760_WRITE_REG); ow_byte_write(reg); ow_byte_write(val); } #if 0 { u8 msg[] = {reg, val, ret}; send_msg(BROADCAST_NODE_ID, 0xCA, 3, &msg, 0); } #endif return ret; }