ProXR controllers are available in many varieties. The following commands can help identify the ProXR controller and feature set available.
CK = Checksum (00-FF)TX: | 2 | 3 | 4 | 5 | 6 | CK | Function: | Receive Data | NOTES |
---|---|---|---|---|---|---|---|---|---|
AA | 04 | FE | 35 | F3 | 04 | D8 | Get Device Identification Data | AA | Header Fixed Value |
05 | Number of Bytes in Payload | ||||||||
63 | Device ID Byte 1 | ||||||||
09 | Device ID Byte 2 | ||||||||
00 | Device ID Byte 3 | ||||||||
80 | Device ID Byte 4 | ||||||||
00 | Device ID Byte 5 | ||||||||
9B | Checksum |
Each Device ID Byte above contains a very specific meaning, indicating available features for the controller. It will be necessary to test each bit of every byte to obtain the complete feature set. If you are not familiar with bitwise operations, examples are available in the Base Station Source Code at https://ncd.io/start
Device ID Byte 1
In the example Shown, the device returned &h63.
Convert the value &h63 to Binary to See Each Bit: %01100011 (8-Bit Binary Always Begins with Bit 7 and Ends with Bit 0)
If Bit 7 is Set, This Controller Supports Current Monitoring Command Set (External Hardware May Be Required) If Bit 6 is Set, This Controller Supports AVA Security Protocols Command Set If Bit 5 is Set, This Controller Supports the Scratchpad Memory Command Set If Bit 4 is Set, This Controller Supports the AD1216 Analog to Digital Converter Command Set (External Hardware May Be Required) If Bit 3 is Set, This Controller Supports the Programmable Potentiometer Command Set (External Hardware May Be Required) If Bit 2 is Set, This Controller Supports Input Contact Closure SCAN Features (External Hardware May Be Required) If Bit 1 is Set, This Controller Supports the AD8 Command Set Using Built-In Hardware If Bit 0 is Set, This is a ProXR Class Controller
In the above example, Bits 6, 5, 1, and 0 are set, so the example controller supports the following features:
Bit 6 = 1: This Controller Supports AVA Security Protocols Command Set Bit 5 = 1: This Controller Supports the Scratchpad Memory Command Set Bit 1 = 1: This Controller Supports the AD8 Command Set Using Built-In Hardware Bit 0 = 1: This is a ProXR Class Controller
Device ID Byte 2
In the example Shown, the device returned &h09.
Convert the value &h09 to Binary to See Each Bit: %00001001 (8-Bit Binary Always Begins with Bit 7 and Ends with Bit 0)
If Bit 7 is Set, This Controller Supports Fusion Decision Maker Logic If Bit 6 is Set, This Controller Supports a Lifetime Counter If Bit 5 is Set, This Controller Supports 8-Bit Digital I/O on Port 2 If Bit 4 is Set, This Controller Supports 8-Bit Digital I/O on Port 1 If Bit 3 is Set, This Controller Supports the AD8 Relay Activator Event Generator If Bit 2 is Set, Reserved for Future Use If Bit 1 is Set, This Controller Supports the Pulsar Light Dimmer Command Set If Bit 0 is Set, This Controller Supports the E3C Command Set
In the above example, Bits 3 and 0 are set, so the example controller supports the following features:
Bit 3 = 1: This Controller Supports the AD8 Relay Activator Event Generator Bit 0 = 1: This Controller Supports the E3C Command Set
Device ID Byte 3
In the example Shown, the device returned &h00, so none of the features below are supported.
If Bit 7 is Set, Fusion Class Controller If Bit 6 is Set, This Controller Supports Sonar Distance Measurement on Port 2 If Bit 5 is Set, This Controller Supports Sonar Distance Measurement on Port 1 If Bit 4 is Set, This Controller Supports the AD1216 Analog to Digital Converter on Port 2 If Bit 3 is Set, This Controller Supports the Programmable Potentiometer Command Set on Port 2 If Bit 2 is Set, This Controller Supports the Input Contact Closure SCAN Features on Port 2 If Bit 1 is Set, This Controller Supports the AD8 Command Set on Port 2 If Bit 0 is Set, This Controller Supports the Taralist Time Activated Relay Command Set
Device ID Byte 4
In the example Shown, the device returned &h80.
Convert the value &h80 to Binary to See Each Bit: %10000000 (8-Bit Binary Always Begins with Bit 7 and Ends with Bit 0)
If Bit 7 is Set, This Controller Supports the API Command Set If Bit 6 is Set, This Controller Supports Dual Communication Ports If Bit 5 is Set, This Controller Supports External Bus I2C Communications If Bit 4 is Set, This Controller Supports Internal Bus I2C Communications If Bit 3 is Set, Reserved for Future Use If Bit 2 is Set, Reserved for Future Use If Bit 1 is Set, Reserved for Future Use If Bit 0 is Set, Reserved for Future Use
In the above example, Bits 7 is set, so the example controller supports API Communications.
Device ID Byte 5
In the example Shown, the device returned &h00, so none of the features below are supported.
If Bit 7 is Set, Reserved for Future Use If Bit 6 is Set, Reserved for Future Use If Bit 5 is Set, This Controller Supports MirW Control Functions If Bit 4 is Set, This Controller Supports KFX Key Fob Configuration If Bit 3 is Set, Reserved for Future Use If Bit 2 is Set, Reserved for Future Use If Bit 1 is Set, Reserved for Future Use If Bit 0 is Set, This Controller Supports Push Notification