Simple cpp wrapper of a ds18b20, onewire 'c' library. Supports multiple sensors.
Dependents: LPC11U68_DS18B20Sensor
Fork of DS18B20Sensor by
onewire.h@5:0bcc4e42fec0, 2014-07-04 (annotated)
- Committer:
- Bongjun
- Date:
- Fri Jul 04 00:08:44 2014 +0000
- Revision:
- 5:0bcc4e42fec0
- Parent:
- 4:89d7cbe220e1
added comments
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jsteve | 0:1449f126b241 | 1 | /** |
jsteve | 0:1449f126b241 | 2 | * @file onewire.h |
jsteve | 0:1449f126b241 | 3 | * @brief library 1-Wire(www.maxim-ic.com) |
jsteve | 0:1449f126b241 | 4 | * @author Maciej Rajtar (Published 10 May 2010 www.mbed.org) |
jsteve | 0:1449f126b241 | 5 | * @author Frederic BLANC |
jsteve | 0:1449f126b241 | 6 | */ |
jsteve | 0:1449f126b241 | 7 | |
jsteve | 0:1449f126b241 | 8 | #ifndef _onewire_ |
jsteve | 0:1449f126b241 | 9 | #define _onewire_ |
jsteve | 0:1449f126b241 | 10 | |
jsteve | 0:1449f126b241 | 11 | //#define DEBUG 1 |
jsteve | 0:1449f126b241 | 12 | //#define DEBUG_L1 1 |
Bongjun | 4:89d7cbe220e1 | 13 | //#define ONEWIRE_PIN p30 |
Bongjun | 5:0bcc4e42fec0 | 14 | #define ONEWIRE_PIN P1_25 // for LPC11U68 Xpresso v2 Board |
jsteve | 0:1449f126b241 | 15 | |
jsteve | 0:1449f126b241 | 16 | #define MAXSENSORS 16 |
jsteve | 0:1449f126b241 | 17 | |
jsteve | 0:1449f126b241 | 18 | // rom-code size including CRC |
jsteve | 0:1449f126b241 | 19 | #define OW_ROMCODE_SIZE 8 |
jsteve | 0:1449f126b241 | 20 | |
jsteve | 0:1449f126b241 | 21 | #define OW_OK 0x00 |
jsteve | 0:1449f126b241 | 22 | #define OW_ERROR 0x01 |
jsteve | 0:1449f126b241 | 23 | #define OW_START_FAIL 0x02 |
jsteve | 0:1449f126b241 | 24 | #define OW_ERROR_CRC 0x03 |
jsteve | 0:1449f126b241 | 25 | #define OW_ERROR_BAD_ID 0x04 |
jsteve | 0:1449f126b241 | 26 | #define OW_BUSY 0x05 |
jsteve | 0:1449f126b241 | 27 | |
jsteve | 0:1449f126b241 | 28 | #define OW_MATCH_ROM 0x55 |
jsteve | 0:1449f126b241 | 29 | #define OW_SKIP_ROM 0xCC |
jsteve | 0:1449f126b241 | 30 | #define OW_SEARCH_ROM 0xF0 |
jsteve | 0:1449f126b241 | 31 | #define OW_READ_ROM 0x33 |
jsteve | 0:1449f126b241 | 32 | #define OW_CONDITIONAL_SEARCH 0xEC |
jsteve | 0:1449f126b241 | 33 | #define OW_OVERDRIVE_SKIP_ROM 0x3C |
jsteve | 0:1449f126b241 | 34 | #define OW_OVERDRIVE_MATCH_ROM 0x69 |
jsteve | 0:1449f126b241 | 35 | |
jsteve | 0:1449f126b241 | 36 | #define OW_SHORT_CIRCUIT 0xFF |
jsteve | 0:1449f126b241 | 37 | #define OW_SEARCH_FIRST 0xFF // start new search |
jsteve | 0:1449f126b241 | 38 | #define OW_PRESENCE_ERR 0x01 |
jsteve | 0:1449f126b241 | 39 | #define OW_DATA_ERR 0xFE |
jsteve | 0:1449f126b241 | 40 | #define OW_LAST_DEVICE 0x00 // last device found |
jsteve | 0:1449f126b241 | 41 | // 0x01 ... 0x40: continue searching |
jsteve | 0:1449f126b241 | 42 | uint8_t search_sensors(uint8_t *nSensors,uint8_t *gSensorIDs ); |
jsteve | 0:1449f126b241 | 43 | uint8_t ow_PullUp(void); |
jsteve | 0:1449f126b241 | 44 | uint8_t ow_show_id( uint8_t id[], size_t n ,char *text); |
jsteve | 0:1449f126b241 | 45 | uint8_t ow_test_pin (void); |
jsteve | 0:1449f126b241 | 46 | uint8_t ow_reset(void); |
jsteve | 0:1449f126b241 | 47 | uint8_t ow_rom_search( uint8_t diff, uint8_t id[] ); |
jsteve | 0:1449f126b241 | 48 | uint8_t ow_command( uint8_t command, uint8_t id[] ); |
jsteve | 0:1449f126b241 | 49 | uint8_t ow_find_sensor(uint8_t *diff, uint8_t id[]); |
jsteve | 0:1449f126b241 | 50 | uint8_t ow_parasite_enable(void); |
jsteve | 0:1449f126b241 | 51 | uint8_t ow_parasite_disable(void); |
jsteve | 0:1449f126b241 | 52 | uint8_t ow_bit_io( uint8_t b ); |
jsteve | 0:1449f126b241 | 53 | uint8_t ow_byte_wr( uint8_t b ); |
jsteve | 0:1449f126b241 | 54 | uint8_t ow_byte_rd( void ); |
jsteve | 0:1449f126b241 | 55 | |
jsteve | 0:1449f126b241 | 56 | |
jsteve | 0:1449f126b241 | 57 | #endif |