Skip to main content
Version: 2.3.0

Configuration

The cube's information, such as communication specification version numbers and configuration information, is stored on the cube. This information can be obtained and modified using the following characteristic.

PropertyValue
Characteristic UUID10B201FF-5B3B-4571-9508-CF3EFCD7BBAE
PropertiesWrite, Read, Notify
DescriptorConfiguration

Write operations#

note

While the different setting values can be changed depending on the write operation used, if connection to the cube is interrupted, all changes are discarded and the cube is returned to default values.

Requesting the BLE protocol version#

The BLE protocol version of the cube can be requested by writing the following data. See Obtaining the BLE protocol version for how to obtain the response.

Data locationTypeContentExample
0UInt8Configuration type0x01 (BLE protocol version request)
1UInt8Reserved0x00

Horizontal detection threshold settings#

Horizontal detection value obtained through the Motion detection becomes 0x00 (not horizontal) if the angle between the bottom of the cube and the horizontal plane (θ in the figure below) exceeds the threshold. This threshold can be changed by writing the following data.

Data locationTypeContentExample
0UInt8Configuration type0x05 (Horizontal detection threshold settings)
1UInt8Reserved0x00
2UInt8Threshold0x0A (10 degrees)

The threshold apply to both the roll and pitch orientation of rotation. The threshold range and default value are as follows

Roll orientation Flat Status Threshold - Roll

Pitch orientation Flat Status Threshold - Pitch

PropertyRangeDefault value
Threshold1 - 45 (degrees)45 (degrees)

Collision detection threshold settings#

Collision detection value obtained through the Motion detection becomes 0x01 (collision) if the force of the collision applied to the cube exceeds the threshold. This threshold can be changed by writing the following data.

Data locationTypeContentExample
0UInt8Configuration type0x06 (Collision detection threshold settings)
1UInt8Reserved0x00
2UInt8Threshold0x0A (Level 10)

The threshold range and default value are as follows. These values represent the magnitude of the collision.

PropertyRangeDefault value
Threshold1 - 10 (Level)7 (Level)

Double-tap detection time interval settings#

Double-tap detection obtained through the Motion detection becomes 1 (with double-tap) if the cube is tapped once and then tapped again within the specified time interval. The time interval between the two taps can be changed by writing the following data.

Data locationTypeContentExample
0UInt8Configuration type0x17 (Double-tap detection time interval settings)
1UInt8Reserved0x00
2UInt8Time interval0x07 (Level 7)

The threshold range and default value for the time interval are as follows. The larger the value, the longer the time interval will be.

PropertyRangeDefault value
Time interval0 - 7 (Level)5 (Level)

Identification sensor ID notification settings#

Set the notification frequency for the Position ID and Standard ID from the identification sensor. Notifications are sent when both the [Minimum Notification Interval] and [Notification Conditions] are met. See Responses to identification sensor ID notification settings for how to obtain the response.

Data locationTypeContentExample
0UInt8Configuration type0x18 (Identification sensor ID notification settings)
1UInt8Reserved0x00
2UInt8Minimum notification interval0x01 (10 msec)
3UInt8Notification condition0x01 (Notifications for changes only)

Minimum notification interval#

Sets the minimum interval between notifications. The range and default value are as follows. This is set in multiples of 10 milliseconds intervals. For example, setting 5 will send notifications at intervals of 50 milliseconds or longer. This is only the minimum value for the notification interval, and does not guarantee constant intervals between notifications. Please note that the notification interval may vary depending on the status of the central unit.

PropertyRangeDefault value
Minimum notification interval0 - 2551 (10 milliseconds)

Notification conditions#

Select one of the following three types of conditions for notifications to be sent. The default value is 0xff.

Notification conditionContent
0x00Notifications are sent even if there is no change in the notification content.
0x01Notifications are sent when there is a change of 2 or more coordinates and 3 or more degrees in angle.
0xffNotifications are stopped for 300 milliseconds if there is no change in coordinates or angle, otherwise notifications continue to be sent.

Identification sensor ID missed notification settings#

Set the Position ID missed and Standard ID missed notification sensitivity of the identification sensor. See Responses to identification sensor ID missed notification settings for how to obtain setting results.

Data locationTypeContentExample
0UInt8Configuration type0x19 (Identification sensor ID missed notification settings)
1UInt8Reserved0x00
2UInt8Notification sensitivity0x0A (100ms)

Notification sensitivity#

Set the notification sensitivity when the cube is removed from the top of something on which a Position ID or Standard ID is printed. The range and default value are as follows. This is set in multiples of 10 millisecond intervals. For example, if 5, is set, "missed" notifications are sent when the cube is removed from the mat or card for 50 milliseconds or longer. If the cube is put back on the mat or card within 50 milliseconds after it is removed, no notifications are sent.

PropertyRangeDefault value
Notification sensitivity0 - 2557 (70 milliseconds)

Magnetic sensor settings #

Write the following data to enable or disable the Magnetic sensor function. This function is disabled by default. See Responses to magnetic sensor settings for how to obtain setting results.

Data locationTypeContentExample
0UInt8Configuration type0x1b (Magnetic sensor function settings)
1UInt8Reserved0x00
2UInt8Function settings0x01 (Activation of magnet state detection)
3UInt8Notification interval0x01 (20 milliseconds)
4UInt8Notification condition0x01 (Notifications for changes only)

