Bi-Directional Communication (Response)

ListOperationalStates

The result of the request from Bi-Directional Communication (Request) channel and ListOperationalStates. The Payload part will contain the list of activated Operational States. Where each byte will be equal to Channel Data Classifier ID.

The Message by Control Protocol (SACP) will have the next structure:

Part Field name Length (bits) Value
Header Channel 2 0x03
Data Classifier 6 0x09
SARP 16 Routing Protocol (SARP) address information
ACK 1 Acknowledgment flag
TTL 4 Time to live
Data length 11 0x1
Payload Data 8 The Channel Data Classifier ID

Note

If device has more than one activated Operational State then the Payload part of Message will have the next sequence of bytes -> cdcID1, cdcID2, ..., cdcIDN

ConfigurePinMode

The result of the request from Bi-Directional Communication (Request) channel and ConfigurePinMode. The Payload part will contain the list of pins that was successfully configured with specified mode.

The Message by Control Protocol (SACP) will have the next structure:

Part Field name Length (bits) Value
Header Channel 2 0x03
Data Classifier 6 0x0A
SARP 16 Routing Protocol (SARP) address information
ACK 1 Acknowledgment flag
TTL 4 Time to live
Data length 11 0x1
Payload Data 8 The number of the pin

Note

If you specified more than one Pin using single Message then the Payload part of Message will have the next sequence of bytes -> pin1, pin2, ..., pinN

ReadDigitalPin

The result of the request from Bi-Directional Communication (Request) channel and ReadDigitalPin. The Payload part will contain the result from requested pins. The result value can be as 0x1 (high level) or 0x0 (low level).

The Message by Control Protocol (SACP) will have the next structure:

Part Field name Length (bits) Value
Header Channel 2 0x03
Data Classifier 6 0x0B
SARP 16 Routing Protocol (SARP) address information
ACK 1 Acknowledgment flag
TTL 4 Time to live
Data length 11 0x1
Payload Data 8 The value (0x1 or 0x0)

Note

If you specified more than one Pin using single Message then the Payload part of Message will have the next sequence of bytes -> value1, value2, ..., valueN

WriteDigitalPin

The result of the request from Bi-Directional Communication (Request) channel and WriteDigitalPin. The Payload part will contain the list of pins that was successfully updated with specified levels.

The Message by Control Protocol (SACP) will have the next structure:

Part Field name Length (bits) Value
Header Channel 2 0x03
Data Classifier 6 0x0C
SARP 16 Routing Protocol (SARP) address information
ACK 1 Acknowledgment flag
TTL 4 Time to live
Data length 11 0x1
Payload Data 8 The number of the pin

Note

If you specified more than one Pin using single Message then the Payload part of Message will have the next sequence of bytes -> pin1, pin2, ..., pinN

ConfigureAnalogReference

The result of the request from Bi-Directional Communication (Request) channel and ConfigureAnalogReference. The first byte of Payload part will contain 0x01 if the reference voltage was successfully configured, otherwise 0x00.

The Message by Control Protocol (SACP) will have the next structure:

Part Field name Length (bits) Value
Header Channel 2 0x03
Data Classifier 6 0x0A
SARP 16 Routing Protocol (SARP) address information
ACK 1 Acknowledgment flag
TTL 4 Time to live
Data length 11 0x1
Payload Data 8 The result: 0x00 or 0x01

ReadAnalogPin

The result of the request from Bi-Directional Communication (Request) channel and ReadAnalogPin. The Payload part will contain the result from requested pins. The result value can be between 0-1023 (for 10-bit ADC) or between 0-4095 (for 12-bit ADC).

The Message by Control Protocol (SACP) will have the next structure:

Part Field name Length (bits) Value
Header Channel 2 0x03
Data Classifier 6 0x0E
SARP 16 Routing Protocol (SARP) address information
ACK 1 Acknowledgment flag
TTL 4 Time to live
Data length 11 0x2
Payload Data 8 The MSB of result
8 The LSB of result

Note

If you specified more than one Pin using single Message then the Payload part of Message will have the next sequence of bytes -> MSB_value1, LSB_value1, MSB_value2, LSB_value2, ..., MSB_valueN, LSB_valueN