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 |