Simple cpp wrapper of a ds18b20, onewire 'c' library. Supports multiple sensors.

Dependencies:   mbed

Dependents:   LPC11U68_DS18B20Sensor

Fork of DS18B20Sensor by Steve Spence

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?

UserRevisionLine numberNew 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