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 cpp file
*/

#include "MainControlLoop.h"

using namespace mcx;

void MainControlLoop::create_(const char* name, parameter_server::Parameter* parameterServer, uint64_t dtMicroS) {
  // createSubmodule(&myModule, "myModule");
  dummyString_.resize(1024);
}

bool MainControlLoop::initPhase1_() {
  using namespace mcx::parameter_server;
  addParameter("dummyDouble", ParameterType::INPUT, &dummyDouble_);
  addParameter("dummyDoubleVec", ParameterType::INPUT, dummyDoubleVec_.data(), dummyDoubleVec_.size());

  addParameter("dummyFloat", ParameterType::INPUT, &dummyFloat_);
  addParameter("dummyFloatVec", ParameterType::INPUT, dummyFloatVec_.data(), dummyFloatVec_.size());

  addParameter("dummyString", ParameterType::INPUT, dummyString_.data(), dummyString_.size());

  addParameter("dummyInt8", ParameterType::INPUT, &dummyInt8_);
  addParameter("dummyUint8", ParameterType::INPUT, &dummyUint8_);
  addParameter("dummyInt16", ParameterType::INPUT, &dummyInt16_);
  addParameter("dummyUint16", ParameterType::INPUT, &dummyUint16_);
  addParameter("dummyInt32", ParameterType::INPUT, &dummyInt32_);
  addParameter("dummyUint32", ParameterType::INPUT, &dummyUint32_);
  addParameter("dummyInt64", ParameterType::INPUT, &dummyInt64_);
  addParameter("dummyUint64", ParameterType::INPUT, &dummyUint64_);
  addParameter("dummyBool", ParameterType::INPUT, &dummyBool_);
  addParameter("dummyBoolVec", ParameterType::INPUT, dummyBoolVec_.data(), dummyBoolVec_.size());

  return true;
}

bool MainControlLoop::initPhase2_() { return true; }

bool MainControlLoop::startOp_() { return true; }

bool MainControlLoop::stopOp_() { return true; }

bool MainControlLoop::iterateOp_(const container::TaskTime& systemTime, container::UserTime* userTime) { return true; }