diff --git a/README.md b/README.md index 3c0c304..195c67c 100644 --- a/README.md +++ b/README.md @@ -195,8 +195,8 @@ Command|Description `0x14`|[Language & Region Request](ike/14.md) `0x15`|[Language & Region](ike/15.md) `0x16`|Mileage Request -`0x17`|Mileage `0x18`|Speed +`0x17`|[Mileage](ike/17.md) `0x19`|[Temperature](ike/19.md) `0x1a`|[Check Control Message](lcm/1a.md) `0x1b`|Check Control Priority diff --git a/ike/17.md b/ike/17.md new file mode 100644 index 0000000..00d2881 --- /dev/null +++ b/ike/17.md @@ -0,0 +1,43 @@ +# `0x17` Mileage + +Cluster `0x80` → Broadcast `0xbf` + +The cluster will periodically broadcast the current mileage reading, while the bus is active. + +### Example Frames + + 80 06 BF 17 12 E9 04 D1 + +## Parameters + +A 32 Bit value of the total kilometres, little endian formatted (INT32 - Little Endian (DCBA)) + +Use online converter to test your values, ex : https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ + +### Mileage + +TODO : add information about the mileage sensor + +This value is a whole number. The value might be off by a constant value of maximum 250, remove or add the offset to get your cluster-indicated mileage. + +## Example + + # Example Mileage Frame 1 + 80 06 BF 17 12 E9 04 D1 + +Hex value = 12E904 +Converted to Int32 Little Endian = 321810 (in my case, the odometer displays 321560, so i have to remove 250 km) + + # Example Mileage Frame 2 + 80 06 BF 17 12 E9 02 D1 + +Hex value = 12E902 +Converted to Int32 Little Endian = 190738. + +## Use Cases + +TODO : find descriptive uses cases + +### Check Control + +TODO : add information about check control