Clean more
parent
5db1783db5
commit
4606a25db4
@ -1,36 +0,0 @@
|
|||||||
/*
|
|
||||||
* HeaderCPU.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef PERIPHERAL_HEADERCPU_H_
|
|
||||||
#define PERIPHERAL_HEADERCPU_H_
|
|
||||||
|
|
||||||
#include "DSP28335/CPUBase.h"
|
|
||||||
#include "DSP28335/ADC.h"
|
|
||||||
#include "DSP28335/CANBUS.h"
|
|
||||||
#include "DSP28335/CPU.h"
|
|
||||||
#include "DSP28335/CPUBase.h"
|
|
||||||
#include "DSP28335/CPUTimers.h"
|
|
||||||
#include "DSP28335/DiscreteOutputs.h"
|
|
||||||
#include "DSP28335/ECANA.h"
|
|
||||||
#include "DSP28335/ECANB.h"
|
|
||||||
#include "DSP28335/EPWM.h"
|
|
||||||
#include "DSP28335/EQEP1.h"
|
|
||||||
#include "DSP28335/FLASH.h"
|
|
||||||
#include "DSP28335/GPIO.h"
|
|
||||||
#include "DSP28335/MeasureTimeInterval.h"
|
|
||||||
#include "DSP28335/MeasureTimePeriod.h"
|
|
||||||
#include "DSP28335/MemoryZone.h"
|
|
||||||
#include "DSP28335/MemoryZone0.h"
|
|
||||||
#include "DSP28335/MemoryZone7.h"
|
|
||||||
#include "DSP28335/SCIA.h"
|
|
||||||
#include "DSP28335/SCIB.h"
|
|
||||||
#include "DSP28335/SCIBase.h"
|
|
||||||
#include "DSP28335/SCIC.h"
|
|
||||||
#include "DSP28335/XINTF.h"
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* PERIPHERAL_HEADERCPU_H_ */
|
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* HeaderINTERFACE.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef RUDRIVEFRAMEWORK_HEADERINTERFACE_H_
|
|
||||||
#define RUDRIVEFRAMEWORK_HEADERINTERFACE_H_
|
|
||||||
|
|
||||||
|
|
||||||
#include "INTERFACE/CANBUSDataStructures.h"
|
|
||||||
#include "INTERFACE/CANOPENParameters.h"
|
|
||||||
#include "INTERFACE/CANOpenServer.h"
|
|
||||||
#include "INTERFACE/DatabaseConfiguration.h"
|
|
||||||
#include "INTERFACE/SDO.h"
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* RUDRIVEFRAMEWORK_HEADERINTERFACE_H_ */
|
|
@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* HeaderModbusRTU.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef RUDRIVEFRAMEWORK_HEADERMODBUSRTU_H_
|
|
||||||
#define RUDRIVEFRAMEWORK_HEADERMODBUSRTU_H_
|
|
||||||
|
|
||||||
#include "MODBUSRTU/ModbusRTUBuffer.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUBufferCoil.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUBufferInputCoil.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUBufferInputRegister.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUBufferOutputCoil.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUBufferOutputRegister.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUBufferRegister.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUCRC.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUDefines.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUIntervalMeasure.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTURegister.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUSlave.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUTableCoil.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUTableRegister.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUTableUnit.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUTransceiver.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUVariant.h"
|
|
||||||
#include "MODBUSRTU/ModbusRTUTransceiverBase.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* RUDRIVEFRAMEWORK_HEADERMODBUSRTU_H_ */
|
|
@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
* HeaderPeriphery.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef PERIPHERY_HEADERPERIPHERY_H_
|
|
||||||
#define PERIPHERY_HEADERPERIPHERY_H_
|
|
||||||
|
|
||||||
|
|
||||||
#include "PERIPHERY/AnalogFault.h"
|
|
||||||
#include "PERIPHERY/DigitalIO.h"
|
|
||||||
#include "PERIPHERY/ExtADC.h"
|
|
||||||
#include "PERIPHERY/ExtDAC.h"
|
|
||||||
#include "PERIPHERY/IIIPeriphery.h"
|
|
||||||
#include "PERIPHERY/IPeriphery.h"
|
|
||||||
#include "PERIPHERY/Periphery.h"
|
|
||||||
#include "PERIPHERY/PeripheryMap.h"
|
|
||||||
#include "PERIPHERY/PWMABCInterace.h"
|
|
||||||
#include "PERIPHERY/PWMInterface.h"
|
|
||||||
#include "PERIPHERY/PWMSInterace.h"
|
|
||||||
#include "PERIPHERY/COMMBoard.h"
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* PERIPHERY_HEADERPERIPHERY_H_ */
|
|
@ -1,37 +0,0 @@
|
|||||||
/*
|
|
||||||
* MultiPhaseDafaults.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef RUDRIVEFRAMEWORK_MULTIPHASEDAFAULTS_H_
|
|
||||||
#define RUDRIVEFRAMEWORK_MULTIPHASEDAFAULTS_H_
|
|
||||||
|
|
||||||
|
|
||||||
#define MULTI_PHASE_PWM_FREQUENCY (float)500
|
|
||||||
#define MULTI_PHASE_ADC_ISR_QUANTITY (uint16_t)2
|
|
||||||
#define MULTI_PHASE_ADC_ISR_OFFSET_RELATIVE (float)FP_ZERO
|
|
||||||
#define MULTI_PHASE_CASCADE_QUANTITY (uint16_t)1
|
|
||||||
#define MULTI_PHASE_CELL_QUANTITY (uint16_t)1
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_00 (uint16_t)1
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_01 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_02 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_03 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_04 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_05 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_06 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_07 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_08 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_09 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_10 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_11 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_12 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_13 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_14 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_15 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_16 (uint16_t)0
|
|
||||||
#define MULTI_PHASE_CELL_QANTITY_IN_CASCADE_17 (uint16_t)0
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* RUDRIVEFRAMEWORK_MULTIPHASEDAFAULTS_H_ */
|
|
@ -1,280 +0,0 @@
|
|||||||
/*
|
|
||||||
* ADCCTRL.cpp
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "SYSCTRL/ADCCTRL.h"
|
|
||||||
|
|
||||||
namespace SYSCTRL
|
|
||||||
{
|
|
||||||
//CONSTRUCTOR
|
|
||||||
ADCCTRL::ADCCTRL():
|
|
||||||
m_time_sample(-1.0),
|
|
||||||
m_result_00(0),
|
|
||||||
m_result_01(0),
|
|
||||||
m_result_02(0),
|
|
||||||
m_result_03(0),
|
|
||||||
m_result_04(0),
|
|
||||||
m_result_05(0),
|
|
||||||
m_result_06(0),
|
|
||||||
m_result_07(0),
|
|
||||||
m_result_08(0),
|
|
||||||
m_result_09(0),
|
|
||||||
m_result_10(0),
|
|
||||||
m_result_11(0),
|
|
||||||
m_result_12(0),
|
|
||||||
m_result_13(0),
|
|
||||||
m_result_14(0),
|
|
||||||
m_result_15(0),
|
|
||||||
//
|
|
||||||
m_channel_00(0),
|
|
||||||
m_channel_01(0),
|
|
||||||
m_channel_02(0),
|
|
||||||
m_channel_03(0),
|
|
||||||
m_channel_04(0),
|
|
||||||
m_channel_05(0),
|
|
||||||
m_channel_06(0),
|
|
||||||
m_channel_07(0),
|
|
||||||
m_channel_08(0),
|
|
||||||
m_channel_09(0),
|
|
||||||
m_channel_10(0),
|
|
||||||
m_channel_11(0),
|
|
||||||
m_channel_12(0),
|
|
||||||
m_channel_13(0),
|
|
||||||
m_channel_14(0),
|
|
||||||
m_channel_15(0),
|
|
||||||
//
|
|
||||||
m_offset_00(0),
|
|
||||||
m_offset_01(0),
|
|
||||||
m_offset_02(0),
|
|
||||||
m_offset_03(0),
|
|
||||||
m_offset_04(0),
|
|
||||||
m_offset_05(0),
|
|
||||||
m_offset_06(0),
|
|
||||||
m_offset_07(0),
|
|
||||||
m_offset_08(0),
|
|
||||||
m_offset_09(0),
|
|
||||||
m_offset_10(0),
|
|
||||||
m_offset_11(0),
|
|
||||||
m_offset_12(0),
|
|
||||||
m_offset_13(0),
|
|
||||||
m_offset_14(0),
|
|
||||||
m_offset_15(0),
|
|
||||||
//
|
|
||||||
m_scale_channel_00(-1.0),
|
|
||||||
m_scale_channel_01(-1.0),
|
|
||||||
m_scale_channel_02(-1.0),
|
|
||||||
m_scale_channel_03(-1.0),
|
|
||||||
m_scale_channel_04(-1.0),
|
|
||||||
m_scale_channel_05(-1.0),
|
|
||||||
m_scale_channel_06(-1.0),
|
|
||||||
m_scale_channel_07(-1.0),
|
|
||||||
m_scale_channel_08(-1.0),
|
|
||||||
m_scale_channel_09(-1.0),
|
|
||||||
m_scale_channel_10(-1.0),
|
|
||||||
m_scale_channel_11(-1.0),
|
|
||||||
m_scale_channel_12(-1.0),
|
|
||||||
//
|
|
||||||
_read_adc_result(&SYSCTRL::ADCCTRL::_read_adc_result_undef)
|
|
||||||
//
|
|
||||||
{}//end CONSTRUCTOR
|
|
||||||
|
|
||||||
|
|
||||||
void ADCCTRL::setup(const ADCCTRLSetup& setup)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
if(setup.time_sample > FP_ZERO)
|
|
||||||
{
|
|
||||||
m_time_sample = setup.time_sample;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_time_sample = -1.0;
|
|
||||||
}
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
void ADCCTRL::configure(const ADCCTRLConfiguration& config)
|
|
||||||
{
|
|
||||||
static bool _state_config = true;
|
|
||||||
|
|
||||||
if(m_time_sample > FP_ZERO)
|
|
||||||
{
|
|
||||||
m_offset_00 = config.offset_00;
|
|
||||||
m_offset_01 = config.offset_01;
|
|
||||||
m_offset_02 = config.offset_02;
|
|
||||||
m_offset_03 = config.offset_03;
|
|
||||||
m_offset_04 = config.offset_04;
|
|
||||||
m_offset_05 = config.offset_05;
|
|
||||||
m_offset_06 = config.offset_06;
|
|
||||||
m_offset_07 = config.offset_07;
|
|
||||||
m_offset_08 = config.offset_08;
|
|
||||||
m_offset_09 = config.offset_09;
|
|
||||||
m_offset_10 = config.offset_10;
|
|
||||||
m_offset_11 = config.offset_11;
|
|
||||||
m_offset_12 = config.offset_12;
|
|
||||||
m_offset_13 = config.offset_13;
|
|
||||||
m_offset_14 = config.offset_14;
|
|
||||||
m_offset_15 = config.offset_15;
|
|
||||||
|
|
||||||
m_scale_channel_00 = config.scale_current_net_a;
|
|
||||||
m_scale_channel_01 = config.scale_current_net_b;
|
|
||||||
m_scale_channel_02 = config.scale_current_net_c;
|
|
||||||
|
|
||||||
m_scale_channel_03 = config.scale_current_load_a;
|
|
||||||
m_scale_channel_04 = config.scale_current_load_b;
|
|
||||||
m_scale_channel_05 = config.scale_current_load_c;
|
|
||||||
|
|
||||||
m_scale_channel_06 = config.scale_voltage_net_a;
|
|
||||||
m_scale_channel_07 = config.scale_voltage_net_b;
|
|
||||||
m_scale_channel_08 = config.scale_voltage_net_c;
|
|
||||||
|
|
||||||
m_scale_channel_09 = config.scale_voltage_load_a;
|
|
||||||
m_scale_channel_10 = config.scale_voltage_load_b;
|
|
||||||
m_scale_channel_11 = config.scale_voltage_load_c;
|
|
||||||
|
|
||||||
m_scale_channel_12 = config.scale_voltage_dc;
|
|
||||||
|
|
||||||
_state_config &= m_offset_00 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_01 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_02 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_03 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_04 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_05 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_06 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_07 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_08 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_09 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_10 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_11 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_12 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_13 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_14 >= 0 ? true : false;
|
|
||||||
_state_config &= m_offset_15 >= 0 ? true : false;
|
|
||||||
|
|
||||||
_state_config &= m_scale_channel_00 > FP_ZERO ? true : false;
|
|
||||||
_state_config &= m_scale_channel_01 > FP_ZERO ? true : false;
|
|
||||||
_state_config &= m_scale_channel_02 > FP_ZERO ? true : false;
|
|
||||||
|
|
||||||
_state_config &= m_scale_channel_03 > FP_ZERO ? true : false;
|
|
||||||
_state_config &= m_scale_channel_04 > FP_ZERO ? true : false;
|
|
||||||
_state_config &= m_scale_channel_05 > FP_ZERO ? true : false;
|
|
||||||
|
|
||||||
_state_config &= m_scale_channel_06 > FP_ZERO ? true : false;
|
|
||||||
_state_config &= m_scale_channel_07 > FP_ZERO ? true : false;
|
|
||||||
_state_config &= m_scale_channel_08 > FP_ZERO ? true : false;
|
|
||||||
|
|
||||||
_state_config &= m_scale_channel_09 > FP_ZERO ? true : false;
|
|
||||||
_state_config &= m_scale_channel_10 > FP_ZERO ? true : false;
|
|
||||||
_state_config &= m_scale_channel_11 > FP_ZERO ? true : false;
|
|
||||||
|
|
||||||
_state_config &= m_scale_channel_12 > FP_ZERO ? true : false;
|
|
||||||
|
|
||||||
if(_state_config)
|
|
||||||
{
|
|
||||||
_read_adc_result = &SYSCTRL::ADCCTRL::_read_adc_result_operational;
|
|
||||||
//
|
|
||||||
}//end if
|
|
||||||
//
|
|
||||||
}//end if
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
#pragma CODE_SECTION("ramfuncs");
|
|
||||||
void ADCCTRL::read_adc_result()
|
|
||||||
{
|
|
||||||
(this->*_read_adc_result)();
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
#pragma CODE_SECTION("ramfuncs");
|
|
||||||
void ADCCTRL::_read_adc_result_undef()
|
|
||||||
{}//end
|
|
||||||
//
|
|
||||||
#pragma CODE_SECTION("ramfuncs");
|
|
||||||
void ADCCTRL::_read_adc_result_operational()
|
|
||||||
{
|
|
||||||
m_result_00 = (Uint16)(AdcRegs.ADCRESULT0>>4); //INA
|
|
||||||
m_result_01 = (Uint16)(AdcRegs.ADCRESULT1>>4); //INB
|
|
||||||
m_result_02 = (Uint16)(AdcRegs.ADCRESULT2>>4); //INC
|
|
||||||
m_result_03 = (Uint16)(AdcRegs.ADCRESULT3>>4); //ILA
|
|
||||||
m_result_04 = (Uint16)(AdcRegs.ADCRESULT4>>4); //ILB
|
|
||||||
m_result_05 = (Uint16)(AdcRegs.ADCRESULT5>>4); //ILC
|
|
||||||
m_result_06 = (Uint16)(AdcRegs.ADCRESULT6>>4); //UNA
|
|
||||||
m_result_07 = (Uint16)(AdcRegs.ADCRESULT7>>4); //UNB
|
|
||||||
m_result_08 = (Uint16)(AdcRegs.ADCRESULT8>>4); //UNC
|
|
||||||
m_result_09 = (Uint16)(AdcRegs.ADCRESULT9>>4); //ULA
|
|
||||||
m_result_10 = (Uint16)(AdcRegs.ADCRESULT10>>4); //ULB
|
|
||||||
m_result_11 = (Uint16)(AdcRegs.ADCRESULT11>>4); //ULC
|
|
||||||
m_result_12 = (Uint16)(AdcRegs.ADCRESULT12>>4); //UDC
|
|
||||||
m_result_13 = (Uint16)(AdcRegs.ADCRESULT13>>4); //
|
|
||||||
m_result_14 = (Uint16)(AdcRegs.ADCRESULT14>>4); //
|
|
||||||
m_result_15 = (Uint16)(AdcRegs.ADCRESULT15>>4); //
|
|
||||||
//
|
|
||||||
m_channel_00 = (int16)((int16)m_result_00 - (int16)m_offset_00);
|
|
||||||
m_channel_01 = (int16)((int16)m_result_01 - (int16)m_offset_01);
|
|
||||||
m_channel_02 = (int16)((int16)m_result_02 - (int16)m_offset_02);
|
|
||||||
m_channel_03 = (int16)((int16)m_result_03 - (int16)m_offset_03);
|
|
||||||
m_channel_04 = (int16)((int16)m_result_04 - (int16)m_offset_04);
|
|
||||||
m_channel_05 = (int16)((int16)m_result_05 - (int16)m_offset_05);
|
|
||||||
m_channel_06 = (int16)((int16)m_result_06 - (int16)m_offset_06);
|
|
||||||
m_channel_07 = (int16)((int16)m_result_07 - (int16)m_offset_07);
|
|
||||||
m_channel_08 = (int16)((int16)m_result_08 - (int16)m_offset_08);
|
|
||||||
m_channel_09 = (int16)((int16)m_result_09 - (int16)m_offset_09);
|
|
||||||
m_channel_10 = (int16)((int16)m_result_10 - (int16)m_offset_10);
|
|
||||||
m_channel_11 = (int16)((int16)m_result_11 - (int16)m_offset_11);
|
|
||||||
m_channel_12 = (int16)((int16)m_result_12 - (int16)m_offset_12);
|
|
||||||
m_channel_13 = (int16)((int16)m_result_13 - (int16)m_offset_13);
|
|
||||||
m_channel_14 = (int16)((int16)m_result_14 - (int16)m_offset_14);
|
|
||||||
m_channel_15 = (int16)((int16)m_result_15 - (int16)m_offset_15);
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
#pragma CODE_SECTION("ramfuncs");
|
|
||||||
void ADCCTRL::get_current_net(float& current_net_a, float& current_net_b, float& current_net_c)
|
|
||||||
{
|
|
||||||
current_net_a = m_scale_channel_00 * (float)m_channel_00;
|
|
||||||
current_net_b = m_scale_channel_01 * (float)m_channel_01;
|
|
||||||
current_net_c = m_scale_channel_02 * (float)m_channel_02;
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
#pragma CODE_SECTION("ramfuncs");
|
|
||||||
void ADCCTRL::get_current_load(float& current_load_a, float& current_load_b, float& current_load_c)
|
|
||||||
{
|
|
||||||
current_load_a = m_scale_channel_03 * (float)m_channel_03;
|
|
||||||
current_load_b = m_scale_channel_04 * (float)m_channel_04;
|
|
||||||
current_load_c = m_scale_channel_05 * (float)m_channel_05;
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
#pragma CODE_SECTION("ramfuncs");
|
|
||||||
void ADCCTRL::get_voltage_net(float& voltage_net_a, float& voltage_net_b, float& voltage_net_c)
|
|
||||||
{
|
|
||||||
voltage_net_a = m_scale_channel_06 * (float)m_channel_06;
|
|
||||||
voltage_net_b = m_scale_channel_07 * (float)m_channel_07;
|
|
||||||
voltage_net_c = m_scale_channel_08 * (float)m_channel_08;
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
#pragma CODE_SECTION("ramfuncs");
|
|
||||||
void ADCCTRL::get_voltage_load(float& voltage_load_a, float& voltage_load_b, float& voltage_load_c)
|
|
||||||
{
|
|
||||||
voltage_load_a = m_scale_channel_09 * (float)m_channel_09;
|
|
||||||
voltage_load_b = m_scale_channel_10 * (float)m_channel_10;
|
|
||||||
voltage_load_c = m_scale_channel_11 * (float)m_channel_11;
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
#pragma CODE_SECTION("ramfuncs");
|
|
||||||
void ADCCTRL::get_voltage_dc(float& voltage_dc)
|
|
||||||
{
|
|
||||||
voltage_dc = m_scale_channel_12 * (float)m_channel_12;
|
|
||||||
//
|
|
||||||
}//end
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
} /* namespace HAL */
|
|
@ -1,183 +0,0 @@
|
|||||||
/*
|
|
||||||
* ADCCTRL.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <cmath>
|
|
||||||
//#include <math.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#include "F28335/DSP28x_Project.h"
|
|
||||||
|
|
||||||
#ifndef SYSCTRL_ADCCTRL_H_
|
|
||||||
#define SYSCTRL_ADCCTRL_H_
|
|
||||||
|
|
||||||
namespace SYSCTRL
|
|
||||||
{
|
|
||||||
|
|
||||||
struct ADCCTRLSetup
|
|
||||||
{
|
|
||||||
float time_sample;
|
|
||||||
ADCCTRLSetup():
|
|
||||||
time_sample(-1.0)
|
|
||||||
{}
|
|
||||||
};//end ADCCTRLSetup
|
|
||||||
|
|
||||||
struct ADCCTRLConfiguration
|
|
||||||
{
|
|
||||||
int16 offset_00;
|
|
||||||
int16 offset_01;
|
|
||||||
int16 offset_02;
|
|
||||||
int16 offset_03;
|
|
||||||
int16 offset_04;
|
|
||||||
int16 offset_05;
|
|
||||||
int16 offset_06;
|
|
||||||
int16 offset_07;
|
|
||||||
int16 offset_08;
|
|
||||||
int16 offset_09;
|
|
||||||
int16 offset_10;
|
|
||||||
int16 offset_11;
|
|
||||||
int16 offset_12;
|
|
||||||
int16 offset_13;
|
|
||||||
int16 offset_14;
|
|
||||||
int16 offset_15;
|
|
||||||
float scale_current_net_a;
|
|
||||||
float scale_current_net_b;
|
|
||||||
float scale_current_net_c;
|
|
||||||
float scale_current_load_a;
|
|
||||||
float scale_current_load_b;
|
|
||||||
float scale_current_load_c;
|
|
||||||
float scale_voltage_net_a;
|
|
||||||
float scale_voltage_net_b;
|
|
||||||
float scale_voltage_net_c;
|
|
||||||
float scale_voltage_load_a;
|
|
||||||
float scale_voltage_load_b;
|
|
||||||
float scale_voltage_load_c;
|
|
||||||
float scale_voltage_dc;
|
|
||||||
ADCCTRLConfiguration():
|
|
||||||
offset_00(0),
|
|
||||||
offset_01(0),
|
|
||||||
offset_02(0),
|
|
||||||
offset_03(0),
|
|
||||||
offset_04(0),
|
|
||||||
offset_05(0),
|
|
||||||
offset_06(0),
|
|
||||||
offset_07(0),
|
|
||||||
offset_08(0),
|
|
||||||
offset_09(0),
|
|
||||||
offset_10(0),
|
|
||||||
offset_11(0),
|
|
||||||
offset_12(0),
|
|
||||||
offset_13(0),
|
|
||||||
offset_14(0),
|
|
||||||
offset_15(0),
|
|
||||||
scale_current_net_a(-1.0),
|
|
||||||
scale_current_net_b(-1.0),
|
|
||||||
scale_current_net_c(-1.0),
|
|
||||||
scale_current_load_a(-1.0),
|
|
||||||
scale_current_load_b(-1.0),
|
|
||||||
scale_current_load_c(-1.0),
|
|
||||||
scale_voltage_net_a(-1.0),
|
|
||||||
scale_voltage_net_b(-1.0),
|
|
||||||
scale_voltage_net_c(-1.0),
|
|
||||||
scale_voltage_load_a(-1.0),
|
|
||||||
scale_voltage_load_b(-1.0),
|
|
||||||
scale_voltage_load_c(-1.0),
|
|
||||||
scale_voltage_dc(-1.0)
|
|
||||||
{}
|
|
||||||
};//ADCCTRLConfiguration
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ADCCTRL
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
float m_time_sample;
|
|
||||||
private:
|
|
||||||
int16 m_result_00;
|
|
||||||
int16 m_result_01;
|
|
||||||
int16 m_result_02;
|
|
||||||
int16 m_result_03;
|
|
||||||
int16 m_result_04;
|
|
||||||
int16 m_result_05;
|
|
||||||
int16 m_result_06;
|
|
||||||
int16 m_result_07;
|
|
||||||
int16 m_result_08;
|
|
||||||
int16 m_result_09;
|
|
||||||
int16 m_result_10;
|
|
||||||
int16 m_result_11;
|
|
||||||
int16 m_result_12;
|
|
||||||
int16 m_result_13;
|
|
||||||
int16 m_result_14;
|
|
||||||
int16 m_result_15;
|
|
||||||
private:
|
|
||||||
int16 m_channel_00;
|
|
||||||
int16 m_channel_01;
|
|
||||||
int16 m_channel_02;
|
|
||||||
int16 m_channel_03;
|
|
||||||
int16 m_channel_04;
|
|
||||||
int16 m_channel_05;
|
|
||||||
int16 m_channel_06;
|
|
||||||
int16 m_channel_07;
|
|
||||||
int16 m_channel_08;
|
|
||||||
int16 m_channel_09;
|
|
||||||
int16 m_channel_10;
|
|
||||||
int16 m_channel_11;
|
|
||||||
int16 m_channel_12;
|
|
||||||
int16 m_channel_13;
|
|
||||||
int16 m_channel_14;
|
|
||||||
int16 m_channel_15;
|
|
||||||
private:
|
|
||||||
int16 m_offset_00;
|
|
||||||
int16 m_offset_01;
|
|
||||||
int16 m_offset_02;
|
|
||||||
int16 m_offset_03;
|
|
||||||
int16 m_offset_04;
|
|
||||||
int16 m_offset_05;
|
|
||||||
int16 m_offset_06;
|
|
||||||
int16 m_offset_07;
|
|
||||||
int16 m_offset_08;
|
|
||||||
int16 m_offset_09;
|
|
||||||
int16 m_offset_10;
|
|
||||||
int16 m_offset_11;
|
|
||||||
int16 m_offset_12;
|
|
||||||
int16 m_offset_13;
|
|
||||||
int16 m_offset_14;
|
|
||||||
int16 m_offset_15;
|
|
||||||
private:
|
|
||||||
float m_scale_channel_00;
|
|
||||||
float m_scale_channel_01;
|
|
||||||
float m_scale_channel_02;
|
|
||||||
float m_scale_channel_03;
|
|
||||||
float m_scale_channel_04;
|
|
||||||
float m_scale_channel_05;
|
|
||||||
float m_scale_channel_06;
|
|
||||||
float m_scale_channel_07;
|
|
||||||
float m_scale_channel_08;
|
|
||||||
float m_scale_channel_09;
|
|
||||||
float m_scale_channel_10;
|
|
||||||
float m_scale_channel_11;
|
|
||||||
float m_scale_channel_12;
|
|
||||||
public:
|
|
||||||
ADCCTRL();
|
|
||||||
void setup(const ADCCTRLSetup& setup);
|
|
||||||
void configure(const ADCCTRLConfiguration& config);
|
|
||||||
public:
|
|
||||||
void read_adc_result();
|
|
||||||
private:
|
|
||||||
void (ADCCTRL::*_read_adc_result)();
|
|
||||||
void _read_adc_result_undef();
|
|
||||||
void _read_adc_result_operational();
|
|
||||||
public:
|
|
||||||
void get_current_net(float&, float&, float&);
|
|
||||||
void get_current_load(float&, float&, float&);
|
|
||||||
void get_voltage_net(float&, float&, float&);
|
|
||||||
void get_voltage_load(float&, float&, float&);
|
|
||||||
void get_voltage_dc(float&);
|
|
||||||
};
|
|
||||||
|
|
||||||
} /* namespace SYSCTRL */
|
|
||||||
|
|
||||||
#endif /* SYSCTRL_ADCCTRL_H_ */
|
|
@ -1,43 +0,0 @@
|
|||||||
/*
|
|
||||||
* DataTypesDefinitions.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#include "DSP2833x_Device.h"
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef SYSCTRL_DATATYPESDEFINITIONS_H_
|
|
||||||
#define SYSCTRL_DATATYPESDEFINITIONS_H_
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef DSP28_BYTE_DATA_TYPES
|
|
||||||
#define DSP28_BYTE_DATA_TYPES
|
|
||||||
typedef signed char int8;
|
|
||||||
typedef unsigned char Uint8;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef STD_BYTE_DATA_TYPES
|
|
||||||
#define STD_BYTE_DATA_TYPES
|
|
||||||
typedef signed char int8_t;
|
|
||||||
typedef unsigned char uint8_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* extern "C" */
|
|
||||||
|
|
||||||
#endif /* SYSCTRL_DATATYPESDEFINITIONS_H_ */
|
|
@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* FLTSYSLIBheaders.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef FLTSYSLIB_FLTSYSLIBHEADERS_H_
|
|
||||||
#define FLTSYSLIB_FLTSYSLIBHEADERS_H_
|
|
||||||
|
|
||||||
|
|
||||||
#include "FLTSYSLIB/DiscreteInput.h"
|
|
||||||
#include "FLTSYSLIB/DiscreteOutput.h"
|
|
||||||
#include "FLTSYSLIB/Filter.h"
|
|
||||||
#include "FLTSYSLIB/FilterSecond.h"
|
|
||||||
#include "FLTSYSLIB/FTimer.h"
|
|
||||||
#include "FLTSYSLIB/Hysteresis.h"
|
|
||||||
#include "FLTSYSLIB/IController.h"
|
|
||||||
#include "FLTSYSLIB/Integrator.h"
|
|
||||||
#include "FLTSYSLIB/PIController.h"
|
|
||||||
#include "FLTSYSLIB/PLLABC.h"
|
|
||||||
#include "FLTSYSLIB/Position.h"
|
|
||||||
#include "FLTSYSLIB/RMS.h"
|
|
||||||
#include "FLTSYSLIB/RMSFFO.h"
|
|
||||||
#include "FLTSYSLIB/RMSFSO.h"
|
|
||||||
#include "FLTSYSLIB/Transformation.h"
|
|
||||||
#include "FLTSYSLIB/UNIPWM.h"
|
|
||||||
#include "FLTSYSLIB/ZeroDriftSecond.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* FLTSYSLIB_FLTSYSLIBHEADERS_H_ */
|
|
@ -1,17 +0,0 @@
|
|||||||
/*
|
|
||||||
* Headers.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SYSCTRL_HEADERS_H_
|
|
||||||
#define SYSCTRL_HEADERS_H_
|
|
||||||
|
|
||||||
|
|
||||||
// #include "SYSCTRL/FLTSYSLIBLIGHT.h"
|
|
||||||
#include "SYSCTRL/SystemDefinitions.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* SYSCTRL_HEADERS_H_ */
|
|
@ -1,55 +0,0 @@
|
|||||||
/*
|
|
||||||
* SystemDefinitions.h
|
|
||||||
*
|
|
||||||
* Author: Aleksey Gerasimenko
|
|
||||||
* gerasimenko.aleksey.n@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#ifndef SYSCTRL_SYSTEMDEFINITIONS_H_
|
|
||||||
#define SYSCTRL_SYSTEMDEFINITIONS_H_
|
|
||||||
|
|
||||||
namespace SYSCTRL
|
|
||||||
{
|
|
||||||
|
|
||||||
#ifndef NOP
|
|
||||||
#define NOP asm(" NOP")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef FP_PI
|
|
||||||
#define FP_PI (float)3.14159265358979323846 // Pi
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FP_DAMP_FACTOR
|
|
||||||
#define FP_DAMP_FACTOR 0.70710678118654752440 // 1/sqrt(2)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Voltage PLL-ABC Parameters
|
|
||||||
//
|
|
||||||
#define PLLABC_FREQUENCY_NOMINAL (float)(2.0*FP_PI*50.0)
|
|
||||||
#define PLLABC_FREQUENCY_CUT (float)(2.0*FP_PI*10.0)
|
|
||||||
#define PLLABC_FILTER_TIME (float)(1.0/PLLABC_FREQUENCY_CUT)
|
|
||||||
#define PLLABC_CONTROLLER_GAIN (float)(PLLABC_FREQUENCY_CUT/2.0)
|
|
||||||
#define PLLABC_CONTROLLER_TIME (float)(4.0/PLLABC_FREQUENCY_CUT)
|
|
||||||
|
|
||||||
#define PLLABC_FREQUENCY_LIMIT_HI PLLABC_FREQUENCY_CUT
|
|
||||||
#define PLLABC_FREQUENCY_LIMIT_LOW -PLLABC_FREQUENCY_CUT
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} /* namespace SYSCTRL */
|
|
||||||
|
|
||||||
#endif /* SYSCTRL_SYSTEMDEFINITIONS_H_ */
|
|
Loading…
Reference in New Issue