You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/devices/steelmate.c
+64-40Lines changed: 64 additions & 40 deletions
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,7 @@
3
3
4
4
Copyright (C) 2016 Benjamin Larsson
5
5
Copyright (C) 2016 John Jore
6
+
Copyright (C) 2025 Bruno OCTAU (ProfBoc75)
6
7
7
8
This program is free software; you can redistribute it and/or modify
8
9
it under the terms of the GNU General Public License as published by
@@ -12,7 +13,23 @@
12
13
/**
13
14
Steelmate TPMS FSK protocol.
14
15
15
-
Packet payload: 9 bytes.
16
+
Reference:
17
+
18
+
- model TP-S15
19
+
20
+
Brand:
21
+
22
+
- Steelmate
23
+
- R-Lake
24
+
25
+
S.a. issue #3200 Pressure issue :
26
+
27
+
- The originally guessed formula was : Pressure in PSI scale 2, but more the pressure is important more the value diverged between the TPMS display and rtl_433.
28
+
- New analysis : Based on data collected by \@e100 + the technical specification ( 0~7.9Bar ) + analysis by \@e100 and refined by \@ProfBoc75, the pressure is given in Bar at scale 32.
29
+
30
+
Packet payload:
31
+
32
+
- 9 bytes.
16
33
17
34
Bytes 2 to 9 are inverted Manchester with swapped MSB/LSB:
18
35
@@ -24,9 +41,12 @@ Bytes 2 to 9 are inverted Manchester with swapped MSB/LSB:
24
41
- S = sync, (0x00)
25
42
- A = preamble, (0x01)
26
43
- I = id, 0xc3f0
27
-
- P = Pressure as double the PSI, 0x14 = 10 PSI
28
-
- T = Temperature in Fahrenheit, 0x4a = 74 'F
29
-
- B = Battery as half the millivolt, 0x8e = 2.84 V
44
+
- P = Pressure in Bar, scale 32, 0xA0 / 32 = 5 Bar, or 0xA0 * 3.125 = 500 kPA, see issue #3200
45
+
- T = Temperature in Celcius + 50, 0x4a = 24 'C
46
+
- B = Battery, where mV = 3900-(value*10). E.g 0x8e becomes 3900-(1420) = 2480mV.
47
+
- This calculation is approximate fit from sample data, any improvements are welcome.
48
+
- > If this field is set to 0xFF, a "fast leak" alarm is triggered.
49
+
- > If this field is set to 0xFE, a "slow leak" alarm is triggered.
30
50
- C = Checksum, adding bytes 2 to 7 modulo 256 = byte 8,(0x01+0xc3+0xf0+0x14+0x4a+0x8e) modulus 256 = 0xa0
31
51
32
52
*/
@@ -35,58 +55,61 @@ Bytes 2 to 9 are inverted Manchester with swapped MSB/LSB:
0 commit comments