/*!\file * \brief \todo Описание файла. */ /* * SlipCommunicationSetup.h * * Created on: 13 июн. 2019 г. * Author: titov */ #ifndef SOURCE_APPLICATION_SERVICE_SLIPCOMMUNICATIONSETUP_H_ #define SOURCE_APPLICATION_SERVICE_SLIPCOMMUNICATIONSETUP_H_ #include "../ISetupStep.hh" #include "../../peripheral/IUartPort.hh" #include "../../peripheral/IGpio.hh" #include "../../systemic/ISignal.hh" #include "../../systemic/IStatus.hh" #include namespace application { namespace board { struct SlipCommunicationSetup : public ISetupStep { typedef systemic::ISignal ISignal; typedef systemic::IStatus IStatus; peripheral::IGpio * re = nullptr; peripheral::IGpio * de = nullptr; peripheral::IUartPort * port = nullptr; ISignal* mpSigAddrBus = NULL;// IStatus* mpStsAddrValid = NULL;// bool input( Environment & env ); void build( Environment & env ); struct Links { uint16_t uart_id; //!<Интерфейс Uart. Environment::GpioId gpio_de_id; //!<Вывод управление приемо-передатчиком: DE. Environment::GpioId gpio_re_id; //!<Вывод управление приемо-передатчиком: RE. Environment::SignalId address_bus_id;//!< Cистемный идентификатор cигнала содержащий значение(дип-переключатели) адреса на шине Environment::StatusId address_valid_id;//!< Cистемный идентификатор статуса готовности значения с дип-переключателей uint16_t slip_com_id; //!<Протокол SlipCommuncation. }; const Links & links; struct Setting { unsigned short address;//!< Адрес на шине (если == 0 то адрес определяется links.sigAddr) bool active_de; //!<Активный уровень вывода управления DE. bool active_re; //!<Активный уровень вывода управления RE. }; const Setting & cfg; const configuration::ProcessConfig & params; SlipCommunicationSetup( const Links & links, const Setting & hardware, const configuration::ProcessConfig & proc ); }; }} #endif /* SOURCE_APPLICATION_SERVICE_SLIPCOMMUNICATIONSETUP_H_ */