exec task if new init function, some corrections
This commit is contained in:
parent
ba5b8bd682
commit
b81b458ba6
@ -84,9 +84,8 @@ void CommandMessage::setToUnknownCommand() {
|
|||||||
|
|
||||||
void CommandMessage::setReplyRejected(ReturnValue_t reason,
|
void CommandMessage::setReplyRejected(ReturnValue_t reason,
|
||||||
Command_t initialCommand) {
|
Command_t initialCommand) {
|
||||||
std::memcpy(getData(), &reason, sizeof(reason));
|
setParameter(reason);
|
||||||
std::memcpy(getData() + sizeof(reason), &initialCommand,
|
setParameter2(initialCommand);
|
||||||
sizeof(initialCommand));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t CommandMessage::getReplyRejectedReason(
|
ReturnValue_t CommandMessage::getReplyRejectedReason(
|
||||||
|
@ -92,7 +92,7 @@ ReturnValue_t FixedTimeslotTask::sleepFor(uint32_t ms) {
|
|||||||
void FixedTimeslotTask::taskFunctionality() {
|
void FixedTimeslotTask::taskFunctionality() {
|
||||||
// A local iterator for the Polling Sequence Table is created to
|
// A local iterator for the Polling Sequence Table is created to
|
||||||
// find the start time for the first entry.
|
// find the start time for the first entry.
|
||||||
SlotListIter slotListIter = pollingSeqTable.current;
|
FixedSlotSequence::SlotListIter slotListIter = pollingSeqTable.current;
|
||||||
// Get start time for first entry.
|
// Get start time for first entry.
|
||||||
chron_ms interval(slotListIter->pollingTimeMs);
|
chron_ms interval(slotListIter->pollingTimeMs);
|
||||||
auto currentStartTime {
|
auto currentStartTime {
|
||||||
|
@ -36,7 +36,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
//! External instantiation is forbidden.
|
//! External instantiation is forbidden.
|
||||||
QueueMapManager();
|
QueueMapManager();
|
||||||
std::atomic<uint32_t> queueCounter = MessageQueueIF::NO_QUEUE + 1;
|
std::atomic<uint32_t> queueCounter = 1;
|
||||||
MutexIF* mapLock;
|
MutexIF* mapLock;
|
||||||
QueueMap queueMap;
|
QueueMap queueMap;
|
||||||
static QueueMapManager* mqManagerInstance;
|
static QueueMapManager* mqManagerInstance;
|
||||||
|
@ -43,9 +43,18 @@ public:
|
|||||||
* a reference to the executing task
|
* a reference to the executing task
|
||||||
* @param task_ Pointer to the taskIF of this task
|
* @param task_ Pointer to the taskIF of this task
|
||||||
*/
|
*/
|
||||||
virtual void setTaskIF(PeriodicTaskIF* task_) {
|
virtual void setTaskIF(PeriodicTaskIF* task_) {};
|
||||||
|
|
||||||
}
|
/**
|
||||||
|
* This function will be called after the object was assigned to a specific
|
||||||
|
* task.
|
||||||
|
*
|
||||||
|
* Example: Can be used to get task execution frequency.
|
||||||
|
* The task is created after initialize() and the object ctors have been
|
||||||
|
* called so the execution frequency can't be cached in initialize()
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//virtual ReturnValue_t initializeAfterTaskCreation() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* EXECUTABLEOBJECTIF_H_ */
|
#endif /* EXECUTABLEOBJECTIF_H_ */
|
||||||
|
@ -9,6 +9,7 @@ FixedSequenceSlot::FixedSequenceSlot(object_id_t handlerId, uint32_t setTime,
|
|||||||
if(executingTask != nullptr) {
|
if(executingTask != nullptr) {
|
||||||
handler->setTaskIF(executingTask);
|
handler->setTaskIF(executingTask);
|
||||||
}
|
}
|
||||||
|
//handler->initializeAfterTaskCreation();
|
||||||
}
|
}
|
||||||
|
|
||||||
FixedSequenceSlot::~FixedSequenceSlot() {}
|
FixedSequenceSlot::~FixedSequenceSlot() {}
|
||||||
|
@ -109,8 +109,8 @@ void CommandingServiceBase::handleCommandMessage(CommandMessage* reply) {
|
|||||||
* command as failure parameter 1 */
|
* command as failure parameter 1 */
|
||||||
if(reply->getCommand() == CommandMessage::REPLY_REJECTED and
|
if(reply->getCommand() == CommandMessage::REPLY_REJECTED and
|
||||||
result == RETURN_FAILED) {
|
result == RETURN_FAILED) {
|
||||||
result = reply->getReplyRejectedReason(
|
result = reply->getReplyRejectedReason();
|
||||||
reinterpret_cast<Command_t*>(&failureParameter1));
|
failureParameter1 = iter->command;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (result) {
|
switch (result) {
|
||||||
|
Loading…
Reference in New Issue
Block a user