/*	mija 2009 - header for proces.c

	SW pro ATmega8 mereni + regulace teploty
	Fosc = 8192000Hz externi krystal

	ver.: 0.0 - start
		 
*/

#ifndef __process_h_included__
#define __process_h_included__

#include "clock.h"		// struc Clock_t

#define POSITIVTIME		15	//minuty
#define DRYTIME			120	//minuty

#define POSITIVTEMP		70	//°C 
#define DRYTEMP			80	//°C 

#define PREHEATTEMPSTART	100
#define PREHEATTEMPSTOP		150
#define PREHEATTIMEOFF		50 //sec		

#define PREHEATTEMP		126	//°C 

#define PREHEATTIME		120	//sec

#define SOLDERTEMPSTART	183
#define SOLDERTEMPSTOP	180

#define SOLDERTEMP		206	//°C 
#define SOLDERTIME		10	//sec

#define COOLTEMP		50	//°C 
#define COOLTIME		10	//sec

#define HEAT		PD7
#define HEAT_DDR	DDRD
#define HEAT_PORT	PORTD

#define MAXDISPLBUFFER	20	//buffer pro lcd display 

enum{START=0,SOLDER,POSITIV,DRY}; //main proces

uint8_t 	ProcesStart(char *buffer,uint8_t key,uint16_t temp);
uint8_t 	ProcesSolder(char *buffer,uint8_t key,uint16_t temp,Clockt_t *clock);
uint8_t 	ProcesPositiv(char *buffer,uint8_t key,uint16_t temp,Clockt_t *clock);
uint8_t 	ProcesDry(char *buffer,uint8_t key,uint16_t temp,Clockt_t *clock);

void 		ProcesDispl(char *data);
void 		ProcesTemp(uint16_t adc,uint16_t *temp);
void		ProcesHeat(uint16_t temp,uint16_t ActualTemp);

 #define HeatInit()	HEAT_DDR|=_BV(HEAT)
 #define HeatOn()	HEAT_PORT|=_BV(HEAT)
 #define HeatOff()  HEAT_PORT &= (~(_BV(HEAT)))

#endif /* __process_h_included__ */
