One Wire Example striped to find sensors only builds using MBED 2 Library
Dependencies: mbed
onewire.h@0:486c7ab9114b, 2017-06-05 (annotated)
- Committer:
- Roietronics
- Date:
- Mon Jun 05 21:11:32 2017 +0000
- Revision:
- 0:486c7ab9114b
Initial commit of one wire example for MBED 2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Roietronics | 0:486c7ab9114b | 1 | /** |
Roietronics | 0:486c7ab9114b | 2 | * @file onewire.h |
Roietronics | 0:486c7ab9114b | 3 | * @brief library 1-Wire(www.maxim-ic.com) |
Roietronics | 0:486c7ab9114b | 4 | * @author Maciej Rajtar (Published 10 May 2010 www.mbed.org) |
Roietronics | 0:486c7ab9114b | 5 | * @author Frederic BLANC |
Roietronics | 0:486c7ab9114b | 6 | */ |
Roietronics | 0:486c7ab9114b | 7 | |
Roietronics | 0:486c7ab9114b | 8 | #ifndef _onewire_ |
Roietronics | 0:486c7ab9114b | 9 | #define _onewire_ |
Roietronics | 0:486c7ab9114b | 10 | |
Roietronics | 0:486c7ab9114b | 11 | //#define DEBUG 1 |
Roietronics | 0:486c7ab9114b | 12 | //#define DEBUG_L1 1 |
Roietronics | 0:486c7ab9114b | 13 | #define ONEWIRE_PIN PB_0 |
Roietronics | 0:486c7ab9114b | 14 | |
Roietronics | 0:486c7ab9114b | 15 | #define MAXSENSORS 16 |
Roietronics | 0:486c7ab9114b | 16 | |
Roietronics | 0:486c7ab9114b | 17 | // rom-code size including CRC |
Roietronics | 0:486c7ab9114b | 18 | #define OW_ROMCODE_SIZE 8 |
Roietronics | 0:486c7ab9114b | 19 | |
Roietronics | 0:486c7ab9114b | 20 | #define OW_OK 0x00 |
Roietronics | 0:486c7ab9114b | 21 | #define OW_ERROR 0x01 |
Roietronics | 0:486c7ab9114b | 22 | #define OW_START_FAIL 0x02 |
Roietronics | 0:486c7ab9114b | 23 | #define OW_ERROR_CRC 0x03 |
Roietronics | 0:486c7ab9114b | 24 | #define OW_ERROR_BAD_ID 0x04 |
Roietronics | 0:486c7ab9114b | 25 | #define OW_BUSY 0x05 |
Roietronics | 0:486c7ab9114b | 26 | |
Roietronics | 0:486c7ab9114b | 27 | #define OW_MATCH_ROM 0x55 |
Roietronics | 0:486c7ab9114b | 28 | #define OW_SKIP_ROM 0xCC |
Roietronics | 0:486c7ab9114b | 29 | #define OW_SEARCH_ROM 0xF0 |
Roietronics | 0:486c7ab9114b | 30 | #define OW_READ_ROM 0x33 |
Roietronics | 0:486c7ab9114b | 31 | #define OW_CONDITIONAL_SEARCH 0xEC |
Roietronics | 0:486c7ab9114b | 32 | #define OW_OVERDRIVE_SKIP_ROM 0x3C |
Roietronics | 0:486c7ab9114b | 33 | #define OW_OVERDRIVE_MATCH_ROM 0x69 |
Roietronics | 0:486c7ab9114b | 34 | |
Roietronics | 0:486c7ab9114b | 35 | #define OW_SHORT_CIRCUIT 0xFF |
Roietronics | 0:486c7ab9114b | 36 | #define OW_SEARCH_FIRST 0xFF // start new search |
Roietronics | 0:486c7ab9114b | 37 | #define OW_PRESENCE_ERR 0x01 |
Roietronics | 0:486c7ab9114b | 38 | #define OW_DATA_ERR 0xFE |
Roietronics | 0:486c7ab9114b | 39 | #define OW_LAST_DEVICE 0x00 // last device found |
Roietronics | 0:486c7ab9114b | 40 | // 0x01 ... 0x40: continue searching |
Roietronics | 0:486c7ab9114b | 41 | uint8_t search_sensors(uint8_t *nSensors,uint8_t *gSensorIDs ); |
Roietronics | 0:486c7ab9114b | 42 | uint8_t ow_PullUp(void); |
Roietronics | 0:486c7ab9114b | 43 | uint8_t ow_show_id( uint8_t id[], size_t n ,char *text); |
Roietronics | 0:486c7ab9114b | 44 | uint8_t ow_test_pin (void); |
Roietronics | 0:486c7ab9114b | 45 | uint8_t ow_reset(void); |
Roietronics | 0:486c7ab9114b | 46 | uint8_t ow_rom_search( uint8_t diff, uint8_t id[] ); |
Roietronics | 0:486c7ab9114b | 47 | uint8_t ow_command( uint8_t command, uint8_t id[] ); |
Roietronics | 0:486c7ab9114b | 48 | uint8_t ow_find_sensor(uint8_t *diff, uint8_t id[]); |
Roietronics | 0:486c7ab9114b | 49 | uint8_t ow_parasite_enable(void); |
Roietronics | 0:486c7ab9114b | 50 | uint8_t ow_parasite_disable(void); |
Roietronics | 0:486c7ab9114b | 51 | uint8_t ow_bit_io( uint8_t b ); |
Roietronics | 0:486c7ab9114b | 52 | uint8_t ow_byte_wr( uint8_t b ); |
Roietronics | 0:486c7ab9114b | 53 | uint8_t ow_byte_rd( void ); |
Roietronics | 0:486c7ab9114b | 54 | |
Roietronics | 0:486c7ab9114b | 55 | |
Roietronics | 0:486c7ab9114b | 56 | #endif |