#ifndef MAINCONTROLLOOP_H
#define MAINCONTROLLOOP_H
#include <mcx/core.h>
class MainControlLoop final : public mcx::container::Module {
public:
MainControlLoop() = default;
~MainControlLoop() override = default;
private:
void create_(const char* name, mcx::parameter_server::Parameter* parameterServer, uint64_t dtMicroS) override;
bool initPhase1_() override;
bool initPhase2_() override;
bool startOp_() override;
bool stopOp_() override;
bool iterateOp_(const mcx::container::TaskTime& systemTime, mcx::container::UserTime* userTime) override;
double dummyDouble_{};
std::array<double, 5> dummyDoubleVec_;
float dummyFloat_{};
std::array<float, 5> dummyFloatVec_;
int8_t dummyInt8_{};
uint8_t dummyUint8_{};
int16_t dummyInt16_{};
uint16_t dummyUint16_{};
int32_t dummyInt32_{};
uint32_t dummyUint32_{};
int64_t dummyInt64_{};
uint64_t dummyUint64_{};
bool dummyBool_{};
std::array<bool, 5> dummyBoolVec_;
std::string dummyString_;
};
#endif