メインコンテンツまでスキップ
バージョン: 2.4.0

設定

キューブは自身の通信仕様のバージョン情報や各種設定情報を内部に保存しています。 これらの情報は以下の特性(characteristic)を使うことで取得や変更ができます。

プロパティ
Characteristic UUID10B201FF-5B3B-4571-9508-CF3EFCD7BBAE
PropertiesWrite, Read, Notify
DescriptorConfiguration

書き込み操作

注記

書き込み操作によって各種設定値などを変更できますが、キューブの接続が切れるとすべての変更は破棄され初期値に戻ります。

BLE プロトコルバージョンの要求

以下のデータを書き込むことでキューブの BLE プロトコルバージョンを要求できます。結果の取得方法は BLE プロトコルバージョンの取得を参照してください。

データ位置タイプ内容
0UInt8設定の種類0x01(BLE プロトコルバージョンの要求)
1UInt8Reserved0x00

水平検出のしきい値設定

モーションセンサーで取得できる水平検出はキューブの底面と水平面のなす角度(下の図の θ)がしきい値を超えると0x00(水平でない)となります。以下のデータを書き込むことでこのしきい値を変更できます。

データ位置タイプ内容
0UInt8設定の種類0x05(水平検出のしきい値設定)
1UInt8Reserved0x00
2UInt8しきい値0x0A (10 度)

しきい値はロール方向とピッチ方向の回転の両方に適用されます。しきい値の範囲と初期値は以下のとおりです。

ロール方向 Flat Status Threshold - Roll

ピッチ方向 Flat Status Threshold - Pitch

プロパティ値の範囲初期値
しきい値1 以上 45 以下(度)45(度)

衝突検出のしきい値設定

モーションセンサーで取得できる衝突検出はキューブの受ける衝突の強さがしきい値を超えると0x01(衝突あり)となります。以下のデータを書き込むことでこのしきい値を変更できます。

データ位置タイプ内容
0UInt8設定の種類0x06(衝突検出のしきい値設定)
1UInt8Reserved0x00
2UInt8しきい値0x0A (level 10)

しきい値の範囲と初期値は以下のとおりです。値の大きは衝突の大きさを意味します。

プロパティ値の範囲初期値
しきい値1 以上 10 以下 (level)7 (level)

ダブルタップ検出の時間間隔の設定

モーションセンサーで取得できるダブルタップ検出はキューブが一度タップされてから一定時間内に再度タップされると、1(ダブルタップあり)となります。以下のデータを書き込むことでこのタップの時間間隔を変更できます。

データ位置タイプ内容
0UInt8設定の種類0x17(ダブルタップ検出の時間間隔の設定)
1UInt8Reserved0x00
2UInt8時間間隔0x07 (level 7)

時間間隔の範囲と初期値は以下のとおりです。値が大きくなると、時間間隔も長くなります。

プロパティ値の範囲初期値
時間間隔0 以上 7 以下 (level)5 (level)

読み取りセンサーの ID 通知設定

読み取りセンサーの Position ID および Standard ID の通知頻度を設定します。「最小通知間隔」と「通知条件」の両方を満たした場合に通知が行われます。結果の取得方法は読み取りセンサーの ID 通知設定の応答を参照してください。

データ位置タイプ内容
0UInt8設定の種類0x18(読み取りセンサーの ID 通知設定)
1UInt8Reserved0x00
2UInt8最小通知間隔0x01(10 ミリ秒)
3UInt8通知条件0x01(変化時のみ通知)

最小通知間隔

通知間隔の最小値を設定します。値の範囲と初期値は以下のとおりです。単位は 10 ミリ秒です。例えば 5 を設定した場合は 50 ミリ秒より長い間隔で通知が行われます。あくまで通知間隔の最小値であり、一定の通知間隔を保証するものではありません。またセントラル側の状態によっても通知間隔は変動しますのでご注意ください。

プロパティ値の範囲初期値
最小通知間隔0 以上 255 以下1(10 ミリ秒)

通知条件

通知する条件を以下の 3 つのタイプから 1 つ選択します。初期値は 0xff です。

通知条件内容
0x00通知内容に変化がなくても通知を行います
0x01座標は 2 以上、角度は 3 度以上の変化がある場合に通知を行います
0xff座標と角度がに変化がない場合は 300 ミリ秒の間通知を停止しますがそれ以外の場合は通知を行います

読み取りセンサーの ID missed 通知設定

