17.2 Datastreamer Module

The datastreamer module embeds with a simple mono-directional data transfer protocol and the data frame that is transmitted to the data visualizer software. The current version of the datastreamer provides support only for UART port communication.
Figure 17-1. Datastreamer Module Block Diagram

UART Transmission:

The UART transmission function is device-dependent, and the MCC automatically picks up the correct driver and includes it on the user board/kit example project. The driver's Simple Asynchronous mode (non-interrupt driven) is used in all the devices.

Data Frame:

The data frame contains a header, fixed module data, and dynamic module data bytes.

Header Details:

The header contains 19 bytes and must be transmitted as part of the packet. Transmit the header once every 15 packet transmissions. It is unnecessary to do that on every packet transmission. The header packet details are listed below.
// uint8_t data[] =
// {
//     0x5F, 
//     0xB4, 0x00, 0x86, 0x4A, 
//     0x51, 0x54, 0x38, 0x31, 0x37, 0x54, 0x4F, 0x55, 0x43, 0x48, 0x55, 0xAA,    
//     0xF9,
//     0xA0
// }; 
Bytes Description
Byte 0 Start token. Contains fixed value ‘0x5F’
Bytes 1 to 14 Checksum type. Corresponds to LRC8 (XOR sum of packet, excluding start and end token)
Bytes 5 to 16 GUID, an identifier for the target hardware
Byte 17 Checksum of the header packet
Byte 18 End token. Contains fixed value ‘0xA0’

Fixed Module Data:

  1. Basic button sensor data of all the configured button sensors.
  2. Error status data.

Dynamic Module Data:

  1. Acquisition auto-tune parameters are included when auto-tune is enabled in the MCC QTouch configurator.
  2. Frequency hop auto-tune data is included as per the configurations done on MCC.
  3. Scroller module parameters are transmitted when the Slider/Wheel sensors are configured on MCC.