#pragma once // #include #include #include "DSP28x_Project.h" #include "DSP2833x_Device.h" #include "Protocol/CAN.h" #include "Protocol/CAN_data.h" #include "Protocol/DigitalIO.h" #include "Protocol/MemoryMap.h" #include "DSP28335/SCIBase.h" #include "DSP28335/SCIB.h" #include "ModbusRTU.h" struct SoftwareVersion{ Uint16 DSP; Uint16 CPLD; }; class Periphery{ public: Periphery(); void config(); Uint16 getVersionFPGA(); void updateVersionFPGA(); void processDigitalInput(); void processDigitalOutput(); void init_modbus_table(); bool isModbusInit() const; void receiveModbusParameters(); void sendModbusDataToCPU(); void receiveCpuModbusData(); private: canSpace::CAN _canb; interface::DigitalIO _digitalIO; Uint16* _zone6_ptr; DSP28335::SCIB _scib; SoftwareVersion _softVersion; canSpace::CANMessage _message; bool _modbusInitFlag; uint16_t _modbusRegCounter; float test_hmi_float_reg_400_test; float test_hmi_float_reg_401_test; float test_hmi_float_reg_402_test; float test_hmi_float_reg_403_test; float test_hmi_float_reg_404_test; public: MODBUSRTU::ModbusRTU modbusRTU; };