
#ifndef COMMON_H_
#define COMMON_H_

/* Konstanty a typy společné pro obě jednotky
 * common.h
 *
 * Created:	1.2.2014 20:00:00
 * Author:	David Müller 
 */ 

#include <avr/wdt.h>

// sw reset dle http://www.atmel.no/webdoc/AVRLibcReferenceManual/FAQ_1faq_softreset.html
#define SW_RESET()			\
cli();						\
do                          \
{                           \
	wdt_enable(WDTO_15MS);  \
	for(;;)                 \
	{                       \
	}                       \
} while(0)					\


#define AUTH_NONE				0							// režim bez zabezpečení
#define AUTH_WPA				2							// zabezpečení WPA2
#define MIN_PWR					7							// min.vysílací výkon

#define TRUE 1
#define FALSE 0

#define UNDEF_T					0x7FFF						// teplota není defonována
#define MAX_AGE					0xFFFF						// max.hodnota stáří teploty
#define BC_PORT					5000						// UDP port pro vysílání dat
#define DATA_PORT				5001						// TCP port pro dotaz na data
#define SETUP_PORT				5002						// TCP port pro konfiguraci

#define BLINK_100ms				10							// krátké bliknutí x10 ms
#define BLINK_500ms				50							// dlouhé bliknutí x10 ms

#define MAX_KEY_LEN				32							// max.délka klíče PSK
#define MAX_SSID_LEN			32							// max. délka SSID

typedef uint8_t bool_t;										// typ bool
typedef enum { CELSIUS, FAHRENHEIT } tunit_t;				// typ jednotky
typedef enum { IDLE, REQUIRED, INPROGRESS, ERROR, FROZEN } actStatus_t;
															// stavy požadavků (ne všechny požadavky
															// nabývají všech stavů)
// záznam o naměřené teplotě															
typedef struct
{
	int16_t val;											// hodnota v deciC
	uint16_t age;											// stáří v min.
} temprec_t;



#endif /* COMMON_H_ */