Skip to content

Commit

Permalink
Merge pull request #52 from toio/update-v2_4_0
Browse files Browse the repository at this point in the history
docs: update to v2.4.0
  • Loading branch information
TE-KazuhiroYabe authored Apr 2, 2024
2 parents cc63d1a + 9f1a4fd commit dc7578b
Show file tree
Hide file tree
Showing 258 changed files with 10,983 additions and 103 deletions.
31 changes: 21 additions & 10 deletions docs/ble_communication_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,21 @@ original_id: ble_communication_overview

キューブは電源をいれると BLE ペリフェラル(Peripheral)として起動し、下記の情報をアドバタイズします。

| 定義 ||
| ------------------------------------- | --------------------------------------------------- |
| Flags | General Discoverable Mode,<br/>BR/EDR Not Supported |
| Complete list of 128bit Service UUIDs | 10B20100-5B3B-4571-9508-CF3EFCD7BBAE |
| Complete Local Name | toio Core Cube-XXX |
| 定義 ||
| ---------------------------------------- | --------------------------------------------------- |
| Flags | General Discoverable Mode,<br/>BR/EDR Not Supported |
| Complete list of 128bit Service UUIDs | 10B20100-5B3B-4571-9508-CF3EFCD7BBAE |
| Shortened Local Name <span class="new"/> | toio-XXX |

### Complete Local Name について
### Complete Local Name と Shortened Local Name について <span class="update"/>

キューブのシステムソフトウェア v02.0006(BLE プロトコルバージョン v2.4.0)から、Complete Local Name の代わりに Shortened Local Name がアドバタイズに含まれます。
Shortened Local Name は `toio-XXX` です。

Complete Local Name はキューブのシステムソフトウェア v02.0006(BLE プロトコルバージョン v2.4.0)からアドバタイズ情報に含まれなくなりました。
Complete Local Name は Generic Access サービスの Device Name 特性から読み出せます。
Complete Local Name は `toio-XXX (toio Core Cube)` です。

キューブのシステムソフトウェア v02.0005(BLE プロトコルバージョン v2.3.0)から、Complete Local Name が toio Core Cube-XXX に変更されました。
XXX にはキューブごとに固有の ID 文字列が入ります。 これは電源を入れなおしても不変な値のため、数十台同時にキューブを運用する際に個体識別の補助に役立ちます。
ID 文字列は、すべてのキューブで固有の値になることを保証するものではありません。 また、キューブに記載されたシリアル番号と同じ番号ではありません。

Expand All @@ -36,9 +42,14 @@ ID に使われる文字列は 3 桁の文字列で、アルファベット+

| Complete Local Name の例 |
| ------------------------ |
| toio Core Cube-M0p |
| toio Core Cube-a9R |
| toio Core Cube-C3P |
| toio-M0p |
| toio-a9R |
| toio-C3P |

#### 旧バージョン(システムソフトウェア v02.0005, BLE プロトコルバージョン v2.3.0)での Local Name

キューブのシステムソフトウェア v02.0005(BLE プロトコルバージョン v2.3.0)では、アドバタイズに Complete Local Name が含まれます。
旧バージョンの Complete Local Name は `toio Core Cube-XXX` です。

## キューブの機能の利用

Expand Down
117 changes: 101 additions & 16 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ original_id: ble_configuration
| ---------- | ------------------- | ---------------- |
| 通知感度 | `0` 以上 `255` 以下 | `7`(70 ミリ秒) |

### 磁気センサーの設定 <span class="update"/>
### 磁気センサーの設定

