Ejemplo n.º 1
0
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
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
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;
}
Ejemplo n.º 4
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;
}
Ejemplo n.º 5
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;
}
Ejemplo n.º 6
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;
}