#include "includes.h"

extern tsEDK 	EDK;
extern tsAppCB  appCB;


/******************************************************************************
// ReadDIP - nacitani DIP prepinace
******************************************************************************/
void ReadDIP(void)
{
#ifdef EDK_USE_DIP
  EDK.dip.lastState = EDK.dip.state;				// zalohovat posledni stav
  EDK.dip.state = ~DIP_PORT;						// nacteni DIPu
  EDK.dip.state = ~DIP_PORT;						// dvoji cteni pro spolehlivost  
#endif  
}	

	
/******************************************************************************
// DipService - aktualizuje adresu OPER.idAdr pokud se zmeni hodnota z DIPU
******************************************************************************/
void DipService (void)
{
#ifdef EDK_USE_DIP
  OPER.idAdr = (EDK.dip.state & DIP_ADR);
  DataAddrSet(OPER.idAdr); 							// aktualizovat adresu zarizeni 
#endif
}



/******************************************************************************
//	UpdateDIPState
//
//  volani funkce pro zmene DIP prepinace - jedina varianta je verze pro RON
******************************************************************************/
void UpdateDIPState(void)
{
  #ifdef EDK_USE_DIP
    if (EDK.dip.state != EDK.dip.lastState)			// DIP se zmenil
	  AddReq(PRIORITY_TASK_LOW | PROCESS_DIP, 0,0);	// generovat obsluhu
  #endif
}
	 


