/**
******************************************************************************
* @file upp_io.c
* @brief Входы/выходы УПП
******************************************************************************
* @details
******************************************************************************/
#include "upp_io.h"
#include "main.h"
UPP_DiscreteInputs_t UPP_DIN;
UPP_DiscreteOutputs_t UPP_DO;


void UPP_CEN_Write(int state)
{
  HAL_GPIO_WritePin(CEN_GPIO_Port, CEN_Pin, state);
}
void UPP_RDO1_Write(int state)
{
  HAL_GPIO_WritePin(RDO1_GPIO_Port, RDO1_Pin, state);
}
void UPP_RDO2_Write(int state)
{
  HAL_GPIO_WritePin(RDO2_GPIO_Port, RDO2_Pin, state);
}
void UPP_RDO3_Write(int state)
{
  HAL_GPIO_WritePin(RDO3_GPIO_Port, RDO3_Pin, state);
}
void UPP_RDO4_Write(int state)
{
  HAL_GPIO_WritePin(RDO4_GPIO_Port, RDO4_Pin, state);
}
void UPP_DO1_Write(int state)
{
  HAL_GPIO_WritePin(DO1_GPIO_Port, DO1_Pin, state);
}
void UPP_DO2_Write(int state)
{
  HAL_GPIO_WritePin(DO2_GPIO_Port, DO2_Pin, state);
}
void UPP_DO3_Write(int state)
{
  HAL_GPIO_WritePin(DO3_GPIO_Port, DO3_Pin, state);
}
void UPP_DO4_Write(int state)
{
  HAL_GPIO_WritePin(DO4_GPIO_Port, DO4_Pin, state);
}
void UPP_DO5_Write(int state)
{
  HAL_GPIO_WritePin(DO5_GPIO_Port, DO5_Pin, state);
}


void UPP_Connect_Discrete(void)
{
  UPP_DO.CEN            = &UPP_CEN_Write;
  UPP_DO.RDO_Error      = &UPP_RDO1_Write;
  UPP_DO.RDO_Work       = &UPP_RDO2_Write;
  UPP_DO.RDO_Ready      = &UPP_RDO3_Write;
  UPP_DO.RDO4_Reserved  = &UPP_RDO4_Write;
  UPP_DO.DO1_Reserved   = &UPP_DO1_Write;
  UPP_DO.DO2_Reserved   = &UPP_DO2_Write;
  UPP_DO.DO3_Reserved   = &UPP_DO3_Write;
  UPP_DO.DO4_Reserved   = &UPP_DO4_Write;
  UPP_DO.DO5_Reserved   = &UPP_DO5_Write;
}
