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

59 lines
1023 B
C

#pragma once
#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.h"
struct SoftwareVersion{
uint16_t DSP;
uint16_t CPLD;
};
class Periphery{
public:
Periphery();
void config();
uint16_t getVersionFPGA();
void updateVersionFPGA();
void receiveModbusParameters();
void getModbusConfiguration();
void processDigitalInput();
void processDigitalOutput();
void sendModbusDataToCPU();
void receiveCpuModbusData();
1 week ago
void canSystemInterruptHandle();
private:
can_space::CAN _cana;
interface::DigitalIO _digitalIO;
uint16_t* _zone6_ptr;
DSP28335::SCIB _scib;
SoftwareVersion _softVersion;
can_space::CANMessage _message;
uint16_t _modbusRegCounter;
bool _error;
public:
MODBUSRTU::ModbusRTU modbusRTU;
};