need to merge core controller changes as well..

This commit is contained in:
2022-02-25 16:33:22 +01:00
parent f6e0487558
commit a36a6dc847
9 changed files with 144 additions and 14 deletions

View File

@ -13,11 +13,13 @@
#include "devices/gpioIds.h"
PayloadPcduHandler::PayloadPcduHandler(object_id_t objectId, object_id_t comIF, CookieIF* cookie,
GpioIF* gpioIF, bool periodicPrintout)
GpioIF* gpioIF, SdCardMountedIF* sdcMan,
bool periodicPrintout)
: DeviceHandlerBase(objectId, comIF, cookie),
adcSet(this),
periodicPrintout(periodicPrintout),
gpioIF(gpioIF) {}
gpioIF(gpioIF),
sdcMan(sdcMan) {}
void PayloadPcduHandler::doStartUp() {
if ((state != States::PCDU_OFF) and (state != States::ON_TRANS_SSR)) {
@ -254,6 +256,18 @@ void PayloadPcduHandler::checkAdcValues() {
adcSet.processed[U_X8_DIV_6] = static_cast<float>(adcSet.channels[9]) * SCALE_VOLTAGE;
adcSet.processed[I_DRO] = static_cast<float>(adcSet.channels[10]) * SCALE_CURRENT_DRO * 1000.0;
adcSet.processed[U_DRO_DIV_6] = static_cast<float>(adcSet.channels[11]) * SCALE_VOLTAGE;
if(adcSet.processed[U_BAT_DIV_6] < -6.0 or adcSet.processed[U_BAT_DIV_6] > -3.3) {
bool tooLarge = false;
if(adcSet.processed[U_BAT_DIV_6] > -3.3) {
tooLarge = true;
}
uint32_t rawVoltage = 0;
size_t serSize = 0;
SerializeAdapter::serialize(&adcSet.processed[U_BAT_DIV_6],
reinterpret_cast<uint8_t*>(&rawVoltage), &serSize, 4, SerializeIF::Endianness::NETWORK);
triggerEvent(NEG_V_OUT_OF_BOUNDS, tooLarge, rawVoltage);
transitionBackToOff();
}
}
void PayloadPcduHandler::stateMachineToNormal() {