You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CCS-COMM_BOARD/Periphery.h

90 lines
2.1 KiB
C++

#pragma once
// #include <cstdint>
#include <stdint.h>
#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/ModbusRTUCRC.h"
// #include "MODBUSRTU/ModbusRTUDefines.h"
// #include "MODBUSRTU/ModbusRTUTransceiver.h"
// #include "MODBUSRTU/ModbusRTUVariant.h"
// #include "MODBUSRTU/ModbusRTUTransceiverBase.h"
// #include "DSP28335/MeasureTimeInterval.h"
// #include "WEINBUS/HeaderWeinbus.h"
#include "ModbusRTU.h"
struct SoftwareVersion{
Uint16 DSP;
Uint16 CPLD;
};
class Periphery{
public:
Periphery();
void config();
Uint16 getVersionFPGA();
void updateVersionFPGA();
void processDigitalInput();
void processDigitalOutput();
bool isModbusInit() const;
void receiveModbusParameters();
void processExternalModbus(); // TODO
void processCPUModbus(); // TODO
// void test_init_hmi_buffers();
// void setModbusBuffers();
// void addInputRegFloat(uint16_t addr, float& param);
// void modbusExecute();
MODBUSRTU::ModbusRTU _modbusRTU;
private:
canSpace::CAN _canb;
interface::DigitalIO _digitalIO;
Uint16* _zone6_ptr;
DSP28335::SCIB _scib;
// MODBUSRTU::ModbusRTUTransceiverSetup _modbusSetup;
// MODBUSRTU::ModbusRTUTransceiverConfiguration _modbusConfiguration;
// MODBUSRTU::ModbusRTUCRC _crc;
// DSP28335::MeasureTimeInterval _intervalMeasure;
// MODBUSRTU::ModbusRTUTransceiver _modbusPort;
// WEINBUS::WeinbusSlave _ASUTP;
SoftwareVersion _softVersion;
canSpace::CANMessage _message;
bool _modbusInitFlag;
Uint16 tempIn;
Uint16 tempOut;
uint16_t elementCounter;
uint32_t test;
// // Registers to testing HMI interface
// WEINBUS::REGISTER_32 test_hmi_float_reg_400;
// WEINBUS::REGISTER_32 test_hmi_float_reg_401;
// WEINBUS::REGISTER_32 test_hmi_float_reg_402;
// WEINBUS::REGISTER_32 test_hmi_float_reg_403;
// WEINBUS::REGISTER_32 test_hmi_float_reg_404;
// //<>
};