MAX31850, DS18B20, DS2450, thermocouple
DS18X20.h@0:5d39f2521173, 2015-03-09 (annotated)
- Committer:
- fblanc
- Date:
- Mon Mar 09 11:55:54 2015 +0000
- Revision:
- 0:5d39f2521173
MAX31850
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fblanc | 0:5d39f2521173 | 1 | /* DS18X20 specific values (see datasheet www.maxim-ic.com/datasheet/index.mvp/id/2812) */ |
fblanc | 0:5d39f2521173 | 2 | #ifndef _DS18X20_ |
fblanc | 0:5d39f2521173 | 3 | #define _DS18X20_ |
fblanc | 0:5d39f2521173 | 4 | #define DS18S20_ID 0x10 |
fblanc | 0:5d39f2521173 | 5 | #define DS18B20_ID 0x28 |
fblanc | 0:5d39f2521173 | 6 | |
fblanc | 0:5d39f2521173 | 7 | #define DS18X20_POWER_PARASITE 0x00 |
fblanc | 0:5d39f2521173 | 8 | #define DS18X20_POWER_EXTERN 0x01 |
fblanc | 0:5d39f2521173 | 9 | #define DS18X20_CONVERT_T 0x44 |
fblanc | 0:5d39f2521173 | 10 | #define DS18X20_READ 0xBE |
fblanc | 0:5d39f2521173 | 11 | #define DS18X20_WRITE 0x4E |
fblanc | 0:5d39f2521173 | 12 | #define DS18X20_EE_WRITE 0x48 |
fblanc | 0:5d39f2521173 | 13 | #define DS18X20_EE_RECALL 0xB8 |
fblanc | 0:5d39f2521173 | 14 | #define DS18X20_READ_POWER_SUPPLY 0xB4 |
fblanc | 0:5d39f2521173 | 15 | |
fblanc | 0:5d39f2521173 | 16 | #define DS18X20_OK 0x00 |
fblanc | 0:5d39f2521173 | 17 | #define DS18X20_ERROR 0x01 |
fblanc | 0:5d39f2521173 | 18 | #define DS18X20_START_FAIL 0x02 |
fblanc | 0:5d39f2521173 | 19 | #define DS18X20_ERROR_CRC 0x03 |
fblanc | 0:5d39f2521173 | 20 | |
fblanc | 0:5d39f2521173 | 21 | #define DS18B20_CONF_REG 4 |
fblanc | 0:5d39f2521173 | 22 | #define DS18B20_9_BIT 0 |
fblanc | 0:5d39f2521173 | 23 | #define DS18B20_10_BIT (1<<5) |
fblanc | 0:5d39f2521173 | 24 | #define DS18B20_11_BIT (1<<6) |
fblanc | 0:5d39f2521173 | 25 | #define DS18B20_12_BIT ((1<<6)|(1<<5)) |
fblanc | 0:5d39f2521173 | 26 | |
fblanc | 0:5d39f2521173 | 27 | // indefined bits in LSB if 18B20 != 12bit |
fblanc | 0:5d39f2521173 | 28 | #define DS18B20_9_BIT_UNDF ((1<<0)|(1<<1)|(1<<2)) |
fblanc | 0:5d39f2521173 | 29 | #define DS18B20_10_BIT_UNDF ((1<<0)|(1<<1)) |
fblanc | 0:5d39f2521173 | 30 | #define DS18B20_11_BIT_UNDF ((1<<0)) |
fblanc | 0:5d39f2521173 | 31 | #define DS18B20_12_BIT_UNDF 0 |
fblanc | 0:5d39f2521173 | 32 | |
fblanc | 0:5d39f2521173 | 33 | // conversion times in ms |
fblanc | 0:5d39f2521173 | 34 | #define DS18B20_TCONV_12BIT 750 |
fblanc | 0:5d39f2521173 | 35 | #define DS18B20_TCONV_11BIT DS18B20_TCONV_12_BIT/2 |
fblanc | 0:5d39f2521173 | 36 | #define DS18B20_TCONV_10BIT DS18B20_TCONV_12_BIT/4 |
fblanc | 0:5d39f2521173 | 37 | #define DS18B20_TCONV_9BIT DS18B20_TCONV_12_BIT/8 |
fblanc | 0:5d39f2521173 | 38 | #define DS18S20_TCONV DS18B20_TCONV_12_BIT |
fblanc | 0:5d39f2521173 | 39 | |
fblanc | 0:5d39f2521173 | 40 | // constant to convert the fraction bits to cel*(10^-4) |
fblanc | 0:5d39f2521173 | 41 | #define DS18X20_FRACCONV 625 |
fblanc | 0:5d39f2521173 | 42 | |
fblanc | 0:5d39f2521173 | 43 | #define DS18X20_SP_SIZE 9 |
fblanc | 0:5d39f2521173 | 44 | |
fblanc | 0:5d39f2521173 | 45 | // DS18X20 EEPROM-Support |
fblanc | 0:5d39f2521173 | 46 | #define DS18X20_WRITE_SCRATCHPAD 0x4E |
fblanc | 0:5d39f2521173 | 47 | #define DS18X20_COPY_SCRATCHPAD 0x48 |
fblanc | 0:5d39f2521173 | 48 | #define DS18X20_RECALL_E2 0xB8 |
fblanc | 0:5d39f2521173 | 49 | #define DS18X20_COPYSP_DELAY 10 /* ms */ |
fblanc | 0:5d39f2521173 | 50 | #define DS18X20_TH_REG 2 |
fblanc | 0:5d39f2521173 | 51 | #define DS18X20_TL_REG 3 |
fblanc | 0:5d39f2521173 | 52 | |
fblanc | 0:5d39f2521173 | 53 | void DS18X20_show_temp(uint8_t subzero, uint8_t cel, uint8_t cel_frac_bits,char *text); |
fblanc | 0:5d39f2521173 | 54 | float DS18X20_temp(uint8_t subzero, uint8_t cel, uint8_t cel_frac_bits); |
fblanc | 0:5d39f2521173 | 55 | uint8_t DS18X20_get_power_status(uint8_t id[]); |
fblanc | 0:5d39f2521173 | 56 | uint8_t DS18X20_get_power_status(uint8_t n,uint8_t id[]); |
fblanc | 0:5d39f2521173 | 57 | uint8_t DS18X20_start_meas( uint8_t with_external, uint8_t id[]); |
fblanc | 0:5d39f2521173 | 58 | uint8_t DS18X20_start_meas(uint8_t n, uint8_t with_external, uint8_t id[]); |
fblanc | 0:5d39f2521173 | 59 | uint8_t DS18X20_read_meas(uint8_t id[], uint8_t *subzero, uint8_t *cel, uint8_t *cel_frac_bits); |
fblanc | 0:5d39f2521173 | 60 | uint8_t DS18X20_read_meas(uint8_t n, uint8_t id[], uint8_t *subzero, uint8_t *cel, uint8_t *cel_frac_bits); |
fblanc | 0:5d39f2521173 | 61 | uint8_t DS18X20_read_meas_single(uint8_t familycode, uint8_t *subzero, uint8_t *cel, uint8_t *cel_frac_bits); |
fblanc | 0:5d39f2521173 | 62 | uint8_t DS18X20_meas_to_cel( uint8_t fc, uint8_t *sp, uint8_t* subzero, uint8_t* cel, uint8_t* cel_frac_bits); |
fblanc | 0:5d39f2521173 | 63 | uint8_t DS18X20_read_meas(uint8_t n,uint8_t id[], float* temperature); |
fblanc | 0:5d39f2521173 | 64 | uint16_t DS18X20_temp_to_decicel(uint8_t subzero, uint8_t cel, uint8_t cel_frac_bits); |
fblanc | 0:5d39f2521173 | 65 | int8_t DS18X20_temp_cmp(uint8_t subzero1, uint16_t cel1, uint8_t subzero2, uint16_t cel2); |
fblanc | 0:5d39f2521173 | 66 | #endif |