読み取りセンサーの Position ID missed および Standard ID missed の通知感度を設定します。結果の取得方法は読み取りセンサーの ID missed 通知設定の応答を参照してください。

データ位置タイプ内容
0UInt8設定の種類0x19(読み取りセンサーの ID missed 通知設定)
1UInt8Reserved0x00
2UInt8通知感度0x0A(100 ミリ秒)

通知感度

キューブが Position ID や Standard ID が印刷されたものの上から取り除かれた時の通知感度を設定します。値の範囲と初期値は以下のとおりです。単位は 10 ミリ秒です。たとえば 5 を設定した場合は、キューブがマットやカードから取り除かれてから 50 ミリ秒後に missed が通知されます。取り除かれてから 50 ミリ秒以内に再びマットやカードの上に戻された場合は通知を行いません。

プロパティ値の範囲初期値
通知感度0 以上 255 以下7(70 ミリ秒)

磁気センサーの設定

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

データ位置タイプ内容
0UInt8設定の種類0x1b(磁気センサー機能の設定)
1UInt8Reserved0x00
2UInt8機能設定0x01(磁石の状態検出の有効化)
3UInt8通知間隔0x01(20 ミリ秒)
4UInt8通知条件0x01(変化時のみ通知)

設定値は以下のとおりです。
磁石の状態検出と磁力の検出を同時に有効化することはできません。

機能設定意味
0x00無効化(初期値)
0x01磁石の状態検出の有効化
0x02磁力の検出の有効化

通知間隔

通知の間隔を設定します。単位は 20 ミリ秒です。0 を設定した場合は通知無効となります。 高精度位傾き情報の通知間隔設定とは単位が異なるので注意してください。

プロパティ値の範囲
通知間隔0 以上 255 以下(0 は通知無効設定)

通知条件

通知の条件を設定します。0x00 を設定した場合は変化がなくても通知間隔に従い通知を行います。 0x01 を設定した場合は磁石の状態に変化があったときだけ通知を行います。ただし、変化が激しい場合でも上記の通知間隔設定より短い間隔で通知されることはありません。

機能設定意味
0x00変化がなくても通知
0x01変化があったときだけ通知

モーターの速度情報の取得の設定

以下のデータを書き込むことでモーター - モーターの速度情報の取得の有効化・無効化を設定します。デフォルトでは無効化されています。結果の取得方法はモーターの速度情報の取得の設定の応答を参照してください。

データ位置タイプ内容
0UInt8設定の種類0x1c(モーターの速度取得の設定)
1UInt8Reserved0x00
2UInt8設定値0x01(有効化)

設定値は以下のとおりです。

設定値意味
0x00無効化(初期値)
0x01有効化

姿勢角検出の設定

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

データ位置タイプ内容
0UInt8設定の種類0x1d(姿勢角検出の設定)
1UInt8Reserved0x00
2UInt8通知内容の種類0x01(オイラー角)
3UInt8通知間隔0x01(10 ミリ秒)
4UInt8通知条件0x01(変化時のみ通知)

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

通知内容の種類意味
0x01オイラー角での通知
0x02 クォータニオンでの通知
0x03 高精度オイラー角での通知

通知間隔

通知の間隔を設定します。単位は 10 ミリ秒です。0 を設定した場合は通知無効となります。 磁気センサーの通知間隔設定とは単位が異なるので注意してください。

プロパティ値の範囲
通知間隔0 以上 255 以下(0 は通知無効設定)

通知条件

通知の条件を設定します。0x00 を設定した場合は変化がなくても通知間隔に従い通知を行います。 0x01 を設定した場合は傾きの状態に変化があったときだけ通知を行います。ただし、変化が激しい場合でも上記の通知間隔設定より短い間隔で通知されることはありません。

機能設定意味
0x00変化がなくても通知
0x01変化があったときだけ通知

シリアライズ情報の通知設定

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

データ位置タイプ内容
0UInt8設定の種類0x1e(シリアライズ情報の通知設定)
1UInt8Reserved0x00
2UInt8通知間隔0x01(10 ミリ秒)
3UInt8通知条件0x01(変化時のみ通知)

通知間隔

通知の間隔を設定します。単位は 10 ミリ秒です。0 を設定した場合は通知無効となります。

プロパティ値の範囲
通知間隔0 以上 255 以下(0 は通知無効設定)

通知条件

通知の条件を設定します。0x00 を設定した場合は変化がなくても通知間隔に従い通知を行います。 0x01 を設定した場合はシリアライズ情報に何らかの変化があったときだけ通知を行います。ただし、変化が激しい場合でも上記の通知間隔設定より短い間隔で通知されることはありません。