The setting values are as follows. Magnet status detection and magnetic force detection cannot be enabled at the same time.

Function SettingDefinition
0x00Disable (default value)
0x01Enable magnet state detection
0x02Enable magnetic force detection

Notification interval #

Sets the interval for notifications. This is set in multiples of 20 milliseconds. If 0 is set, notifications are disabled. Note that this is set in multiples different from that of the notification interval settings for high-precision position and tilt information.

PropertyRange
Notification interval0 - 255 (0 disables notifications)

Notification conditions #

Sets the conditions for notifications to be sent. When 0x00 is set, notifications are sent according to the notification interval even if there is no change. When 0x01 is set, notifications are sent only when there is change in the magnet state. However, even if there are great changes, notifications are not sent at intervals shorter than that of the above notification interval settings.

Function SettingDefinition
0x00Notifications even if there is no change
0x01Notifications only when there are changes

Motor speed information acquisition settings#

Enable or disable Motor - Obtaining motor speed information by writing the following data. Motor speed information acquisition is disabled by default. See Responses to motor speed information acquisition settings for how to obtain setting results.

Data locationTypeContentExample
0UInt8Configuration type0x1c (Motor speed information acquisition settings)
1UInt8Reserved0x00
2UInt8Setting value0x01 (Enable)

The setting values are as follows

Setting valueMeaning
0x00Disabled (default value)
0x01Enabled

Posture angle detection settings #

Write the following data to enable or disable the Posture Angle detection function. The posture angle detection function is disabled by default. See Responses to posture angle detection settings for how to obtain setting results.

Data locationTypeContentExample
0UInt8Configuration type0x1d (Posture angle detection settings)
1UInt8Reserved0x00
2UInt8Type of notification content0x01 (Euler angle)
3UInt8Notification interval0x01 (10 milliseconds)
4UInt8Notification condition0x01 (Notifications only where there are changes)

The types of notifications are as follows.

Type of notificationsDefinition
0x01Notifications in Euler angles
0x02Notifications in quaternions

Notification interval#

Sets the interval for notifications. This is set in multiples of 10 milliseconds. If 0 is set, notifications are disabled. Note that this is set in multiples different from that of the magnetic sensor notification interval settings.

PropertyRange
Notification interval0 - 255 (0 disables notifications)

Notification conditions#

Sets the conditions for notifications to be sent. If 0x00 is set, notifications are sent according to the notification interval even if there is no change. When 0x01 is set, notifications are sent only when there is change in the tilt status. However, even if there are great changes, notifications are not sent at intervals shorter than that of the above notification interval settings.

Function SettingDefinition
0x00Notifications even if there is no change
0x01Notifications only when there is a change

Read operations#

Obtaining the BLE protocol version#

See Requesting the BLE protocol version for the request method.

Data locationTypeContentsExample
0UInt8Configuration type0x81 (Obtaining the BLE protocol version)
1UInt8Reserved0x00
2StringBLE protocol version (5 bytes utf-8) 

Responses to identification sensor ID notification settings#

If Identification sensor ID notification settings is written, the following responses are obtained depending on the results of the identification sensor ID notification settings.

Data locationTypeContentExample
0UInt8Configuration type0x98 (Responses to identification sensor ID notification settings)
1UInt8Reserved0x00
2UInt8Resulting value0x00 (Set successfully)

The definitions of the result values are as follows.

Result valueDefinition
0x00OK/Set successfully
Value other than 0x00NG/Setting failed

Responses to identification sensor ID missed notification settings#

If Identification sensor ID missed notification settings is written, the following responses are obtained depending on the results of the identification sensor missed ID notification settings.

Data locationTypeContentExample
0UInt8Configuration type0x99 (Responses to identification sensor missed ID notification settings)
1UInt8Reserved0x00
2UInt8Resulting value0x00 (Set successfully)

The definitions of the result values are as follows.

Result valueDefinition
0x00OK/Set successfully
Value other than 0x00NG/Setting failed

Responses to magnetic sensor settings#

If Magnetic sensor settings is written, the following responses are obtained depending on the setting results.

Data locationTypeContentExample
0UInt8Configuration type0x9b (Responses to magnetic sensor settings)
1UInt8Reserved0x00
2UInt8Resulting value0x00 (Set successfully)

The definitions of the result values are as follows.

Result valueDefinition
0x00OK/Set successfully
Value other than 0x00NG/Setting failed

Responses to motor speed information acquisition settings#

If Motor speed information acquisition settings is written, the following responses are obtained depending on the result.

Data locationTypeContentExample
0UInt8Configuration type0x9c (Responses to motor speed information acquisition settings)
1UInt8Reserved0x00
2UInt8Resulting value0x00 (Set successfully)

The definitions of the result values are as follows.

Result valueDefinition
0x00OK/Set successfully
Value other than 0x00NG/Setting failed

Responses to posture angle detection settings #

If Posture angle detection settings is written, the following responses are obtained depending on the result.

Data locationTypeContentExample
0UInt8Configuration type0x9d (Responses to posture angle detection settings)
1UInt8Reserved0x00
2UInt8Resulting value0x00 (Set successfully)

The definitions of the result values are as follows.

Result valueDefinition
0x00OK/Set successfully
Value other than 0x00NG/Setting failed

Notifications#

The data obtained from Read operations can also be received through notifications.