MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/application/drivers/Inverter.hh
2024-06-07 11:12:56 +03:00

65 lines
1.9 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.

/*!\file
* \brief \todo Описание файла.
*/
/*
* InverterSetup.h
*
* Created on: 19 июн. 2019 г.
* Author: titov
*/
#ifndef SOURCE_APPLICATION_raw_signals_INVERTERSETUP_H_
#define SOURCE_APPLICATION_raw_signals_INVERTERSETUP_H_
#include "../ISetupStep.hh"
#include "../../peripheral/IPwm.hh"
#include "../../peripheral/IPwmOverride.hh"
#include "../../driver/IDiscreteOutput.hh"
#include <exception>
namespace application { namespace board {
//!Драйвер управления инвертором.
struct Inverter : public ISetupStep {
typedef peripheral::IPwm IPwm;
typedef peripheral::IPwmOverride IPwmOverride;
typedef driver::IDiscreteOutput IDiscreteOutput;
IPwm * pwm_u = nullptr;
IPwm * pwm_v = nullptr;
IPwm * pwm_w = nullptr;
IDiscreteOutput * pulse_en = nullptr;
bool input( Environment & env );
void build( Environment & env );
struct Links {
Environment::Id pwm_u; //!<Pwm фазы U.
Environment::Id pwm_v; //!<Pwm фазы V.
Environment::Id pwm_w; //!<Pwm фазы W.
Environment::Id pulse_en; //!<Дискретный выход управления разрешением импульсов.
Environment::Id inverter; //!<Драйвер инвертора.
Environment::SignalId time_u; //!<Время, формируемое для управления фазой U.
Environment::SignalId time_v; //!<Время, формируемое для управления фазой V.
Environment::SignalId time_w; //!<Время, формируемое для управления фазой W.
Environment::StatusId pulse; //!<Состояние импульсов.
};
const Links & links;
Inverter( const Links & links );
};
}
}
#endif /* SOURCE_APPLICATION_raw_signals_INVERTERSETUP_H_ */