Compare commits
2 Commits
e6e1936293
...
a8167f5431
Author | SHA1 | Date | |
---|---|---|---|
a8167f5431 | |||
41f3d7cf9a |
@ -1566,10 +1566,18 @@ LocalDataPoolManager* DeviceHandlerBase::getHkManagerHandle() {
|
||||
return &poolManager;
|
||||
}
|
||||
|
||||
MessageQueueId_t DeviceHandlerBase::getCommanderId(DeviceCommandId_t replyId) const {
|
||||
MessageQueueId_t DeviceHandlerBase::getCommanderQueueId(DeviceCommandId_t replyId) const {
|
||||
auto commandIter = deviceCommandMap.find(replyId);
|
||||
if(commandIter == deviceCommandMap.end()) {
|
||||
return MessageQueueIF::NO_QUEUE;
|
||||
}
|
||||
return commandIter->second.sendReplyTo;
|
||||
}
|
||||
|
||||
void DeviceHandlerBase::finishCommandExecution(DeviceCommandId_t replyId) {
|
||||
auto commandIter = deviceCommandMap.find(replyId);
|
||||
if(commandIter == deviceCommandMap.end()) {
|
||||
return;
|
||||
}
|
||||
commandIter->second.isExecuting = false;
|
||||
}
|
||||
|
@ -332,6 +332,9 @@ protected:
|
||||
* interface. NO_REPLY_EXPECTED should be returned for a finish reply, RETURN_OK should be
|
||||
* returned for a step reply and everything else will trigger a step failure.
|
||||
*
|
||||
* If the commander ID is required for generating a finish reply immediately, it can be
|
||||
* retrieved using the #getCommanderQueueId function.
|
||||
*
|
||||
* @param deviceCommand The command to build, already checked against deviceCommandMap
|
||||
* @param commandData Pointer to the data from the direct command
|
||||
* @param commandDataLen Length of commandData
|
||||
@ -401,7 +404,9 @@ protected:
|
||||
*/
|
||||
virtual ReturnValue_t interpretDeviceReply(DeviceCommandId_t id,
|
||||
const uint8_t *packet) = 0;
|
||||
MessageQueueId_t getCommanderId(DeviceCommandId_t replyId) const;
|
||||
MessageQueueId_t getCommanderQueueId(DeviceCommandId_t replyId) const;
|
||||
void finishCommandExecution(DeviceCommandId_t replyId);
|
||||
|
||||
/**
|
||||
* Helper function to get pending command. This is useful for devices
|
||||
* like SPI sensors to identify the last sent command.
|
||||
|
Reference in New Issue
Block a user