diff --git a/include/ssr/Solenoid.hpp b/include/ssr/Solenoid.hpp index fe1f039..645fadb 100644 --- a/include/ssr/Solenoid.hpp +++ b/include/ssr/Solenoid.hpp @@ -1,43 +1,59 @@ +/** + * @file Solenoid.hpp + * @author H1rono (hronok66@gmail.com) + * @brief ソレノイドを扱う型Solenoid + * @version 0.1 + * @copyright Copyright (c) 2022 ssr2022-saka-maza + */ + #pragma once #ifndef SSR_SOLENOID_HPP + +/** + * @brief ssr/Solenoid.hppがインクルードされていることを示すdefine + */ #define SSR_SOLENOID_HPP #include #include "ssr/DigitalOut.hpp" -// このライブラリが使う名前空間 +/** + * @brief ssrライブラリが使う名前空間 + */ namespace ssr { - -// ソレノイドを扱う -class Solenoid { -private: - // ソレノイドを繋げたピン - DigitalOut _pin; - -public: - /** - * 初期化子 - * @param pin ssr::PinType ソレノイドを繋げたピン - */ - Solenoid(PinType pin); - /** - * 初期化 全体のsetup()で呼ぶこと + * @brief ソレノイドを扱う型 */ - void begin(); - - /** - * 状態更新 定期的に呼ぶこと - */ - void update(); - - /** - * ソレノイドを発火させる - */ - void fire(); -}; // class Solenoid - + class Solenoid { + private: + /** + * @brief ソレノイドを繋げたピン + */ + DigitalOut _pin; + + public: + /** + * @brief 初期化子 + * @param pin ssr::PinType ソレノイドを繋げたピン + */ + Solenoid(PinType pin); + + /** + * @brief 初期化 全体のsetup()で呼ぶこと + */ + void begin(); + + /** + * @brief 状態更新 定期的に呼ぶこと + */ + void update(); + + /** + * @brief ソレノイドを発火させる + */ + void fire(); + }; // class Solenoid } // namespace ssr #endif /* SSR_SOLENOID_HPP */ diff --git a/include/ssr/SyncServo.hpp b/include/ssr/SyncServo.hpp index adfd1de..70d27d0 100644 --- a/include/ssr/SyncServo.hpp +++ b/include/ssr/SyncServo.hpp @@ -1,6 +1,18 @@ +/** + * @file SyncServo.hpp + * @author H1rono (hronok66@gmail.com) + * @brief サーボ同期用の型SyncServo + * @version 0.1 + * @copyright Copyright (c) 2022 ssr2022-saka-maza + */ + #pragma once #ifndef SSR_SYNC_SERVO_HPP + +/** + * @brief ssr/SyncServo.hppがインクルードされていることを示すdefine + */ #define SSR_SYNC_SERVO_HPP #include @@ -8,62 +20,67 @@ #include "ssr/Input.hpp" #include "ssr/Output.hpp" -namespace ssr { - /** - * @brief 2つのサーボモーターを同期させる - * @details 実装の詳細仕様 - * Servo型のオブジェクトservo1, servo2を持つ(private) - * write(uint8_t v)メソッドではservo1.write(v)が確定 - * if (mirrored) servo2.write(180 - v); else servo2.write(v); + * @brief ssrライブラリが使う名前空間 */ -class SyncServo : public Input, public Output { -private: - // 同期させるサーボ1つ目 - Servo _servo1; - // 同期させるサーボ2つ目 - Servo _servo2; - -public: +namespace ssr { /** - * @brief サーボの角度を反転させるかどうか(trueで反転) + * @brief 2つのサーボモーターを同期させる + * @details 実装の詳細仕様 + * Servo型のオブジェクトservo1, servo2を持つ(private) + * write(uint8_t v)メソッドではservo1.write(v)が確定 + * if (mirrored) servo2.write(180 - v); else servo2.write(v); */ - bool mirrored; + class SyncServo : public Input, public Output { + private: + /** + * @brief 同期させるサーボ1つ目 + */ + Servo _servo1; + /** + * @brief 同期させるサーボ2つ目 + */ + Servo _servo2; - /** - * @brief Construct a new Sync Servo object - * @param mirror サーボの角度を反転させるかどうか(trueで反転) - */ - SyncServo(bool mirror = false); - /** - * @brief Construct a new Sync Servo object - * @param pin1 サーボ1のピン - * @param pin2 サーボ2のピン - * @param mirror サーボの角度を反転させるかどうか(trueで反転) - */ - SyncServo(PinType pin1, PinType pin2, bool mirror = false); + public: + /** + * @brief サーボの角度を反転させるかどうか(trueで反転) + */ + bool mirrored; - /** - * @brief サーボにピンを割り当てる - * @param pin1 サーボ1に割り当てるピン - * @param pin2 サーボ2に割り当てるピン - * @return uint16_t (servo2.attach(pin2) << 8) | servo1.attach(pin1) - */ - uint16_t attach(PinType pin1, PinType pin2); + /** + * @brief Construct a new Sync Servo object + * @param mirror bool サーボの角度を反転させるかどうか(trueで反転) + */ + SyncServo(bool mirror = false); + /** + * @brief Construct a new Sync Servo object + * @param pin1 ssr::PinType サーボ1のピン + * @param pin2 ssr::PinType サーボ2のピン + * @param mirror bool サーボの角度を反転させるかどうか(trueで反転) + */ + SyncServo(PinType pin1, PinType pin2, bool mirror = false); - /** - * @brief 角度を設定する - * @param v サーボ1に設定する角度 サーボ2の角度はmirroredの値次第で変わる - */ - virtual void write(uint8_t value) override; + /** + * @brief サーボにピンを割り当てる + * @param pin1 ssr::PinType サーボ1に割り当てるピン + * @param pin2 ssr::PinType サーボ2に割り当てるピン + * @return uint16_t (servo2.attach(pin2) << 8) | servo1.attach(pin1) + */ + uint16_t attach(PinType pin1, PinType pin2); - /** - * @brief 角度を読む - * @return int サーボ1の角度 同期できていない場合は-1 - */ - virtual int16_t read() override; -}; // class SyncServo + /** + * @brief 角度を設定する + * @param v uint8_t サーボ1に設定する角度 サーボ2の角度はmirroredの値次第で変わる + */ + virtual void write(uint8_t value) override; + /** + * @brief 角度を読む + * @return int サーボ1の角度 同期できていない場合は-1 + */ + virtual int16_t read() override; + }; // class SyncServo } // namespace ssr #endif /* SSR_SYNC_SERVO_HPP */