機能設定意味
0x00変化がなくても通知
0x01変化があったときだけ通知

コネクションインターバル変更要求

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

注記

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

データ位置タイプ内容
0UInt8設定の種類0x30(コネクションインターバル変更要求)
1UInt8Reserved0x00
2UInt16min値0x0008(10 ミリ秒)
4UInt16max値0x0050(100 ミリ秒)

min値 / max値

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

コネクションインターバル要求値の取得

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

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

データ位置タイプ内容
0UInt8設定の種類0x31(コネクションインターバル要求値の取得)
1UInt8Reserved0x00

現在のコネクションインターバル値の取得

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

データ位置タイプ内容
0UInt8設定の種類0x32(現在のコネクションインターバル値の取得)
1UInt8Reserved0x00

読み出し操作

BLE プロトコルバージョンの取得

要求方法に関しては BLE プロトコルバージョンの要求を参照してください。

データ位置タイプ内容
0UInt8設定の種類0x81(BLE プロトコルバージョンの取得)
1UInt8Reserved0x00
2StringBLE プロトコルバージョン(5 bytes utf-8) 

読み取りセンサーの ID 通知設定の応答

読み取りセンサーの ID 通知設定の応答を書き込むと結果に応じて以下の応答を行います。

データ位置タイプ内容
0UInt8設定の種類0x98(読み取りセンサーの ID 通知設定の応答)
1UInt8Reserved0x00
2UInt8結果の値0x00(設定成功)

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

結果の値意味
0x00OK・設定成功
0x00 以外NG・設定失敗

読み取りセンサーの ID missed 通知設定の応答

読み取りセンサーの ID missed 通知設定を書き込むと結果に応じて以下の応答を行います。

データ位置タイプ内容
0UInt8設定の種類0x99(読み取りセンサーの ID missed 通知設定の応答)
1UInt8Reserved0x00
2UInt8結果の値0x00(設定成功)

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

結果の値意味
0x00OK・設定成功
0x00 以外NG・設定失敗

磁気センサーの設定の応答

磁気センサーの設定を書き込むと結果に応じて以下の応答を行います。

データ位置タイプ内容
0UInt8設定の種類0x9b(磁気センサーの設定の応答)
1UInt8Reserved0x00
2UInt8結果の値0x00(設定成功)

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

結果の値意味
0x00OK・設定成功
0x00 以外NG・設定失敗

モーターの速度情報の取得の設定の応答

モーターの速度情報の取得の設定を書き込むと結果に応じて以下の応答を行います。

データ位置タイプ内容
0UInt8設定の種類0x9c(モーターの速度情報の取得の設定の応答)
1UInt8Reserved0x00
2UInt8結果の値0x00(設定成功)

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

結果の値意味
0x00OK・設定成功
0x00 以外NG・設定失敗

姿勢角検出の設定の応答

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

データ位置タイプ内容
0UInt8設定の種類0x9d(姿勢角検出の設定の応答)
1UInt8Reserved0x00
2UInt8結果の値0x00(設定成功)

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

結果の値意味
0x00OK・設定成功
0x00 以外NG・設定失敗

シリアライズ情報の通知設定の応答

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

データ位置タイプ内容
0UInt8設定の種類0x9eシリアライズ情報の通知設定の応答
1UInt8Reserved0x00
2UInt8結果の値0x00(設定成功)

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

結果の値意味
0x00OK・設定成功
0x00 以外NG・設定失敗

コネクションインターバル変更要求の応答

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

データ位置タイプ内容
0UInt8設定の種類0xb0コネクションインターバル変更要求の応答
1UInt8Reserved0x00
2UInt8結果の値0x00(設定成功)

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

結果の値意味
0x00OK・設定成功
0x00 以外NG・設定失敗

コネクションインターバル要求値の取得の応答

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

データ位置タイプ内容
0UInt8設定の種類0xb1コネクションインターバル要求値の取得の応答
1UInt8Reserved0x00
2UInt16min値0x0008(10 ミリ秒)
4UInt16max値0x0050(100 ミリ秒)

現在のコネクションインターバル値の取得の応答

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

データ位置タイプ内容
0UInt8設定の種類0xb2現在のコネクションインターバル値の取得の応答
1UInt8Reserved0x00
2UInt16min値0x0008(10 ミリ秒)
4UInt16max値0x0050(100 ミリ秒)

通知

読み出し操作で得られるデータは通知でも受け取ることが出来ます。