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/RUDRIVEFRAMEWORK/MultiPhase.h

71 lines
1.4 KiB
C++

/*
* MultiPhase.h
*
* Author: Aleksey Gerasimenko
* gerasimenko.aleksey.n@gmail.com
*/
#include "RUDRIVEFRAMEWORK/PhaseBase.h"
//#include "RUDRIVEFRAMEWORK/HeaderRUDRIVEFRAMEWORK.h"
#ifndef RUDRIVEFRAMEWORK_MULTIPHASE_H_
#define RUDRIVEFRAMEWORK_MULTIPHASE_H_
namespace RUDRIVEFRAMEWORK
{
struct MultiPhaseSetup
{
DSP28335::CPUSetup cpu;
PERIPHERY::IIIPeripherySetup periphery;
MODBUSRTU::ModbusRTUTransceiverSetup modbus;
MultiPhaseSetup():
cpu(),
periphery(),
modbus()
{}
};//MultiPhaseSetup
struct MultiPhaseConfiguration
{
DSP28335::SCIConfiguration scib;
DSP28335::SCIConfiguration scic;
DSP28335::EPWMConfiguration epwm;
MultiPhaseConfiguration():
scib(),
scic(),
epwm()
{}
};//MultiPhaseConfiguration
struct MultiPhasePWMConfiguration: public PERIPHERY::PWMABCInterfaceConfiguration
{
MultiPhasePWMConfiguration():
PWMABCInterfaceConfiguration()
{}
};//
class MultiPhase: public PhaseBase
{
public:
PERIPHERY::IIIPeriphery periphery;
MODBUSRTU::ModbusRTUCRC crc;
MODBUSRTU::ModbusRTUTransceiver modbus_port;
public:
MultiPhase(uint16_t *memzone);
public:
void setup(MultiPhaseSetup& setup);
public:
void get_hard_code_setup(MultiPhaseSetup& hsetup);
};
} /* namespace RUDRIVEFRAMEWORK */
#endif /* RUDRIVEFRAMEWORK_MULTIPHASE_H_ */