2022-06-16 08:26:40 +02:00
|
|
|
#include "PlPcduDummy.h"
|
2022-06-17 08:31:36 +02:00
|
|
|
|
2023-03-26 16:13:54 +02:00
|
|
|
#include <mission/power/gsDefs.h>
|
2022-06-16 08:26:40 +02:00
|
|
|
|
|
|
|
PlPcduDummy::PlPcduDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
|
|
|
|
: DeviceHandlerBase(objectId, comif, comCookie) {}
|
|
|
|
|
|
|
|
PlPcduDummy::~PlPcduDummy() {}
|
|
|
|
|
2023-07-19 14:01:08 +02:00
|
|
|
void PlPcduDummy::doStartUp() { setMode(MODE_ON); }
|
2022-06-16 08:26:40 +02:00
|
|
|
|
2023-03-14 10:54:44 +01:00
|
|
|
void PlPcduDummy::doShutDown() { setMode(MODE_OFF); }
|
2022-06-16 08:26:40 +02:00
|
|
|
|
|
|
|
ReturnValue_t PlPcduDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
|
|
|
|
return NOTHING_TO_SEND;
|
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t PlPcduDummy::buildTransitionDeviceCommand(DeviceCommandId_t *id) {
|
|
|
|
return NOTHING_TO_SEND;
|
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t PlPcduDummy::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
|
2022-06-17 08:31:36 +02:00
|
|
|
const uint8_t *commandData,
|
|
|
|
size_t commandDataLen) {
|
2022-08-24 17:27:47 +02:00
|
|
|
return returnvalue::OK;
|
2022-06-16 08:26:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t PlPcduDummy::scanForReply(const uint8_t *start, size_t len,
|
2022-06-17 08:31:36 +02:00
|
|
|
DeviceCommandId_t *foundId, size_t *foundLen) {
|
2022-08-24 17:27:47 +02:00
|
|
|
return returnvalue::OK;
|
2022-06-16 08:26:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t PlPcduDummy::interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) {
|
2022-08-24 17:27:47 +02:00
|
|
|
return returnvalue::OK;
|
2022-06-16 08:26:40 +02:00
|
|
|
}
|
|
|
|
|
2022-06-17 08:31:36 +02:00
|
|
|
void PlPcduDummy::fillCommandAndReplyMap() {}
|
2022-06-16 08:26:40 +02:00
|
|
|
|
|
|
|
uint32_t PlPcduDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 500; }
|
|
|
|
|
2022-06-17 08:31:36 +02:00
|
|
|
ReturnValue_t PlPcduDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
|
|
|
|
LocalDataPoolManager &poolManager) {
|
2023-03-14 10:54:44 +01:00
|
|
|
localDataPoolMap.emplace(plpcdu::PlPcduPoolIds::TEMP, new PoolEntry<float>({0.0}, true));
|
2022-08-24 17:27:47 +02:00
|
|
|
return returnvalue::OK;
|
2022-06-16 08:26:40 +02:00
|
|
|
}
|
2023-10-10 10:06:10 +02:00
|
|
|
|
|
|
|
ReturnValue_t PlPcduDummy::checkModeCommand(Mode_t commandedMode, Submode_t commandedSubmode,
|
|
|
|
uint32_t *msToReachTheMode) {
|
|
|
|
if (commandedMode != MODE_OFF) {
|
|
|
|
PoolReadGuard pg(&enablePl);
|
|
|
|
if (pg.getReadResult() == returnvalue::OK) {
|
2023-10-10 11:54:32 +02:00
|
|
|
if (enablePl.plUseAllowed.isValid() and not enablePl.plUseAllowed.value) {
|
|
|
|
return NON_OP_STATE_OF_CHARGE;
|
2023-10-10 10:06:10 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return DeviceHandlerBase::checkModeCommand(commandedMode, commandedSubmode, msToReachTheMode);
|
|
|
|
}
|