baseline build
Dependencies: FastPWM mbed-os mbed
Diff: DeviceProperties.cpp
- Revision:
- 0:8a420ac6394e
diff -r 000000000000 -r 8a420ac6394e DeviceProperties.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DeviceProperties.cpp Mon Jun 19 15:55:51 2017 +0000 @@ -0,0 +1,111 @@ + +#include "DeviceProperties.h" + +DeviceProperties Device; + +DeviceConfig::DeviceConfig(void) +{ + // Control Parameters + outputMode = OMRamp; + constantVoltage = 0; + constantPower = 0; + kp = 0; + ki = 0; + kd = 0; + voltageCal = 1; + currentCal = 1; + vLim = 0; + iLim = 0; + hvLim = 8; + // Activation Parameters + pwmFrequency = 400; + msOpenLoopDuration = 50; + TotalDurationSeconds = 4000; + msRampDuration = 1000; + rampStartPower = 1; + rampEndPower = 10; + startVoltage = 30; + msSamplePeriod = 10; + doneBit = 0; + pwrCalLow =1; + pwrCalHigh =1; + vCalLow = 1; + vCalHigh = 1; + PID_GOOD = false; + voltageSensed = 0; + currentSensed = 0; + sensedResistance = 0; + sensedPower = 0; +} + +DeviceProperties::DeviceProperties(void) +{ + acquisitionSampleCount = 0; + acquisitionNumber = 0; +} + +int DeviceProperties::GetAcquisitionNumber(void) +{ + mutex.lock(); + int result = acquisitionNumber; + mutex.unlock(); + return result; +} + +int DeviceProperties::GetAcquisitionSampleCount(void) +{ + mutex.lock(); + int result = acquisitionSampleCount; + mutex.unlock(); + return result; +} + +void DeviceProperties::AddAcquisitionSample( AcquisitionData &data) +{ + mutex.lock(); + if (acquisitionSampleCount < MAX_ACQUISITION_SAMPLES) + acquisitionData[acquisitionSampleCount++] = data; + mutex.unlock(); +} + +void DeviceProperties::ClearAcquisitionData(void) +{ + mutex.lock(); + ++acquisitionNumber; + acquisitionSampleCount = 0; + mutex.unlock(); + +} + +AcquisitionData DeviceProperties::GetAcquisitionSample(int acquisition, int sample) +{ + mutex.lock(); + AcquisitionData result; + if (acquisitionNumber==acquisition) { + if (sample>=0 && sample<acquisitionSampleCount) + result = acquisitionData[sample]; + } + mutex.unlock(); + return result; + +} + +double DeviceProperties::GetActualPWMFrequency(void) const +{ + mutex.lock(); + double result = actualPwmFrequency; + mutex.unlock(); + return result; +} + + +void DeviceProperties::SetActualPWMFrequency(double frequency) +{ + mutex.lock(); + this->actualPwmFrequency = frequency; + mutex.unlock(); +} + + + +