This is the multi-page printable view of this section. Click here to print...
Parent and Repeater App Manual
- 1: Parent and Repeater App Manual
- 1.1: Operating Modes of Parent and Repeater App
- 1.1.1: Parent Mode of Parent and Repeater App
- 1.1.1.1: Messages of Parent and Repeater Apps
- 1.1.1.1.1: Output from the Extremely Simple! Standard App (Parent and Repeater App)
- 1.1.1.1.2: Output from Remote Control App (Parent and Repeater App)
- 1.1.1.1.3: Output from Serial Communication App (Parent and Repeater App)
- 1.1.1.1.4: Output from Pal/Cue/Aria Apps (Parent and Repeater App)
- 1.1.1.1.4.1: Output from PAL App (Parent and Repeater App)
- 1.1.1.1.4.2: Output from CUE App (Parent and Repeater App)
- 1.1.1.1.4.3: Output from Aria App (Parent and Repeater App)
- 1.1.1.1.4.4: Details of Output from Pal, Cue, and Aria Apps (Parent and Repeater App)
- 1.1.1.1.5: Output from act (Parent and Repeater App)
- 1.1.1.1.6: Output from Wireless Tag App (Parent and Repeater App)
- 1.1.1.2: Transmit Command of Parent and Repeater App
- 1.1.2: Repeater Mode of Parent and Repeater App
- 1.2: Interactive Mode (Parent and Repeater App)
- 2: Parent and Repeater App Manual
- 2.1: Operating Modes of Parent and Repeater App
- 2.1.1: Parent Mode of Parent and Repeater App
- 2.1.1.1: Messages of Parent and Repeater Apps
- 2.1.1.1.1: Output from the Extremely Simple! Standard App (Parent and Repeater App)
- 2.1.1.1.2: Output from Remote Control App (Parent and Repeater App)
- 2.1.1.1.3: Output from Serial Communication App (Parent and Repeater App)
- 2.1.1.1.4: Output from Pal/Cue/Aria Apps (Parent and Repeater App)
- 2.1.1.1.4.1: Output from PAL App (Parent and Repeater App)
- 2.1.1.1.4.2: Output from CUE App (Parent and Repeater App)
- 2.1.1.1.4.3: Output from Aria App (Parent and Repeater App)
- 2.1.1.1.4.4: Details of Output from Pal, Cue, and Aria Apps (Parent and Repeater App)
- 2.1.1.1.5: Output from act (Parent and Repeater App)
- 2.1.1.1.6: Output from Wireless Tag App (Parent and Repeater App)
- 2.1.1.2: Transmit Command of Parent and Repeater App
- 2.1.2: Repeater Mode of Parent and Repeater App
- 2.2: Interactive Mode (Parent and Repeater App)
1 - Parent and Repeater App Manual
Based on the latest version preinstalled in the GOLD series.
See here for the BLUE/RED stable version.
Features
Can process all data packets of TWELITE APPS and act, and can be used as common parent or repeater.
- Collect data from multiple TWELITE APPS and act such as Extremely Simple! Standard App and Pal App with one MONOSTICK.
- Can operate multiple systems separately on 16 channels.
- By setting application ID, multiple systems can coexist on the same channel.
- Communication range extension with repeater function.
1.1 - Operating Modes of Parent and Repeater App
There are two modes: Parent mode and Repeater mode.
1.1.1 - Parent Mode of Parent and Repeater App
Receives data sent from child devices and outputs it via the serial port. Also sends commands input from the serial port to child devices.
1.1.1.1 - Messages of Parent and Repeater Apps
Receives data sent from child devices and outputs it from the serial port in a predefined format.
1.1.1.1.1 - Output from the Extremely Simple! Standard App (Parent and Repeater App)
0x81
: Status Notification from the Peer Device
Outputs the status of the received input signals.
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Logical Device ID of Sender | |
1 | uint8 | Command Number | Only 0x81 |
2 | uint8 | Packet Identifier | Generated from Application ID |
3 | uint8 | Protocol Version | Only 0x01 |
4 | uint8 | LQI | 0 -255 |
5 | uint32 | Serial ID of Sender | 0x8??????? |
9 | uint8 | Logical Device ID of Receiver | |
10 | uint16 | Timestamp | 64 counts per second |
12 | uint8 | Number of Relays | |
13 | uint16 | Power Supply Voltage | Unit: mV |
15 | int8 | - | (Unused) |
16 | uint8 | Digital Signals | Corresponds to DIx from LSB upwards, 0 means HighIf MSB is 1 , periodic transmission |
17 | uint8 | Digital Signal Mask | Corresponds to DIx from LSB upwards, 1 means valid |
18 | uint8 | Converted Value of AI1 | See Calculation of Analog Signals, 0xFF means unused |
19 | uint8 | Converted Value of AI2 | See Calculation of Analog Signals, 0xFF means unused |
20 | uint8 | Converted Value of AI3 | See Calculation of Analog Signals, 0xFF means unused |
21 | uint8 | Converted Value of AI4 | See Calculation of Analog Signals, 0xFF means unused |
22 | uint8 | Correction Value of AIx | Corresponds to AIx in 2-bit increments from LSB upwards |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Calculation of Analog Signals
The input voltage \(V\) of AIx
can be expressed by the received converted value \(e_{r}\) and the correction value \(e_{fr}\) as follows:
The unit is mV
Example of Output Data
:78811501C98201015A000391000C2E00810301FFFFFFFFFB
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
78 | 0 | uint8 | Logical Device ID of Sender | 0x78 |
81 | 1 | uint8 | Command Number | 0x81 |
15 | 2 | uint8 | Packet Identifier | 0x15 |
01 | 3 | uint8 | Protocol Version | 0x01 |
C9 | 4 | uint8 | LQI | 201/255 |
8201015A | 5 | uint32 | Serial ID of Sender | 0x201015A |
00 | 9 | uint8 | Logical Device ID of Receiver | 0x00 |
0391 | 10 | uint16 | Timestamp | Approx. 14.27 seconds |
00 | 12 | uint8 | Number of Relays | 0 |
0C2E | 13 | uint16 | Power Supply Voltage | 3118 mV |
00 | 15 | int8 | - | |
81 | 16 | uint8 | Digital Signals | DI1 L DI2 H DI3 H DI4 H (Periodic transmission) |
03 | 17 | uint8 | Digital Signal Mask | DI1 DI2 |
01 | 18 | uint8 | Converted Value of AI1 | 16 mV |
FF | 19 | uint8 | Converted Value of AI2 | Unused |
FF | 20 | uint8 | Converted Value of AI3 | Unused |
FF | 21 | uint8 | Converted Value of AI4 | Unused |
FF | 22 | uint8 | Correction Value of AIx | AI1 0x03 |
FB | uint8 | Checksum | 0xFB | |
char | Footer | \r | ||
char | Footer | \n |
Data Identification Conditions
The parent and relay apps can receive data from various types of child devices.
To confirm whether the output data is from the Extremely Simple! Standard App, refer to the following:
# | Data | Item | Condition |
---|---|---|---|
1 | uint8 | Command Number | Must be 0x81 |
3 | uint8 | Protocol Version | Must be 0x01 |
5 | uint32 | Serial ID of Sender | MSB must be 1 (i.e., 0x8??????? ) |
- | - | Payload Size | Must be 23 bytes (between : and checksum) |
Parser Implementation Examples
- Python
- Arduino (C++)
0x01
: Reception of Arbitrary Data
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Logical Device ID of Sender | Parent 0x00 , Child 0x01 -0x64 , Unset Child 0x78 |
1 | uint8 | Command Number | Only 0x01 |
2 | [uint8] | Arbitrary Data | Byte array of length \(N\) |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
0x01
in the Format Mode (ASCII) of Serial Communication App - Simple Format.1.1.1.1.2 - Output from Remote Control App (Parent and Repeater App)
0x81
: Status Notification from Remote Device
Outputs the state of the received input signal.
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | : only | |
0 | uint8 | Source Logical Device ID | |
1 | uint8 | Command Number | Only 0x81 |
2 | uint8 | Packet Identifier | Only 0x0F |
3 | uint8 | Protocol Version | Only 0x01 |
4 | uint8 | LQI | 0 -255 |
5 | uint32 | Source Serial ID | 0x8??????? |
9 | uint8 | Destination Logical Device ID | |
10 | uint16 | Timestamp | 64 counts per second, MSB is internal flag |
12 | uint8 | Relay Count | |
13 | uint16 | Digital Signal | Corresponds to Ix from LSB, 0 is High |
15 | uint16 | Digital Signal Mask | Corresponds to Ix from LSB, 1 means enabled |
17 | uint16 | Digital Signal Flag | Corresponds to Ix from LSB, 1 means interrupt triggered |
19 | uint8 | Unused | Internal management |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /\r ) | |
char | Footer | LF (0x0A /\n ) |
Example of Output Data
:01810F01DB8630000200645F000040004F00400049
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
01 | 0 | uint8 | Source Logical Device ID | 0x78 |
81 | 1 | uint8 | Command Number | 0x81 |
0F | 2 | uint8 | Packet Identifier | 0x15 |
01 | 3 | uint8 | Protocol Version | 0x01 |
DB | 4 | uint8 | LQI | 219/255 |
86300002 | 5 | uint32 | Source Serial ID | 0x6300002 |
00 | 9 | uint8 | Destination Logical Device ID | 0x00 |
645F | 10 | uint16 | Timestamp | About 401 seconds |
00 | 12 | uint8 | Relay Count | 0 |
0040 | 13 | uint16 | Digital Signal | I7 is Low |
004F | 15 | uint16 | Digital Signal Mask | I7 , I1 -I4 are enabled |
0040 | 17 | uint16 | Digital Signal Flag | I7 has changed due to interrupt |
00 | 19 | uint8 | Unused | |
49 | uint8 | Checksum | 0x49 | |
char | Footer | \r | ||
char | Footer | \n |
Data Identification Conditions
Parent and Repeater App can receive data from various types of child devices.
To confirm that the output data is from the Remote Control App, refer to the following conditions.
# | Data | Item | Condition |
---|---|---|---|
1 | uint8 | Command Number | Must be 0x81 |
3 | uint8 | Protocol Version | Must be 0x02 |
5 | uint32 | Source Serial ID | MSB must be 1 (0x8??????? ) |
- | - | Payload Size | Must be 20 bytes (between : and checksum) |
Example Parser Implementations
1.1.1.1.3 - Output from Serial Communication App (Parent and Repeater App)
This app can only receive packets in format mode.
Please note that the output for packets received in transparent mode or chat mode is undefined.
Format Mode: Simple Format
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Logical device ID of sender | Parent 0x00 , child 0x01 -0x64 , unassigned child 0x78 |
1 | uint8 | Command number | Value less than 0x80 specified by sender |
2 | [uint8] | Arbitrary data | Byte array of length (N) |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example of Output Data
:780100112233AABBCCDD13
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
78 | 0 | uint8 | Logical device ID of sender | Unassigned child ID |
01 | 1 | uint8 | Command number | 0x01 |
00112233AABBCCDD | 2 | [uint8] | Arbitrary data | As is |
13 | uint8 | Checksum | 0x13 | |
char | Footer | \r | ||
char | Footer | \n |
Conditions to Identify Data
The Parent and Repeater App can receive data from various types of child devices.
To verify whether the output data is from the serial communication app (format mode: simple format), refer to the following:
# | Data | Item | Condition |
---|---|---|---|
0 | uint8 | Logical device ID of sender | Must be less than or equal to 0x64 or equal to 0x78 |
1 | uint8 | Command number | Must be less than 0x80 |
- | - | Payload size | Must be between 3 and 82 bytes |
Example Implementation of Parser
- Python
- Arduino (C++)
Format Mode: Extended Format
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Logical device ID of sender | Parent 0x00 , child 0x01 -0x64 , unassigned child 0x78 |
1 | uint8 | Command number | Only 0xA0 |
2 | uint8 | Response ID | Value specified by sender |
3 | uint32 | Extended address of sender | Value with 0x8 added at the start of serial ID |
7 | uint32 | Extended address of receiver | 0xFFFFFFFF when logical device ID is used |
11 | uint8 | LQI | Radio communication quality at reception |
12 | uint16 | Length of following byte array | Number of bytes (M) |
14 | [uint8] | Arbitrary data | Byte array of length (M) |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example of Output Data
:78A0028201015AFFFFFFFFA8000700112233AABBCCC6
# | Data | Description | Notes | |
---|---|---|---|---|
: | char | Header | : | |
78 | 0 | uint8 | Logical device ID of sender | Unassigned child ID |
A0 | 1 | uint8 | Command number | 0xA0 |
02 | 2 | uint8 | Response ID | 0x02 |
8201015A | 3 | uint32 | Extended address of sender | 0x201015A |
FFFFFFFF | 7 | uint32 | Extended address of receiver | Logical device ID specified |
A8 | 11 | uint8 | LQI | 168/255 |
0007 | 12 | uint16 | Length of following byte array | 7 bytes |
00112233AABBCC | 14 | [uint8] | Arbitrary data | As is |
C6 | uint8 | Checksum | 0xC6 | |
char | Footer | |||
char | Footer |
Conditions to Identify Data
The Parent and Repeater App can receive data from various types of child devices.
To verify whether the output data is from the serial communication app (format mode: extended format), refer to the following:
# | Data | Item | Condition |
---|---|---|---|
0 | uint8 | Logical device ID of sender | Must be less than or equal to 0x64 or equal to 0x78 |
1 | uint8 | Command number | Must be 0xA0 |
2 | uint8 | Response ID | Must be less than 0x80 |
3 | uint32 | Extended address of sender | MSB must be 1 (i.e., 0x8??????? ) |
12 | uint16 | Length of following byte array | Must be payload size - 14 bytes |
Example Implementation of Parser
1.1.1.1.4 - Output from Pal/Cue/Aria Apps (Parent and Repeater App)
1.1.1.1.4.1 - Output from PAL App (Parent and Repeater App)
General
Data received from the PAL App is represented as a series of sensor data consisting of sensor type and its value.
Below are specific examples according to the product type.
Open/Close Sensor PAL
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x81 |
14 | uint8 | Number of sensor data | Only 3 |
Sensor data 1 | |||
15 | uint8 | Info bits | Only 0x11 |
16 | uint8 | Data source | Only 0x30 |
17 | uint8 | Extended byte | Only 0x08 |
18 | uint8 | Data length | Only 2 |
19 | uint16 | Data | Power supply voltage (mV) |
Sensor data 2 | |||
21 | uint8 | Info bits | Only 0x11 |
22 | uint8 | Data source | Only 0x30 |
23 | uint8 | Extended byte | Only 0x01 |
24 | uint8 | Data length | Only 2 |
25 | uint16 | Data | ADC1 voltage (mV) |
Sensor data 3 | |||
27 | uint8 | Info bits | Only 0x00 |
28 | uint8 | Data source | Only 0x00 |
29 | uint8 | Extended byte | Only 0x00 |
30 | uint8 | Data length | Only 1 |
31 | uint8 | Data | Magnetic data |
End of sensor data | |||
32 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:80000000A8001C82012B1E01808103113008020D0C1130010203E40000000101EC6E
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
A8 | 4 | uint8 | LQI | 168 /255 |
001C | 5 | uint16 | Sequence number | 28 |
82012B1E | 7 | uint32 | Serial ID of sender | 0x2012B1E |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | |
81 | 13 | uint8 | PAL board version and PAL board ID | Open/Close PAL V1 |
03 | 14 | uint8 | Number of sensor data | 3 |
Sensor data 1 | ||||
11 | 15 | uint8 | Info bits | With extended byte uint16 |
30 | 16 | uint8 | Data source | Voltage |
08 | 17 | uint8 | Extended byte | Power supply |
02 | 18 | uint8 | Data length | 2 bytes |
0D0C | 19 | uint16 | Data | 3340 mV |
Sensor data 2 | ||||
11 | 21 | uint8 | Info bits | With extended byte uint16 |
30 | 22 | uint8 | Data source | Voltage |
01 | 23 | uint8 | Extended byte | ADC1 |
02 | 24 | uint8 | Data length | 2 bytes |
03E4 | 25 | uint16 | Data | 996 mV |
Sensor data 3 | ||||
00 | 27 | uint8 | Info bits | No extended byte uint8 |
00 | 28 | uint8 | Data source | Magnetic |
00 | 29 | uint8 | Extended byte | None |
01 | 30 | uint8 | Data length | 1 byte |
01 | 31 | uint8 | Data | N pole approached |
End of sensor data | ||||
EC | 32 | uint8 | Checksum 1 | 0xEC |
6E | uint8 | Checksum 2 | 0x6E | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the PAL App (Open/Close Sensor PAL), refer to the following points.
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and ID | Must be 0x81 |
- | - | Payload size | 33 bytes |
Example Parser Implementations
- Python
- Arduino (C++)
Environmental Sensor PAL
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x82 |
14 | uint8 | Number of sensor data | Only 5 |
Sensor data 1 | |||
15 | uint8 | Info bits | Only 0x11 |
16 | uint8 | Data source | Only 0x30 |
17 | uint8 | Extended byte | Only 0x08 |
18 | uint8 | Data length | Only 2 |
19 | uint16 | Data | Power supply voltage (mV) |
Sensor data 2 | |||
21 | uint8 | Info bits | Only 0x11 |
22 | uint8 | Data source | Only 0x30 |
23 | uint8 | Extended byte | Only 0x01 |
24 | uint8 | Data length | Only 2 |
25 | uint16 | Data | ADC1 voltage (mV) |
Sensor data 3 | |||
27 | uint8 | Info bits | Only 0x05 |
28 | uint8 | Data source | Only 0x01 |
29 | uint8 | Extended byte | Only 0x00 |
30 | uint8 | Data length | Only 2 |
31 | int16 | Data | Temperature data |
Sensor data 4 | |||
33 | uint8 | Info bits | Only 0x01 |
34 | uint8 | Data source | Only 0x02 |
35 | uint8 | Extended byte | Only 0x00 |
36 | uint8 | Data length | Only 2 |
37 | uint16 | Data | Humidity data |
Sensor data 5 | |||
39 | uint8 | Info bits | Only 0x02 |
40 | uint8 | Data source | Only 0x03 |
41 | uint8 | Extended byte | Only 0x00 |
42 | uint8 | Data length | Only 4 |
43 | uint32 | Data | Illuminance data |
End of sensor data | |||
47 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:8000000084811F810EFF6D04808205113008020AEB11300102035A0501000209E3010200020E3A02030004000001BE6C00
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
84 | 4 | uint8 | LQI | 132 /255 |
811F | 5 | uint16 | Sequence number | 33055 |
810EFF6D | 7 | uint32 | Serial ID of sender | 0x10EFF6D |
04 | 11 | uint8 | Logical device ID of sender | 0x04 |
80 | 12 | uint8 | Sensor type | |
82 | 13 | uint8 | PAL board version and PAL board ID | Environmental Sensor PAL V1 |
05 | 14 | uint8 | Number of sensor data | 5 |
Sensor data 1 | ||||
11 | 15 | uint8 | Info bits | With extended byte uint16 |
30 | 16 | uint8 | Data source | Voltage |
08 | 17 | uint8 | Extended byte | Power supply |
02 | 18 | uint8 | Data length | 2 bytes |
0AEB | 19 | uint16 | Data | 2795 mV |
Sensor data 2 | ||||
11 | 21 | uint8 | Info bits | With extended byte uint16 |
30 | 22 | uint8 | Data source | Voltage |
01 | 23 | uint8 | Extended byte | ADC1 |
02 | 24 | uint8 | Data length | 2 bytes |
035A | 25 | uint16 | Data | 858 mV |
Sensor data 3 | ||||
05 | 27 | uint8 | Info bits | No extended byte int16 |
01 | 28 | uint8 | Data source | Temperature |
00 | 29 | uint8 | Extended byte | None |
02 | 30 | uint8 | Data length | 2 bytes |
09E3 | 31 | int16 | Data | 25.31°C |
Sensor data 4 | ||||
01 | 33 | uint8 | Info bits | No extended byte uint16 |
02 | 34 | uint8 | Data source | Humidity |
00 | 35 | uint8 | Extended byte | None |
02 | 36 | uint8 | Data length | 2 bytes |
0E3A | 37 | uint16 | Data | 36.42% |
Sensor data 5 | ||||
02 | 39 | uint8 | Info bits | No extended byte uint32 |
03 | 40 | uint8 | Data source | Illuminance |
00 | 41 | uint8 | Extended byte | None |
04 | 42 | uint8 | Data length | 4 bytes |
000001BE | 43 | uint32 | Data | 446 lx |
End of sensor data | ||||
6C | 47 | uint8 | Checksum 1 | 0x6C |
00 | uint8 | Checksum 2 | 0x00 | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the PAL App (Environmental Sensor PAL), refer to the following points.
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and ID | Must be 0x82 |
- | - | Payload size | 48 bytes |
Example Parser Implementations
- Python
- Arduino (C++)
Motion Sensor PAL
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x83 |
14 | uint8 | Number of Sensor Data | Only 18 |
Sensor Data 1 | |||
15 | uint8 | Info bits | Only 0x11 |
16 | uint8 | Data source | Only 0x30 |
17 | uint8 | Extended byte | Only 0x08 |
18 | uint8 | Data length | Only 2 |
19 | uint16 | Data | Power supply voltage (mV) |
Sensor Data 2 | |||
21 | uint8 | Info bits | Only 0x11 |
22 | uint8 | Data source | Only 0x30 |
23 | uint8 | Extended byte | Only 0x01 |
24 | uint8 | Data length | Only 2 |
25 | uint16 | Data | ADC1 voltage (mV) |
Sensor Data 3 | |||
27 | uint8 | Info bits | Only 0x15 |
28 | uint8 | Data source | Only 0x04 |
29 | uint8 | Extended byte | 0x?0 Frequency and sample number |
30 | uint8 | Data length | Only 6 |
31 | int16 | Data | Acceleration data |
Sensor Data 4 | |||
37 | uint8 | Info bits | Only 0x15 |
38 | uint8 | Data source | Only 0x04 |
39 | uint8 | Extended byte | 0x?1 Frequency and sample number |
40 | uint8 | Data length | Only 6 |
41 | int16 | Data | Acceleration data |
Sensor Data 5 | |||
(Omitted) | |||
Sensor Data 18 | |||
177 | uint8 | Info bits | Only 0x15 |
178 | uint8 | Data source | Only 0x04 |
179 | uint8 | Extended byte | 0x?F Frequency and sample number |
180 | uint8 | Data length | Only 6 |
181 | int16 | Data | Acceleration data |
End of sensor data | |||
187 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:80000000BA002382011CEF01808312113008020D0211300102055C1504400600100010045015044106000800100430150442060000001004381504430600080018043015044406000000180458150445060000002004381504460600080018042815044706FFE80010042015044806FFF00010043815044906FFE80018043015044A06FFF80018044015044B06FFF80018041815044C0600000010042015044D0600000028045015044E0600000008043815044F0600000018043828A5
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
BA | 4 | uint8 | LQI | 186 /255 |
0023 | 5 | uint16 | Sequence number | 35 |
82011CEF | 7 | uint32 | Serial ID of sender | 0x2011CEF |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | |
83 | 13 | uint8 | PAL board version and PAL board ID | Motion PAL V1 |
12 | 14 | uint8 | Number of Sensor Data | 18 items |
Sensor Data 1 | ||||
11 | 15 | uint8 | Info bits | With extended byte uint16 |
30 | 16 | uint8 | Data source | Voltage |
08 | 17 | uint8 | Extended byte | Power supply |
02 | 18 | uint8 | Data length | 2 bytes |
0D02 | 19 | uint16 | Data | 3330 mV |
Sensor Data 2 | ||||
11 | 21 | uint8 | Info bits | With extended byte uint16 |
30 | 22 | uint8 | Data source | Voltage |
01 | 23 | uint8 | Extended byte | ADC1 |
02 | 24 | uint8 | Data length | 2 bytes |
055C | 25 | uint16 | Data | 1372 mV |
Sensor Data 3 | ||||
15 | 27 | uint8 | Info bits | With extended byte int16 |
04 | 28 | uint8 | Data source | Acceleration |
40 | 29 | uint8 | Extended byte | 100Hz, sample 0 |
06 | 30 | uint8 | Data length | 6 bytes |
001000100450 | 31 | int16 | Data | X16 mG/Y16 mG/Z1104 mG |
Sensor Data 4 | ||||
15 | 37 | uint8 | Info bits | With extended byte int16 |
04 | 38 | uint8 | Data source | Acceleration |
41 | 39 | uint8 | Extended byte | 100Hz, sample 1 |
06 | 40 | uint8 | Data length | 6 bytes |
000800100430 | 41 | uint16 | Data | X8 mG/Y16 mG/Z1072 mG |
Sensor Data 5 | ||||
(Omitted) | ||||
Sensor Data 15 | ||||
15 | 177 | uint8 | Info bits | With extended byte int16 |
04 | 178 | uint8 | Data source | Acceleration |
4F | 179 | uint8 | Extended byte | 100Hz, sample 15 |
06 | 180 | uint8 | Data length | 6 bytes |
000000180438 | 181 | uint32 | Data | X0 mG/Y24 mG/Z1080 mG |
End of sensor data | ||||
28 | 187 | uint8 | Checksum 1 | 0x28 |
A5 | uint8 | Checksum 2 | 0xA5 | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the PAL App (Motion Sensor PAL), refer to the following points.
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and ID | Must be 0x83 |
- | - | Payload size | 188 bytes |
Example Parser Implementations
- Python
- Arduino (C++)
Notification PAL
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x84 |
14 | uint8 | Number of Sensor Data | Only 3 |
Sensor Data 1 | |||
15 | uint8 | Info bits | Only 0x11 |
16 | uint8 | Data source | Only 0x30 |
17 | uint8 | Extended byte | Only 0x08 |
18 | uint8 | Data length | Only 2 |
19 | uint16 | Data | Power supply voltage (mV) |
Sensor Data 2 | |||
21 | uint8 | Info bits | Only 0x11 |
22 | uint8 | Data source | Only 0x30 |
23 | uint8 | Extended byte | Only 0x01 |
24 | uint8 | Data length | Only 2 |
25 | uint16 | Data | ADC1 voltage (mV) |
Sensor Data 3 | |||
27 | uint8 | Info bits | Only 0x12 |
28 | uint8 | Data source | Only 0x05 |
29 | uint8 | Extended byte | Only 0x04 |
30 | uint8 | Data length | Only 4 |
31 | uint8 | Data | Acceleration event data |
32 | [uint8] | Unused | |
End of sensor data | |||
35 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:80000000C9BBC082014C3501808403 113008020D0C 1130010203F9 1205040410000000 97C6
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
C9 | 4 | uint8 | LQI | 201 /255 |
BBC0 | 5 | uint16 | Sequence number | 48064 |
82014C35 | 7 | uint32 | Serial ID of sender | 0x2014C35 |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | |
84 | 13 | uint8 | PAL board version and PAL board ID | Notification PAL V1 |
03 | 14 | uint8 | Number of Sensor Data | 3 items |
Sensor Data 1 | ||||
11 | 15 | uint8 | Info bits | With extended byte uint16 |
30 | 16 | uint8 | Data source | Voltage |
08 | 17 | uint8 | Extended byte | Power supply |
02 | 18 | uint8 | Data length | 2 bytes |
0D0C | 19 | uint16 | Data | 3340 mV |
Sensor Data 2 | ||||
11 | 21 | uint8 | Info bits | With extended byte uint16 |
30 | 22 | uint8 | Data source | Voltage |
01 | 23 | uint8 | Extended byte | ADC1 |
02 | 24 | uint8 | Data length | 2 bytes |
03F9 | 25 | uint16 | Data | 1017 mV |
Sensor Data 3 | ||||
12 | 27 | uint8 | Info bits | With extended byte uint32 |
05 | 28 | uint8 | Data source | Event |
04 | 29 | uint8 | Extended byte | Acceleration event |
04 | 30 | uint8 | Data length | 4 bytes |
10 | 31 | uint8 | Data | Move |
000000 | 32 | [uint8] | ||
End of sensor data | ||||
97 | 35 | uint8 | Checksum 1 | 0x97 |
C6 | uint8 | Checksum 2 | 0xC6 | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the PAL App (Notification PAL), refer to the following points.
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and ID | Must be 0x84 |
- | - | Payload size | 36 bytes |
1.1.1.1.4.2 - Output from CUE App (Parent and Repeater App)
TWELITE CUE Mode
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x05 |
14 | uint8 | Number of sensor data | Only 15 |
Sensor Data 1 | |||
15 | uint8 | Info bits | Only 0x00 |
16 | uint8 | Data source | Only 0x34 |
17 | uint8 | Extended byte | Only 0x00 |
18 | uint8 | Data length | Only 3 |
19 | [uint8] | Data | Packet property data |
Sensor Data 2 | |||
22 | uint8 | Info bits | Only 0x12 |
23 | uint8 | Data source | Only 0x05 |
24 | uint8 | Extended byte | 0x35 , 0x04 , or 0x00 |
25 | uint8 | Data length | Only 4 |
26 | uint32 | Data | Event data |
Sensor Data 3 | |||
30 | uint8 | Info bits | Only 0x11 |
31 | uint8 | Data source | Only 0x30 |
32 | uint8 | Extended byte | Only 0x08 |
33 | uint8 | Data length | Only 2 |
34 | uint16 | Data | Power supply voltage (mV) |
Sensor Data 4 | |||
36 | uint8 | Info bits | Only 0x11 |
37 | uint8 | Data source | Only 0x30 |
38 | uint8 | Extended byte | Only 0x01 |
39 | uint8 | Data length | Only 2 |
40 | uint16 | Data | Voltage of ADC1 (mV) |
Sensor Data 5 | |||
42 | uint8 | Info bits | Only 0x00 |
43 | uint8 | Data source | Only 0x00 |
44 | uint8 | Extended byte | Only 0x00 |
45 | uint8 | Data length | Only 1 |
46 | uint8 | Data | Magnetic data |
Sensor Data 6 | |||
47 | uint8 | Info bits | Only 0x15 |
48 | uint8 | Data source | Only 0x04 |
49 | uint8 | Extended byte | 0x?0 Frequency and sample number |
50 | uint8 | Data length | Only 6 |
51 | [int16] | Data | Acceleration data |
Sensor Data 7 | |||
57 | uint8 | Info bits | Only 0x15 |
58 | uint8 | Data source | Only 0x04 |
59 | uint8 | Extended byte | 0x?1 Frequency and sample number |
60 | uint8 | Data length | Only 6 |
61 | [int16] | Data | Acceleration data |
Sensor Data 8 | |||
(Omitted) | |||
Sensor Data 15 | |||
137 | uint8 | Info bits | Only 0x15 |
138 | uint8 | Data source | Only 0x04 |
139 | uint8 | Extended byte | 0x?9 Frequency and sample number |
140 | uint8 | Data length | Only 6 |
141 | int16 | Data | Acceleration data |
End of sensor data | |||
147 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to Checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Output Data Example
:80000000CF7F7382019E3B0180050F003400038135001205040406000000113008020B8611300102042E000000018015044006FFF00010FC1815044106FFF00018FC1815044206FFF00010FC0015044306FFF80000FC1015044406FFF00010FC1815044506FFE00018FBF815044606FFE80000FC0015044706FFE80010FBF815044806FFE80010FC0815044906FFE80010FC080C0E
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
CF | 4 | uint8 | LQI | 207 /255 |
7F73 | 5 | uint16 | Sequence number | 32627 |
82019E3B | 7 | uint32 | Serial ID of sender | 0x2019E3B |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | |
05 | 13 | uint8 | PAL board version and PAL board ID | TWELITE CUE |
0F | 14 | uint8 | Number of sensor data | 15 items |
Sensor Data 1 | ||||
00 | 15 | uint8 | Info bits | No extended byte uint8 |
34 | 16 | uint8 | Data source | Packet property |
00 | 17 | uint8 | Extended byte | None |
03 | 18 | uint8 | Data length | 3 bytes |
813500 | 19 | [uint8] | Data | ID 129 , timer event occurred |
Sensor Data 2 | ||||
12 | 22 | uint8 | Info bits | Extended byte present uint32 |
05 | 23 | uint8 | Data source | Event |
04 | 24 | uint8 | Extended byte | Acceleration event |
04 | 25 | uint8 | Data length | 4 bytes |
06000000 | 26 | uint32 | Data | Dice: 6 |
Sensor Data 3 | ||||
11 | 30 | uint8 | Info bits | Extended byte present uint16 |
30 | 31 | uint8 | Data source | Voltage |
08 | 32 | uint8 | Extended byte | Power supply voltage |
02 | 33 | uint8 | Data length | 2 bytes |
0B86 | 34 | uint16 | Data | 2950 mV |
Sensor Data 4 | ||||
11 | 36 | uint8 | Info bits | Extended byte present uint16 |
30 | 37 | uint8 | Data source | Voltage |
01 | 38 | uint8 | Extended byte | Voltage of ADC1 |
02 | 39 | uint8 | Data length | 2 bytes |
042E | 40 | uint16 | Data | 1070 mV |
Sensor Data 5 | ||||
00 | 42 | uint8 | Info bits | No extended byte uint8 |
00 | 43 | uint8 | Data source | Magnetic |
00 | 44 | uint8 | Extended byte | None |
01 | 45 | uint8 | Data length | 1 byte |
80 | 46 | uint8 | Data | No magnet (periodic transmit) |
Sensor Data 6 | ||||
15 | 47 | uint8 | Info bits | Extended byte present int16 |
04 | 48 | uint8 | Data source | Acceleration data |
40 | 49 | uint8 | Extended byte | 100Hz, sample 0 |
06 | 50 | uint8 | Data length | 6 bytes |
FFF00010FC18 | 51 | [int16] | Data | X-16 mG/Y16 mG/Z-1000 mG |
Sensor Data 7 | ||||
15 | 57 | uint8 | Info bits | Extended byte present int16 |
04 | 58 | uint8 | Data source | Acceleration data |
41 | 59 | uint8 | Extended byte | 100Hz, sample 1 |
06 | 60 | uint8 | Data length | 6 bytes |
FFF00018FC18 | 61 | [int16] | Data | X-16 mG/Y24 mG/Z-1000 mG |
Sensor Data 8 | ||||
(Omitted) | ||||
Sensor Data 15 | ||||
15 | 137 | uint8 | Info bits | Extended byte present int16 |
04 | 138 | uint8 | Data source | Acceleration data |
49 | 139 | uint8 | Extended byte | 100Hz, sample 9 |
06 | 140 | uint8 | Data length | 6 bytes |
FFE80010FC08 | 141 | int16 | Data | X-24 mG/Y16 mG/Z-1016 mG |
End of sensor data | ||||
0C | 147 | uint8 | Checksum 1 | 0x0C |
0E | uint8 | Checksum 2 | 0x0E | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the CUE App (TWELITE CUE mode), refer to the following points:
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and PAL board ID | Must be 0x05 |
- | - | Payload size | Must be 148 bytes |
Example Parser Implementations
- Python
- Arduino (C++)
Magnet Sensor PAL Mode
Motion Sensor PAL Mode (Acceleration Measurement Mode)
Motion Sensor PAL Mode (Move / Dice Mode)
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x03 |
14 | uint8 | Number of sensor data | Only 04 |
Sensor Data 1 | |||
15 | uint8 | Info bits | Only 0x00 |
16 | uint8 | Data source | Only 0x34 |
17 | uint8 | Extended byte | Only 0x00 |
18 | uint8 | Data length | Only 3 |
19 | [uint8] | Data | Packet property data |
Sensor Data 2 | |||
22 | uint8 | Info bits | Only 0x12 |
23 | uint8 | Data source | Only 0x05 |
24 | uint8 | Extended byte | Only 0x04 |
25 | uint8 | Data length | Only 4 |
26 | uint32 | Data | Event data |
Sensor Data 3 | |||
30 | uint8 | Info bits | Only 0x11 |
31 | uint8 | Data source | Only 0x30 |
32 | uint8 | Extended byte | Only 0x08 |
33 | uint8 | Data length | Only 2 |
34 | uint16 | Data | Power supply voltage (mV) |
Sensor Data 4 | |||
36 | uint8 | Info bits | Only 0x11 |
37 | uint8 | Data source | Only 0x30 |
38 | uint8 | Extended byte | Only 0x01 |
39 | uint8 | Data length | Only 2 |
40 | uint16 | Data | Voltage of ADC1 (mV) |
End of sensor data | |||
42 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to Checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Output Data Example
Below is an example for Dice Mode. For Move Mode, the event in Sensor Data 2
will differ.
:80000000B400048106664801800304003400038035001205040403000000113008020D2011300102052C59B7
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
B1 | 4 | uint8 | LQI | 177 /255 |
0008 | 5 | uint16 | Sequence number | 8 |
81066648 | 7 | uint32 | Serial ID of sender | 0x2019E3B |
01 | 11 | uint8 | Logical device ID of sender | 0x1066648 |
80 | 12 | uint8 | Sensor type | |
03 | 13 | uint8 | PAL board version and PAL board ID | TWELITE CUE Dice / Move |
04 | 14 | uint8 | Number of sensor data | 4 items |
Sensor Data 1 | ||||
00 | 15 | uint8 | Info bits | No extended byte uint8 |
34 | 16 | uint8 | Data source | Packet property |
00 | 17 | uint8 | Extended byte | None |
03 | 18 | uint8 | Data length | 3 bytes |
803500 | 19 | [uint8] | Data | ID 128 , event occurred (only ADC1 and power supply) |
Sensor Data 2 | ||||
12 | 22 | uint8 | Info bits | Extended byte present uint32 |
05 | 23 | uint8 | Data source | Event |
04 | 24 | uint8 | Extended byte | Acceleration event |
04 | 25 | uint8 | Data length | 4 bytes |
03000000 | 26 | uint32 | Data | Dice Mode, die: 3 |
Sensor Data 3 | ||||
11 | 30 | uint8 | Info bits | Extended byte present uint16 |
30 | 31 | uint8 | Data source | Voltage |
08 | 32 | uint8 | Extended byte | Power supply voltage |
02 | 33 | uint8 | Data length | 2 bytes |
0D20 | 34 | uint16 | Data | 3360 mV |
Sensor Data 4 | ||||
11 | 36 | uint8 | Info bits | Extended byte present uint16 |
30 | 37 | uint8 | Data source | Voltage |
01 | 38 | uint8 | Extended byte | Voltage of ADC1 |
02 | 39 | uint8 | Data length | 2 bytes |
052C | 40 | uint16 | Data | 1324 mV |
End of sensor data | ||||
59 | 42 | uint8 | Checksum 1 | 0x0C |
B7 | uint8 | Checksum 2 | 0x0E | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the CUE App (Move or Dice Mode of Motion Sensor PAL Mode), refer to the following points:
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and PAL board ID | Must be 0x03 |
- | - | Payload size | Must be 43 bytes |
Example Parser Implementations
1.1.1.1.4.3 - Output from Aria App (Parent and Repeater App)
TWELITE ARIA Mode
Data Format
# | Data | Content | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 to 255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x06 |
14 | uint8 | Number of sensor data | Only 7 |
Sensor data 1 | |||
15 | uint8 | Info bits | Only 0x00 |
16 | uint8 | Data source | Only 0x34 |
17 | uint8 | Extension byte | Only 0x00 |
18 | uint8 | Data length | Only 3 |
19 | [uint8] | Data | Packet property data |
Sensor data 2 | |||
22 | uint8 | Info bits | Only 0x12 |
23 | uint8 | Data source | Only 0x05 |
24 | uint8 | Extension byte | 0x35 or 0x00 |
25 | uint8 | Data length | Only 4 |
26 | uint32 | Data | Event data |
Sensor data 3 | |||
30 | uint8 | Info bits | Only 0x11 |
31 | uint8 | Data source | Only 0x30 |
32 | uint8 | Extension byte | Only 0x08 |
33 | uint8 | Data length | Only 2 |
34 | uint16 | Data | Power supply voltage (mV) |
Sensor data 4 | |||
36 | uint8 | Info bits | Only 0x11 |
37 | uint8 | Data source | Only 0x30 |
38 | uint8 | Extension byte | Only 0x01 |
39 | uint8 | Data length | Only 2 |
40 | uint16 | Data | ADC1 voltage (mV) |
Sensor data 5 | |||
42 | uint8 | Info bits | Only 0x00 |
43 | uint8 | Data source | Only 0x00 |
44 | uint8 | Extension byte | Only 0x00 |
45 | uint8 | Data length | Only 1 |
46 | uint8 | Data | Magnetic data |
Sensor data 6 | |||
47 | uint8 | Info bits | Only 0x05 |
48 | uint8 | Data source | Only 0x01 |
49 | uint8 | Extension byte | Only 0x00 |
50 | uint8 | Data length | Only 2 |
51 | int16 | Data | Temperature data |
Sensor data 7 | |||
53 | uint8 | Info bits | Only 0x01 |
54 | uint8 | Data source | Only 0x02 |
55 | uint8 | Extension byte | Only 0x00 |
56 | uint8 | Data length | Only 2 |
57 | uint16 | Data | Humidity data |
End of sensor data | |||
59 | uint8 | Checksum 1 | CRC8 up to previous byte |
uint8 | Checksum 2 | LRC8 up to Checksum 1 | |
char | Footer | CR (0x0D /\r ) | |
char | Footer | LF (0x0A /\n ) |
Data Identification Conditions
Parent and Repeater App can receive data from various types of child devices.
To confirm that the output data is from the Aria App (TWELITE ARIA Mode), refer to the following:
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | 0x80 |
13 | uint8 | PAL board version and PAL board ID | 0x06 |
- | - | Payload size | Must be 60 bytes |
Parser Implementation Examples
- Python
- Arduino (C++)
Open/Close Sensor Pal Mode
1.1.1.1.4.4 - Details of Output from Pal, Cue, and Aria Apps (Parent and Repeater App)
Overall
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | e.g. 0x81 |
14 | uint8 | Number of sensor data | |
15 | [uint8] | List of sensor data | Byte array of length (N) |
15+(N) | uint8 | Checksum 1 | CRC8 up to previous byte |
uint8 | Checksum 2 | LRC8 up to Checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:80000000A8001C82012B1E01808103113008020D0C1130010203E40000000101EC6E
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
A8 | 4 | uint8 | LQI | 168/255 |
001C | 5 | uint16 | Sequence number | 28 |
82012B1E | 7 | uint32 | Serial ID of sender | 0x2012B1E |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | - |
81 | 13 | uint8 | PAL board version and PAL board ID | 0x81 |
03 | 14 | uint8 | Number of sensor data | 3 |
1130...0101 | 15 | [uint8] | List of sensor data | Byte array of length 17 |
EC | 15+17 | uint8 | Checksum 1 | 0xEC |
6E | uint8 | Checksum 2 | 0x6E | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Sensor Data
Data Format
# | Data | Description | Notes |
---|---|---|---|
0 | uint8 | Info bits | Data type and presence of extension byte |
1 | uint8 | Data source | Type of sensor value |
2 | uint8 | Extension byte | Additional info for sensor value |
3 | uint8 | Data length | Length of sensor value |
4 | [uint8] | Data | Sensor value |
Example Output Data
113008020D0C
# | Data | Description | Value | |
---|---|---|---|---|
11 | 0 | uint8 | Info bits | Extension byte present, uint16 |
30 | 1 | uint8 | Data source | Voltage |
08 | 2 | uint8 | Extension byte | Power supply voltage |
02 | 3 | uint8 | Data length | 2 bytes |
0D0C | 4 | [uint8] | Data | 3340 mV |
Info Bits
Indicates the data type of the sensor value, presence of extension byte, and read error status.
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Function | ERR | - | - | EXT | - | TYP:2 | TYP:1 | TYP:0 |
Each function indicates the following:
Function | Description | Value | Meaning |
---|---|---|---|
ERR | Read error presence | 0 | Normal |
1 | Error present | ||
EXT | Extension byte presence | 0 | No extension byte |
1 | Extension byte present | ||
TYP | Data type | 000 | uint8 |
001 | uint16 | ||
010 | uint32 | ||
011 | N/A | ||
100 | int8 | ||
101 | int16 | ||
110 | int32 | ||
111 | [uint8] |
Data Source
Indicates the type of sensor value.
Value | Description |
---|---|
0x00 | Magnetic |
0x01 | Temperature |
0x02 | Humidity |
0x03 | Illuminance |
0x04 | Acceleration |
0x05 | Event |
0x30 | Voltage |
0x34 | Packet properties |
Extension Byte
Indicates additional information such as index for continuous data.
For data sources Magnetic / Temperature / Humidity / Illuminance / Packet Properties
None
For data source Acceleration
Indicates attributes of acceleration sample data.
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Function | SFQ:2 | SFQ:1 | SFQ:0 | SNM:4 | SNM:3 | SNM:2 | SNM:1 | SNM:0 |
Each function indicates the following:
Function | Description | Value | Meaning |
---|---|---|---|
SFQ | Sampling frequency | 000 (`0x00 | SNM`) |
001 (`0x20 | SNM`) | ||
010 (`0x40 | SNM`) | ||
011 (`0x60 | SNM`) | ||
100 or higher | Undefined | ||
SNM | Sample number | 0 -31 | Oldest first |
For data source Event
Indicates cause of event occurrence.
Value | Description |
---|---|
0x00 | Magnetic |
0x01 | Temperature |
0x02 | Humidity |
0x03 | Illuminance |
0x04 | Acceleration |
0x31 | Digital input |
0x35 | Timer |
For data source Voltage
Indicates target.
Value | Description |
---|---|
0x01 | ADC1 |
0x02 | ADC2 |
0x03 | ADC3 |
0x04 | ADC4 |
0x08 | Power supply |
Data Length
Indicates the number of bytes of the following data.
Data
Represents the sensor value.
For data source Magnetic
Data type is uint8
.
Value | Description |
---|---|
0x00 | No magnet |
0x01 | North pole approached |
0x02 | South pole approached |
0x80 | No magnet (periodic send) |
0x81 | North pole nearby (periodic send) |
0x82 | South pole nearby (periodic send) |
For data source Temperature
Data type is int16
.
Represents temperature in Celsius multiplied by 100.
For data source Humidity
Data type is uint16
.
Represents relative humidity multiplied by 100.
For data source Illuminance
Data type is uint32
.
Represents illuminance in lux.
For data source Acceleration
Three int16
values follow.
X, Y, Z axis values (mG) total 6 bytes.
byte | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
Content | X:15-8 | X:7-0 | Y:15-8 | Y:7-0 | Z:15-8 | Z:7-0 |
For data source Event
Four uint8
values follow.
The first data indicates the event content, the rest are unused.
byte | 0 | 1 | 2 | 3 |
---|---|---|---|---|
Content | Used | Unused | Unused | Unused |
Extension byte for Magnetic
First value | Description |
---|---|
0x00 | No magnet |
0x01 | North pole nearby |
0x02 | South pole nearby |
Extension byte for Acceleration
First value | Description |
---|---|
0x00 | Stationary (Move mode) |
0x01 | Dice: 1 |
0x02 | Dice: 2 |
0x03 | Dice: 3 |
0x04 | Dice: 4 |
0x05 | Dice: 5 |
0x06 | Dice: 6 |
0x08 | Shake |
0x10 | Move |
Extension byte for Timer
First value | Description |
---|---|
0x01 | Woken by timer |
For data source Voltage
Data type is uint16
.
Represents voltage in mV.
For data source Packet Properties
Three uint8
values follow.
byte | 0 | 1 | 2 |
---|---|---|---|
Data | Packet ID | Root cause of wake-up | Condition of wake-up |
Each data indicates the following:
Data | Value | Description |
---|---|---|
Packet ID | 0 | No event, only ADC1 and power voltage |
1 -127 | No event, other data present | |
128 | Event present, only ADC1 and power voltage | |
129 -255 | Event present, other data present | |
Root cause of wake-up | 0x00 | Magnetic |
0x01 | Temperature | |
0x02 | Humidity | |
0x03 | Illuminance | |
0x04 | Acceleration | |
0x31 | Digital input | |
0x35 | Timer | |
Condition of wake-up | 0x00 | Event occurred |
0x01 | Value changed | |
0x02 | Value exceeded threshold | |
0x03 | Value fell below threshold | |
0x04 | Value met range |
1.1.1.1.5 - Output from act (Parent and Repeater App)
Data Received from act
Data Format
# | Data | Content | Remarks |
---|---|---|---|
char | Header | : only | |
0 | uint8 | Source Logical Device ID | |
1 | uint8 | Command Type | only 0xAA |
2 | uint8 | Response ID | 0x00 -0x7F |
3 | uint32 | Source Serial ID | |
7 | uint32 | Destination Serial ID | 00000000 when specifying logical device ID |
11 | uint8 | LQI | 0 -255 |
12 | uint16 | Number of data bytes | |
14 | [uint8] | Arbitrary data | Length (N) bytes |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /\r ) | |
char | Footer | LF (0x0A /\n ) |
Example of Output Data
:FEAA008201015A00000000B7000F424154310F0CEE000B03FF03FF03FF92
# | Data | Content | Value | |
---|---|---|---|---|
: | char | Header | : | |
FE | 0 | uint8 | Source Logical Device ID | 0xFE |
AA | 1 | uint8 | Command Type | 0xAA |
00 | 2 | uint8 | Response ID | 0x00 |
8201015A | 3 | uint32 | Source Serial ID | 0x201015A |
00000000 | 7 | uint32 | Destination Serial ID | Logical Device ID specified |
B7 | 11 | uint8 | LQI | 183/255 |
000F | 12 | uint16 | Number of data bytes | 15 bytes |
424154310F0CEE000B03FF03FF03FF | 14 | [uint8] | Arbitrary data | As is |
92 | uint8 | Checksum | 0x92 | |
char | Footer | \r | ||
char | Footer | \n |
1.1.1.1.6 - Output from Wireless Tag App (Parent and Repeater App)
Analog Sensor
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint32 | Relay device serial ID | 80000000 if no relay |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Source serial ID | |
11 | uint8 | Source logical device ID | |
12 | uint8 | Sensor type | |
13 | uint8 | Power supply voltage (mV) | See Power Supply Voltage Calculation |
14 | uint16 | ADC1 voltage | |
16 | uint16 | ADC2 voltage | |
18 | uint32 | Unused | |
22 | uint8 | Checksum |
Example Output Data
:80000000B700628201015A0010DF08FD09A300000000E9
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Relay device serial ID | No relay |
B7 | 4 | uint8 | LQI | 183/255 |
0062 | 5 | uint16 | Sequence number | 98 |
8201015A | 7 | uint32 | Source serial ID | 0x201015A |
00 | 11 | uint8 | Source logical device ID | 0x00 |
10 | 12 | uint8 | Sensor type | Analog sensor |
DF | 13 | uint8 | Power supply voltage (mV) | 3330 mV |
08FD | 14 | uint16 | ADC1 voltage | 2301 mV |
09A3 | 16 | uint16 | ADC2 voltage | 2467 mV |
00000000 | 18 | uint32 | Unused | |
E9 | 22 | uint8 | Checksum | 0xE9 |
char | Footer | \r | ||
char | Footer | \n |
Accelerometer (ADXL34x / TWELITE 2525A)
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint32 | Relay device serial ID | 80000000 if no relay |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Source serial ID | |
11 | uint8 | Source logical device ID | |
12 | uint8 | Sensor type | |
13 | uint8 | Power supply voltage (mV) | See Power Supply Voltage Calculation |
14 | uint16 | ADC1 voltage | |
16 | uint16 | ADC2 voltage | |
18 | uint8 | Sensor mode number | |
19 | int16 | X-axis acceleration | Unit: mG*10 |
21 | int16 | Y-axis acceleration | Unit: mG*10 |
23 | int16 | Z-axis acceleration | Unit: mG*10 |
25 | uint8 | Checksum |
Example Output Data
:8000000063001781013C850035DF057702F2000000FF96FFF0BB
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Relay device serial ID | No relay |
63 | 4 | uint8 | LQI | 99/255 |
0017 | 5 | uint16 | Sequence number | 23 |
81013C85 | 7 | uint32 | Source serial ID | 0x1013C85 |
00 | 11 | uint8 | Source logical device ID | 0x00 |
35 | 12 | uint8 | Sensor type | Accelerometer (ADXL34x) |
DF | 13 | uint8 | Power supply voltage (mV) | 3330 mV |
0577 | 14 | uint16 | ADC1 voltage | 1399 mV |
02F2 | 16 | uint16 | ADC2 voltage | 754 mV |
00 | 18 | uint8 | Sensor mode number | Normal |
0000 | 19 | int16 | X-axis acceleration | 0 mG |
FF96 | 21 | int16 | Y-axis acceleration | -1060 mG |
FFF0 | 23 | int16 | Z-axis acceleration | -160 mG |
BB | 25 | uint8 | Checksum | 0xBB |
char | Footer | \r | ||
char | Footer | \n |
Switch
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint32 | Relay device serial ID | 80000000 if no relay |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Source serial ID | |
11 | uint8 | Source logical device ID | |
12 | uint8 | Sensor type | |
13 | uint8 | Power supply voltage (mV) | See Power Supply Voltage Calculation |
14 | uint16 | ADC1 voltage | |
16 | uint16 | ADC2 voltage | |
18 | uint8 | Sensor mode number | 0 is Hi→Lo, 1 is Lo→Hi |
19 | uint8 | DI1 state | 1 is Lo |
20 | uint8 | Unused | |
21 | uint8 | Checksum |
Example Output Data
:800000009C00118201015A00FEDF000709A300010064
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | ||
80000000 | 0 | uint32 | Relay device serial ID | No relay |
9C | 4 | uint8 | LQI | 156/255 |
0062 | 5 | uint16 | Sequence number | 98 |
8201015A | 7 | uint32 | Source serial ID | 0x201015A |
00 | 11 | uint8 | Source logical device ID | 0x00 |
FE | 12 | uint8 | Sensor type | Switch |
DF | 13 | uint8 | Power supply voltage (mV) | 3330 mV |
0007 | 14 | uint16 | ADC1 voltage | 7 mV |
09A3 | 16 | uint16 | ADC2 voltage | 2467 mV |
00 | 18 | uint8 | Sensor mode number | Hi→Lo |
01 | 19 | uint8 | DI1 state | Lo |
00 | 20 | uint8 | Unused | |
64 | 21 | uint8 | Checksum | 0x64 |
char | Footer | \r | ||
char | Footer | \n |
Power Supply Voltage Calculation
The power supply voltage \(V_{cc}\) can be expressed using the received value \(e_{cc}\) as follows:
Unit is mV
1.1.1.2 - Transmit Command of Parent and Repeater App
Commands entered from the serial port in the specified format are sent to the child.
1.1.1.2.1 - Input to the Extremely Simple! Standard App (Parent and Repeater App)
Digital and Analog Input/Output
0x80
: Change Output of the Target Device
Controls the output signals of the target device.
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint8 | Destination Logical Device ID | Parent 0x00 , Child 0x01 -0x64 , All Children 0x78 |
1 | uint8 | Command Number | 0x80 only |
2 | uint8 | Format Version | 0x01 only |
3 | uint8 | Digital Signal | Corresponds to DOx from LSB, 0 means High |
4 | uint8 | Digital Signal Mask | Corresponds to DOx from LSB, 1 means Enabled |
5 | uint16 | PWM1 Signal | 0 -1024 , 0xFFFF means Disabled |
7 | uint16 | PWM2 Signal | 0 -1024 , 0xFFFF means Disabled |
9 | uint16 | PWM3 Signal | 0 -1024 , 0xFFFF means Disabled |
11 | uint16 | PWM4 Signal | 0 -1024 , 0xFFFF means Disabled |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
1.1.1.2.2 - Input to the Serial Communication App (Parent and Repeater App)
UART
Format Mode: ASCII Simple Format
App_Wings v1.3 and later support the simple format of format mode (A).
As of September 2024, App_Wings v1.3 is not included in the publicly available SDK.
You can download App_Wings v1.3 from the following links and use it by specifying the file to write.
- BLUE version:
App_Wings_BLUE_L1305_V1-3-2.bin
- RED version:
App_Wings_RED_L1305_V1-3-2.bin
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Destination Logical Device ID | Parent 0x00 , Child 0x01 -0x64 , All Children 0x78 |
1 | uint8 | Command Number | Any value less than 0x80 |
2 | [uint8] | Arbitrary Data | Byte sequence of length \(N\) (recommended \(N\leqq80\)) |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
1.1.1.2.3 - Input to the PAL App (Notification PAL) (Parent and Repeater App)
:0190010004000169[CR][LF]
^1^2^3^^^^^^^4^5
No. | Bytes | Meaning | Example Data | Notes |
---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Specify the logical device ID of the destination TWELITE PAL. |
2 | 1 | Command Type | 90 | |
3 | 1 | Number of Command Parameters | 01 | Specify the number of command parameters. For example, set to 1 if specifying one command parameter, or 2 if specifying two. |
4 | Number of Commands x 4 | Command Parameters | 00040001 | Specify parameters such as events and LED colors. |
5 | 1 | Checksum | 69 | Calculate the sum of bytes 1 to 4 within 8 bits and take the two’s complement. In other words, the sum of all data bytes plus the checksum byte equals zero within 8 bits. |
6 | 2 | Footer | [CR][LF] | Specify [CR] (0x0D) [LF] (0x0A). However, if the checksum is omitted with ‘X’, the footer can also be omitted. |
Command Parameters
Combine 4-byte command parameters to specify commands.
0x00: Send Event ID
The TWELITE PAL has predefined behaviors for each received event ID. This parameter sends an event ID to the destination TWELITE PAL to trigger the configured behavior.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x00 |
2 | 1 | Destination PAL ID | Specify the destination PAL ID. |
3 | 1 | Unused | Fixed at 0x00 |
4 | 1 | Event ID | Specify event ID from 0 to 16 |
0x01: Send LED Color, Blinking Pattern, and Brightness
Send the LED color, blinking pattern, and brightness to the destination Notification PAL.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x01 |
2 | 1 | Color | 0: Red |
3 | 1 | Blinking Pattern | 0: Always on |
4 | 1 | Brightness | 0: Off |
0x02: Send Lighting Duration
Send the lighting duration of the Notification PAL’s LED.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x02 |
2 | 1 | Unused | Fixed at 0xFF |
3 | 1 | Unused | Fixed at 0x00 |
4 | 1 | Lighting Duration | Specified in seconds (0 means always on) |
0x03: Specify LED Color in RGBW
Send the LED lighting color of the Notification PAL in RGBW.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x03 |
2 | 1 | Unused | Fixed at 0xFF |
3 | 2 | LED Lighting Color | Specify 4 bits each for RGBW in order from LSB. Higher value means brighter. |
0x04: Specify Blinking Parameters
Send the blinking cycle and duty of the Notification PAL’s LED.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x04 |
2 | 1 | Unused | Fixed at 0xFF |
3 | 1 | Blinking Time Ratio | Specify from 0x00 to 0xFF. Higher value means longer ON time per cycle. 0x7F means ON for half of the cycle. |
4 | 1 | Blinking Cycle | Specify from 0x00 to 0xFF. Each increment increases the blinking cycle by about 0.04s. 0x17 corresponds to a 1-second cycle. |
Command Examples
Example 1: Send Event
Command example to send event 1 to the NOTICE PAL with logical device ID 1.
:0190010004000169
^1^2^3^4^5^6^7^8
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 01 | One command | |
4 | 1 | Command ID | 00 | Command 00 | |
5 | 1 | Destination PAL ID | 04 | Sent to Notification PAL | |
6 | 1 | Unused | 00 | ||
7 | 1 | Event ID | 01 | Event 1 | 0x00 to 0x10 |
8 | 1 | Checksum | 69 |
Example 2: Send LED Lighting Color to Notification PAL
Command to send LED lighting color with brightness 8 and slow blinking white to the NOTICE PAL with logical device ID 1.
:019001010601085E
^1^2^3^4^5^6^7^8
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 01 | One command | |
4 | 1 | Command Parameter ID | 01 | Command parameter ID 0x01 | |
5 | 1 | Color | 06 | White | |
6 | 1 | Blinking Pattern | 01 | Blinking | |
7 | 1 | Brightness | 08 | Brightness 8 | Range 0x00 to 0x0F |
8 | 1 | Checksum | 5E |
Example 3: Send LED Lighting Color and Lighting Duration to Notification PAL
Command to light up purple and turn off after 1 second for the NOTICE PAL with logical device ID 1.
:0190020104000802FF00015E
^1^2^3^4^5^6^7^8^9^a^b^c
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 02 | Two commands | |
4 | 1 | Command Parameter ID | 01 | Command parameter ID 0x01 | |
5 | 1 | Color | 04 | Purple | |
6 | 1 | Blinking Pattern | 00 | Always on | |
7 | 1 | Brightness | 08 | Brightness 8 | Range 0x00 to 0x0F |
8 | 1 | Command Parameter ID | 02 | Command parameter ID 0x02 | |
9 | 1 | Unused | FF | ||
a | 1 | Unused | 00 | ||
b | 1 | Lighting Duration | 01 | Turns off after 1 second | |
c | 1 | Checksum | 5E |
Example 4: Send Detailed Lighting Color to Notification PAL
Command to light up purple for the NOTICE PAL with logical device ID 1.
:01900103FF0F0459
^1^2^3^4^5^^^6^7
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 01 | One command | |
4 | 1 | Command Parameter ID | 03 | Command parameter ID 0x03 | |
5 | 1 | Unused | FF | ||
6 | 2 | LED Lighting Color | 0F04 | Lights blue at 15 and red at 4 brightness | Specify 4 bits each for RGBW in order from LSB (0–15). Higher value means brighter. |
7 | 1 | Checksum | 59 |
Example 5: Send LED Lighting Color and Lighting Duration to Notification PAL
Command to light up purple and turn off after 1 second for the NOTICE PAL with logical device ID 1.
:0190020104000802FF00015E
^1^2^3^4^5^6^7^8^9^a^b^c
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 02 | Two commands | |
4 | 1 | Command Parameter ID | 01 | Command parameter ID 0x01 | |
5 | 1 | Color | 04 | Purple | |
6 | 1 | Blinking Pattern | 00 | Always on | |
7 | 1 | Brightness | 08 | Brightness 8 | Range 0x00 to 0x0F |
8 | 1 | Command Parameter ID | 02 | Command parameter ID 0x02 | |
9 | 1 | Unused | FF | ||
a | 1 | Unused | 00 | ||
b | 1 | Lighting Duration | 01 | Turns off after 1 second | |
c | 1 | Checksum | 5E |
1.1.2 - Repeater Mode of Parent and Repeater App
Example Settings
To use as a repeater, set the Operating Mode in interactive mode to 1
or higher.
Relay Methods
TWELITE NET provides two major relay methods for wireless packet delivery, as shown in the table below, which differ depending on the application. This app can identify and relay packets of the applications shown in the table below.
Relay Method | Supported Applications |
---|---|
Simple Net | Extremely Simple! Standard App, Remote Control App, Serial Communication App, ACT |
Relay Net | Wireless Tag App, PAL App, CUE App |
Relay Using Simple Net
When relaying applications using Simple Net, setting the operating mode to 1 or higher allows up to three relays.
For example, in case 1., if there are up to 3 Repeaters between the Parent and Child, data will reach the Parent, but in case 2., if there are 4 or more Repeaters, data will not reach the Parent.
1. Child ---> Repeater ---> Repeater ---> Repeater ---> Parent
→ Parent can receive Child's data relayed 3 times.
2. Child ---> Repeater ---> Repeater ---> Repeater ---> Repeater -x-> Parent
→ Stops relaying at the 4th relay.
Relaying with Simple Net basically uses broadcast communication and relays all received packets. The advantage is that communication to form and maintain the relay network is not necessary, but the disadvantage is that communication volume can explode as the number of Repeaters increases.
For details, please refer to here.
Relay Using Relay Net
For relaying data of applications using Relay Net with one stage of relay, set the operating mode value to 1.
When performing multiple relays, increase the operating mode setting value as the distance from the Parent increases. (It is acceptable if the setting values are in ascending order even if some values are skipped.)
The maximum number of relays for this method is up to 63 times.
Example 1: One relay\
Child ---> Repeater (Operating Mode: 1) ---> Parent
Example 2: Two relays\
Child ---> Repeater (Operating Mode: 2) ---> Repeater (Operating Mode: **1**) ---> Parent
Example 3: Three relays\
Child ---> Repeater (Operating Mode: 6) ---> Repeater (Operating Mode: 3) ---> Repeater (Operating Mode: 1) ---> Parent
Relay Net is a tree-type network designed to efficiently deliver upstream packets. Repeaters search for an upper layer (Parent or Repeater with a smaller operating mode setting) and relay to one discovered upper layer device.
Therefore, even if the number of Repeaters increases, the communication volume is less likely to become large compared to Simple Net, but communication occurs to discover and maintain the connection destination.
For details, please see here.
When Performing Static Routing (Directly Specifying Relay Destination)
When relaying with Relay Net, considering the layout as shown in the figure below, Repeater 2 automatically selects either the Parent or Repeater 1 as the connection destination.
Basically, fewer relays tend to have a higher delivery rate to the Parent, but if the Parent is selected as the connection destination for Repeater 2, communication quality may deteriorate due to obstacles between Parent and Repeater 2, resulting in a lower delivery rate to the Parent than when relaying through Repeater 1.
Therefore, this app has a function (static routing function) to specify the connection destination of Repeaters by TWELITE serial number.

