Revision 168:bfc84ee2839b analog_exp/onewire.h

b/analog_exp/onewire.h
2 2
#define __onewire_h_
3 3

  
4 4
#include <stdint.h>
5
#include <stdbool.h>
5 6

  
6
typedef char[8] onewire_id;
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;
7 19

  
8 20
void onewire_tx_byte(uint8_t data);
9 21
uint8_t onewire_rx_byte(void);
10 22
void onewire_readrom(onewire_id id);
11 23
void onewire_matchrom(onewire_id id);
24
void onewire_skiprom(void);
12 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);
13 32

  
14 33
#define ONEWIRE_CMD_READROM 0x33
15 34
#define ONEWIRE_CMD_SKIPROM 0xCC
16 35
#define ONEWIRE_CMD_MATCHROM 0x55
17 36
#define ONEWIRE_CMD_SEARCHROM 0xF0
18 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

  
19 45
#endif // __onewire_h_
20 46

  

Also available in: Unified diff