To ensure accurate interpretation of the data frame, identifying the firmware version is essential. The firmware version is encoded directly within the data frame and is located in the second-to-last byte (byte position 30). This attribute has been included in all major firmware versions since BSS08.
Firmware versioning schema
Firmware releases follow the naming convention:
BSS + <major version number> + <optional minor version character>.
The initial release of a major version does not include a minor suffix. For example, BSS08 corresponds to firmware version 80.
Subsequent minor releases are identified by an alphabetical suffix. For example, BSS08a corresponds to firmware version 81.
Firmware version–release mapping
BSS08 releases:
- 80 - BSS08
- 81 - BSS08a
- 82 - BSS08b
- 83 - BSS08c
- 84 - BSS08d
BSS10 releases:
- 100 - BSS10
- 101 - BSS10a
BSS11 releases:
- 110 - BSS11
Code example: Identifying the firmware version
To ensure forward compatibility, it is recommended to assume compatibility between the latest supported firmware release and future firmware versions unless stated otherwise.
The firmware version is encoded in the data frame and can be extracted from byte position 30 (0-based index). The example below demonstrates how to extract and interpret the firmware version using Python.
frame = "0201060A0957454D46464646354410FF0E0401114A2D4A2300000000006E00"
# Convert hex string to bytes
byte_array = bytes.fromhex(frame)
# Extract firmware version from byte position 30 (0-based index)
firmware_version = byte_array[30] # Value is already in decimal
if 80 <= firmware_version <= 89:
# Parse frame as BSS08
pass
elif 100 <= firmware_version <= 109:
# Parse frame as BSS10
pass
elif firmware_version >= 110:
# Parse frame as BSS11 or later
pass
Handling "debug data" in the data frame
The data frame contains information for the TSP, including for example the device's MAC address, wheel-end health, axle, and wheel side. It also includes sections labeled as "debug data" in the TraX Technical Specification Connected Version, which must be treated as an opaque string within TSP platform—meaning they should be stored but not parsed. These debug data sections are essential for SKF and are expected to be included when sharing data with SKF, as they provide valuable insights into product performance.
Development devices
In addition to the stable firmware, SKF offers a firmware specifically designed for the development integration phase, referred to as "development devices".
IMPORTANT: the TraX mobile apps may prompt you to upgrade the firmware of development devices. Do not perform firmware upgrades on these devices, as they are intended solely for development purposes and must not be used in production environments..
Development devices broadcast BLE advertising frames every 10 seconds, cycling to one of six supported data frames every five minutes.
These frames represent a subset of device statuses but do not encompass the full range of data variations required for complete device integration.
The data frames generated by a development device include:
AdvFrame1: Battery low level + Bearing failure 0x12
AdvFrame2: Battery extreme low level 0x01
AdvFrame3: Vibration sensor failure (WEM FAILURE) 0xA1
AdvFrame4: Internal WEM Failure (Piezofailure) 0x61
AdvFrame5: Temperature Sensor Failure 0x25
AdvFrame6: Bearing Failure + Temperature Sensor failure 0x26Contact your sales represent for more information about TraX development devices.
Comments
0 comments
Article is closed for comments.