KONNEKTING Protocol Specification 0x01
Revision as of 08:45, 14 March 2018 by Konnekting (talk | contribs)
Message Types for Protocol-Version 0x01
--- DRAFT ---
This is the second protocol version (version=0x01), starting witrh 1.0.0 beta5
--- DRAFT ---
0x00 Acknowledge
- Message Name: Acknowledge
- Message-Type-ID: 0 dec / 0x00 hex
- Direction: Device -> Suite
- Expected Response: n/a
- Description: Sent by device as answer to most WRITE messages
- Requires Programming Mode: n/a
Byte no# | Description |
---|---|
2 | Acknowledge Type |
3 | Error Code |
4..13 | 0xFF, unused |
Acknowledge Type
hex | Description |
---|---|
0x00 | ACK |
0xFF | NACK |
Error Code
hex | Description |
---|---|
0x00 | no error / no error code available |
0x01 DeviceInfoRead
- Message Name: DeviceInfoRead
- Message-Type-ID: 1 dec / 0x01 hex
- Direction: Suite -> Device
- Expected Response: #0x02 DeviceInfoResponse
- Description: Initiates reading general device information
- Requires Programming Mode: no
Byte no# | Description |
---|---|
2 | IndividualAddress HI |
3 | IndividualAddress LO |
4..13 | 0xFF, unused |
0x02 DeviceInfoResponse
- Message Name: DeviceInfoResponse
- Message-Type-ID: 2 dec / 0x02 hex
- Direction: Device -> Suite
- Expected Response: n/a
- Description: Response to a DeviceInfoRead message
- Requires Programming Mode: n/a
Byte no# | Description |
---|---|
2 | Manufacturer-ID HI |
3 | Manufacturer-ID LO |
4 | Device-ID |
5 | RevisionID |
6 | Device Flags, see below |
7 | IndividualAddress HI |
8 | IndividualAddress LO |
9 | System Type, see below |
10..13 | 0xFF, unused |
Device Flags
b7 ist the left most bit, b0 is the right most bit.
bit | hex mask | Description |
---|---|---|
b7 | 0x80 | Factory Flag:
|
b6..b0 | n/a | unused |
System Type
hex | Name | Description |
---|---|---|
0x00 | System 1 Default |
Up to:
|
0x01 | System 2 Simple |
Up to:
|
0x02 | System 3 Extended DRAFT |
Up to:
|
GAs = Unique GroupAddresses
GA-ComObj relations = Assignments of GAs to ComObjects
ComObjects = Number of ComObjects
Parameters = Number of Paramaters
0x09 Restart
- Message Name: Restart
- Message-Type-ID: 9 dec / 0x09 hex
- Direction: Suite -> Device
- Expected Response: #0x00 Acknowledge
- Description: Restart device (device reboot, no memory reset)
- Requires Programming Mode: no
Byte no# | Description |
---|---|
2 | IndividualAddress HI |
3 | IndividualAddress LO |
4..13 | 0xFF, unused |
0x0A ProgrammingModeWrite
- Message Name: ProgrammingModeWrite
- Message-Type-ID: 10 dec / 0x0A hex
- Direction: Suite -> Device
- Expected Response: #0x00 Acknowledge
- Description: Sets/Unsets Programming-Mode for device with given individual address. Device will respond with a "Acknowledge" message.
- Requires Programming Mode: no
Byte no# | Description |
---|---|
2 | IndividualAddress HI |
3 | IndividualAddress LO |
4 | Mode: 0x00 = OFF |
5..13 | 0xFF, unused |
0x0B ProgrammingModeRead
- Message Name: ProgrammingModeRead
- Message-Type-ID: 11 dec / 0x10 hex
- Direction: Suite -> Device
- Expected Response: #0x0C ProgrammingModeResponse
- Description: Reads current programming mode of all listening devices. If more than one device is in programming-mode, you will get more then one AnswerProgrammingMode messages.
- Requires Programming Mode: no
Byte no# | Description |
---|---|
2..13 | 0xFF, unused |
0x0C ProgrammingModeResponse
- Message Name: ProgrammingModeResponse
- Message-Type-ID: 12 dec / 0x11 hex
- Direction: Device -> Suite
- Expected Response: n/a
- Description: Response to ProgrammingModeRead message.
- Requires Programming Mode: n/a
Byte no# | Description |
---|---|
2 | IndividualAddress HI |
3 | IndividualAddress LO |
4..13 | 0xFF, unused |
0x14 IndividualAddressWrite
- Message Name: IndividualAddressWrite
- Message-Type-ID: 20 dec / 0x14 hex
- Direction: Suite -> Device
- Expected Response: #0x00 Acknowledge
- Description: Writes the individual address the device should use. Device will respond with a "Acknowledge" message.
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2 | IndividualAddress HI |
3 | IndividualAddress LO |
4..13 | 0xFF, unused |
0x15 IndividualAddressRead
- Message Name: IndividualAddressRead
- Message-Type-ID: 21 dec / 0x15 hex
- Direction: Suite -> Device
- Expected Response: #0x16 IndividualAddressResponse
- Description: Each device in programming mode will respond with its individual address
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2..13 | 0xFF, unused |
0x16 IndividualAddressResponse
- Message Name: IndividualAddressResponse
- Message-Type-ID: 22 dec / 0x16 hex
- Direction: Device -> Suite
- Expected Response: n/a
- Description: Response to a IndividualAddressRead message with the device's individual address.
- Requires Programming Mode: n/a
Byte no# | Description |
---|---|
2 | IndividualAddress HI |
3 | IndividualAddress LO |
4..13 | 0xFF, unused |
0x1E MemoryWrite
- Message Name: MemoryWrite
- Message-Type-ID: ?? dec / 0x?? hex
- Direction: Suite -> Device
- Expected Response: #0x00 Acknowledge
- Description: Write data to device memory
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2 | Count: Number of bytes to write to memory, starting at "Address" |
3 | Address HI |
4 | Address LO |
5..13 | 1..9 bytes of Data, depends on "Count". Remaining bytes: 0xFF |
0x1F MemoryRead
- Message Name: MemoryRead
- Message-Type-ID: ?? dec / 0x?? hex
- Direction: Suite -> Device
- Expected Response: #0x20 MemoryResponse
- Description: Reads data from device memory
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2 | Count: Number of bytes to read from address |
3 | Address HI |
4 | Address LO |
5..13 | 0xFF, unused |
0x20 MemoryResponse
- Message Name: MemoryResponse
- Message-Type-ID: ?? dec / 0x?? hex
- Direction: Device -> Suite
- Expected Response: n/a
- Description: Response to MemoryRead
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2 | Count: Number of bytes that have been read from address |
3 | Address HI |
4 | Address LO |
5..13 | 1..9 bytes of Data, depends on "Count". Remaining bytes: 0xFF |
0x28 DataPrepare
- Message Name: DataPrepare
- Message-Type-ID: 40 dec / 0x28 hex
- Direction: Suite -> Device
- Expected Response: #0x00 Acknowledge
- Description: prepare update
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2 | Data Type, see below |
3 | Data ID unique identifier for the data |
4 | size of update uint32[0] |
5 | size of update uint32[1] |
6 | size of update uint32[2] |
7 | size of update uint32[3] |
8..13 | unused, 0xFF |
Data Type
hex | Name | Data ID range | Description |
---|---|---|---|
0x00 | UPDATE | always 0x00 | Firmware update for KONNEKTING device |
0x01 | DATA | 0x00..0xFF | f.i. additional configuration, images, sounds, ... |
0x29 DataWrite
- Message Name: DataWrite
- Message-Type-ID: 41 dec / 0x29 hex
- Direction: Suite -> Device
- Expected Response: #0x00 Acknowledge
- Description: Writing data
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2 | count[1]: 1..11 bytes |
3..13 | 1..11 bytes of Data, depends on "Count". Remaining bytes: 0xFF |
Notes:
- ↑ required to determin the end of data in last DataWrite message
0x2A DataFinish
- Message Name: DataFinish
- Message-Type-ID: 42 dec / 0x2A hex
- Description: finish writing data
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2 | CRC32[0] [1] |
3 | CRC32[1] |
4 | CRC32[2] |
5 | CRC32[3] |
6..13 | unused, 0xFF |
Notes:
0x2B DataRemove
- Message Name: DataRemove
- Message-Type-ID: 43 dec / 0x2B hex
- Direction: Suite -> Device
- Expected Response: #0x00 Acknowledge
- Description: remove previously stored data
- Requires Programming Mode: yes
Byte no# | Description |
---|---|
2 | Data Type 0x01..0xFF[1] |
3 | Data ID unique identifier for the data |
4..13 | unused, 0xFF |
Notes:
- ↑ 0x00 is reserved for UPDATE