47 :
t(TimestampTimer::getTimestamp()),
z(
z),
vz(
vz)
51 void print(uint64_t t_start)
const
53 std::cout <<
"@time : " << (double)(
t - t_start) / 1000000
55 std::cout <<
"@z : " <<
z <<
" [m]\n";
56 std::cout <<
"@vz : " <<
vz <<
" [m/s]\n\n";
102template <
class FlightPhases,
class SimulatorData,
class ActuatorData>
132 std::vector<FlightPhases> changed_flags;
137 for (
unsigned int i = 0; i < changed_flags.size(); i++)
138 for (
const auto& callback :
callbacks[changed_flags[i]])
148 std::vector<FlightPhases>& changed_flags) = 0;
151 std::vector<FlightPhases>& changed_flags) = 0;
155 std::vector<FlightPhases> changed_flags;
160 for (
unsigned int i = 0; i < changed_flags.size(); i++)
161 for (
const auto& callback :
callbacks[changed_flags[i]])
185 std::map<FlightPhases, std::vector<PhasesCallback>>
callbacks;
#define LOG_INFO(logger,...)
virtual void simulationStarted()
virtual void simulationStopped()
bool isSimulationRunning() const
std::function< TimedTrajectoryPoint()> getCurrentPosition
HILPhasesManagerBase(std::function< TimedTrajectoryPoint()> getCurrentPosition)
Singleton object that manages all the phases of the simulation. After his instantiation we need to se...
std::function< void()> PhasesCallback
bool isSetTrue(const FlightPhases &phase) const
void registerOutcomes(const FlightPhases &phase)
virtual void handleEventImpl(const Event &e, std::vector< FlightPhases > &changed_flags)=0
std::map< FlightPhases, bool > prev_flagsFlightPhases
std::map< FlightPhases, Outcomes > outcomes
std::map< FlightPhases, std::vector< PhasesCallback > > callbacks
virtual void printOutcomes()=0
void handleEvent(const Boardcore::Event &e) override
void setFlagFlightPhase(const FlightPhases &flag, bool isEnable)
virtual void processFlagsImpl(const SimulatorData &hil_flags, std::vector< FlightPhases > &changed_flags)=0
bool isFlagActive(const FlightPhases &flag) const
std::map< FlightPhases, bool > flagsFlightPhases
void registerToFlightPhase(const FlightPhases &flag, const PhasesCallback &func)
HILPhasesManager(std::function< TimedTrajectoryPoint()> getCurrentPosition)
void processFlags(const SimulatorData &hil_flags)
bool isSetFalse(const FlightPhases &phase) const
static PrintLogger getLogger(const string &name)
Trajectory point with timestamp and velocity module.
float z
Vertical position [m].
float vz
Vertical velocity [m/s].
uint64_t getTimestamp()
Returns the current timer value in microseconds.
Driver for the VN100S IMU.
Outcomes(float z, float vz)
void print(uint64_t t_start) const