Auto search for All DS18B20 sensors on data bus

Dependencies:   mbed

Committer:
umairaftab
Date:
Sun Apr 13 10:06:52 2014 +0000
Revision:
0:a2a81f538133
Multiple Sensors Functionality Added to Peter Sudensikis Library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
umairaftab 0:a2a81f538133 1 /*
umairaftab 0:a2a81f538133 2 * OneWireCRC. This is a port to mbed of Jim Studt's Adruino One Wire
umairaftab 0:a2a81f538133 3 * library.
umairaftab 0:a2a81f538133 4 *
umairaftab 0:a2a81f538133 5 * Copyright (C) <2009> Petras Saduikis <petras@petras.co.uk>
umairaftab 0:a2a81f538133 6 *
umairaftab 0:a2a81f538133 7 * This file is part of OneWireCRC.
umairaftab 0:a2a81f538133 8 *
umairaftab 0:a2a81f538133 9 * OneWireCRC is free software: you can redistribute it and/or modify
umairaftab 0:a2a81f538133 10 * it under the terms of the GNU General Public License as published by
umairaftab 0:a2a81f538133 11 * the Free Software Foundation, either version 3 of the License, or
umairaftab 0:a2a81f538133 12 * (at your option) any later version.
umairaftab 0:a2a81f538133 13 *
umairaftab 0:a2a81f538133 14 * OneWireCRC is distributed in the hope that it will be useful,
umairaftab 0:a2a81f538133 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
umairaftab 0:a2a81f538133 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
umairaftab 0:a2a81f538133 17 * GNU General Public License for more details.
umairaftab 0:a2a81f538133 18 *
umairaftab 0:a2a81f538133 19 * You should have received a copy of the GNU General Public License
umairaftab 0:a2a81f538133 20 * along with OneWireCRC. If not, see <http://www.gnu.org/licenses/>.
umairaftab 0:a2a81f538133 21 */
umairaftab 0:a2a81f538133 22
umairaftab 0:a2a81f538133 23 #ifndef SNATCH59_ONEWIREDEFS_H
umairaftab 0:a2a81f538133 24 #define SNATCH59_ONEWIREDEFS_H
umairaftab 0:a2a81f538133 25
umairaftab 0:a2a81f538133 26 // device ids
umairaftab 0:a2a81f538133 27 #define DS18B20_ID 0x28
umairaftab 0:a2a81f538133 28 #define DS18S20_ID 0x10
umairaftab 0:a2a81f538133 29
umairaftab 0:a2a81f538133 30 #define ALARM_CONFIG_SIZE 3
umairaftab 0:a2a81f538133 31 #define THERMOM_SCRATCHPAD_SIZE 9
umairaftab 0:a2a81f538133 32 #define THERMOM_CRC_BYTE 8
umairaftab 0:a2a81f538133 33 #define ADDRESS_SIZE 8
umairaftab 0:a2a81f538133 34 #define ADDRESS_CRC_BYTE 7
umairaftab 0:a2a81f538133 35
umairaftab 0:a2a81f538133 36 // One Wire command codes
umairaftab 0:a2a81f538133 37 #define OVERDRIVE_SKIP 0x3C
umairaftab 0:a2a81f538133 38 // ROM commands
umairaftab 0:a2a81f538133 39 #define SEARCH_ROM 0xF0
umairaftab 0:a2a81f538133 40 #define READ_ROM 0x33
umairaftab 0:a2a81f538133 41 #define MATCH_ROM 0x55
umairaftab 0:a2a81f538133 42 #define SKIP_ROM 0xCC
umairaftab 0:a2a81f538133 43 #define ALARM_SEARCH 0xEC
umairaftab 0:a2a81f538133 44 // Functions Commnds
umairaftab 0:a2a81f538133 45 #define CONVERT 0x44
umairaftab 0:a2a81f538133 46 #define WRITESCRATCH 0x4E
umairaftab 0:a2a81f538133 47 #define READSCRATCH 0xBE
umairaftab 0:a2a81f538133 48 #define COPYSCRATCH 0x48
umairaftab 0:a2a81f538133 49 #define RECALLE2 0xB8
umairaftab 0:a2a81f538133 50 #define READPOWERSUPPLY 0xB4
umairaftab 0:a2a81f538133 51
umairaftab 0:a2a81f538133 52 // temperature read resolutions
umairaftab 0:a2a81f538133 53 enum eResolution {nineBit = 0, tenBit, elevenBit, twelveBit};
umairaftab 0:a2a81f538133 54 const int CONVERSION_TIME[] = {94, 188, 375, 750}; // milli-seconds
umairaftab 0:a2a81f538133 55
umairaftab 0:a2a81f538133 56 // DS18B20/DS18S20 related
umairaftab 0:a2a81f538133 57 #define TEMPERATURE_LSB 0
umairaftab 0:a2a81f538133 58 #define TEMPERATURE_MSB 1
umairaftab 0:a2a81f538133 59 #define HIGH_ALARM_BYTE 2
umairaftab 0:a2a81f538133 60 #define LOW_ALARM_BYTE 3
umairaftab 0:a2a81f538133 61 #define CONFIG_REG_BYTE 4
umairaftab 0:a2a81f538133 62 #define CONFIG_READ_END 5
umairaftab 0:a2a81f538133 63 #define COUNT_REMAIN_BYTE 6
umairaftab 0:a2a81f538133 64 #define COUNT_PER_DEG_BYTE 7
umairaftab 0:a2a81f538133 65
umairaftab 0:a2a81f538133 66 #endif