38static constexpr std::chrono::microseconds MAX_PROPAGATION_TIME =
39 std::chrono::seconds(5);
42static constexpr std::chrono::microseconds MAX_ACCELERATION_TIME =
43 std::chrono::seconds(5);
58 explicit Propagator(std::chrono::milliseconds updatePeriod);
82 miosix::Lock<miosix::FastMutex> lock(nasStateMutex);
83 return lastRocketNasState;
93 miosix::Lock<miosix::FastMutex> lock(stateMutex);
101 void step()
override;
106 miosix::FastMutex nasStateMutex;
107 miosix::FastMutex stateMutex;
110 uint64_t t0 = 0, t1 = 0;
111 uint64_t lastReceivedTime =
Predictor class that linearly propagates the last available rocket position by means of the rocket NA...
NASState getRocketNasState()
Synchronized getter for the last rocket NAS State passed to the propagator.
void setRocketNasState(const NASState &newRocketNasState)
Synchronized setter for the latest rocket nas state. Also notifies the predictor of a new packet arri...
Propagator(std::chrono::milliseconds updatePeriod)
Constructor of the propagator class.
bool init() override
Dummy init since we don't have to setup anything.
PropagatorState getState()
Synchronized getter for the State of the predictor.
This file includes all the types the logdecoder script will decode.
State of the propagator, taking into account the prediction steps (0 if true NAS state) and the propa...