#ifndef PACKAGE
#define PACKAGE

#define P23550	2

#define PROTOKOL	3

//-----------------------------------------------
#ifdef P23550
#define adr_PLT1	1
#define adr_PLT2	2
#define adr_ENG1	3

#define adr_INV1	5
#define adr_INV2	6
#define adr_FLT1	7
#define adr_FLT2	8

//-------------------
#define adr_REC1	0xff
#define adr_REC2	0xff
#define adr_TRN1	0xff
#define adr_TRN2	0xff
#define adr_POW1	0xff
#define adr_POW2	0xff
#define adr_BRK1	0xff
#define adr_BRK2	0xff
#define adr_ENG2	0xff
#define adr_LOA1	0xff
#define adr_LOA2	0xff
#define adr_DSTR	0xff
#endif
//-----------------------------------------------

//-----------------------------------------------
#define dsk_COMM	1
#define dsk_BKSD	2
#define dsk_BKST	3
#define dsk_PULT	4
#define dsk_SHKF	5
#define dsk_LOAD	6
#define dsk_DSTR	7
//-----------------------------------------------

//-----------------------------------------------
#define	TPL_INV 8
#define	TPL_FLT 8
#define	TPL_ENG 8

#define	TPL_MAX (TPL_INV + 2)
#define	DAT_MAX (TPL_INV * 2)
#define	ADC_MAX (TPL_MAX * 2)

#define TERMOPAIR	14

#define SIZE		24

//-----------------------------------------------

#define Modbus ((WORDE *)modbus)

#define start_error		(0)
#define start_data		(SIZE)
#define start_hi_edge	(SIZE*2)
#define start_lo_edge	(SIZE*3)

#define sens_error		((ERROR *)(modbus+start_error))
#define sens_data		(modbus+start_data)
#define sens_hi_edge	(modbus+start_hi_edge)
#define sens_lo_edge	(modbus+start_lo_edge)

#define keys		0x10			//	адрес повтораемой посылки «keys»

#define Inputs		Modbus[keys]
#define inputs		modbus[keys]
#define Buttons		Modbus[keys+1]
#define buttons		modbus[keys+1]

#define bTestLamp	Buttons.bit.bit0
#define bSecretBt	Buttons.bit.bit1
#define bTermoCal	Buttons.bit.bit2

#define	RSleng		 modbus[0x20]	//	длина посылки RS485
#define	RScount	 	 modbus[0x21]	//	пауза между посылками RS485
#define	RSpack		(modbus+0x22)	//	начало посылки RS485

#define	Cancount	(modbus+0x60)	//	пауза между посылками CAN
#define	CanWait		(modbus+0x62)	//	пауза после прохождениа цикла
#define	CanRestart	(modbus+0x64)	//	перезапуск посылки
#define	CanRptVez	 modbus[0x66]	//	кол-во повторений посылки «keys»
#define	CanRptLen	 modbus[0x67]	//	длина повтораемой посылки «keys»

#define	Bright		(modbus+0x68)	//	аркость сигнальных лампочек
#define	Light		(modbus+0x6A)	//	управление лампой

#define QuaLamp		7				//	кол-во сигнальных лампочек

#define m_FAST 0
#define m_SLOW 1

#define	TCaliber	(modbus+0x70)

#define K300_1	TCaliber[0]
#define K300_2	TCaliber[1]
#define K400_1	TCaliber[2]
#define K400_2	TCaliber[3]

#define K100_D	TCaliber[0]
#define K150_D	TCaliber[1]

#define cancyclo	0x78			//	его адрес
#define CanCycle	(modbus+0x78)	//	счетчик прохождений циклов CAN
#define CanRound	(modbus+0x7A)	//	счетчик отосланных массивов 

#define Protokol	modbus[125]
#define LastMode	modbus[126]
#define Commands	modbus[127]

#define comand		modbus[128]
#define bit_comand	Modbus[128]

#define cTestLamp	bit_comand.bit.bit0
#define cDefParam	bit_comand.bit.bit1
#define cSaveParam	bit_comand.bit.bit2
#define cLoadParam	bit_comand.bit.bit3
#define cTermoCal	bit_comand.bit.bit4
#define cKoefCalc	bit_comand.bit.bit5
#define cSecretBt	bit_comand.bit.bit6
#define cCanReset	bit_comand.bit.bit7
#define cRawMeat	bit_comand.bit.bit8
#define cLiteFire	bit_comand.bit.bit9
#define cHighVolt	bit_comand.bit.bitA

#define cReset		bit_comand.bit.bitF

#endif	//PACKAGE

