Skip to Content

Histograms

Time distribution capture across different ranges, updated every second.


Histogram Types

TypeRangesDescription
RPM210-8,000+ RPM
Speed160-150+ km/h
Throttle120-100%
Turbo110-400+ kPa
Engine Temperature9< 40°C to ≥ 110°C

Query Formats

Each histogram has 2 formats:

  • R (Raw): Time in seconds
  • P (Percentage): Percentage of total time
QTP<COMMAND> // Complete histogram QTP<COMMAND>,<idx> // Specific range only

RRPM / PRPM - RPM Histogram

Ranges

IdxRPM Range
00-599
1-7600-1999 (200 increments)
8-192000-7999 (500 increments)
20≥8000

Examples

>QTPRRPM< >RTPRRPM,0:120,2:450,4:890,6:1200,8:720,10:200;ID=...< >QTPPRPM< >RTPPRPM,0:3,2:12,4:24,6:32,8:19,10:5;ID=...< >QTPRRPM,6< >RTPRRPM,6:1200;ID=...< # Range 6 only

Example: RPM Distribution

0-600
3%
600-800
5%
800-1K
12%
1-1.2K
18%
1.2-1.4K
24%
1.4-1.6K
15%
1.6-1.8K
10%
1.8-2K
6%
2-2.5K
4%
2.5-3K
2%
3-3.5K
1%
ÓptimoNormalAltoExceso

RSPD / PSPD - Speed Histogram

Ranges

IdxRange km/h
00-10
1-1410-150 (10 increments)
15>150

Examples

>QTPPSPD< >RTPPSPD,0:5,3:12,5:28,7:35,9:15,11:5;ID=...< // stopped=5%, 30-40=12%, 50-60=28%, etc.

Example: Speed Distribution

0-10
5%
10-20
3%
20-30
8%
30-40
12%
40-50
15%
50-60
28%
60-70
18%
70-80
8%
80-90
3%
ÓptimoNormalAltoExceso

RACC / PACC - Throttle Histogram

Ranges

IdxRange %
0-80-89% (10% increments)
990-98%
1099%
11≥100% (full throttle / kickdown)

Examples

>QTPPACC< >RTPPACC,0:15,2:25,4:30,6:20,8:8,10:2;ID=...<

Example: Throttle Distribution

0-9%
15%
10-19%
12%
20-29%
25%
30-39%
22%
40-49%
15%
50-59%
6%
60-69%
3%
70-79%
2%
ÓptimoNormalAltoExceso

RTBO / PTBO - Turbo Histogram

Ranges

IdxRange kPa
00-29 (no boost)
130-49
250-79
380-99
4100-129
5130-149
6150-199
7200-249
8250-299
9300-399
10≥400

Examples

>QTPPTBO< >RTPPTBO,0:75,1:15,2:5,3:3,4:2;ID=...< // atmospheric=75%, 30-49kPa=15%, etc.

Example: Turbo Distribution

0-29
75%
30-49
12%
50-79
6%
80-99
4%
100-129
2%
130-149
1%
ÓptimoNormalAltoExceso

RTMP / PTMP - Engine Temperature Histogram

Ranges

Fixed bins in flash (temp_limits), 9 ranges. Negative values are clamped to range 0 (cold); outside the physical range (-40°C to 150°C) they are not accumulated (counted as no data).

IdxRange °C
0< 40
140-69
270-79
380-89
490-94
595-99
6100-104
7105-109
8≥ 110

Examples

>QTPPTMP< >RTPPTMP,3:20,4:35,5:30,X:15;ID=...< // 80-89°C=20%, 90-94°C=35%, 95-99°C=30%, no CAN data=15% >QTPRTMP< >RTPRTMP,3:180,4:320,X:140;ID=...< // seconds per range

Also available as trip reports R11 (PCT) and R12 (RAW). The equivalent per-bin signal is FTMnn (indexes 00-08).


Band signals (FRP / FVL / FAC / FTB / FTM)

Since 1.09.27 T18 every bin of the five histograms is a rules-engine signal, so events can fire per RPM or speed band without configuring UVs, with a fixed ~1.3 s latency.

SignalHistogramIndexesSource
FRPnnRPM00-20ECU00
FVLnnspeed00-15ECU05 → ECU15 → GPS
FACnnaccelerator00-11ECU01
FTBnnturbo00-10ECU28
FTMnnengine temperature00-08ECU06

The index is the same bin number reported by QTPRRPM, QTPRSPD, etc. (see each histogram’s ranges above).

Behaviour:

  • Level signal: 1 while the value is inside that bin. At most one bin on per histogram. Edges + / - come from the engine.
  • 1 s dwell: the new bin must hold for 1 s before switching. A value oscillating on the border between two bands generates no events.
  • Without valid data (5 s without a CAN frame) every bin of that histogram turns off immediately. FVL never lacks data: it falls back to GPS.
  • Without CAN only FVL moves. Units without the TRIP module still have the signals; they read 0.

Query:

>QSSFRP05< # Reply: RSSFRP0511 (on) / RSSFRP0500 (off)

Rule examples:

# Report on entering the 1400-1599 rpm band while moving (>=10 km/h) >SRL20E;TRG=FRP05+;CND=FVL00-;ACC={GU020H;@IP0}< # Report on leaving the 0-9 km/h band >SRL21E;TRG=FVL00-;ACC={GU021H;@IP0}< # Engine above 2000 rpm with the vehicle stopped >SRL22E;TRG=FRP08+;CND=FVL00;ACC={GU022H;@IP0}<

EVAL: FRP(n), FVL(n), FAC(n), FTB(n), FTM(n) return the same signal (0/1). In a user report: >SUC09 $FRJ:'FRP(5)'<.

When NOT to use them: if the threshold is not a bin border (e.g. “speed > 2 km/h”) you still need a UV or a VL.

X Index - Time Without CAN Data

For histograms that depend on CAN data (RPM, Throttle, Turbo, Engine Temperature), there’s a special X index that represents the percentage of time without valid CAN data. With X, the histogram percentages add up to exactly 100%: the time without a reading is no longer lost, it is accounted for in X.

>QTPR4< >RTPR4,3:15,4:25,5:30,X:30;ID=...< // 15+25+30 (ranges) + 30 (X) = 100% >QTPR6< >RTPR6,X:100;ID=...< // 100% without throttle data

In RAW format the X index also appears, expressed in seconds without valid data:

>QTPR5< >RTPR5,4:180,6:720,X:90;ID=...< // 90 s without valid RPM data

The X index only appears in CAN histograms. The speed histogram uses GPS as fallback and doesn’t show X. Available from firmware v1.09.17.


Histogram Reports (R2-R9, R11-R12)

Reports R2-R9 and R11-R12 are equivalent to histogram commands but include trip_id:

CommandEquivalentFormat
QTPR2PSPDSpeed PCT
QTPR3RSPDSpeed RAW
QTPR4PRPMRPM PCT
QTPR5RRPMRPM RAW
QTPR6PACCThrottle PCT
QTPR7RACCThrottle RAW
QTPR8PTBOTurbo PCT
QTPR9RTBOTurbo RAW
QTPR11PTMPEngine Temperature PCT
QTPR12RTMPEngine Temperature RAW

RAW formats may be truncated with ”…” if the trip is very long and all ranges have data.


Response Visualizer

Paste a device response to visualize it as a chart:

📊 Visualizador de Respuestas

Last updated