File command.cpp
Go to the documentation of this file
#include "command.h"
#include <chrono>
#include "state.h"
#include "utilities.h"
Command::Command(uint64_t initial_run_after) {
// Assign a unique ID using the current timer value
id = id_counter++;
// Calculate the absolute execution time
this->run_after = microSinceEpoch() + initial_run_after;
}
SetStrategyCommand::SetStrategyCommand(TurretStrategy initial_strategy, uint64_t initial_run_after):
Command(initial_run_after), strategy(initial_strategy) {}
void SetStrategyCommand::Execute(SystemState* state) {
state->setStrategy(strategy);
}
SetStanceCommand::SetStanceCommand(TurretStance initial_stance, uint64_t initial_run_after):
Command(initial_run_after), stance(initial_stance) {}
void SetStanceCommand::Execute(SystemState* state) {
state->setStance(stance);
}