OneWire DS18B20,DS2450,MAX31850

Dependents:   MAX31850_HelloWorld

Committer:
fblanc
Date:
Thu Feb 12 14:03:55 2015 +0000
Revision:
0:9acbbb021a43
MAX31850 ok

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fblanc 0:9acbbb021a43 1 /**
fblanc 0:9acbbb021a43 2 * @file onewire.h
fblanc 0:9acbbb021a43 3 * @brief library 1-Wire(www.maxim-ic.com)
fblanc 0:9acbbb021a43 4 * @author Maciej Rajtar (Published 10 May 2010 www.mbed.org)
fblanc 0:9acbbb021a43 5 * @author Frederic BLANC (Published 01/03/2012 www.mbed.org)
fblanc 0:9acbbb021a43 6 */
fblanc 0:9acbbb021a43 7
fblanc 0:9acbbb021a43 8 #ifndef _onewire_
fblanc 0:9acbbb021a43 9 #define _onewire_
fblanc 0:9acbbb021a43 10 #include "DS2450.h"
fblanc 0:9acbbb021a43 11 #include "DS18X20.h"
fblanc 0:9acbbb021a43 12 #include "MAX31850.h"
fblanc 0:9acbbb021a43 13 #include "crc8.h"
fblanc 0:9acbbb021a43 14 #include "crc16.h"
fblanc 0:9acbbb021a43 15 //#define DEBUG 1
fblanc 0:9acbbb021a43 16 //#define DEBUG_L1 1
fblanc 0:9acbbb021a43 17 #define ONEWIRE_PIN p21
fblanc 0:9acbbb021a43 18
fblanc 0:9acbbb021a43 19 #define MAXSENSORS 8
fblanc 0:9acbbb021a43 20 #define MAXBUS 4
fblanc 0:9acbbb021a43 21 // rom-code size including CRC
fblanc 0:9acbbb021a43 22 #define OW_ROMCODE_SIZE 8
fblanc 0:9acbbb021a43 23
fblanc 0:9acbbb021a43 24 #define OW_OK 0x00
fblanc 0:9acbbb021a43 25 #define OW_ERROR 0x01
fblanc 0:9acbbb021a43 26 #define OW_START_FAIL 0x02
fblanc 0:9acbbb021a43 27 #define OW_ERROR_CRC 0x03
fblanc 0:9acbbb021a43 28 #define OW_ERROR_BAD_ID 0x04
fblanc 0:9acbbb021a43 29 #define OW_BUSY 0x05
fblanc 0:9acbbb021a43 30
fblanc 0:9acbbb021a43 31 #define OW_MATCH_ROM 0x55
fblanc 0:9acbbb021a43 32 #define OW_SKIP_ROM 0xCC
fblanc 0:9acbbb021a43 33 #define OW_SEARCH_ROM 0xF0
fblanc 0:9acbbb021a43 34 #define OW_READ_ROM 0x33
fblanc 0:9acbbb021a43 35 #define OW_CONDITIONAL_SEARCH 0xEC
fblanc 0:9acbbb021a43 36 #define OW_OVERDRIVE_SKIP_ROM 0x3C
fblanc 0:9acbbb021a43 37 #define OW_OVERDRIVE_MATCH_ROM 0x69
fblanc 0:9acbbb021a43 38
fblanc 0:9acbbb021a43 39 #define OW_SHORT_CIRCUIT 0xFF
fblanc 0:9acbbb021a43 40 #define OW_SEARCH_FIRST 0xFF // start new search
fblanc 0:9acbbb021a43 41 #define OW_PRESENCE_ERR 0x01
fblanc 0:9acbbb021a43 42 #define OW_DATA_ERR 0xFE
fblanc 0:9acbbb021a43 43 #define OW_LAST_DEVICE 0x00 // last device found
fblanc 0:9acbbb021a43 44 // 0x01 ... 0x40: continue searching
fblanc 0:9acbbb021a43 45
fblanc 0:9acbbb021a43 46
fblanc 0:9acbbb021a43 47
fblanc 0:9acbbb021a43 48 char* ow_show_id( uint8_t id[],char *text);
fblanc 0:9acbbb021a43 49 uint64_t uint64_id( uint8_t id[]);
fblanc 0:9acbbb021a43 50
fblanc 0:9acbbb021a43 51 uint8_t search_sensors(uint8_t *nSensors,uint8_t id[][OW_ROMCODE_SIZE] );
fblanc 0:9acbbb021a43 52 uint8_t search_sensors(uint8_t n,uint8_t *nSensors,uint8_t gSensorIDs[][MAXSENSORS][OW_ROMCODE_SIZE] );
fblanc 0:9acbbb021a43 53 uint8_t ow_PullUp(void);
fblanc 0:9acbbb021a43 54 uint8_t ow_PullUp(uint8_t n);
fblanc 0:9acbbb021a43 55
fblanc 0:9acbbb021a43 56
fblanc 0:9acbbb021a43 57 uint8_t ow_test_pin (void);
fblanc 0:9acbbb021a43 58 uint8_t ow_test_pin (uint8_t n);
fblanc 0:9acbbb021a43 59 uint8_t ow_reset(void);
fblanc 0:9acbbb021a43 60 uint8_t ow_reset(uint8_t n);
fblanc 0:9acbbb021a43 61 uint8_t ow_rom_search( uint8_t diff, uint8_t id[] );
fblanc 0:9acbbb021a43 62 uint8_t ow_rom_search(uint8_t n, uint8_t diff, uint8_t id[] );
fblanc 0:9acbbb021a43 63 uint8_t ow_command( uint8_t command, uint8_t id[] );
fblanc 0:9acbbb021a43 64 uint8_t ow_command(uint8_t n, uint8_t command, uint8_t id[] );
fblanc 0:9acbbb021a43 65 uint8_t ow_find_sensor(uint8_t *diff, uint8_t id[]);
fblanc 0:9acbbb021a43 66 uint8_t ow_find_sensor(uint8_t n,uint8_t *diff, uint8_t id[]);
fblanc 0:9acbbb021a43 67 uint8_t ow_parasite_enable(void);
fblanc 0:9acbbb021a43 68 uint8_t ow_parasite_enable(uint8_t n);
fblanc 0:9acbbb021a43 69 uint8_t ow_parasite_disable(void);
fblanc 0:9acbbb021a43 70 uint8_t ow_parasite_disable(uint8_t n);
fblanc 0:9acbbb021a43 71 uint8_t ow_bit_io( uint8_t b );
fblanc 0:9acbbb021a43 72 uint8_t ow_bit_io(uint8_t n, uint8_t b);
fblanc 0:9acbbb021a43 73 uint8_t ow_byte_wr( uint8_t b );
fblanc 0:9acbbb021a43 74 uint8_t ow_byte_wr(uint8_t n, uint8_t b );
fblanc 0:9acbbb021a43 75 uint8_t ow_byte_rd( void );
fblanc 0:9acbbb021a43 76 uint8_t ow_byte_rd( uint8_t n);
fblanc 0:9acbbb021a43 77
fblanc 0:9acbbb021a43 78
fblanc 0:9acbbb021a43 79 #endif