Kai Riedel / DS18B20

Dependents:   DS18B20_HGC

Committer:
kriedel
Date:
Thu Feb 03 12:10:20 2011 +0000
Revision:
0:21c0c97a5d7c

        

Who changed what in which revision?

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