Added extra check for EXTERN predefinition to protect from careless developers.
[freeems-vanilla.git] / interface / basicDatalog.txt
blobb8ff72d2d71ba86f4ab6d34ebd9fa67ee83e0f89
1 [list=1]
2 [*]------------ Current Core Vars ------------
3 [*]2 IAT
4 [*]2 CHT
5 [*]2 TPS
6 [*]2 EGO (lambda actual)
7 [*]2 MAP
8 [*]2 AAP
9 [*]2 BRV
10 [*]2 MAT
11 [*]2 EGO2 (lambda actual)
12 [*]2 IAP
13 [*]2 MAF
14 [*]2 DMAP
15 [*]2 DTPS
16 [*]2 RPM
17 [*]2 DRPM
18 [*]2 DDRPM
19 [*]------------ Current Derived Vars ------------
20 [*]2 LoadMain
21 [*]2 VEMain
22 [*]2 Lambda (target)
23 [*]2 AirFlow
24 [*]2 densityAndFuel
25 [*]2 BasePW
26 [*]2 IDT
27 [*]2 ETE
28 [*]2 TFCTotal
29 [*]2 FinalPW
30 [*]2 RefPW
31 [*]------------ Suggested Definites --------------
32 [*]Ignition advance base
33 [*]Dwell
34 [*]Time - See below
35 [*]Datalog sequence number incremented per log sent - 8 bits is enough, only looking for discontinuity anyway
36 [*]Spare variable fields to be somehow user configurable without code change 4 x 16 bits enough?)
37 [*]Flag vars = bit fields = on/off or yes/no or 0/1 for specific states of various things
38 [*]----------- Specific Flags ------------
39 [*]Fully closed throttle on/off
40 [*]Fully open throttle on/off
41 [*]Fuel pump on/off
42 [*]AC input on/off
43 [*]AC output on/off
44 [*]Brake on/off
45 [*]Clutch on/off
46 [*]Idle bypass on/off
47 [*]Box in neutral on/off
48 [*]VVT - fixed - on/off
49 [*]VICS - fixed - on/off
50 [*]Power steer on/off
51 [*]Fans (1 or 2?) on/off
52 [*]CEL (how many) on/off
53 [*]Primary sync on/off
54 [*]Secondary sync on/off
55 [*]What else? Go nuts... I can only say no :-)
56 [*]Bank left/right of a V engine for the entire log
57 [*]------------ Suggested To Be Discussed ------------
58 [*]Injection advance figures - v twin, siamese, standard, all to be considered, may require two fields.
59 [*]TFC - per algorithm ?
60 [*]------------ Non core, but desirable ---------------
61 [*]Idle valve Duty - should be generic enough to cover stepper and pwm, ie, not sure if duty is the right term
62 [*]Knock count
63 [*]Knock level
64 [*]Vehicle speed sensor
65 [*]Boost control duty
66 [*]Cooling fan duty (1 or 2)
67 [*]VVT angle value or duty value or both
68 [*]EGT sensor
69 [*]Fuel pressure
70 [*]Fuel temperature
71 [*]All fuel pulsewidths
72 [*]All ign advances
73 [*]Staged pulsewidth
74 [*]Timing error
75 [*]O2 Correction level
76 [*]Trigger input angle logging - primary and secondary
77 [*]What else? Go nuts... I can only say no :-)
78 [/list]
80 Bit fields are cheap, so there should be more than enough of those to cater into the future. Word fields are expensive, so we should think carefully about what to include and what not to include.
82 I think the structures used need some rework. I'd like to migrate the rpms and delta map out of core vars and replace them with ADC figures that correspond to the raw ADC array. I think some of the stuff in derived vars doesn't belong there too... We will also need some sort of accessory output struct or similar. Finally, I think it would be nice to have them all 16 fields long such that it is easy to mask them off on an individual basis for the configurable log.
84 Some sort of internal running time stamp - perhaps add another clock that incs when some other rolls over? or perhaps just use the 32 bit ECT for this? Or maybe we should use a real time value from the clocks section so we have a time frame for everything.
86 Additionally, the following fields are also available :
88 RAW ADCs (useful to see noise pre averaging) :
89 [list=1]
90 [*]2 IAT
91 [*]2 CHT
92 [*]2 TPS
93 [*]2 EGO
94 [*]2 BRV
95 [*]2 MAP
96 [*]2 AAP
97 [*]2 MAT
98 [*]2 EGO2
99 [*]2 IAP
100 [*]2 MAF
101 [*]2 SpareADC3
102 [*]2 SpareADC4
103 [*]2 SpareADC5
104 [*]2 SpareADC6
105 [*]2 SpareADC7
106 [/list]
109 Clocks :
110 [list=1]
111 [*]2 realTimeClockMain
112 [*]2 realTimeClockMillis
113 [*]2 realTimeClockTenths
114 [*]2 realTimeClockSeconds
115 [*]2 realTimeClockMinutes
116 [*]2 millisToTenths
117 [*]2 tenthsToSeconds
118 [*]2 secondsToMinutes
119 [*]2 timeoutADCreadingClock
120 [/list]
122 ISR Latencies :
123 [list=1]
124 [*]2 primaryInputLatency
125 [*]2 secondaryInputLatency
126 [*]2 Injector1Latency
127 [*]2 Injector2Latency
128 [*]2 Injector3Latency
129 [*]2 Injector4Latency
130 [*]2 Injector5Latency
131 [*]2 Injector6Latency
132 [*]2 DwellLatency
133 [*]2 IgniteLatency
134 [*]2 mathLatency ??
135 [*]2 mathSampleTimeStamp [2] ??
136 [/list]
137 (Can't remember what the story with those last math ones is)
139 Runtimes :
140 [list=1]
141 [*]2 primaryInputLeadingRuntime
142 [*]2 primaryInputTrailingRuntime
143 [*]2 secondaryInputLeadingRuntime
144 [*]2 secondaryInputTrailingRuntime
145 [*]2 calcsRuntime
146 [*]2 genCoreVarsRuntime
147 [*]2 genDerivedVarsRuntime
148 [*]2 mathTotalRuntime
149 [*]2 mathSumRuntime
150 [*]2 RTCRuntime
151 [*]2 mainLoopRuntime
152 [*]2 logSendingRuntime
153 [*]2 serialISRRuntime
154 [/list]
156 Counters :
157 [list=1]
158 [*]2 UISRCounter
159 [*]2 lowVoltISRCounter
160 [*]2 lostCrankSyncCounter
161 [*]2 lostCamSyncCounter
162 [*]2 lostRPMValidityCounter
163 [*]2 primaryTeethDroppedFromLackOfSync
164 [*]2 primaryTeethCounter
165 [*]2 secondaryTeethCounter
166 [*]2 syncedADCreadingCounter
167 [*]2 timeoutADCreadingCounter
168 [*]2 calcsPerformedCounter
169 [*]2 logsSentCounter
170 [*]2 serialPacketOverLengthCounter
171 [*]2 serialStartInsidePacketCounter
172 [*]2 serialEscapePairMismatchCounter
173 [*]2 serialChecksumMismatchCounter
174 [*]2 serialNoiseErrorCounter
175 [*]2 serialOverrunErrorCounter
176 [*]2 serialFramingErrorCounter
177 [*]2 serialParityErrorCounter
178 [*]2 serialDebugUnsentCounter
179 [/list]
181 Many thanks to Jared's doxygen efforts which made creating this post a lot easier!!
183 Many thanks to everyone that put ideas in too, keep them coming :-)
185 Fred.