From 55bb55c7b5d66c685e6888cd9936e2d961589a76 Mon Sep 17 00:00:00 2001 From: 23-yoshikawa Date: Mon, 27 May 2024 11:14:39 +0900 Subject: [PATCH] rename --- include/{schneider_model.hpp => machine.hpp} | 114 +++++++------- src/{schneider_model.cpp => machine.cpp} | 148 +++++++++---------- src/main.cpp | 10 +- 3 files changed, 136 insertions(+), 136 deletions(-) rename include/{schneider_model.hpp => machine.hpp} (77%) rename src/{schneider_model.cpp => machine.cpp} (87%) diff --git a/include/schneider_model.hpp b/include/machine.hpp similarity index 77% rename from include/schneider_model.hpp rename to include/machine.hpp index ef633eb..d667fd3 100644 --- a/include/schneider_model.hpp +++ b/include/machine.hpp @@ -1,57 +1,57 @@ -#ifndef OMNIBOAT_R_INCLUDED -#define OMNIBOAT_R_INCLUDED - -#include - -#include "mbed.h" - -#include "device/input.hpp" -#include "device/output.hpp" -#include "packet/input.hpp" -#include "packet/output.hpp" -#include "service/service.hpp" - -namespace omniboat { - -/** - * @brief モータへの出力を計算するクラス - */ -class Schneider { -public: - Schneider(); - Schneider(const Schneider&) = delete; - Schneider(Schneider&&) = default; - auto operator=(const Schneider&) -> Schneider& = delete; - auto operator=(Schneider&&) -> Schneider& = default; - ~Schneider(); - void debug(); - - /** - * @brief 1ステップ毎にモータへの入力値を計算する関数 - */ - void one_step(); - void init(); - - // TODO: - // これ実装されてないのでコメントアウト - // commit `f50fb9b` 参照 - // /** - // * @brief 機体を停止させる関数 - // */ - // void flip_shneider(); - -private: - // flip_shneider と同様 - // /** - // * @brief ボタンが押されたときに機体を停止させる関数(割り込み処理) - // */ - // void ticker_flip(); - - device::InputModules input_modules; - device::OutputModules output_modules; - service::Service service; -}; - -} // namespace omniboat - -#endif +#ifndef OMNIBOAT_R_INCLUDED +#define OMNIBOAT_R_INCLUDED + +#include + +#include "mbed.h" + +#include "device/input.hpp" +#include "device/output.hpp" +#include "packet/input.hpp" +#include "packet/output.hpp" +#include "service/service.hpp" + +namespace omniboat { + +/** + * @brief モータへの出力を計算するクラス + */ +class Machine { +public: + Machine(); + Machine(const Machine&) = delete; + Machine(Machine&&) = default; + auto operator=(const Machine&) -> Machine& = delete; + auto operator=(Machine&&) -> Machine& = default; + ~Machine(); + void debug(); + + /** + * @brief 1ステップ毎にモータへの入力値を計算する関数 + */ + void one_step(); + void init(); + + // TODO: + // これ実装されてないのでコメントアウト + // commit `f50fb9b` 参照 + // /** + // * @brief 機体を停止させる関数 + // */ + // void flip_shneider(); + +private: + // flip_shneider と同様 + // /** + // * @brief ボタンが押されたときに機体を停止させる関数(割り込み処理) + // */ + // void ticker_flip(); + + device::InputModules input_modules; + device::OutputModules output_modules; + service::Service service; +}; + +} // namespace omniboat + +#endif diff --git a/src/schneider_model.cpp b/src/machine.cpp similarity index 87% rename from src/schneider_model.cpp rename to src/machine.cpp index e714a7b..cb6229d 100644 --- a/src/schneider_model.cpp +++ b/src/machine.cpp @@ -1,74 +1,74 @@ -#include -#include -#include -#include -#include -#include - -#include "rtos.h" - -#include "schneider_model.hpp" -#include "trace.hpp" -#include "utils.hpp" - -namespace omniboat { - -using trace::LedId; - -/** - * @brief z軸周りの慣性モーメント - * @note もっと正確な値の方がいいかも - */ -constexpr float inertia_z = 1; -/** - * @brief ステップ幅 - */ -constexpr float step_width_a = 0.1; - -Schneider::Schneider() : - input_modules({A4, A5}, A6, {D4, D5}), output_modules({PB_4, PA_11}, {PA_9, PA_10}), service() { - trace::toggle(LedId::First); - trace::toggle(LedId::Second); - trace::toggle(LedId::Third); - printf("start up\n"); - this->output_modules.init(); -} - -Schneider::~Schneider() { - trace::toggle(LedId::First); -} - -void Schneider::init() { - this->service.init(); - const bool whoami = this->input_modules.mpu_whoami(); - if (whoami) { - printf("WHOAMI succeeded\n"); - } else { - printf("WHOAMI failed\n"); - } -} - -inline auto map_joy(const std::pair& joy) -> std::array { - // ジョイスティックの中心値 - constexpr float joy_center = 0.5F; - // [2]はrot - return {(joy.first - joy_center) * 2, (joy.second - joy_center) * 2, 0}; -} - -void Schneider::one_step() { - const packet::InputValues input = this->input_modules.read(); - const packet::OutputValues output = this->service.call(input); - this->output_modules.write(output); - trace::toggle(LedId::Third); -} - -void Schneider::debug() { - // printf("ave=%f\n",ave_[0]/ave_[1]); - // printf("motor=%f,%f\n",q[0],q[1]); - // printf("servo=%f,%f\n",q[2],q[3]); - // printf("volume=%f\n",volume.read()); - // printf("gyro[2]=%f\n",gyro[2]); - // printf("\n"); -} - -} // namespace omniboat +#include +#include +#include +#include +#include +#include + +#include "rtos.h" + +#include "machine.hpp" +#include "trace.hpp" +#include "utils.hpp" + +namespace omniboat { + +using trace::LedId; + +/** + * @brief z軸周りの慣性モーメント + * @note もっと正確な値の方がいいかも + */ +constexpr float inertia_z = 1; +/** + * @brief ステップ幅 + */ +constexpr float step_width_a = 0.1; + +Machine::Machine() : + input_modules({A4, A5}, A6, {D4, D5}), output_modules({PB_4, PA_11}, {PA_9, PA_10}), service() { + trace::toggle(LedId::First); + trace::toggle(LedId::Second); + trace::toggle(LedId::Third); + printf("start up\n"); + this->output_modules.init(); +} + +Machine::~Machine() { + trace::toggle(LedId::First); +} + +void Machine::init() { + this->service.init(); + const bool whoami = this->input_modules.mpu_whoami(); + if (whoami) { + printf("WHOAMI succeeded\n"); + } else { + printf("WHOAMI failed\n"); + } +} + +inline auto map_joy(const std::pair& joy) -> std::array { + // ジョイスティックの中心値 + constexpr float joy_center = 0.5F; + // [2]はrot + return {(joy.first - joy_center) * 2, (joy.second - joy_center) * 2, 0}; +} + +void Machine::one_step() { + const packet::InputValues input = this->input_modules.read(); + const packet::OutputValues output = this->service.call(input); + this->output_modules.write(output); + trace::toggle(LedId::Third); +} + +void Machine::debug() { + // printf("ave=%f\n",ave_[0]/ave_[1]); + // printf("motor=%f,%f\n",q[0],q[1]); + // printf("servo=%f,%f\n",q[2],q[3]); + // printf("volume=%f\n",volume.read()); + // printf("gyro[2]=%f\n",gyro[2]); + // printf("\n"); +} + +} // namespace omniboat diff --git a/src/main.cpp b/src/main.cpp index bcd827f..70fa90e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,14 +1,14 @@ -#include "schneider_model.hpp" +#include "machine.hpp" #include "trace.hpp" auto main() -> int { trace::init(); - omniboat::Schneider schneider; - schneider.init(); - schneider.debug(); + omniboat::Machine machine; + machine.init(); + machine.debug(); while (true) { trace::toggle(trace::LedId::First); - schneider.one_step(); + machine.one_step(); // wait(1); } }