以下のデータを書き込むことで[磁気センサー](magnetic_sensor.md)の機能の有効化・無効化を設定します。デフォルトでは無効化されています。結果の取得方法は[磁気センサーの設定の応答](#磁気センサーの設定の応答)を参照してください。

Expand All @@ -153,7 +153,7 @@ original_id: ble_configuration
| `0x01` | 磁石の状態検出の有効化 |
| `0x02` | 磁力の検出の有効化 |

#### 通知間隔 <span class="new"/>
#### 通知間隔

通知の間隔を設定します。単位は 20 ミリ秒です。`0` を設定した場合は通知無効となります。
高精度位傾き情報の通知間隔設定とは単位が異なるので注意してください。
Expand All @@ -162,7 +162,7 @@ original_id: ble_configuration
| ---------- | --------------------------------------- |
| 通知間隔 | `0` 以上 `255` 以下(0 は通知無効設定) |

#### 通知条件 <span class="new"/>
#### 通知条件

通知の条件を設定します。`0x00` を設定した場合は変化がなくても通知間隔に従い通知を行います。
`0x01` を設定した場合は磁石の状態に変化があったときだけ通知を行います。ただし、変化が激しい場合でも上記の通知間隔設定より短い間隔で通知されることはありません。
Expand All @@ -189,7 +189,7 @@ original_id: ble_configuration
| `0x00` | 無効化(初期値) |
| `0x01` | 有効化 |

### 姿勢角検出の設定 <span class="new"/>
### 姿勢角検出の設定 <span class="update"/>

以下のデータを書き込むことで[姿勢角検出](high_precision_tilt_sensor.md)機能の有効化・無効化を設定します。デフォルトでは無効化されています。結果の取得方法は[姿勢角検出設定の応答](#姿勢角検出の設定の応答)を参照してください。

Expand All @@ -203,15 +203,11 @@ original_id: ble_configuration

通知内容の種類は以下のとおりです。

| 通知内容の種類 | 意味 |
| -------------- | ------------------ |
| `0x01` | オイラー角での通知 |

:::note

現バージョンでは**オイラー角での通知**のみ利用可能となっています。

:::
| 通知内容の種類 | 意味 |
| -------------- | ------------------------ |
| `0x01` | オイラー角での通知 |
| `0x02` <span class="new"/> | クォータニオンでの通知 |
| `0x03` <span class="new"/> | 高精度オイラー角での通知 |

#### 通知間隔

Expand All @@ -232,7 +228,7 @@ original_id: ble_configuration
| `0x00` | 変化がなくても通知 |
| `0x01` | 変化があったときだけ通知 |

### シリアライズ情報の通知設定 <span class="new"/>
### シリアライズ情報の通知設定

以下のデータを書き込むことで[シリアライズ情報](serialized_information.md)機能の有効化・無効化を設定します。デフォルトでは無効化されています。結果の取得方法は[シリアライズ情報の通知設定の応答](#シリアライズ情報の通知設定の応答)を参照してください。

Expand Down Expand Up @@ -261,6 +257,56 @@ original_id: ble_configuration
| `0x00` | 変化がなくても通知 |
| `0x01` | 変化があったときだけ通知 |

### コネクションインターバル変更要求 <span class="new"/>

以下のデータを書き込むことでキューブからセントラル側へコネクションインターバルの変更を要求します。
セントラル側が変更要求に応じた場合にはコネクションインターバルは変更されます。

:::note

コネクションインターバル値はセントラル側が決定権を持っています。
キューブ側から要求した値とは別の値になる場合や、変更されない場合があります。
セントラル側が受け入れられない値を要求した場合には、セントラルはBLE接続を切断することがあります。

:::
| データ位置 | タイプ | 内容 ||
| ---------- | ------ | ---------- | --------------------------------------------------------------------- |
| 0 | UInt8 | 設定の種類 | <span class="fixed">`0x30`</span>(コネクションインターバル変更要求) |
| 1 | UInt8 | Reserved | `0x00` |
| 2 | UInt16 | min値 | `0x0008`(10 ミリ秒) |
| 4 | UInt16 | max値 | `0x0050`(100 ミリ秒) |

#### min値 / max値

コネクションインターバルの最小時間と最大時間を設定します。
指定可能な値はBLE規格により定められています。
0xFFFF(要求なし)または 0x0006 ~ 0x0C80 の間の値が指定できます。
コネクションインターバル時間は、指定値✕1.25 [ms] です。

### コネクションインターバル要求値の取得 <span class="new"/>

以下のデータを書き込むことで[コネクションインターバル変更要求](#コネクションインターバル変更要求-)から設定した要求値を取得します。
この値は実際のコネクションインターバル値ではありません。

[コネクションインターバル変更要求](#コネクションインターバル変更要求-)を行っていない状態でコネクションインターバル要求値を取得した場合は
min に 0x08(10ミリ秒)、max に 0x50(100ミリ秒)が取得できます。

| データ位置 | タイプ | 内容 ||
| ---------- | ------ | ---------- | ------------------------------------------------------------------------- |
| 0 | UInt8 | 設定の種類 | <span class="fixed">`0x31`</span>(コネクションインターバル要求値の取得) |
| 1 | UInt8 | Reserved | `0x00` |

### 現在のコネクションインターバル値の取得 <span class="new"/>

以下のデータを書き込むことでキューブとセントラル間の実際のコネクションインターバル値を取得できます。
この値と[コネクションインターバル変更要求](#コネクションインターバル変更要求-)で設定した要求値を比較することで
コネクションインターバルが要求どおりに変更できたかを確認できます。

| データ位置 | タイプ | 内容 ||
| ---------- | ------ | ---------- | --------------------------------------------------------------------------- |
| 0 | UInt8 | 設定の種類 | <span class="fixed">`0x32`</span>(現在のコネクションインターバル値の取得) |
| 1 | UInt8 | Reserved | `0x00` |

## 読み出し操作

### BLE プロトコルバージョンの取得
Expand Down Expand Up @@ -341,7 +387,7 @@ original_id: ble_configuration
| `0x00` | OK・設定成功 |
| `0x00` 以外 | NG・設定失敗 |

### 姿勢角検出の設定の応答 <span class="new"/>
### 姿勢角検出の設定の応答

[姿勢角検出の設定](#姿勢角検出の設定)を書き込むと結果に応じて以下の応答を行います。

Expand All @@ -358,7 +404,7 @@ original_id: ble_configuration
| `0x00` | OK・設定成功 |
| `0x00` 以外 | NG・設定失敗 |

### シリアライズ情報の通知設定の応答 <span class="new"/>
### シリアライズ情報の通知設定の応答

[シリアライズ情報の通知設定](#シリアライズ情報の通知設定)を書き込むと結果に応じて以下の応答を行います。

Expand All @@ -375,6 +421,45 @@ original_id: ble_configuration
| `0x00` | OK・設定成功 |
| `0x00` 以外 | NG・設定失敗 |

### コネクションインターバル変更要求の応答 <span class="new"/>

[コネクションインターバル変更要求](#コネクションインターバル変更要求-)を書き込むと結果に応じて以下の応答を行います。

| データ位置 | タイプ | 内容 ||
| ---------- | ------ | ---------- | ----------------------------------------------------------------------- |
| 0 | UInt8 | 設定の種類 | <span class="fixed">`0xb0`</span>コネクションインターバル変更要求の応答 |
| 1 | UInt8 | Reserved | `0x00` |
| 2 | UInt8 | 結果の値 | `0x00`(設定成功) |

結果の値の意味は以下のとおりです。

| 結果の値 | 意味 |
| ----------- | ------------ |
| `0x00` | OK・設定成功 |
| `0x00` 以外 | NG・設定失敗 |

### コネクションインターバル要求値の取得の応答 <span class="new"/>

[コネクションインターバル要求値の取得](#コネクションインターバル要求値の取得-)を書き込むと以下の応答を行います。

| データ位置 | タイプ | 内容 ||
| ---------- | ------ | ---------- | --------------------------------------------------------------------------- |
| 0 | UInt8 | 設定の種類 | <span class="fixed">`0xb1`</span>コネクションインターバル要求値の取得の応答 |
| 1 | UInt8 | Reserved | `0x00` |
| 2 | UInt16 | min値 | `0x0008`(10 ミリ秒) |
| 4 | UInt16 | max値 | `0x0050`(100 ミリ秒) |

### 現在のコネクションインターバル値の取得の応答 <span class="new"/>

[現在のコネクションインターバル値の取得](#現在のコネクションインターバル値の取得-)を書き込むと以下の応答を行います。

| データ位置 | タイプ | 内容 ||
| ---------- | ------ | ---------- | ----------------------------------------------------------------------------- |
| 0 | UInt8 | 設定の種類 | <span class="fixed">`0xb2`</span>現在のコネクションインターバル値の取得の応答 |
| 1 | UInt8 | Reserved | `0x00` |
| 2 | UInt16 | min値 | `0x0008`(10 ミリ秒) |
| 4 | UInt16 | max値 | `0x0050`(100 ミリ秒) |

## 通知

[読み出し操作](#読み出し操作)で得られるデータは通知でも受け取ることが出来ます。
4 changes: 2 additions & 2 deletions docs/hardware_magnet.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: hardware_magnet
title: '磁気センサー'
sidebar_label: '🔄 磁気センサー'
sidebar_label: '磁気センサー'
original_id: hardware_magnet
---

Expand Down Expand Up @@ -44,7 +44,7 @@ original_id: hardware_magnet

![magnet layout specification](assets/hardware_magnet_layout.svg)

## 2. 磁力の検出 <span class="new"/>
## 2. 磁力の検出

磁力の強さと向きを検出できます。

Expand Down
2 changes: 1 addition & 1 deletion docs/hardware_other.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: hardware_other
title: '各種性能'
sidebar_label: '🔄 各種性能'
sidebar_label: '各種性能'
original_id: hardware_other
---

Expand Down
Loading

0 comments on commit dc7578b

Please sign in to comment.