When performing static routing, set the route from Repeater 2 to Repeater 1 statically, or set all routes statically.
Setting all routes increases the amount of configuration and does not support redundancy for situations such as Repeater failure or changes in radio conditions, but it eliminates the time to determine the upper communication destination and allows prompt relay operation.
To perform static routing, set the connection destination as shown in the table below: Repeater 1’s connection destination is the Parent’s SID, and Repeater 2’s connection destination is Repeater 1’s SID.
Example: Two-stage relay (Parent ← Repeater 1 ← Repeater 2 ← Child)
TWELITE SID Example | Connection Destination (A: Access Point Address) Setting Example | Operating Mode (l:Mode) Setting Example | |
---|---|---|---|
Parent | 810F155E | - | 0 |
Repeater 1 | 810E18E8 | 810F155E (Parent’s SID)※ | 1 |
Repeater 2 | 810F17FF | 810E18E8 (Repeater 1’s SID) | 2 |
※ If you only want to deal with effects caused by walls as shown in the figure, this setting is unnecessary.
1.2 - Interactive Mode (Parent and Repeater App)
This section describes functions specific to the Parent and Repeater App (App_Wings). For common functions, refer to the top page of the TWELITE APPS manual.
Display Example
A screen like the following will appear:
[CONFIG MENU/App_Wings:ROUTER:0/v1-03-2/SID=8300051A]
a: (0x67720102) Application ID [HEX:32bit]
c: (18 ) Channel(s)
x: ( 0x03) RF Power/Retransmissions [HEX:8bit]
b: (115200,8N1) UART Baud Alt. [XXXXX]
o: (0x00000001) Option bits [HEX:32bit]
t: (0xA5A5A5A5) Encryption key [HEX: 32bits]
m: ( 1) [1] default, [2-63] to specify the layer of the LayerNetwork.
A: (0x00000000) Relay destination [HEX:32bit]
[ESC]:Exit [!]:Reset System [*]:Extr Menu [:]:AppSel
Note:
m
andA
are for repeater mode only.
Commands
Item | Default Value | Notes | |
---|---|---|---|
a | Application ID | 0x67720102 | 32bit |
c | Frequency Channel | 18 | 11 –26 |
x | Tx Power and Retry Count | 03 | |
Retry Count | 0 | 1 –9 times, 0 = initial value | |
Tx Power | 3 | 0 –3 | |
b | Alternative UART Settings | 38400,8N1 | Enabled via option bit |
o | Option Bits | 0x00000000 | Other detailed settings |
k | Encryption Key | 0xA5A5A5A5 | 32bit |
m | Operation Mode | 0 | Repeater only. 1 =normal, 1 –63 =layer |
A | Relay Destination | 0x00000000 | Repeater mode only |
Details of each command are as follows:
a
: Application ID
All devices that communicate must use the same value. This logically separates networks.
c
: Frequency Channel
All devices that communicate must use the same value. This physically separates networks.
x
: Tx Power and Retry Count
Specify the radio transmission power and the number of additional transmissions per packet.
b
: Alternative UART Settings
Specify UART options when Enabling Alternative UART Settings is enabled in the Option Bits.
You can choose a baud rate from 9600
/ 19200
/ 38400
/ 57600
/ 115200
/ 230400
.
Bit-Parity-Stop
.115200,8N1
will be applied.o
: Option Bits
Specify a 32-bit value. Each bit enables a corresponding setting.
Bit Flag | Setting Description | Default |
---|---|---|
0x00000200 | Enabling Alternative UART Settings | 0️⃣ |
0x00000400 | Suppress Periodic Transmission Output | 0️⃣ |
0x00001000 | Enable Encrypted Communication | 0️⃣ |
0x00002000 | Enable Plaintext Reception in Encrypted Mode | 0️⃣ |
0x00010000 | Disable LED | 0️⃣ |
0x00020000 | Disable LED in Standby | 0️⃣ |
k
: Encryption Key
Specify a 32-bit hexadecimal encryption key when Enable Encrypted Communication is set in the Option Bits.
m
: Operation Mode
Set 0
for parent mode, and 1
for repeater mode.
When using multi-hop relaying in repeater mode, you can specify the relay layer with a value from 2
to 63
.
A
: Relay Destination
When performing static routing in repeater mode, specify the Serial ID (0x8???????
) of the upstream device. If set to 0x00000000
, it will search automatically.
Details of Option Bits
This section explains the settings associated with each bit in the Option Bits value.
00000200
: Enabling Alternative UART Settings
Enables b
: Alternative UART Settings.
00000400
: Suppress Periodic Transmission Output
Suppresses the 1-second periodic transmission and continuous UART output of the Extremely Simple! Standard App and Remote App.
00001000
: Enable Encrypted Communication
Enables encrypted communication. The other side must also have encryption enabled.
00002000
: Enable Plaintext Reception in Encrypted Mode
Allows reception of unencrypted packets even when encrypted communication is enabled.
00010000
: Disable LED
Disables the LED on TWELITE STICK and MONOSTICK.
00020000
: Disable LED in Standby
Disables the LED on TWELITE STICK and MONOSTICK while in standby.
2 - Parent and Repeater App Manual
Features
Can process all data packets of TWELITE APPS and act, and can be used as common parent or repeater.
- Collect data from multiple TWELITE APPS and act such as Extremely Simple! Standard App and Pal App with one MONOSTICK.
- Can operate multiple systems separately on 16 channels.
- By setting application ID, multiple systems can coexist on the same channel.
- Communication range extension with repeater function.
2.1 - Operating Modes of Parent and Repeater App
There are two modes: Parent mode and Repeater mode.
2.1.1 - Parent Mode of Parent and Repeater App
Receives data sent from child devices and outputs it via the serial port. Also sends commands input from the serial port to child devices.
2.1.1.1 - Messages of Parent and Repeater Apps
Receives data sent from child devices and outputs it from the serial port in a predefined format.
2.1.1.1.1 - Output from the Extremely Simple! Standard App (Parent and Repeater App)
0x81
: Status Notification from the Peer Device
Outputs the status of the received input signals.
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Logical Device ID of Sender | |
1 | uint8 | Command Number | Only 0x81 |
2 | uint8 | Packet Identifier | Generated from Application ID |
3 | uint8 | Protocol Version | Only 0x01 |
4 | uint8 | LQI | 0 -255 |
5 | uint32 | Serial ID of Sender | 0x8??????? |
9 | uint8 | Logical Device ID of Receiver | |
10 | uint16 | Timestamp | 64 counts per second |
12 | uint8 | Number of Relays | |
13 | uint16 | Power Supply Voltage | Unit: mV |
15 | int8 | - | (Unused) |
16 | uint8 | Digital Signals | Corresponds to DIx from LSB upwards, 0 means HighIf MSB is 1 , periodic transmission |
17 | uint8 | Digital Signal Mask | Corresponds to DIx from LSB upwards, 1 means valid |
18 | uint8 | Converted Value of AI1 | See Calculation of Analog Signals, 0xFF means unused |
19 | uint8 | Converted Value of AI2 | See Calculation of Analog Signals, 0xFF means unused |
20 | uint8 | Converted Value of AI3 | See Calculation of Analog Signals, 0xFF means unused |
21 | uint8 | Converted Value of AI4 | See Calculation of Analog Signals, 0xFF means unused |
22 | uint8 | Correction Value of AIx | Corresponds to AIx in 2-bit increments from LSB upwards |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Calculation of Analog Signals
The input voltage \(V\) of AIx
can be expressed by the received converted value \(e_{r}\) and the correction value \(e_{fr}\) as follows:
The unit is mV
Example of Output Data
:78811501C98201015A000391000C2E00810301FFFFFFFFFB
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
78 | 0 | uint8 | Logical Device ID of Sender | 0x78 |
81 | 1 | uint8 | Command Number | 0x81 |
15 | 2 | uint8 | Packet Identifier | 0x15 |
01 | 3 | uint8 | Protocol Version | 0x01 |
C9 | 4 | uint8 | LQI | 201/255 |
8201015A | 5 | uint32 | Serial ID of Sender | 0x201015A |
00 | 9 | uint8 | Logical Device ID of Receiver | 0x00 |
0391 | 10 | uint16 | Timestamp | Approx. 14.27 seconds |
00 | 12 | uint8 | Number of Relays | 0 |
0C2E | 13 | uint16 | Power Supply Voltage | 3118 mV |
00 | 15 | int8 | - | |
81 | 16 | uint8 | Digital Signals | DI1 L DI2 H DI3 H DI4 H (Periodic transmission) |
03 | 17 | uint8 | Digital Signal Mask | DI1 DI2 |
01 | 18 | uint8 | Converted Value of AI1 | 16 mV |
FF | 19 | uint8 | Converted Value of AI2 | Unused |
FF | 20 | uint8 | Converted Value of AI3 | Unused |
FF | 21 | uint8 | Converted Value of AI4 | Unused |
FF | 22 | uint8 | Correction Value of AIx | AI1 0x03 |
FB | uint8 | Checksum | 0xFB | |
char | Footer | \r | ||
char | Footer | \n |
Data Identification Conditions
The parent and relay apps can receive data from various types of child devices.
To confirm whether the output data is from the Extremely Simple! Standard App, refer to the following:
# | Data | Item | Condition |
---|---|---|---|
1 | uint8 | Command Number | Must be 0x81 |
3 | uint8 | Protocol Version | Must be 0x01 |
5 | uint32 | Serial ID of Sender | MSB must be 1 (i.e., 0x8??????? ) |
- | - | Payload Size | Must be 23 bytes (between : and checksum) |
Parser Implementation Examples
- Python
- Arduino (C++)
0x01
: Reception of Arbitrary Data
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Logical Device ID of Sender | Parent 0x00 , Child 0x01 -0x64 , Unset Child 0x78 |
1 | uint8 | Command Number | Only 0x01 |
2 | [uint8] | Arbitrary Data | Byte array of length \(N\) |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
0x01
in the Format Mode (ASCII) of Serial Communication App - Simple Format.2.1.1.1.2 - Output from Remote Control App (Parent and Repeater App)
0x81
: Status Notification from Remote Device
Outputs the state of the received input signal.
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | : only | |
0 | uint8 | Source Logical Device ID | |
1 | uint8 | Command Number | Only 0x81 |
2 | uint8 | Packet Identifier | Only 0x0F |
3 | uint8 | Protocol Version | Only 0x01 |
4 | uint8 | LQI | 0 -255 |
5 | uint32 | Source Serial ID | 0x8??????? |
9 | uint8 | Destination Logical Device ID | |
10 | uint16 | Timestamp | 64 counts per second, MSB is internal flag |
12 | uint8 | Relay Count | |
13 | uint16 | Digital Signal | Corresponds to Ix from LSB, 0 is High |
15 | uint16 | Digital Signal Mask | Corresponds to Ix from LSB, 1 means enabled |
17 | uint16 | Digital Signal Flag | Corresponds to Ix from LSB, 1 means interrupt triggered |
19 | uint8 | Unused | Internal management |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /\r ) | |
char | Footer | LF (0x0A /\n ) |
Example of Output Data
:01810F01DB8630000200645F000040004F00400049
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
01 | 0 | uint8 | Source Logical Device ID | 0x78 |
81 | 1 | uint8 | Command Number | 0x81 |
0F | 2 | uint8 | Packet Identifier | 0x15 |
01 | 3 | uint8 | Protocol Version | 0x01 |
DB | 4 | uint8 | LQI | 219/255 |
86300002 | 5 | uint32 | Source Serial ID | 0x6300002 |
00 | 9 | uint8 | Destination Logical Device ID | 0x00 |
645F | 10 | uint16 | Timestamp | About 401 seconds |
00 | 12 | uint8 | Relay Count | 0 |
0040 | 13 | uint16 | Digital Signal | I7 is Low |
004F | 15 | uint16 | Digital Signal Mask | I7 , I1 -I4 are enabled |
0040 | 17 | uint16 | Digital Signal Flag | I7 has changed due to interrupt |
00 | 19 | uint8 | Unused | |
49 | uint8 | Checksum | 0x49 | |
char | Footer | \r | ||
char | Footer | \n |
Data Identification Conditions
Parent and Repeater App can receive data from various types of child devices.
To confirm that the output data is from the Remote Control App, refer to the following conditions.
# | Data | Item | Condition |
---|---|---|---|
1 | uint8 | Command Number | Must be 0x81 |
3 | uint8 | Protocol Version | Must be 0x02 |
5 | uint32 | Source Serial ID | MSB must be 1 (0x8??????? ) |
- | - | Payload Size | Must be 20 bytes (between : and checksum) |
Example Parser Implementations
2.1.1.1.3 - Output from Serial Communication App (Parent and Repeater App)
This app can only receive packets in format mode.
Please note that the output for packets received in transparent mode or chat mode is undefined.
Format Mode: Simple Format
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Logical device ID of sender | Parent 0x00 , child 0x01 -0x64 , unassigned child 0x78 |
1 | uint8 | Command number | Value less than 0x80 specified by sender |
2 | [uint8] | Arbitrary data | Byte array of length (N) |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example of Output Data
:780100112233AABBCCDD13
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
78 | 0 | uint8 | Logical device ID of sender | Unassigned child ID |
01 | 1 | uint8 | Command number | 0x01 |
00112233AABBCCDD | 2 | [uint8] | Arbitrary data | As is |
13 | uint8 | Checksum | 0x13 | |
char | Footer | \r | ||
char | Footer | \n |
Conditions to Identify Data
The Parent and Repeater App can receive data from various types of child devices.
To verify whether the output data is from the serial communication app (format mode: simple format), refer to the following:
# | Data | Item | Condition |
---|---|---|---|
0 | uint8 | Logical device ID of sender | Must be less than or equal to 0x64 or equal to 0x78 |
1 | uint8 | Command number | Must be less than 0x80 |
- | - | Payload size | Must be between 3 and 82 bytes |
Example Implementation of Parser
- Python
- Arduino (C++)
Format Mode: Extended Format
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Logical device ID of sender | Parent 0x00 , child 0x01 -0x64 , unassigned child 0x78 |
1 | uint8 | Command number | Only 0xA0 |
2 | uint8 | Response ID | Value specified by sender |
3 | uint32 | Extended address of sender | Value with 0x8 added at the start of serial ID |
7 | uint32 | Extended address of receiver | 0xFFFFFFFF when logical device ID is used |
11 | uint8 | LQI | Radio communication quality at reception |
12 | uint16 | Length of following byte array | Number of bytes (M) |
14 | [uint8] | Arbitrary data | Byte array of length (M) |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example of Output Data
:78A0028201015AFFFFFFFFA8000700112233AABBCCC6
# | Data | Description | Notes | |
---|---|---|---|---|
: | char | Header | : | |
78 | 0 | uint8 | Logical device ID of sender | Unassigned child ID |
A0 | 1 | uint8 | Command number | 0xA0 |
02 | 2 | uint8 | Response ID | 0x02 |
8201015A | 3 | uint32 | Extended address of sender | 0x201015A |
FFFFFFFF | 7 | uint32 | Extended address of receiver | Logical device ID specified |
A8 | 11 | uint8 | LQI | 168/255 |
0007 | 12 | uint16 | Length of following byte array | 7 bytes |
00112233AABBCC | 14 | [uint8] | Arbitrary data | As is |
C6 | uint8 | Checksum | 0xC6 | |
char | Footer | |||
char | Footer |
Conditions to Identify Data
The Parent and Repeater App can receive data from various types of child devices.
To verify whether the output data is from the serial communication app (format mode: extended format), refer to the following:
# | Data | Item | Condition |
---|---|---|---|
0 | uint8 | Logical device ID of sender | Must be less than or equal to 0x64 or equal to 0x78 |
1 | uint8 | Command number | Must be 0xA0 |
2 | uint8 | Response ID | Must be less than 0x80 |
3 | uint32 | Extended address of sender | MSB must be 1 (i.e., 0x8??????? ) |
12 | uint16 | Length of following byte array | Must be payload size - 14 bytes |
Example Implementation of Parser
2.1.1.1.4 - Output from Pal/Cue/Aria Apps (Parent and Repeater App)
2.1.1.1.4.1 - Output from PAL App (Parent and Repeater App)
General
Data received from the PAL App is represented as a series of sensor data consisting of sensor type and its value.
Below are specific examples according to the product type.
Open/Close Sensor PAL
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x81 |
14 | uint8 | Number of sensor data | Only 3 |
Sensor data 1 | |||
15 | uint8 | Info bits | Only 0x11 |
16 | uint8 | Data source | Only 0x30 |
17 | uint8 | Extended byte | Only 0x08 |
18 | uint8 | Data length | Only 2 |
19 | uint16 | Data | Power supply voltage (mV) |
Sensor data 2 | |||
21 | uint8 | Info bits | Only 0x11 |
22 | uint8 | Data source | Only 0x30 |
23 | uint8 | Extended byte | Only 0x01 |
24 | uint8 | Data length | Only 2 |
25 | uint16 | Data | ADC1 voltage (mV) |
Sensor data 3 | |||
27 | uint8 | Info bits | Only 0x00 |
28 | uint8 | Data source | Only 0x00 |
29 | uint8 | Extended byte | Only 0x00 |
30 | uint8 | Data length | Only 1 |
31 | uint8 | Data | Magnetic data |
End of sensor data | |||
32 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:80000000A8001C82012B1E01808103113008020D0C1130010203E40000000101EC6E
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
A8 | 4 | uint8 | LQI | 168 /255 |
001C | 5 | uint16 | Sequence number | 28 |
82012B1E | 7 | uint32 | Serial ID of sender | 0x2012B1E |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | |
81 | 13 | uint8 | PAL board version and PAL board ID | Open/Close PAL V1 |
03 | 14 | uint8 | Number of sensor data | 3 |
Sensor data 1 | ||||
11 | 15 | uint8 | Info bits | With extended byte uint16 |
30 | 16 | uint8 | Data source | Voltage |
08 | 17 | uint8 | Extended byte | Power supply |
02 | 18 | uint8 | Data length | 2 bytes |
0D0C | 19 | uint16 | Data | 3340 mV |
Sensor data 2 | ||||
11 | 21 | uint8 | Info bits | With extended byte uint16 |
30 | 22 | uint8 | Data source | Voltage |
01 | 23 | uint8 | Extended byte | ADC1 |
02 | 24 | uint8 | Data length | 2 bytes |
03E4 | 25 | uint16 | Data | 996 mV |
Sensor data 3 | ||||
00 | 27 | uint8 | Info bits | No extended byte uint8 |
00 | 28 | uint8 | Data source | Magnetic |
00 | 29 | uint8 | Extended byte | None |
01 | 30 | uint8 | Data length | 1 byte |
01 | 31 | uint8 | Data | N pole approached |
End of sensor data | ||||
EC | 32 | uint8 | Checksum 1 | 0xEC |
6E | uint8 | Checksum 2 | 0x6E | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the PAL App (Open/Close Sensor PAL), refer to the following points.
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and ID | Must be 0x81 |
- | - | Payload size | 33 bytes |
Example Parser Implementations
- Python
- Arduino (C++)
Environmental Sensor PAL
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x82 |
14 | uint8 | Number of sensor data | Only 5 |
Sensor data 1 | |||
15 | uint8 | Info bits | Only 0x11 |
16 | uint8 | Data source | Only 0x30 |
17 | uint8 | Extended byte | Only 0x08 |
18 | uint8 | Data length | Only 2 |
19 | uint16 | Data | Power supply voltage (mV) |
Sensor data 2 | |||
21 | uint8 | Info bits | Only 0x11 |
22 | uint8 | Data source | Only 0x30 |
23 | uint8 | Extended byte | Only 0x01 |
24 | uint8 | Data length | Only 2 |
25 | uint16 | Data | ADC1 voltage (mV) |
Sensor data 3 | |||
27 | uint8 | Info bits | Only 0x05 |
28 | uint8 | Data source | Only 0x01 |
29 | uint8 | Extended byte | Only 0x00 |
30 | uint8 | Data length | Only 2 |
31 | int16 | Data | Temperature data |
Sensor data 4 | |||
33 | uint8 | Info bits | Only 0x01 |
34 | uint8 | Data source | Only 0x02 |
35 | uint8 | Extended byte | Only 0x00 |
36 | uint8 | Data length | Only 2 |
37 | uint16 | Data | Humidity data |
Sensor data 5 | |||
39 | uint8 | Info bits | Only 0x02 |
40 | uint8 | Data source | Only 0x03 |
41 | uint8 | Extended byte | Only 0x00 |
42 | uint8 | Data length | Only 4 |
43 | uint32 | Data | Illuminance data |
End of sensor data | |||
47 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:8000000084811F810EFF6D04808205113008020AEB11300102035A0501000209E3010200020E3A02030004000001BE6C00
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
84 | 4 | uint8 | LQI | 132 /255 |
811F | 5 | uint16 | Sequence number | 33055 |
810EFF6D | 7 | uint32 | Serial ID of sender | 0x10EFF6D |
04 | 11 | uint8 | Logical device ID of sender | 0x04 |
80 | 12 | uint8 | Sensor type | |
82 | 13 | uint8 | PAL board version and PAL board ID | Environmental Sensor PAL V1 |
05 | 14 | uint8 | Number of sensor data | 5 |
Sensor data 1 | ||||
11 | 15 | uint8 | Info bits | With extended byte uint16 |
30 | 16 | uint8 | Data source | Voltage |
08 | 17 | uint8 | Extended byte | Power supply |
02 | 18 | uint8 | Data length | 2 bytes |
0AEB | 19 | uint16 | Data | 2795 mV |
Sensor data 2 | ||||
11 | 21 | uint8 | Info bits | With extended byte uint16 |
30 | 22 | uint8 | Data source | Voltage |
01 | 23 | uint8 | Extended byte | ADC1 |
02 | 24 | uint8 | Data length | 2 bytes |
035A | 25 | uint16 | Data | 858 mV |
Sensor data 3 | ||||
05 | 27 | uint8 | Info bits | No extended byte int16 |
01 | 28 | uint8 | Data source | Temperature |
00 | 29 | uint8 | Extended byte | None |
02 | 30 | uint8 | Data length | 2 bytes |
09E3 | 31 | int16 | Data | 25.31°C |
Sensor data 4 | ||||
01 | 33 | uint8 | Info bits | No extended byte uint16 |
02 | 34 | uint8 | Data source | Humidity |
00 | 35 | uint8 | Extended byte | None |
02 | 36 | uint8 | Data length | 2 bytes |
0E3A | 37 | uint16 | Data | 36.42% |
Sensor data 5 | ||||
02 | 39 | uint8 | Info bits | No extended byte uint32 |
03 | 40 | uint8 | Data source | Illuminance |
00 | 41 | uint8 | Extended byte | None |
04 | 42 | uint8 | Data length | 4 bytes |
000001BE | 43 | uint32 | Data | 446 lx |
End of sensor data | ||||
6C | 47 | uint8 | Checksum 1 | 0x6C |
00 | uint8 | Checksum 2 | 0x00 | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the PAL App (Environmental Sensor PAL), refer to the following points.
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and ID | Must be 0x82 |
- | - | Payload size | 48 bytes |
Example Parser Implementations
- Python
- Arduino (C++)
Motion Sensor PAL
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x83 |
14 | uint8 | Number of Sensor Data | Only 18 |
Sensor Data 1 | |||
15 | uint8 | Info bits | Only 0x11 |
16 | uint8 | Data source | Only 0x30 |
17 | uint8 | Extended byte | Only 0x08 |
18 | uint8 | Data length | Only 2 |
19 | uint16 | Data | Power supply voltage (mV) |
Sensor Data 2 | |||
21 | uint8 | Info bits | Only 0x11 |
22 | uint8 | Data source | Only 0x30 |
23 | uint8 | Extended byte | Only 0x01 |
24 | uint8 | Data length | Only 2 |
25 | uint16 | Data | ADC1 voltage (mV) |
Sensor Data 3 | |||
27 | uint8 | Info bits | Only 0x15 |
28 | uint8 | Data source | Only 0x04 |
29 | uint8 | Extended byte | 0x?0 Frequency and sample number |
30 | uint8 | Data length | Only 6 |
31 | int16 | Data | Acceleration data |
Sensor Data 4 | |||
37 | uint8 | Info bits | Only 0x15 |
38 | uint8 | Data source | Only 0x04 |
39 | uint8 | Extended byte | 0x?1 Frequency and sample number |
40 | uint8 | Data length | Only 6 |
41 | int16 | Data | Acceleration data |
Sensor Data 5 | |||
(Omitted) | |||
Sensor Data 18 | |||
177 | uint8 | Info bits | Only 0x15 |
178 | uint8 | Data source | Only 0x04 |
179 | uint8 | Extended byte | 0x?F Frequency and sample number |
180 | uint8 | Data length | Only 6 |
181 | int16 | Data | Acceleration data |
End of sensor data | |||
187 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:80000000BA002382011CEF01808312113008020D0211300102055C1504400600100010045015044106000800100430150442060000001004381504430600080018043015044406000000180458150445060000002004381504460600080018042815044706FFE80010042015044806FFF00010043815044906FFE80018043015044A06FFF80018044015044B06FFF80018041815044C0600000010042015044D0600000028045015044E0600000008043815044F0600000018043828A5
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
BA | 4 | uint8 | LQI | 186 /255 |
0023 | 5 | uint16 | Sequence number | 35 |
82011CEF | 7 | uint32 | Serial ID of sender | 0x2011CEF |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | |
83 | 13 | uint8 | PAL board version and PAL board ID | Motion PAL V1 |
12 | 14 | uint8 | Number of Sensor Data | 18 items |
Sensor Data 1 | ||||
11 | 15 | uint8 | Info bits | With extended byte uint16 |
30 | 16 | uint8 | Data source | Voltage |
08 | 17 | uint8 | Extended byte | Power supply |
02 | 18 | uint8 | Data length | 2 bytes |
0D02 | 19 | uint16 | Data | 3330 mV |
Sensor Data 2 | ||||
11 | 21 | uint8 | Info bits | With extended byte uint16 |
30 | 22 | uint8 | Data source | Voltage |
01 | 23 | uint8 | Extended byte | ADC1 |
02 | 24 | uint8 | Data length | 2 bytes |
055C | 25 | uint16 | Data | 1372 mV |
Sensor Data 3 | ||||
15 | 27 | uint8 | Info bits | With extended byte int16 |
04 | 28 | uint8 | Data source | Acceleration |
40 | 29 | uint8 | Extended byte | 100Hz, sample 0 |
06 | 30 | uint8 | Data length | 6 bytes |
001000100450 | 31 | int16 | Data | X16 mG/Y16 mG/Z1104 mG |
Sensor Data 4 | ||||
15 | 37 | uint8 | Info bits | With extended byte int16 |
04 | 38 | uint8 | Data source | Acceleration |
41 | 39 | uint8 | Extended byte | 100Hz, sample 1 |
06 | 40 | uint8 | Data length | 6 bytes |
000800100430 | 41 | uint16 | Data | X8 mG/Y16 mG/Z1072 mG |
Sensor Data 5 | ||||
(Omitted) | ||||
Sensor Data 15 | ||||
15 | 177 | uint8 | Info bits | With extended byte int16 |
04 | 178 | uint8 | Data source | Acceleration |
4F | 179 | uint8 | Extended byte | 100Hz, sample 15 |
06 | 180 | uint8 | Data length | 6 bytes |
000000180438 | 181 | uint32 | Data | X0 mG/Y24 mG/Z1080 mG |
End of sensor data | ||||
28 | 187 | uint8 | Checksum 1 | 0x28 |
A5 | uint8 | Checksum 2 | 0xA5 | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the PAL App (Motion Sensor PAL), refer to the following points.
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and ID | Must be 0x83 |
- | - | Payload size | 188 bytes |
Example Parser Implementations
- Python
- Arduino (C++)
Notification PAL
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x84 |
14 | uint8 | Number of Sensor Data | Only 3 |
Sensor Data 1 | |||
15 | uint8 | Info bits | Only 0x11 |
16 | uint8 | Data source | Only 0x30 |
17 | uint8 | Extended byte | Only 0x08 |
18 | uint8 | Data length | Only 2 |
19 | uint16 | Data | Power supply voltage (mV) |
Sensor Data 2 | |||
21 | uint8 | Info bits | Only 0x11 |
22 | uint8 | Data source | Only 0x30 |
23 | uint8 | Extended byte | Only 0x01 |
24 | uint8 | Data length | Only 2 |
25 | uint16 | Data | ADC1 voltage (mV) |
Sensor Data 3 | |||
27 | uint8 | Info bits | Only 0x12 |
28 | uint8 | Data source | Only 0x05 |
29 | uint8 | Extended byte | Only 0x04 |
30 | uint8 | Data length | Only 4 |
31 | uint8 | Data | Acceleration event data |
32 | [uint8] | Unused | |
End of sensor data | |||
35 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:80000000C9BBC082014C3501808403 113008020D0C 1130010203F9 1205040410000000 97C6
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
C9 | 4 | uint8 | LQI | 201 /255 |
BBC0 | 5 | uint16 | Sequence number | 48064 |
82014C35 | 7 | uint32 | Serial ID of sender | 0x2014C35 |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | |
84 | 13 | uint8 | PAL board version and PAL board ID | Notification PAL V1 |
03 | 14 | uint8 | Number of Sensor Data | 3 items |
Sensor Data 1 | ||||
11 | 15 | uint8 | Info bits | With extended byte uint16 |
30 | 16 | uint8 | Data source | Voltage |
08 | 17 | uint8 | Extended byte | Power supply |
02 | 18 | uint8 | Data length | 2 bytes |
0D0C | 19 | uint16 | Data | 3340 mV |
Sensor Data 2 | ||||
11 | 21 | uint8 | Info bits | With extended byte uint16 |
30 | 22 | uint8 | Data source | Voltage |
01 | 23 | uint8 | Extended byte | ADC1 |
02 | 24 | uint8 | Data length | 2 bytes |
03F9 | 25 | uint16 | Data | 1017 mV |
Sensor Data 3 | ||||
12 | 27 | uint8 | Info bits | With extended byte uint32 |
05 | 28 | uint8 | Data source | Event |
04 | 29 | uint8 | Extended byte | Acceleration event |
04 | 30 | uint8 | Data length | 4 bytes |
10 | 31 | uint8 | Data | Move |
000000 | 32 | [uint8] | ||
End of sensor data | ||||
97 | 35 | uint8 | Checksum 1 | 0x97 |
C6 | uint8 | Checksum 2 | 0xC6 | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the PAL App (Notification PAL), refer to the following points.
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and ID | Must be 0x84 |
- | - | Payload size | 36 bytes |
2.1.1.1.4.2 - Output from CUE App (Parent and Repeater App)
TWELITE CUE Mode
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x05 |
14 | uint8 | Number of sensor data | Only 15 |
Sensor Data 1 | |||
15 | uint8 | Info bits | Only 0x00 |
16 | uint8 | Data source | Only 0x34 |
17 | uint8 | Extended byte | Only 0x00 |
18 | uint8 | Data length | Only 3 |
19 | [uint8] | Data | Packet property data |
Sensor Data 2 | |||
22 | uint8 | Info bits | Only 0x12 |
23 | uint8 | Data source | Only 0x05 |
24 | uint8 | Extended byte | 0x35 , 0x04 , or 0x00 |
25 | uint8 | Data length | Only 4 |
26 | uint32 | Data | Event data |
Sensor Data 3 | |||
30 | uint8 | Info bits | Only 0x11 |
31 | uint8 | Data source | Only 0x30 |
32 | uint8 | Extended byte | Only 0x08 |
33 | uint8 | Data length | Only 2 |
34 | uint16 | Data | Power supply voltage (mV) |
Sensor Data 4 | |||
36 | uint8 | Info bits | Only 0x11 |
37 | uint8 | Data source | Only 0x30 |
38 | uint8 | Extended byte | Only 0x01 |
39 | uint8 | Data length | Only 2 |
40 | uint16 | Data | Voltage of ADC1 (mV) |
Sensor Data 5 | |||
42 | uint8 | Info bits | Only 0x00 |
43 | uint8 | Data source | Only 0x00 |
44 | uint8 | Extended byte | Only 0x00 |
45 | uint8 | Data length | Only 1 |
46 | uint8 | Data | Magnetic data |
Sensor Data 6 | |||
47 | uint8 | Info bits | Only 0x15 |
48 | uint8 | Data source | Only 0x04 |
49 | uint8 | Extended byte | 0x?0 Frequency and sample number |
50 | uint8 | Data length | Only 6 |
51 | [int16] | Data | Acceleration data |
Sensor Data 7 | |||
57 | uint8 | Info bits | Only 0x15 |
58 | uint8 | Data source | Only 0x04 |
59 | uint8 | Extended byte | 0x?1 Frequency and sample number |
60 | uint8 | Data length | Only 6 |
61 | [int16] | Data | Acceleration data |
Sensor Data 8 | |||
(Omitted) | |||
Sensor Data 15 | |||
137 | uint8 | Info bits | Only 0x15 |
138 | uint8 | Data source | Only 0x04 |
139 | uint8 | Extended byte | 0x?9 Frequency and sample number |
140 | uint8 | Data length | Only 6 |
141 | int16 | Data | Acceleration data |
End of sensor data | |||
147 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to Checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Output Data Example
:80000000CF7F7382019E3B0180050F003400038135001205040406000000113008020B8611300102042E000000018015044006FFF00010FC1815044106FFF00018FC1815044206FFF00010FC0015044306FFF80000FC1015044406FFF00010FC1815044506FFE00018FBF815044606FFE80000FC0015044706FFE80010FBF815044806FFE80010FC0815044906FFE80010FC080C0E
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
CF | 4 | uint8 | LQI | 207 /255 |
7F73 | 5 | uint16 | Sequence number | 32627 |
82019E3B | 7 | uint32 | Serial ID of sender | 0x2019E3B |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | |
05 | 13 | uint8 | PAL board version and PAL board ID | TWELITE CUE |
0F | 14 | uint8 | Number of sensor data | 15 items |
Sensor Data 1 | ||||
00 | 15 | uint8 | Info bits | No extended byte uint8 |
34 | 16 | uint8 | Data source | Packet property |
00 | 17 | uint8 | Extended byte | None |
03 | 18 | uint8 | Data length | 3 bytes |
813500 | 19 | [uint8] | Data | ID 129 , timer event occurred |
Sensor Data 2 | ||||
12 | 22 | uint8 | Info bits | Extended byte present uint32 |
05 | 23 | uint8 | Data source | Event |
04 | 24 | uint8 | Extended byte | Acceleration event |
04 | 25 | uint8 | Data length | 4 bytes |
06000000 | 26 | uint32 | Data | Dice: 6 |
Sensor Data 3 | ||||
11 | 30 | uint8 | Info bits | Extended byte present uint16 |
30 | 31 | uint8 | Data source | Voltage |
08 | 32 | uint8 | Extended byte | Power supply voltage |
02 | 33 | uint8 | Data length | 2 bytes |
0B86 | 34 | uint16 | Data | 2950 mV |
Sensor Data 4 | ||||
11 | 36 | uint8 | Info bits | Extended byte present uint16 |
30 | 37 | uint8 | Data source | Voltage |
01 | 38 | uint8 | Extended byte | Voltage of ADC1 |
02 | 39 | uint8 | Data length | 2 bytes |
042E | 40 | uint16 | Data | 1070 mV |
Sensor Data 5 | ||||
00 | 42 | uint8 | Info bits | No extended byte uint8 |
00 | 43 | uint8 | Data source | Magnetic |
00 | 44 | uint8 | Extended byte | None |
01 | 45 | uint8 | Data length | 1 byte |
80 | 46 | uint8 | Data | No magnet (periodic transmit) |
Sensor Data 6 | ||||
15 | 47 | uint8 | Info bits | Extended byte present int16 |
04 | 48 | uint8 | Data source | Acceleration data |
40 | 49 | uint8 | Extended byte | 100Hz, sample 0 |
06 | 50 | uint8 | Data length | 6 bytes |
FFF00010FC18 | 51 | [int16] | Data | X-16 mG/Y16 mG/Z-1000 mG |
Sensor Data 7 | ||||
15 | 57 | uint8 | Info bits | Extended byte present int16 |
04 | 58 | uint8 | Data source | Acceleration data |
41 | 59 | uint8 | Extended byte | 100Hz, sample 1 |
06 | 60 | uint8 | Data length | 6 bytes |
FFF00018FC18 | 61 | [int16] | Data | X-16 mG/Y24 mG/Z-1000 mG |
Sensor Data 8 | ||||
(Omitted) | ||||
Sensor Data 15 | ||||
15 | 137 | uint8 | Info bits | Extended byte present int16 |
04 | 138 | uint8 | Data source | Acceleration data |
49 | 139 | uint8 | Extended byte | 100Hz, sample 9 |
06 | 140 | uint8 | Data length | 6 bytes |
FFE80010FC08 | 141 | int16 | Data | X-24 mG/Y16 mG/Z-1016 mG |
End of sensor data | ||||
0C | 147 | uint8 | Checksum 1 | 0x0C |
0E | uint8 | Checksum 2 | 0x0E | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the CUE App (TWELITE CUE mode), refer to the following points:
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and PAL board ID | Must be 0x05 |
- | - | Payload size | Must be 148 bytes |
Example Parser Implementations
- Python
- Arduino (C++)
Magnet Sensor PAL Mode
Motion Sensor PAL Mode (Acceleration Measurement Mode)
Motion Sensor PAL Mode (Move / Dice Mode)
Data Format
# | Data | Description | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x03 |
14 | uint8 | Number of sensor data | Only 04 |
Sensor Data 1 | |||
15 | uint8 | Info bits | Only 0x00 |
16 | uint8 | Data source | Only 0x34 |
17 | uint8 | Extended byte | Only 0x00 |
18 | uint8 | Data length | Only 3 |
19 | [uint8] | Data | Packet property data |
Sensor Data 2 | |||
22 | uint8 | Info bits | Only 0x12 |
23 | uint8 | Data source | Only 0x05 |
24 | uint8 | Extended byte | Only 0x04 |
25 | uint8 | Data length | Only 4 |
26 | uint32 | Data | Event data |
Sensor Data 3 | |||
30 | uint8 | Info bits | Only 0x11 |
31 | uint8 | Data source | Only 0x30 |
32 | uint8 | Extended byte | Only 0x08 |
33 | uint8 | Data length | Only 2 |
34 | uint16 | Data | Power supply voltage (mV) |
Sensor Data 4 | |||
36 | uint8 | Info bits | Only 0x11 |
37 | uint8 | Data source | Only 0x30 |
38 | uint8 | Extended byte | Only 0x01 |
39 | uint8 | Data length | Only 2 |
40 | uint16 | Data | Voltage of ADC1 (mV) |
End of sensor data | |||
42 | uint8 | Checksum 1 | CRC8 up to this point |
uint8 | Checksum 2 | LRC8 up to Checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Output Data Example
Below is an example for Dice Mode. For Move Mode, the event in Sensor Data 2
will differ.
:80000000B400048106664801800304003400038035001205040403000000113008020D2011300102052C59B7
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
B1 | 4 | uint8 | LQI | 177 /255 |
0008 | 5 | uint16 | Sequence number | 8 |
81066648 | 7 | uint32 | Serial ID of sender | 0x2019E3B |
01 | 11 | uint8 | Logical device ID of sender | 0x1066648 |
80 | 12 | uint8 | Sensor type | |
03 | 13 | uint8 | PAL board version and PAL board ID | TWELITE CUE Dice / Move |
04 | 14 | uint8 | Number of sensor data | 4 items |
Sensor Data 1 | ||||
00 | 15 | uint8 | Info bits | No extended byte uint8 |
34 | 16 | uint8 | Data source | Packet property |
00 | 17 | uint8 | Extended byte | None |
03 | 18 | uint8 | Data length | 3 bytes |
803500 | 19 | [uint8] | Data | ID 128 , event occurred (only ADC1 and power supply) |
Sensor Data 2 | ||||
12 | 22 | uint8 | Info bits | Extended byte present uint32 |
05 | 23 | uint8 | Data source | Event |
04 | 24 | uint8 | Extended byte | Acceleration event |
04 | 25 | uint8 | Data length | 4 bytes |
03000000 | 26 | uint32 | Data | Dice Mode, die: 3 |
Sensor Data 3 | ||||
11 | 30 | uint8 | Info bits | Extended byte present uint16 |
30 | 31 | uint8 | Data source | Voltage |
08 | 32 | uint8 | Extended byte | Power supply voltage |
02 | 33 | uint8 | Data length | 2 bytes |
0D20 | 34 | uint16 | Data | 3360 mV |
Sensor Data 4 | ||||
11 | 36 | uint8 | Info bits | Extended byte present uint16 |
30 | 37 | uint8 | Data source | Voltage |
01 | 38 | uint8 | Extended byte | Voltage of ADC1 |
02 | 39 | uint8 | Data length | 2 bytes |
052C | 40 | uint16 | Data | 1324 mV |
End of sensor data | ||||
59 | 42 | uint8 | Checksum 1 | 0x0C |
B7 | uint8 | Checksum 2 | 0x0E | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Data Identification Criteria
The Parent and Repeater App can receive data from various types of child devices.
To check whether the output data is from the CUE App (Move or Dice Mode of Motion Sensor PAL Mode), refer to the following points:
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | Must be 0x80 |
13 | uint8 | PAL board version and PAL board ID | Must be 0x03 |
- | - | Payload size | Must be 43 bytes |
Example Parser Implementations
2.1.1.1.4.3 - Output from Aria App (Parent and Repeater App)
TWELITE ARIA Mode
Data Format
# | Data | Content | Remarks |
---|---|---|---|
char | Header | Only : | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 to 255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | Only 0x06 |
14 | uint8 | Number of sensor data | Only 7 |
Sensor data 1 | |||
15 | uint8 | Info bits | Only 0x00 |
16 | uint8 | Data source | Only 0x34 |
17 | uint8 | Extension byte | Only 0x00 |
18 | uint8 | Data length | Only 3 |
19 | [uint8] | Data | Packet property data |
Sensor data 2 | |||
22 | uint8 | Info bits | Only 0x12 |
23 | uint8 | Data source | Only 0x05 |
24 | uint8 | Extension byte | 0x35 or 0x00 |
25 | uint8 | Data length | Only 4 |
26 | uint32 | Data | Event data |
Sensor data 3 | |||
30 | uint8 | Info bits | Only 0x11 |
31 | uint8 | Data source | Only 0x30 |
32 | uint8 | Extension byte | Only 0x08 |
33 | uint8 | Data length | Only 2 |
34 | uint16 | Data | Power supply voltage (mV) |
Sensor data 4 | |||
36 | uint8 | Info bits | Only 0x11 |
37 | uint8 | Data source | Only 0x30 |
38 | uint8 | Extension byte | Only 0x01 |
39 | uint8 | Data length | Only 2 |
40 | uint16 | Data | ADC1 voltage (mV) |
Sensor data 5 | |||
42 | uint8 | Info bits | Only 0x00 |
43 | uint8 | Data source | Only 0x00 |
44 | uint8 | Extension byte | Only 0x00 |
45 | uint8 | Data length | Only 1 |
46 | uint8 | Data | Magnetic data |
Sensor data 6 | |||
47 | uint8 | Info bits | Only 0x05 |
48 | uint8 | Data source | Only 0x01 |
49 | uint8 | Extension byte | Only 0x00 |
50 | uint8 | Data length | Only 2 |
51 | int16 | Data | Temperature data |
Sensor data 7 | |||
53 | uint8 | Info bits | Only 0x01 |
54 | uint8 | Data source | Only 0x02 |
55 | uint8 | Extension byte | Only 0x00 |
56 | uint8 | Data length | Only 2 |
57 | uint16 | Data | Humidity data |
End of sensor data | |||
59 | uint8 | Checksum 1 | CRC8 up to previous byte |
uint8 | Checksum 2 | LRC8 up to Checksum 1 | |
char | Footer | CR (0x0D /\r ) | |
char | Footer | LF (0x0A /\n ) |
Data Identification Conditions
Parent and Repeater App can receive data from various types of child devices.
To confirm that the output data is from the Aria App (TWELITE ARIA Mode), refer to the following:
# | Data | Item | Condition |
---|---|---|---|
0 | uint32 | Serial ID of repeater | MSB is 1 |
7 | uint32 | Serial ID of sender | MSB is 1 |
12 | uint8 | Sensor type | 0x80 |
13 | uint8 | PAL board version and PAL board ID | 0x06 |
- | - | Payload size | Must be 60 bytes |
Parser Implementation Examples
- Python
- Arduino (C++)
Open/Close Sensor Pal Mode
2.1.1.1.4.4 - Details of Output from Pal, Cue, and Aria Apps (Parent and Repeater App)
Overall
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint32 | Serial ID of repeater | 80000000 if no repeater |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Serial ID of sender | 0x8??????? |
11 | uint8 | Logical device ID of sender | |
12 | uint8 | Sensor type | Only 0x80 |
13 | uint8 | PAL board version and PAL board ID | e.g. 0x81 |
14 | uint8 | Number of sensor data | |
15 | [uint8] | List of sensor data | Byte array of length (N) |
15+(N) | uint8 | Checksum 1 | CRC8 up to previous byte |
uint8 | Checksum 2 | LRC8 up to Checksum 1 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
Example Output Data
:80000000A8001C82012B1E01808103113008020D0C1130010203E40000000101EC6E
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Serial ID of repeater | No repeater |
A8 | 4 | uint8 | LQI | 168/255 |
001C | 5 | uint16 | Sequence number | 28 |
82012B1E | 7 | uint32 | Serial ID of sender | 0x2012B1E |
01 | 11 | uint8 | Logical device ID of sender | 0x01 |
80 | 12 | uint8 | Sensor type | - |
81 | 13 | uint8 | PAL board version and PAL board ID | 0x81 |
03 | 14 | uint8 | Number of sensor data | 3 |
1130...0101 | 15 | [uint8] | List of sensor data | Byte array of length 17 |
EC | 15+17 | uint8 | Checksum 1 | 0xEC |
6E | uint8 | Checksum 2 | 0x6E | |
char | Footer | '\r' | ||
char | Footer | '\n' |
Sensor Data
Data Format
# | Data | Description | Notes |
---|---|---|---|
0 | uint8 | Info bits | Data type and presence of extension byte |
1 | uint8 | Data source | Type of sensor value |
2 | uint8 | Extension byte | Additional info for sensor value |
3 | uint8 | Data length | Length of sensor value |
4 | [uint8] | Data | Sensor value |
Example Output Data
113008020D0C
# | Data | Description | Value | |
---|---|---|---|---|
11 | 0 | uint8 | Info bits | Extension byte present, uint16 |
30 | 1 | uint8 | Data source | Voltage |
08 | 2 | uint8 | Extension byte | Power supply voltage |
02 | 3 | uint8 | Data length | 2 bytes |
0D0C | 4 | [uint8] | Data | 3340 mV |
Info Bits
Indicates the data type of the sensor value, presence of extension byte, and read error status.
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Function | ERR | - | - | EXT | - | TYP:2 | TYP:1 | TYP:0 |
Each function indicates the following:
Function | Description | Value | Meaning |
---|---|---|---|
ERR | Read error presence | 0 | Normal |
1 | Error present | ||
EXT | Extension byte presence | 0 | No extension byte |
1 | Extension byte present | ||
TYP | Data type | 000 | uint8 |
001 | uint16 | ||
010 | uint32 | ||
011 | N/A | ||
100 | int8 | ||
101 | int16 | ||
110 | int32 | ||
111 | [uint8] |
Data Source
Indicates the type of sensor value.
Value | Description |
---|---|
0x00 | Magnetic |
0x01 | Temperature |
0x02 | Humidity |
0x03 | Illuminance |
0x04 | Acceleration |
0x05 | Event |
0x30 | Voltage |
0x34 | Packet properties |
Extension Byte
Indicates additional information such as index for continuous data.
For data sources Magnetic / Temperature / Humidity / Illuminance / Packet Properties
None
For data source Acceleration
Indicates attributes of acceleration sample data.
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Function | SFQ:2 | SFQ:1 | SFQ:0 | SNM:4 | SNM:3 | SNM:2 | SNM:1 | SNM:0 |
Each function indicates the following:
Function | Description | Value | Meaning |
---|---|---|---|
SFQ | Sampling frequency | 000 (`0x00 | SNM`) |
001 (`0x20 | SNM`) | ||
010 (`0x40 | SNM`) | ||
011 (`0x60 | SNM`) | ||
100 or higher | Undefined | ||
SNM | Sample number | 0 -31 | Oldest first |
For data source Event
Indicates cause of event occurrence.
Value | Description |
---|---|
0x00 | Magnetic |
0x01 | Temperature |
0x02 | Humidity |
0x03 | Illuminance |
0x04 | Acceleration |
0x31 | Digital input |
0x35 | Timer |
For data source Voltage
Indicates target.
Value | Description |
---|---|
0x01 | ADC1 |
0x02 | ADC2 |
0x03 | ADC3 |
0x04 | ADC4 |
0x08 | Power supply |
Data Length
Indicates the number of bytes of the following data.
Data
Represents the sensor value.
For data source Magnetic
Data type is uint8
.
Value | Description |
---|---|
0x00 | No magnet |
0x01 | North pole approached |
0x02 | South pole approached |
0x80 | No magnet (periodic send) |
0x81 | North pole nearby (periodic send) |
0x82 | South pole nearby (periodic send) |
For data source Temperature
Data type is int16
.
Represents temperature in Celsius multiplied by 100.
For data source Humidity
Data type is uint16
.
Represents relative humidity multiplied by 100.
For data source Illuminance
Data type is uint32
.
Represents illuminance in lux.
For data source Acceleration
Three int16
values follow.
X, Y, Z axis values (mG) total 6 bytes.
byte | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
Content | X:15-8 | X:7-0 | Y:15-8 | Y:7-0 | Z:15-8 | Z:7-0 |
For data source Event
Four uint8
values follow.
The first data indicates the event content, the rest are unused.
byte | 0 | 1 | 2 | 3 |
---|---|---|---|---|
Content | Used | Unused | Unused | Unused |
Extension byte for Magnetic
First value | Description |
---|---|
0x00 | No magnet |
0x01 | North pole nearby |
0x02 | South pole nearby |
Extension byte for Acceleration
First value | Description |
---|---|
0x00 | Stationary (Move mode) |
0x01 | Dice: 1 |
0x02 | Dice: 2 |
0x03 | Dice: 3 |
0x04 | Dice: 4 |
0x05 | Dice: 5 |
0x06 | Dice: 6 |
0x08 | Shake |
0x10 | Move |
Extension byte for Timer
First value | Description |
---|---|
0x01 | Woken by timer |
For data source Voltage
Data type is uint16
.
Represents voltage in mV.
For data source Packet Properties
Three uint8
values follow.
byte | 0 | 1 | 2 |
---|---|---|---|
Data | Packet ID | Root cause of wake-up | Condition of wake-up |
Each data indicates the following:
Data | Value | Description |
---|---|---|
Packet ID | 0 | No event, only ADC1 and power voltage |
1 -127 | No event, other data present | |
128 | Event present, only ADC1 and power voltage | |
129 -255 | Event present, other data present | |
Root cause of wake-up | 0x00 | Magnetic |
0x01 | Temperature | |
0x02 | Humidity | |
0x03 | Illuminance | |
0x04 | Acceleration | |
0x31 | Digital input | |
0x35 | Timer | |
Condition of wake-up | 0x00 | Event occurred |
0x01 | Value changed | |
0x02 | Value exceeded threshold | |
0x03 | Value fell below threshold | |
0x04 | Value met range |
2.1.1.1.5 - Output from act (Parent and Repeater App)
Data Received from act
Data Format
# | Data | Content | Remarks |
---|---|---|---|
char | Header | : only | |
0 | uint8 | Source Logical Device ID | |
1 | uint8 | Command Type | only 0xAA |
2 | uint8 | Response ID | 0x00 -0x7F |
3 | uint32 | Source Serial ID | |
7 | uint32 | Destination Serial ID | 00000000 when specifying logical device ID |
11 | uint8 | LQI | 0 -255 |
12 | uint16 | Number of data bytes | |
14 | [uint8] | Arbitrary data | Length (N) bytes |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /\r ) | |
char | Footer | LF (0x0A /\n ) |
Example of Output Data
:FEAA008201015A00000000B7000F424154310F0CEE000B03FF03FF03FF92
# | Data | Content | Value | |
---|---|---|---|---|
: | char | Header | : | |
FE | 0 | uint8 | Source Logical Device ID | 0xFE |
AA | 1 | uint8 | Command Type | 0xAA |
00 | 2 | uint8 | Response ID | 0x00 |
8201015A | 3 | uint32 | Source Serial ID | 0x201015A |
00000000 | 7 | uint32 | Destination Serial ID | Logical Device ID specified |
B7 | 11 | uint8 | LQI | 183/255 |
000F | 12 | uint16 | Number of data bytes | 15 bytes |
424154310F0CEE000B03FF03FF03FF | 14 | [uint8] | Arbitrary data | As is |
92 | uint8 | Checksum | 0x92 | |
char | Footer | \r | ||
char | Footer | \n |
2.1.1.1.6 - Output from Wireless Tag App (Parent and Repeater App)
Analog Sensor
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint32 | Relay device serial ID | 80000000 if no relay |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Source serial ID | |
11 | uint8 | Source logical device ID | |
12 | uint8 | Sensor type | |
13 | uint8 | Power supply voltage (mV) | See Power Supply Voltage Calculation |
14 | uint16 | ADC1 voltage | |
16 | uint16 | ADC2 voltage | |
18 | uint32 | Unused | |
22 | uint8 | Checksum |
Example Output Data
:80000000B700628201015A0010DF08FD09A300000000E9
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Relay device serial ID | No relay |
B7 | 4 | uint8 | LQI | 183/255 |
0062 | 5 | uint16 | Sequence number | 98 |
8201015A | 7 | uint32 | Source serial ID | 0x201015A |
00 | 11 | uint8 | Source logical device ID | 0x00 |
10 | 12 | uint8 | Sensor type | Analog sensor |
DF | 13 | uint8 | Power supply voltage (mV) | 3330 mV |
08FD | 14 | uint16 | ADC1 voltage | 2301 mV |
09A3 | 16 | uint16 | ADC2 voltage | 2467 mV |
00000000 | 18 | uint32 | Unused | |
E9 | 22 | uint8 | Checksum | 0xE9 |
char | Footer | \r | ||
char | Footer | \n |
Accelerometer (ADXL34x / TWELITE 2525A)
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint32 | Relay device serial ID | 80000000 if no relay |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Source serial ID | |
11 | uint8 | Source logical device ID | |
12 | uint8 | Sensor type | |
13 | uint8 | Power supply voltage (mV) | See Power Supply Voltage Calculation |
14 | uint16 | ADC1 voltage | |
16 | uint16 | ADC2 voltage | |
18 | uint8 | Sensor mode number | |
19 | int16 | X-axis acceleration | Unit: mG*10 |
21 | int16 | Y-axis acceleration | Unit: mG*10 |
23 | int16 | Z-axis acceleration | Unit: mG*10 |
25 | uint8 | Checksum |
Example Output Data
:8000000063001781013C850035DF057702F2000000FF96FFF0BB
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | : | |
80000000 | 0 | uint32 | Relay device serial ID | No relay |
63 | 4 | uint8 | LQI | 99/255 |
0017 | 5 | uint16 | Sequence number | 23 |
81013C85 | 7 | uint32 | Source serial ID | 0x1013C85 |
00 | 11 | uint8 | Source logical device ID | 0x00 |
35 | 12 | uint8 | Sensor type | Accelerometer (ADXL34x) |
DF | 13 | uint8 | Power supply voltage (mV) | 3330 mV |
0577 | 14 | uint16 | ADC1 voltage | 1399 mV |
02F2 | 16 | uint16 | ADC2 voltage | 754 mV |
00 | 18 | uint8 | Sensor mode number | Normal |
0000 | 19 | int16 | X-axis acceleration | 0 mG |
FF96 | 21 | int16 | Y-axis acceleration | -1060 mG |
FFF0 | 23 | int16 | Z-axis acceleration | -160 mG |
BB | 25 | uint8 | Checksum | 0xBB |
char | Footer | \r | ||
char | Footer | \n |
Switch
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint32 | Relay device serial ID | 80000000 if no relay |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | Sequence number | |
7 | uint32 | Source serial ID | |
11 | uint8 | Source logical device ID | |
12 | uint8 | Sensor type | |
13 | uint8 | Power supply voltage (mV) | See Power Supply Voltage Calculation |
14 | uint16 | ADC1 voltage | |
16 | uint16 | ADC2 voltage | |
18 | uint8 | Sensor mode number | 0 is Hi→Lo, 1 is Lo→Hi |
19 | uint8 | DI1 state | 1 is Lo |
20 | uint8 | Unused | |
21 | uint8 | Checksum |
Example Output Data
:800000009C00118201015A00FEDF000709A300010064
# | Data | Description | Value | |
---|---|---|---|---|
: | char | Header | ||
80000000 | 0 | uint32 | Relay device serial ID | No relay |
9C | 4 | uint8 | LQI | 156/255 |
0062 | 5 | uint16 | Sequence number | 98 |
8201015A | 7 | uint32 | Source serial ID | 0x201015A |
00 | 11 | uint8 | Source logical device ID | 0x00 |
FE | 12 | uint8 | Sensor type | Switch |
DF | 13 | uint8 | Power supply voltage (mV) | 3330 mV |
0007 | 14 | uint16 | ADC1 voltage | 7 mV |
09A3 | 16 | uint16 | ADC2 voltage | 2467 mV |
00 | 18 | uint8 | Sensor mode number | Hi→Lo |
01 | 19 | uint8 | DI1 state | Lo |
00 | 20 | uint8 | Unused | |
64 | 21 | uint8 | Checksum | 0x64 |
char | Footer | \r | ||
char | Footer | \n |
Power Supply Voltage Calculation
The power supply voltage \(V_{cc}\) can be expressed using the received value \(e_{cc}\) as follows:
Unit is mV
2.1.1.2 - Transmit Command of Parent and Repeater App
Commands entered from the serial port in the specified format are sent to the child.
2.1.1.2.1 - Input to the Extremely Simple! Standard App (Parent and Repeater App)
Digital and Analog Input/Output
0x80
: Change Output of the Target Device
Controls the output signals of the target device.
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | : only | |
0 | uint8 | Destination Logical Device ID | Parent 0x00 , Child 0x01 -0x64 , All Children 0x78 |
1 | uint8 | Command Number | 0x80 only |
2 | uint8 | Format Version | 0x01 only |
3 | uint8 | Digital Signal | Corresponds to DOx from LSB, 0 means High |
4 | uint8 | Digital Signal Mask | Corresponds to DOx from LSB, 1 means Enabled |
5 | uint16 | PWM1 Signal | 0 -1024 , 0xFFFF means Disabled |
7 | uint16 | PWM2 Signal | 0 -1024 , 0xFFFF means Disabled |
9 | uint16 | PWM3 Signal | 0 -1024 , 0xFFFF means Disabled |
11 | uint16 | PWM4 Signal | 0 -1024 , 0xFFFF means Disabled |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
2.1.1.2.2 - Input to the Serial Communication App (Parent and Repeater App)
UART
Format Mode: ASCII Simple Format
App_Wings v1.3 and later support the simple format of format mode (A).
As of September 2024, App_Wings v1.3 is not included in the publicly available SDK.
You can download App_Wings v1.3 from the following links and use it by specifying the file to write.
- BLUE version:
App_Wings_BLUE_L1305_V1-3-2.bin
- RED version:
App_Wings_RED_L1305_V1-3-2.bin
Data Format
# | Data | Description | Notes |
---|---|---|---|
char | Header | Only : | |
0 | uint8 | Destination Logical Device ID | Parent 0x00 , Child 0x01 -0x64 , All Children 0x78 |
1 | uint8 | Command Number | Any value less than 0x80 |
2 | [uint8] | Arbitrary Data | Byte sequence of length \(N\) (recommended \(N\leqq80\)) |
uint8 | Checksum | LRC8 | |
char | Footer | CR (0x0D /'\r' ) | |
char | Footer | LF (0x0A /'\n' ) |
2.1.1.2.3 - Input to the PAL App (Notification PAL) (Parent and Repeater App)
:0190010004000169[CR][LF]
^1^2^3^^^^^^^4^5
No. | Bytes | Meaning | Example Data | Notes |
---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Specify the logical device ID of the destination TWELITE PAL. |
2 | 1 | Command Type | 90 | |
3 | 1 | Number of Command Parameters | 01 | Specify the number of command parameters. For example, set to 1 if specifying one command parameter, or 2 if specifying two. |
4 | Number of Commands x 4 | Command Parameters | 00040001 | Specify parameters such as events and LED colors. |
5 | 1 | Checksum | 69 | Calculate the sum of bytes 1 to 4 within 8 bits and take the two’s complement. In other words, the sum of all data bytes plus the checksum byte equals zero within 8 bits. |
6 | 2 | Footer | [CR][LF] | Specify [CR] (0x0D) [LF] (0x0A). However, if the checksum is omitted with ‘X’, the footer can also be omitted. |
Command Parameters
Combine 4-byte command parameters to specify commands.
0x00: Send Event ID
The TWELITE PAL has predefined behaviors for each received event ID. This parameter sends an event ID to the destination TWELITE PAL to trigger the configured behavior.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x00 |
2 | 1 | Destination PAL ID | Specify the destination PAL ID. |
3 | 1 | Unused | Fixed at 0x00 |
4 | 1 | Event ID | Specify event ID from 0 to 16 |
0x01: Send LED Color, Blinking Pattern, and Brightness
Send the LED color, blinking pattern, and brightness to the destination Notification PAL.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x01 |
2 | 1 | Color | 0: Red |
3 | 1 | Blinking Pattern | 0: Always on |
4 | 1 | Brightness | 0: Off |
0x02: Send Lighting Duration
Send the lighting duration of the Notification PAL’s LED.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x02 |
2 | 1 | Unused | Fixed at 0xFF |
3 | 1 | Unused | Fixed at 0x00 |
4 | 1 | Lighting Duration | Specified in seconds (0 means always on) |
0x03: Specify LED Color in RGBW
Send the LED lighting color of the Notification PAL in RGBW.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x03 |
2 | 1 | Unused | Fixed at 0xFF |
3 | 2 | LED Lighting Color | Specify 4 bits each for RGBW in order from LSB. Higher value means brighter. |
0x04: Specify Blinking Parameters
Send the blinking cycle and duty of the Notification PAL’s LED.
No. | Bytes | Content | Notes |
---|---|---|---|
1 | 1 | Command Parameter ID | 0x04 |
2 | 1 | Unused | Fixed at 0xFF |
3 | 1 | Blinking Time Ratio | Specify from 0x00 to 0xFF. Higher value means longer ON time per cycle. 0x7F means ON for half of the cycle. |
4 | 1 | Blinking Cycle | Specify from 0x00 to 0xFF. Each increment increases the blinking cycle by about 0.04s. 0x17 corresponds to a 1-second cycle. |
Command Examples
Example 1: Send Event
Command example to send event 1 to the NOTICE PAL with logical device ID 1.
:0190010004000169
^1^2^3^4^5^6^7^8
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 01 | One command | |
4 | 1 | Command ID | 00 | Command 00 | |
5 | 1 | Destination PAL ID | 04 | Sent to Notification PAL | |
6 | 1 | Unused | 00 | ||
7 | 1 | Event ID | 01 | Event 1 | 0x00 to 0x10 |
8 | 1 | Checksum | 69 |
Example 2: Send LED Lighting Color to Notification PAL
Command to send LED lighting color with brightness 8 and slow blinking white to the NOTICE PAL with logical device ID 1.
:019001010601085E
^1^2^3^4^5^6^7^8
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 01 | One command | |
4 | 1 | Command Parameter ID | 01 | Command parameter ID 0x01 | |
5 | 1 | Color | 06 | White | |
6 | 1 | Blinking Pattern | 01 | Blinking | |
7 | 1 | Brightness | 08 | Brightness 8 | Range 0x00 to 0x0F |
8 | 1 | Checksum | 5E |
Example 3: Send LED Lighting Color and Lighting Duration to Notification PAL
Command to light up purple and turn off after 1 second for the NOTICE PAL with logical device ID 1.
:0190020104000802FF00015E
^1^2^3^4^5^6^7^8^9^a^b^c
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 02 | Two commands | |
4 | 1 | Command Parameter ID | 01 | Command parameter ID 0x01 | |
5 | 1 | Color | 04 | Purple | |
6 | 1 | Blinking Pattern | 00 | Always on | |
7 | 1 | Brightness | 08 | Brightness 8 | Range 0x00 to 0x0F |
8 | 1 | Command Parameter ID | 02 | Command parameter ID 0x02 | |
9 | 1 | Unused | FF | ||
a | 1 | Unused | 00 | ||
b | 1 | Lighting Duration | 01 | Turns off after 1 second | |
c | 1 | Checksum | 5E |
Example 4: Send Detailed Lighting Color to Notification PAL
Command to light up purple for the NOTICE PAL with logical device ID 1.
:01900103FF0F0459
^1^2^3^4^5^^^6^7
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 01 | One command | |
4 | 1 | Command Parameter ID | 03 | Command parameter ID 0x03 | |
5 | 1 | Unused | FF | ||
6 | 2 | LED Lighting Color | 0F04 | Lights blue at 15 and red at 4 brightness | Specify 4 bits each for RGBW in order from LSB (0–15). Higher value means brighter. |
7 | 1 | Checksum | 59 |
Example 5: Send LED Lighting Color and Lighting Duration to Notification PAL
Command to light up purple and turn off after 1 second for the NOTICE PAL with logical device ID 1.
:0190020104000802FF00015E
^1^2^3^4^5^6^7^8^9^a^b^c
No. | Bytes | Meaning | Example Data | Explanation of Example Data | Notes |
---|---|---|---|---|---|
1 | 1 | Destination Logical Device ID | 01 | Logical device ID of the destination is 0x01 | |
2 | 1 | Command Type | 90 | 0x90 command | Fixed at 90 |
3 | 1 | Number of Commands | 02 | Two commands | |
4 | 1 | Command Parameter ID | 01 | Command parameter ID 0x01 | |
5 | 1 | Color | 04 | Purple | |
6 | 1 | Blinking Pattern | 00 | Always on | |
7 | 1 | Brightness | 08 | Brightness 8 | Range 0x00 to 0x0F |
8 | 1 | Command Parameter ID | 02 | Command parameter ID 0x02 | |
9 | 1 | Unused | FF | ||
a | 1 | Unused | 00 | ||
b | 1 | Lighting Duration | 01 | Turns off after 1 second | |
c | 1 | Checksum | 5E |
2.1.2 - Repeater Mode of Parent and Repeater App
Example Settings
To use as a repeater, set the Operating Mode in interactive mode to 1
or higher.
Relay Methods
TWELITE NET provides two major relay methods for wireless packet delivery, as shown in the table below, which differ depending on the application. This app can identify and relay packets of the applications shown in the table below.
Relay Method | Supported Applications |
---|---|
Simple Net | Extremely Simple! Standard App, Remote Control App, Serial Communication App, ACT |
Relay Net | Wireless Tag App, PAL App, CUE App |
Relay Using Simple Net
When relaying applications using Simple Net, setting the operating mode to 1 or higher allows up to three relays.
For example, in case 1., if there are up to 3 Repeaters between the Parent and Child, data will reach the Parent, but in case 2., if there are 4 or more Repeaters, data will not reach the Parent.
1. Child ---> Repeater ---> Repeater ---> Repeater ---> Parent
→ Parent can receive Child's data relayed 3 times.
2. Child ---> Repeater ---> Repeater ---> Repeater ---> Repeater -x-> Parent
→ Stops relaying at the 4th relay.
Relaying with Simple Net basically uses broadcast communication and relays all received packets. The advantage is that communication to form and maintain the relay network is not necessary, but the disadvantage is that communication volume can explode as the number of Repeaters increases.
For details, please refer to here.
Relay Using Relay Net
For relaying data of applications using Relay Net with one stage of relay, set the operating mode value to 1.
When performing multiple relays, increase the operating mode setting value as the distance from the Parent increases. (It is acceptable if the setting values are in ascending order even if some values are skipped.)
The maximum number of relays for this method is up to 63 times.
Example 1: One relay\
Child ---> Repeater (Operating Mode: 1) ---> Parent
Example 2: Two relays\
Child ---> Repeater (Operating Mode: 2) ---> Repeater (Operating Mode: **1**) ---> Parent
Example 3: Three relays\
Child ---> Repeater (Operating Mode: 6) ---> Repeater (Operating Mode: 3) ---> Repeater (Operating Mode: 1) ---> Parent
Relay Net is a tree-type network designed to efficiently deliver upstream packets. Repeaters search for an upper layer (Parent or Repeater with a smaller operating mode setting) and relay to one discovered upper layer device.
Therefore, even if the number of Repeaters increases, the communication volume is less likely to become large compared to Simple Net, but communication occurs to discover and maintain the connection destination.
For details, please see here.
When Performing Static Routing (Directly Specifying Relay Destination)
When relaying with Relay Net, considering the layout as shown in the figure below, Repeater 2 automatically selects either the Parent or Repeater 1 as the connection destination.
Basically, fewer relays tend to have a higher delivery rate to the Parent, but if the Parent is selected as the connection destination for Repeater 2, communication quality may deteriorate due to obstacles between Parent and Repeater 2, resulting in a lower delivery rate to the Parent than when relaying through Repeater 1.
Therefore, this app has a function (static routing function) to specify the connection destination of Repeaters by TWELITE serial number.

