//############################################################################################################################################################################################################# #ifndef _INC_RSLINK_H_ #define _INC_RSLINK_H_ //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #include #include "SYSTEM.h" #include "IDIBUS_IMPL.h" //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // DELAYS FOR LEDS status #define RSLINK_LED_T1_DEFAULT_S 15UL #define RSLINK_LED_T2_DEFAULT_S 60UL //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- struct RSLINK_STRUCT { USART_INTERFACE_TYPE *USI; USART_IDIBUS_ROUTINE_TYPE *USIID; uint8_t Address; uint8_t Address_Error; // недопустимый uint8_t SpeedCode; uint8_t NeedSpeedChangeFlag; // флаг для изменения скорости uint32_t LastMMES_TimeInstance; // для led }; //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- uint8_t RxMesageBuf[IDIMMES_MAX_MES_SIZE]; //RX buffer for copy struct RSLINK_STRUCT RSLINK; //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- void RSLink_Init(USART_INTERFACE_TYPE *USART_INTERFACE, USART_IDIBUS_ROUTINE_TYPE *USART_ID_INTERFACE); uint8_t RSLink_SpeedCheckAndUpdate(void); void RSLink_AddressCheckAndUpdate(void); void RSLink_Handler(void); void RSLink_SendSMES(IDIBUS_FARG_TYPE *farg); //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- void RSLink_StatusLedInit(void); void RSLink_StatusLedSetOn(void); void RSLink_StatusLedSetOff(void); void RSLink_DipsInit(void); uint8_t RSLink_AddrDecode(void); uint8_t RSLink_SpeedDecode(void); uint8_t RSLink_TypeDecode(void); //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #endif // #ifndef _INC_RSLINK_H_ //#############################################################################################################################################################################################################