Host Protocols
March 13, 2024 at 7:02 AMHost Protocols
On top of the physical host interfaces and transport layers, the SpringCore devices support a wide variety of communication protocols.
Primary host protocl
The primary protocol is selected by configuration the Profile configuration register.
Some of the Protocols are not available on every Interface for technical reasons, or because they make no senses on all communication medium. The table below summarizes the implementation matrix.
USB | BLE | Network | Serial | |
---|---|---|---|---|
Direct Protocol | Yes | Yes | UDP Direct | No |
CCID Protocol (PC/SC) | Yes | Yes | TCP Server | No |
HID Protocol (RFID Scanner) | Yes | Yes | No | No |
$SCRDR Messages | Over CDC | No | TCP Server UDP Server MQTT Client HTTP Client |
Yes |
RDR JSON Messages | Over CDC | No | TCP Server UDP Server MQTT Client HTTP Client |
Yes |
RDR TLV Protocol | Over CDC | No | No | Yes |
RDR MK1 Protocol | Over CDC | No | No | Yes |
SpringProx Legacy Protocol | Over CDC | No | No | Yes |
Secondary host protocol
The Profile configuration register specifies the overall behavior of the SpringCore device, and therefore its primary Logical host interface protocol, but the physical host interface and transport layer may allow a second Logical host interface to be used in the same time.
- For USB, the SpringCore device exposes a compound device profile. Whatever the primary Logical protocol, the Direct Protocol remains available as the secondary USB interface, unless this feature is disabled in the USB options configuration register,
- For BLE, the SpringCore device exposes a GATT with more than one service. The Direct Protocol is exposed as a secondary service in the GATT, unless this feature is disabled in the BLE options configuration register.