When performing static routing, set the route from Repeater 2 to Repeater 1 statically, or set all routes statically.
Setting all routes increases the amount of configuration and does not support redundancy for situations such as Repeater failure or changes in radio conditions, but it eliminates the time to determine the upper communication destination and allows prompt relay operation.
To perform static routing, set the connection destination as shown in the table below: Repeater 1’s connection destination is the Parent’s SID, and Repeater 2’s connection destination is Repeater 1’s SID.
Example: Two-stage relay (Parent ← Repeater 1 ← Repeater 2 ← Child)
TWELITE SID Example | Connection Destination (A: Access Point Address) Setting Example | Operating Mode (l:Mode) Setting Example | |
---|---|---|---|
Parent | 810F155E | - | 0 |
Repeater 1 | 810E18E8 | 810F155E (Parent’s SID)※ | 1 |
Repeater 2 | 810F17FF | 810E18E8 (Repeater 1’s SID) | 2 |
※ If you only want to deal with effects caused by walls as shown in the figure, this setting is unnecessary.
2.2 - Interactive Mode (Parent and Repeater App)
This section explains features specific to the Parent and Repeater App (App_Wings). For common features, please refer to the TWELITE APPS Manual Top Page.
Display Example
The screen shown below will be displayed.
[CONFIG MENU/App_Wings:0/v1-02-1/SID=820163B2]
a: (0x67720102) Application ID [HEX:32bit]
c: (18 ) Channels Set
x: ( 0x03) RF Power/Retry [HEX:8bit]
b: (38400,8N1 ) UART Baud [9600-230400]
o: (0x00000000) Option Bits [HEX:32bit]
k: (0xA5A5A5A5) Encryption Key [HEX:32bit]
m: ( 0) Mode (Parent or Router)
A: (0x00000000) Access point address [HEX:32bit]
[ESC]:Back [!]:Reset System [M]:Extr Menu
Commands
Item | Default | Notes | |
---|---|---|---|
a | Application ID | 0x67720102 | 32bit |
c | Frequency Channel | 18 | 11 -26 |
x | Retry Count and Transmission Power | 03 | |
Retry Count | 0 | 1 -9 times, 0 means default 0 times | |
Transmission Power | 3 | 0 -3 | |
b | UART Alternative Settings | 38400,8N1 | Enabled by option bit |
o | Option Bits | 0x00000000 | Other detailed settings |
k | Encryption Key | 0xA5A5A5A5 | 32bit |
m | Operating Mode | 0 | Parent 0 , Repeater 1 , Repeater Network 1 -63 |
A | Repeater Destination | 0x00000000 | Repeater mode only |
Details of each command are shown below.
a
: Application ID
All devices communicating must have the same value. It logically separates networks.
c
: Frequency Channel
All devices communicating must have the same value. It physically separates networks.
x
: Transmission Power and Retry Count
Specify the radio transmission power and the number of additional packet retransmissions.
b
: UART Alternative Settings
Specify UART options when the option bit Enable UART Alternative Settings is set.
The value specifies baud rate and parity settings separated by a comma.
The baud rate can be selected from 9600
/19200
/38400
/57600
/115200
/230400
. Specifying other values may cause errors.
Parity can be set as N
: None, O
: Odd, E
: Even. Hardware flow control cannot be set. Settings like 8N1, 7E2 can be specified, but settings other than 8N1 are unverified. Please confirm operation in advance.
115200,8N1
will be applied.o
: Option Bits
Specify a 32bit numeric value. Settings linked to each bit can be enabled.
Bit Mask | Setting | Default |
---|---|---|
0x00000200 | Enable UART Alternative Settings | 0️⃣ |
0x00000400 | Stop Periodic Packet Transmission Output | 0️⃣ |
0x00001000 | Enable Encrypted Communication | 0️⃣ |
0x00002000 | Enable Plain Reception During Encrypted Communication | 0️⃣ |
k
: Encryption Key
Specify a 32bit hexadecimal encryption key when the option bit Enable Encrypted Communication is set.
m
: Operating Mode
Set 0
for Parent mode, 1
for Repeater mode.
When performing multi-hop repeater in Repeater mode, setting 2
-63
specifies the repeater layer.
A
: Repeater Destination
Specify the serial ID (0x8???????
) of the upper-level device connected when performing static routing in Repeater mode. When set to 0x00000000
, automatic search is performed.
Details of Option Bits
Explanation of settings linked to each bit of the option bit value.
00000200
: Enable UART Alternative Settings
Enables b
: UART Alternative Settings.
00000400
: Stop Periodic Packet Transmission Output
Stops the 1-second periodic transmission of the Extremely Simple! Standard App and Remote Control App and stops UART output during continuous mode.
00001000
: Enable Encrypted Communication
Enables encrypted communication. The other party must also enable encrypted communication.
00002000
: Enable Plain Reception During Encrypted Communication
When encrypted communication is enabled, allows reception of packets that are not encrypted.