bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good

This commit is contained in:
Robin Müller 2022-09-01 11:04:24 +02:00
parent 7dde1150e8
commit 3d71cce30b
No known key found for this signature in database
GPG Key ID: 11D4952C8CCEF814
3 changed files with 8 additions and 6 deletions

2
fsfw

@ -1 +1 @@
Subproject commit 496dac89e4c094e03578f40d8651485f7f378cb2 Subproject commit cf8fe7ea728bea077b9936bcf0db96845bc6419e

View File

@ -44,6 +44,8 @@ ReturnValue_t GomspaceDeviceHandler::buildTransitionDeviceCommand(DeviceCommandI
ReturnValue_t GomspaceDeviceHandler::buildCommandFromCommand(DeviceCommandId_t deviceCommand, ReturnValue_t GomspaceDeviceHandler::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t* commandData, const uint8_t* commandData,
size_t commandDataLen) { size_t commandDataLen) {
auto* cspCookie = dynamic_cast<CspCookie*>(comCookie);
cspCookie->setRequest(SpecialRequestTypes::DEFAULT_COM_IF, 0);
ReturnValue_t result = childCommandHook(deviceCommand, commandData, commandDataLen); ReturnValue_t result = childCommandHook(deviceCommand, commandData, commandDataLen);
switch (deviceCommand) { switch (deviceCommand) {
case (GOMSPACE::PING): { case (GOMSPACE::PING): {
@ -93,7 +95,7 @@ ReturnValue_t GomspaceDeviceHandler::buildCommandFromCommand(DeviceCommandId_t d
reqType = SpecialRequestTypes::GET_P60DOCK_HK; reqType = SpecialRequestTypes::GET_P60DOCK_HK;
} }
result = generateRequestFullTableCmd(reqType, GOMSPACE::TableIds::HK, tableCfg.hkTableSize, result = generateRequestFullTableCmd(reqType, GOMSPACE::TableIds::HK, tableCfg.hkTableSize,
deviceCommand); deviceCommand, cspCookie);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
@ -109,7 +111,7 @@ ReturnValue_t GomspaceDeviceHandler::buildCommandFromCommand(DeviceCommandId_t d
reqType = SpecialRequestTypes::GET_P60DOCK_CONFIG; reqType = SpecialRequestTypes::GET_P60DOCK_CONFIG;
} }
result = generateRequestFullTableCmd(reqType, GOMSPACE::TableIds::CONFIG, result = generateRequestFullTableCmd(reqType, GOMSPACE::TableIds::CONFIG,
tableCfg.cfgTableSize, deviceCommand); tableCfg.cfgTableSize, deviceCommand, cspCookie);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
@ -506,13 +508,13 @@ ReturnValue_t GomspaceDeviceHandler::generateResetWatchdogCmd() {
ReturnValue_t GomspaceDeviceHandler::generateRequestFullTableCmd(SpecialRequestTypes reqType, ReturnValue_t GomspaceDeviceHandler::generateRequestFullTableCmd(SpecialRequestTypes reqType,
uint8_t tableId, uint8_t tableId,
uint16_t tableReplySize, uint16_t tableReplySize,
DeviceCommandId_t id) { DeviceCommandId_t id,
CspCookie* cspCookie) {
uint16_t querySize = tableReplySize; uint16_t querySize = tableReplySize;
if (reqType == SpecialRequestTypes::DEFAULT_COM_IF) { if (reqType == SpecialRequestTypes::DEFAULT_COM_IF) {
sif::warning << "Default communication for table requests not implemented anymore" << std::endl; sif::warning << "Default communication for table requests not implemented anymore" << std::endl;
return returnvalue::FAILED; return returnvalue::FAILED;
} }
auto* cspCookie = dynamic_cast<CspCookie*>(comCookie);
cspCookie->setRequest(reqType, tableReplySize); cspCookie->setRequest(reqType, tableReplySize);
cspCookie->setCspPort(CspPorts::P60_PORT_RPARAM_ENUM); cspCookie->setCspPort(CspPorts::P60_PORT_RPARAM_ENUM);
rememberRequestedSize = querySize; rememberRequestedSize = querySize;

View File

@ -84,7 +84,7 @@ class GomspaceDeviceHandler : public DeviceHandlerBase {
*/ */
virtual ReturnValue_t generateRequestFullTableCmd(GOMSPACE::SpecialRequestTypes reqType, virtual ReturnValue_t generateRequestFullTableCmd(GOMSPACE::SpecialRequestTypes reqType,
uint8_t tableId, uint16_t tableSize, uint8_t tableId, uint16_t tableSize,
DeviceCommandId_t id); DeviceCommandId_t id, CspCookie* cspCookie);
/** /**
* This command handles printing the HK table to the console. This is useful for debugging * This command handles printing the HK table to the console. This is useful for debugging