Skip to content

Commit 76785fb

Browse files
committed
add api doc japanese
1 parent 8623e5c commit 76785fb

File tree

1 file changed

+135
-0
lines changed

1 file changed

+135
-0
lines changed

docs/api.md

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# Stackchan Arduino Library API ドキュメント
2+
3+
## 概要
4+
Stackchan Arduino Library は、M5Stack デバイス上で Stack-chan を制御するためのライブラリです。このライブラリは、サーボモーターの制御、設定ファイルの読み込み、Bluetooth 設定などの機能を提供します。
5+
6+
---
7+
8+
## クラス一覧
9+
10+
### 1. `StackchanSystemConfig`
11+
設定ファイルを読み込み、システム設定を管理するクラス。
12+
13+
#### メソッド
14+
- **`loadConfig(fs::FS& fs, const char *app_yaml_filename, uint32_t app_yaml_filesize, const char* secret_yaml_filename, uint32_t secret_yaml_filesize, const char* basic_yaml_filename, uint32_t basic_yaml_filesize)`**
15+
- 設定ファイルを読み込み、システム設定を初期化します。
16+
- 引数:
17+
- `fs`: ファイルシステムオブジェクト。
18+
- `app_yaml_filename`: アプリケーション設定ファイルのパス。
19+
- `app_yaml_filesize`: アプリケーション設定ファイルのサイズ。
20+
- `secret_yaml_filename`: 個人情報設定ファイルのパス。
21+
- `secret_yaml_filesize`: 個人情報設定ファイルのサイズ。
22+
- `basic_yaml_filename`: 基本設定ファイルのパス。
23+
- `basic_yaml_filesize`: 基本設定ファイルのサイズ。
24+
25+
- **`printAllParameters()`**
26+
- 全ての設定パラメータをログに出力します。
27+
28+
- **`getServoInfo(uint8_t servo_axis_no)`**
29+
- 指定したサーボ軸の情報を取得します。
30+
31+
- **`getWiFiSetting()`**
32+
- WiFi 設定を取得します。
33+
34+
- **`getAPISetting()`**
35+
- API キー設定を取得します。
36+
37+
---
38+
39+
### 2. `StackchanSERVO`
40+
サーボモーターを制御するクラス。
41+
42+
#### メソッド
43+
- **`begin(stackchan_servo_initial_param_s init_params)`**
44+
- サーボモーターを初期化します。
45+
46+
- **`moveX(int x, uint32_t millis_for_move = 0)`**
47+
- X 軸のサーボを指定した角度に移動します。
48+
- 引数:
49+
- `x`: 移動する角度。
50+
- `millis_for_move`: 移動にかける時間(ミリ秒)。
51+
52+
- **`moveY(int y, uint32_t millis_for_move = 0)`**
53+
- Y 軸のサーボを指定した角度に移動します。
54+
55+
- **`moveXY(int x, int y, uint32_t millis_for_move)`**
56+
- X 軸と Y 軸のサーボを同時に移動します。
57+
58+
- **`motion(Motion motion_no)`**
59+
- プリセットされたモーションを実行します。
60+
- 引数:
61+
- `motion_no`: 実行するモーションの種類(例: `greet`, `laugh`)。
62+
63+
---
64+
65+
### 3. `StackchanExConfig`
66+
`StackchanSystemConfig` を拡張したクラスで、アプリケーション固有の設定を管理します。
67+
68+
#### メソッド
69+
- **`loadExtendConfig(fs::FS& fs, const char *yaml_filename, uint32_t yaml_size)`**
70+
- 拡張設定ファイルを読み込みます。
71+
72+
- **`setExtendSettings(DynamicJsonDocument doc)`**
73+
- 拡張設定を適用します。
74+
75+
- **`printExtParameters()`**
76+
- 拡張設定のパラメータをログに出力します。
77+
78+
---
79+
80+
## 列挙型
81+
82+
### `Motion`
83+
サーボモーターのプリセットモーションを定義します。
84+
- `nomove`: 動かない。
85+
- `greet`: 挨拶。
86+
- `laugh`: 笑う。
87+
- `nod`: うなずく。
88+
- `refuse`: 拒否する。
89+
- `test`: テスト用。
90+
91+
### `ServoType`
92+
サーボモーターの種類を定義します。
93+
- `PWM`: PWM サーボ (例: SG90)。
94+
- `SCS`: シリアルサーボ (例: Feetech SCS0009)。
95+
- `DYN_XL330`: Dynamixel XL330。
96+
- `RT_DYN_XL330`: RT バージョンの Dynamixel XL330。
97+
98+
---
99+
100+
## 設定ファイル
101+
102+
### SC_BasicConfig.yaml
103+
基本設定ファイル。サーボのピン番号、初期位置、可動範囲、速度などを定義します。
104+
105+
### SC_SecConfig.yaml
106+
個人情報設定ファイル。WiFi の SSID やパスワード、API キーを定義します。
107+
108+
### SC_ExtConfig.yaml
109+
拡張設定ファイル。アプリケーション固有の設定を記述します。
110+
111+
---
112+
113+
## 使用例
114+
115+
### サーボの初期化と移動
116+
```cpp
117+
#include <M5Unified.h>
118+
#include "Stackchan_servo.h"
119+
120+
StackchanSERVO servo;
121+
122+
void setup() {
123+
M5.begin();
124+
servo.begin(33, 90, 0, 32, 90, 0, ServoType::PWM); // サーボの初期化
125+
servo.moveX(45, 1000); // X軸を45度に移動(1秒かけて)
126+
servo.moveY(60, 1000); // Y軸を60度に移動(1秒かけて)
127+
servo.moveXY(90, 90, 1000); // 正面を向く(1秒かけて)
128+
}
129+
130+
void loop() {
131+
// 繰り返し処理
132+
}
133+
```
134+
135+
---

0 commit comments

Comments
 (0)