Critical Link MityCam SoC Firmware
1.0
Critical Link MityCam SoC Firmware
|
#include <PIDControl.h>
Public Member Functions | |
tcPIDControl (int anBus, int anAddr, SocCamera::tcSensorBoard *apSensorBoard, int cool_heat_gpio, int break_gpio=-1) | |
virtual | ~tcPIDControl () |
bool | initialize (int anMaxTECCurrentMA=1500) |
void | setPID (float anP=DEFAULT_P, float anI=DEFAULT_I, float anD=DEFAULT_D) |
void | getPID (float &arP, float &arI, float &arD) |
void | setEnable (bool abEnable, int anIntervalMilliseconds=1000) |
void | setTarget (float anTempC) |
float | getTarget () |
bool | getEnabled () |
float | getDutyCycle () |
float | getDacVolts () |
returns the current DAC voltage More... | |
void | step () |
This class controls the PID loop of the TEC.
tcPIDControl::tcPIDControl | ( | int | anBus, |
int | anAddr, | ||
SocCamera::tcSensorBoard * | apSensorBoard, | ||
int | cool_heat_gpio, | ||
int | break_gpio = -1 |
||
) |
Create a PIDControl object.
anBus | - the I2C bus the DAC is on. |
anAddr | - the address of the DAC on the bus. |
|
virtual |
float SocCamera::tcPIDControl::getDacVolts | ( | ) |
returns the current DAC voltage
get the TEC Control DAC volts setting
float tcPIDControl::getDutyCycle | ( | ) |
Returns the % drive of the TEC.
bool tcPIDControl::getEnabled | ( | ) |
Returns whether TEC is enabled and active or not.
void tcPIDControl::getPID | ( | float & | arP, |
float & | arI, | ||
float & | arD | ||
) |
Get the PID parameters
float tcPIDControl::getTarget | ( | ) |
Get the temperature target in degrees C.
bool tcPIDControl::initialize | ( | int | anMaxTECCurrentMA = 1500 | ) |
Open the I2C device to control and set the PID parameters.
anP | - the coefficient for the proportional component |
anI | - the coefficient for the integral component |
anD | - the coefficient for the differential component |
void tcPIDControl::setEnable | ( | bool | abEnable, |
int | anIntervalMilliseconds = 1000 |
||
) |
Enable/disable the PID control loop. Starts a timer to tick at the specified interval; each tick calculates the updated value for the PID loop.
abEnable | - set to true to enable control. set to false to disable it. |
abEnable | |
anIntervalMilliseconds |
Set the PID parameters.
void tcPIDControl::setTarget | ( | float | anTempC | ) |
Set the temperature target in degrees C.
the | desired setpoint in Celsius |
void tcPIDControl::step | ( | ) |
Cause a single read, calculate, set cycle to occur. Normally this is called by the timer.