motorcortex-rust 0.5.0

Motorcortex Rust: a Rust client for the Motorcortex Core real-time control system (async + blocking).
Documentation
/*
* This is a template for the MOTORCORTEX Module header file
*/

#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 /* MAINCONTROLLOOP_H */