/*
 * temperature.h
 *
 * Created: 09.12.2015 13:27:06
 *  Author: vasia
 */ 


#ifndef TEMPERATURE_H_
#define TEMPERATURE_H_

#define PIN_DS18 PIO_PB14           // Информационная линия датчика темпрптуры DS18B20.  номер пина
#define ID_TEMPERATURE ID_PIOB      // Номер порта 
#define P_TEMPERATURE PIOB          // Базовый адрес
#define PIN_DS18_IDX PIO_PB14_IDX   // Уникальный индекс пина


#define THERM_CMD_CONVERTTEMP 0x44
#define THERM_CMD_RSCRATCHPAD 0xbe
#define THERM_CMD_WSCRATCHPAD 0x4e
#define THERM_CMD_CPYSCRATCHPAD 0x48
#define THERM_CMD_RECEEPROM 0xb8
#define THERM_CMD_RPWRSUPPLY 0xb4
#define THERM_CMD_SEARCHROM 0xf0
#define THERM_CMD_READROM 0x33
#define THERM_CMD_MATCHROM 0x55
#define THERM_CMD_SKIPROM 0xcc
#define THERM_CMD_ALARMSEARCH 0xec
#define THERM_DECIMAL_STEPS_12BIT 625 

#define ERROR_INIT 1

void THERM_LOW(void);
void THERM_OUTPUT_MODE(void);
void THERM_INPUT_MODE(void);
uint8_t therm_reset(void);
void DS18B20Evt_fall(void);
void DS18B20Evt_rise(void) ;
void Button1_Handler_fall(uint32_t id, uint32_t mask);
void Button1_Handler_rise(uint32_t id, uint32_t mask);
int therm_read_temperature(char *buffer);



#endif /* TEMPERATURE_H_ */