MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/technological/adapter/PwmGenAdapter.hh
2024-06-07 11:12:56 +03:00

50 lines
1.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* PwmGenAdapter.h
*
* Created on: 6 сент. 2019 г.
* Author: titov
*/
#ifndef SOURCE_TECHNOLOGICAL_ADAPTER_PWMGENADAPTER_H_
#define SOURCE_TECHNOLOGICAL_ADAPTER_PWMGENADAPTER_H_
#include "../../processing/acs/VectorAsyncInterface.hh"
#include "../../units/PhysicalQuantities.hpp"
#include "../../systemic/ISignal.hh"
#include "../../driver/IInverter.hh"
namespace technological { namespace adapter {
//todo: PwmGenerator
struct PwmGenAdapter : public vector::IStandingVectorSet {
//todo: Подумать о reset(), подумать о управлении импульсами..
//todo: Подумать об уходе от IInverter к INaturalVectorSet.
void set( control::StandingVector voltage );
void set_output( driver::IInverter * );
struct Setting {
units::Factor voltage_utilization_factor; //!<Коэффицент использования по напряжению.
units::Voltage minimum_control_voltage; //!<Минимальное напряжение при котором будет осущетсвляться управление.
Setting();
bool isValid();
};
void configure( const Setting & config );
PwmGenAdapter( systemic::ISignal & );
~PwmGenAdapter() noexcept {}
private:
float voltage_utilization_factor;
float minimum_control_voltage;
systemic::ISignal & voltage_dc;
driver::IInverter * output;
};
}}
#endif /* SOURCE_TECHNOLOGICAL_ADAPTER_PWMGENADAPTER_H_ */