DS18B20

Dependents:   DS1820_HelloWorld

Committer:
jack__zen
Date:
Wed Sep 06 05:35:15 2017 +0000
Revision:
0:a47e8ec71a4e
onewire

Who changed what in which revision?

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