![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
baseline build
Dependencies: FastPWM mbed-os mbed
IOControl.h
- Committer:
- jrhodes5150
- Date:
- 2017-06-19
- Revision:
- 0:8a420ac6394e
File content as of revision 0:8a420ac6394e:
#ifndef __IOCONTROL_H__ #define __IOCONTROL_H__ #include "mbed.h" #include "FullBridgeDriver.h" #include "Mutex.h" #include "DebouncedIn.h" const double MAX_TARGET_POWER = 200; const double MAX_OUTPUT_VOLTAGE = 200; const double VOLTAGE_LIMIT = 160; const double HV_MAX = 1; const uint16_t DAC_LIM_MAX = 2048; // Max value of 10 bit DAC const uint16_t DAC_VOLTAGE_MAX = 3.3; // Max Voltage output class IOControl { public: IOControl(void); bool isActivateSwitchOn(void); void Activate(void); void Deactivate(void); bool hasFalling(void); double GetOutputVoltage(void); void SetOutputVoltage(double outputVoltage); void ChangeOutputVoltage(double outputVoltage); double GetActualPWMFrequency(void); void SetPWMFrequency(double freq); void SetLimits(double voltageLim, double currentLim); double GetHVControl(void); void SetHVControl(double control); void HVcalControl(double control); private: DigitalOut hvEn; DigitalOut shutdown; DebouncedIn activate; DigitalIn hvFault; AnalogOut hvControl; mutable rtos::Mutex mutex; double requestedOutputVoltage; // PWM control FullBridgeDriver PWM; }; #endif