0% found this document useful (0 votes)
48 views

Immersionrc Laprf Interface Protocol: Version 1.2, Aug 2017

This document defines the protocol for communication between an ImmersionRC timing system and tags. It specifies various packet types with message IDs and field IDs to configure settings like RF settings, retrieve detections and status information, control system state like starting/stopping races, and get/set the internal real-time clock time. Key packet types include ones for RF settings, detections, status updates, settings, and control commands. Field IDs specify values like pilot IDs, timestamps, signal levels, and state values.

Uploaded by

dbsi batam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

Immersionrc Laprf Interface Protocol: Version 1.2, Aug 2017

This document defines the protocol for communication between an ImmersionRC timing system and tags. It specifies various packet types with message IDs and field IDs to configure settings like RF settings, retrieve detections and status information, control system state like starting/stopping races, and get/set the internal real-time clock time. Key packet types include ones for RF settings, detections, status updates, settings, and control commands. Field IDs specify values like pilot IDs, timestamps, signal levels, and state values.

Uploaded by

dbsi batam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

ImmersionRC LapRF Interface Protocol Version 1.

2, Aug 2017
Packet types shaded in green are considered 'essentials' for any implementation

sent/received by timing Length


Message ID Field ID Name system (bytes) Format Usage

Common Common TO ALL MESSAGES BELOW elements which are common for most packet types
0x01 PILOT_ID sent/received 1 byte the slot for which to set the values (slot 1 to MAX_PILOTS )
0x02 RTC_TIME sent 8 long long timestamp, microseconds since startup
0x03 STATUS_FLAGS sent 2 short status of puck

0xDA02 RF SETTINGS settings for each detection slot


0x01 PILOT_ID sent/received 1 byte the slot for which to set the values (slot 1 to MAX_PILOTS )
0x20 RF_SETTINGS_ENABLE sent/received 2 short enable/disable slot, 1 = enable, 0 = disable
0x21 RF_SETTINGS_CHANNEL sent/received 2 short the channels to set (only informational, value not used, client decides how to interpret))
0x22 RF_SETTINGS_BAND sent/received 2 short the band to set (only informational, value not used, client decides how to interpret)
0x23 RF_SETTINGS_THRESHOLD sent/received 4 float the detection peak height, ADC codes, typical value 1000 codes, max approx. 3000 codes
0x24 RF_SETTINGS_GAIN sent/received 2 short the gain to set - 0: min gain, 31.5dB attenuation , 63: max gain, 0dB attenuation)
0x25 RF_SETTINGS_FREQUENCY sent/received 2 short the frequency to set in MHz

0xDA09 DETECTIONS (Passing records)


0x01 PILOT_ID sent 1 byte the slot for which to set the values (slot 1 to MAX_PILOTS )
0x02 RTC_TIME sent 8 long long timestamp, microseconds since startup
0x20 DECODER_ID sent 4 int Note: This is not the Slot ID
0x21 DETECTION_NUMBER sent 4 int passing number (increments with each passings over the timing system)
0x22 DETECTION_PEAK_HEIGHT sent 2 short Level of the peak detected
0x23 DETECTION_FLAGS sent 2 short 0 or resent flag

0xDA0A STATUS
0x01 PILOT_ID sent 1 byte the slot for which to set the values (slot 1 to MAX_PILOTS )
0x21 STATUS_INPUT_VOLTAGE sent 2 short battery voltage, scaled in mV
0x02 RTC_TIME sent 8 long long timestamp, microseconds since startup
0x22 STATUS_RSSI sent 4 float instantaneous RSSI, in ADC codes, approx. 950 for no signal, ~3500 for max. signal
0x23 STATUS_GATE_STATE sent 1 byte state of gate
0x24 STATUS_COUNT sent 4 int number of detections (use to detect a communications lapse)

0xDA07 SETTINGS
0x20 SETTINGS_NAME sent 10 bytes 8 first bits are char names
0x22 SETTINGS_STATUS_UPDATE_PERIOD_MS sent 2 short milliseconds between status update messages
0x25 SETTINGS_SAVE_SETTINGS sent 1 bytes save settings in EEPROM
0x26 SETTINGS_MIN_LAP sent 4 int minimum lap time, in ms, new in post Aug 2017 firmware
0x27 SETTINGS_MODULE_ENABLED sent 1 bytes turn modules on/off, in dev for TimingPuckV2

0xDA08 DECRIPTOR packet sent out on empty message


0x20 PUCK_VERSION sent 4 int puck version ( four bytes, version byte1.byte2.byte3.byte4 )
0x21 PROTOCOL_VERSION sent 1 byte protocol version
0xDA04 STATE_CONTROL clean this up, start/stop race currently does nothing, handle on client side
0x20 STATE_CTRL_RACE sent 1 byte start/stop race, 0xff = shutdown, 0xfe = reset, 1 = start race, 0 = stop race
0x21 STATE_CTRL_CALIBRATION sent 1 byte start/stop dynamic calibration
0x22 STATE_CTRL_DATA_DUMP sent 1 byte data dump
0x23 STATE_CTRL_STATIC_CALIBRATION receive 1 byte start static calibration

0xDA05 data dump


0x20 DATA DUMP currently unused

0xDA06 CALIBRATION_LOGS
PILOT_ID
RTC_TIME
0x20 PEAK_HEIGHT sent 4 float detected peak height
0x21 NUM_PEAK sent 2 short detected peak number
0x22 BASE sent 2 short baseline level

0xDA0B DETECTION_COUNT
0x20 COUNT sent/receive 4 int Request current count
0x21 FROM sent 4 int Request packets from this number
0x22 UNTIL sent 4 int Request packets to this number

0xDA0C Get/Set time


0x02 RTC_TIME received 8 long long set time since 1 jan 1970 in us.
0x02 RTC_TIME sent 8 long long time value since 1 jan 1970 in us.
0x02 RTC_TIME received 0 none get time value since 1 jan 1970 in us

0xDA01 RSSI/CURRENTLY UNUSED RSSI packet sendout for debug/not used


0x24 RSSI_ENABLE received 0 none enable/disable RSSI statistics packet sendout, returns RSSI sendout state
0x24 RSSI_ENABLE sent 1 byte (1 true 0 false) send out RSSI statistics sendout state
0x25 RSSI_INTERVAL received 0 none get RSSI statistics send out time interval in milliseconds
0x25 RSSI_INTERVAL sent 4 int set RSSI statistics send out interval in milliseconds
0x20 RSSI_MIN sent 4 float minimum RSSI value over sampling period
0x21 RSSI_MAX sent 4 float maximum RSSI value over sampling period
0x22 RSSI_MEAN sent 4 float mean RSSI value over sampling period
0x23 RSSI_COUNT sent 4 int number of RSSI samples over sampling period used for statistics
0x26 RSSI_SDEV sent 4 float standard deviation of RSSI

0xDA0D Network
0x20 Ping sent/received 4 int send a ping request, returns a ping with the numerical value received

Examples
5a 0b 00 19 5c 9a 02 da 01 01 01 5b Query RF Setup for slot 1 Note: 5c is the escape character, with the 9a being inserted

You might also like