Statistics
| Branch: | Tag: | Revision:

root / analog_exp / onewire.h @ 168:bfc84ee2839b

History | View | Annotate | Download (1.2 kB)

1
#ifndef __onewire_h_
2
#define __onewire_h_
3
4
#include <stdint.h>
5
#include <stdbool.h>
6
7
typedef uint8_t onewire_id[8];
8
9
typedef struct {
10
    int16_t temperature;
11
    uint8_t threshold_h;
12
    uint8_t threshold_l;
13
    uint8_t config;
14
    uint8_t resv0;
15
    uint8_t resv1;
16
    uint8_t resv2;
17
    uint8_t crc;
18
} ds18b20_scratchpad_t;
19
20
void onewire_tx_byte(uint8_t data);
21
uint8_t onewire_rx_byte(void);
22
void onewire_readrom(onewire_id id);
23
void onewire_matchrom(onewire_id id);
24
void onewire_skiprom(void);
25
void onewire_searchrom(onewire_id *id_list, uint8_t *n);
26
uint8_t onewire_crc8(uint8_t *data, uint8_t length);
27
bool onewire_crc_rom(onewire_id id);
28
29
void onewire_convert_t(void);
30
void onewire_write_scratchpad(uint8_t th, uint8_t tl, uint8_t config);
31
bool onewire_read_scratchpad(ds18b20_scratchpad_t *scratchpad);
32
33
#define ONEWIRE_CMD_READROM 0x33
34
#define ONEWIRE_CMD_SKIPROM 0xCC
35
#define ONEWIRE_CMD_MATCHROM 0x55
36
#define ONEWIRE_CMD_SEARCHROM 0xF0
37
38
#define ONEWIRE_CMD_CONVERT_T 0x44
39
#define ONEWIRE_CMD_WRITE_SCRATCHPAD 0x4E
40
#define ONEWIRE_CMD_READ_SCRATCHPAD 0xBE
41
#define ONEWIRE_CMD_COPY_SCRATCHPAD 0x48
42
#define ONEWIRE_CMD_RECALL_EE 0xB8
43
#define ONEWIRE_CMD_READ_POWER 0xB4
44
45
#endif // __onewire_h_
46