rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
output_channels_generated.h
Go to the documentation of this file.
1// this section was generated automatically by rusEFI tool config_definition_base-all.jar based on (unknown script) console/binary/output_channels.txt
2// by class com.rusefi.output.CHeaderConsumer
3// begin
4#pragma once
5#include "rusefi_types.h"
6// start of pid_status_s
8 /**
9 * offset 0
10 */
11 float pTerm = (float)0;
12 /**
13 * offset 4
14 */
15 scaled_channel<int16_t, 100, 1> iTerm = (int16_t)0;
16 /**
17 * offset 6
18 */
19 scaled_channel<int16_t, 100, 1> dTerm = (int16_t)0;
20 /**
21 * offset 8
22 */
23 scaled_channel<int16_t, 100, 1> output = (int16_t)0;
24 /**
25 * offset 10
26 */
27 scaled_channel<int16_t, 100, 1> error = (int16_t)0;
28 /**
29 * offset 12
30 */
31 uint32_t resetCounter = (uint32_t)0;
32};
33static_assert(sizeof(pid_status_s) == 16);
34
35// start of output_channels_s
37 /**
38 * SD: Present
39 offset 0 bit 0 */
40 bool sd_present : 1 {};
41 /**
42 * SD: Logging
43 offset 0 bit 1 */
45 /**
46 offset 0 bit 2 */
47 bool triggerScopeReady : 1 {};
48 /**
49 offset 0 bit 3 */
50 bool antilagTriggered : 1 {};
51 /**
52 offset 0 bit 4 */
53 bool isO2HeaterOn : 1 {};
54 /**
55 offset 0 bit 5 */
56 bool checkEngine : 1 {};
57 /**
58 offset 0 bit 6 */
59 bool needBurn : 1 {};
60 /**
61 * SD: MSD
62 offset 0 bit 7 */
63 bool sd_msd : 1 {};
64 /**
65 * Tooth Logger Ready
66 offset 0 bit 8 */
67 bool toothLogReady : 1 {};
68 /**
69 * Error: TPS
70 offset 0 bit 9 */
71 bool isTpsError : 1 {};
72 /**
73 * Error: CLT
74 offset 0 bit 10 */
75 bool isCltError : 1 {};
76 /**
77 * Error: MAP
78 offset 0 bit 11 */
79 bool isMapError : 1 {};
80 /**
81 * Error: IAT
82 offset 0 bit 12 */
83 bool isIatError : 1 {};
84 /**
85 * Error: Trigger
86 offset 0 bit 13 */
87 bool isTriggerError : 1 {};
88 /**
89 * Error: Active
90 offset 0 bit 14 */
91 bool hasCriticalError : 1 {};
92 /**
93 * Warning: Active
94 offset 0 bit 15 */
95 bool isWarnNow : 1 {};
96 /**
97 * Error: Pedal
98 offset 0 bit 16 */
99 bool isPedalError : 1 {};
100 /**
101 * Launch Control Triggered
102 offset 0 bit 17 */
103 bool launchTriggered : 1 {};
104 /**
105 * Error: TPS2
106 offset 0 bit 18 */
107 bool isTps2Error : 1 {};
108 /**
109 * Injector Fault
110 offset 0 bit 19 */
111 bool injectorFault : 1 {};
112 /**
113 * Ignition Fault
114 offset 0 bit 20 */
115 bool ignitionFault : 1 {};
116 /**
117 * isUsbConnected
118 * Original reason for this is to check if USB is connected from Lua
119 offset 0 bit 21 */
120 bool isUsbConnected : 1 {};
121 /**
122 offset 0 bit 22 */
123 bool dfcoActive : 1 {};
124 /**
125 * SD card writing
126 offset 0 bit 23 */
127 bool sd_active_wr : 1 {};
128 /**
129 * SD card reading
130 offset 0 bit 24 */
131 bool sd_active_rd : 1 {};
132 /**
133 * MAP from sensor seems valid
134 offset 0 bit 25 */
135 bool isMapValid : 1 {};
136 /**
137 offset 0 bit 26 */
139 /**
140 offset 0 bit 27 */
142 /**
143 * Analog sensors supply failure
144 offset 0 bit 28 */
145 bool isAnalogFailure : 1 {};
146 /**
147 offset 0 bit 29 */
148 bool isTuningNow : 1 {};
149 /**
150 * SD: formating is in progress
151 offset 0 bit 30 */
152 bool sd_formating : 1 {};
153 /**
154 offset 0 bit 31 */
155 bool isMapAveraging : 1 {};
156 /**
157 * @@GAUGE_NAME_RPM@@
158 * units: RPM
159 * offset 4
160 */
161 uint16_t RPMValue = (uint16_t)0;
162 /**
163 * dRPM
164 * units: RPM acceleration/Rate of Change/ROC
165 * offset 6
166 */
167 int16_t rpmAcceleration = (int16_t)0;
168 /**
169 * @@GAUGE_NAME_GEAR_RATIO@@
170 * units: value
171 * offset 8
172 */
173 scaled_channel<uint16_t, 100, 1> speedToRpmRatio = (uint16_t)0;
174 /**
175 * @@GAUGE_NAME_CPU_TEMP@@
176 * units: deg C
177 * offset 10
178 */
179 int8_t internalMcuTemperature = (int8_t)0;
180 /**
181 * need 4 byte alignment
182 * units: units
183 * offset 11
184 */
185 uint8_t alignmentFill_at_11[1] = {};
186 /**
187 * units: V
188 * offset 12
189 */
190 scaled_channel<int16_t, 1000, 1> internalVref = (int16_t)0;
191 /**
192 * units: V
193 * offset 14
194 */
195 scaled_channel<int16_t, 1000, 1> internalVbat = (int16_t)0;
196 /**
197 * @@GAUGE_NAME_CLT@@
198 * units: deg C
199 * offset 16
200 */
201 scaled_channel<int16_t, 100, 1> coolant = (int16_t)0;
202 /**
203 * @@GAUGE_NAME_IAT@@
204 * units: deg C
205 * offset 18
206 */
207 scaled_channel<int16_t, 100, 1> intake = (int16_t)0;
208 /**
209 * units: deg C
210 * offset 20
211 */
212 scaled_channel<int16_t, 100, 1> auxTemp1 = (int16_t)0;
213 /**
214 * units: deg C
215 * offset 22
216 */
217 scaled_channel<int16_t, 100, 1> auxTemp2 = (int16_t)0;
218 /**
219 * @@GAUGE_NAME_TPS@@
220 * units: %
221 * offset 24
222 */
223 scaled_channel<int16_t, 100, 1> TPSValue = (int16_t)0;
224 /**
225 * @@GAUGE_NAME_THROTTLE_PEDAL@@
226 * units: %
227 * offset 26
228 */
229 scaled_channel<int16_t, 100, 1> throttlePedalPosition = (int16_t)0;
230 /**
231 * units: ADC
232 * offset 28
233 */
234 uint16_t tpsADC = (uint16_t)0;
235 /**
236 * units: V
237 * offset 30
238 */
239 scaled_channel<uint16_t, 1000, 1> rawMaf = (uint16_t)0;
240 /**
241 * @@GAUGE_NAME_AIR_FLOW_MEASURED@@
242 * units: kg/h
243 * offset 32
244 */
245 scaled_channel<uint16_t, 10, 1> mafMeasured = (uint16_t)0;
246 /**
247 * @@GAUGE_NAME_MAP@@
248 * units: kPa
249 * offset 34
250 */
251 scaled_channel<uint16_t, 30, 1> MAPValue = (uint16_t)0;
252 /**
253 * units: kPa
254 * offset 36
255 */
256 scaled_channel<uint16_t, 30, 1> baroPressure = (uint16_t)0;
257 /**
258 * @@GAUGE_NAME_LAMBDA@@
259 * offset 38
260 */
261 scaled_channel<uint16_t, 10000, 1> lambdaValue = (uint16_t)0;
262 /**
263 * @@GAUGE_NAME_VBAT@@
264 * units: V
265 * offset 40
266 */
267 scaled_channel<uint16_t, 1000, 1> VBatt = (uint16_t)0;
268 /**
269 * @@GAUGE_NAME_OIL_PRESSURE@@
270 * units: kPa
271 * offset 42
272 */
273 scaled_channel<uint16_t, 30, 1> oilPressure = (uint16_t)0;
274 /**
275 * @@GAUGE_NAME_VVT_B1I@@
276 * units: deg
277 * offset 44
278 */
279 scaled_channel<int16_t, 50, 1> vvtPositionB1I = (int16_t)0;
280 /**
281 * @@GAUGE_NAME_FUEL_LAST_INJECTION@@
282 * Actual last injection time - including all compensation and injection mode
283 * units: ms
284 * offset 46
285 */
286 scaled_channel<uint16_t, 300, 1> actualLastInjection = (uint16_t)0;
287 /**
288 * @@GAUGE_NAME_FUEL_LAST_INJECTION_RATIO@@
289 * Last injection time divided to previous injection time
290 * offset 48
291 */
293 /**
294 * offset 52
295 */
296 uint8_t stopEngineCode = (uint8_t)0;
297 /**
298 * @@GAUGE_NAME_FUEL_INJ_DUTY@@
299 * units: %
300 * offset 53
301 */
302 scaled_channel<uint8_t, 2, 1> injectorDutyCycle = (uint8_t)0;
303 /**
304 * offset 54
305 */
306 uint8_t tempLogging1 = (uint8_t)0;
307 /**
308 * need 4 byte alignment
309 * units: units
310 * offset 55
311 */
312 uint8_t alignmentFill_at_55[1] = {};
313 /**
314 * @@GAUGE_NAME_FUEL_INJECTION_TIMING@@
315 * units: deg
316 * offset 56
317 */
318 int16_t injectionOffset = (int16_t)0;
319 /**
320 * @@GAUGE_NAME_ENGINE_CRC16@@
321 * units: crc16
322 * offset 58
323 */
324 uint16_t engineMakeCodeNameCrc16 = (uint16_t)0;
325 /**
326 * @@GAUGE_NAME_FUEL_WALL_AMOUNT@@
327 * units: mg
328 * offset 60
329 */
330 scaled_channel<uint16_t, 100, 1> wallFuelAmount = (uint16_t)0;
331 /**
332 * @@GAUGE_NAME_FUEL_WALL_CORRECTION@@
333 * units: mg
334 * offset 62
335 */
336 scaled_channel<int16_t, 100, 1> wallFuelCorrectionValue = (int16_t)0;
337 /**
338 * offset 64
339 */
340 uint16_t revolutionCounterSinceStart = (uint16_t)0;
341 /**
342 * @@GAUGE_NAME_CAN_READ_OK@@
343 * offset 66
344 */
345 uint16_t canReadCounter = (uint16_t)0;
346 /**
347 * @@GAUGE_NAME_FUEL_TPS_EXTRA@@
348 * units: ms
349 * offset 68
350 */
351 scaled_channel<int16_t, 300, 1> tpsAccelFuel = (int16_t)0;
352 /**
353 * @@GAUGE_NAME_IGNITION_MODE@@
354 * offset 70
355 */
356 uint8_t currentIgnitionMode = (uint8_t)0;
357 /**
358 * @@GAUGE_NAME_INJECTION_MODE@@
359 * offset 71
360 */
361 uint8_t currentInjectionMode = (uint8_t)0;
362 /**
363 * @@GAUGE_NAME_DWELL_DUTY@@
364 * units: %
365 * offset 72
366 */
367 scaled_channel<uint16_t, 100, 1> coilDutyCycle = (uint16_t)0;
368 /**
369 * @@GAUGE_NAME_ETB_DUTY@@
370 * units: %
371 * offset 74
372 */
373 scaled_channel<int16_t, 100, 1> etb1DutyCycle = (int16_t)0;
374 /**
375 * Fuel level
376 * units: %
377 * offset 76
378 */
379 scaled_channel<int16_t, 100, 1> fuelTankLevel = (int16_t)0;
380 /**
381 * @@GAUGE_NAME_FUEL_CONSUMPTION@@
382 * units: grams
383 * offset 78
384 */
385 uint16_t totalFuelConsumption = (uint16_t)0;
386 /**
387 * @@GAUGE_NAME_FUEL_FLOW@@
388 * units: gram/s
389 * offset 80
390 */
391 scaled_channel<uint16_t, 200, 1> fuelFlowRate = (uint16_t)0;
392 /**
393 * @@GAUGE_NAME_TPS2@@
394 * units: %
395 * offset 82
396 */
397 scaled_channel<int16_t, 100, 1> TPS2Value = (int16_t)0;
398 /**
399 * @@GAUGE_NAME_TUNE_CRC16@@
400 * units: crc16
401 * offset 84
402 */
403 uint16_t tuneCrc16 = (uint16_t)0;
404 /**
405 * @@GAUGE_NAME_FUEL_VE@@
406 * units: ratio
407 * offset 86
408 */
409 scaled_channel<uint16_t, 10, 1> veValue = (uint16_t)0;
410 /**
411 * @@GAUGE_NAME_UPTIME@@
412 * units: sec
413 * offset 88
414 */
415 uint32_t seconds = (uint32_t)0;
416 /**
417 * Engine Mode
418 * units: em
419 * offset 92
420 */
421 uint32_t engineMode = (uint32_t)0;
422 /**
423 * @@GAUGE_NAME_VERSION@@
424 * units: version_f
425 * offset 96
426 */
427 uint32_t firmwareVersion = (uint32_t)0;
428 /**
429 * units: V
430 * offset 100
431 */
432 scaled_channel<int16_t, 1000, 1> rawIdlePositionSensor = (int16_t)0;
433 /**
434 * units: V
435 * offset 102
436 */
437 scaled_channel<int16_t, 1000, 1> rawWastegatePosition = (int16_t)0;
438 /**
439 * @@GAUGE_NAME_ACCEL_LAT@@
440 * units: G
441 * offset 104
442 */
443 scaled_channel<int16_t, 1000, 1> accelerationLat = (int16_t)0;
444 /**
445 * @@GAUGE_NAME_ACCEL_LON@@
446 * units: G
447 * offset 106
448 */
449 scaled_channel<int16_t, 1000, 1> accelerationLon = (int16_t)0;
450 /**
451 * @@GAUGE_NAME_DETECTED_GEAR@@
452 * offset 108
453 */
454 uint8_t detectedGear = (uint8_t)0;
455 /**
456 * offset 109
457 */
458 uint8_t maxTriggerReentrant = (uint8_t)0;
459 /**
460 * units: V
461 * offset 110
462 */
463 scaled_channel<int16_t, 1000, 1> rawLowFuelPressure = (int16_t)0;
464 /**
465 * units: V
466 * offset 112
467 */
468 scaled_channel<int16_t, 1000, 1> rawHighFuelPressure = (int16_t)0;
469 /**
470 * @@GAUGE_NAME_FUEL_PRESSURE_LOW@@
471 * units: kpa
472 * offset 114
473 */
474 scaled_channel<int16_t, 30, 1> lowFuelPressure = (int16_t)0;
475 /**
476 * @@GAUGE_NAME_DESIRED_GEAR@@
477 * units: gear
478 * offset 116
479 */
480 int8_t tcuDesiredGear = (int8_t)0;
481 /**
482 * @@GAUGE_NAME_FLEX@@
483 * units: %
484 * offset 117
485 */
486 scaled_channel<uint8_t, 2, 1> flexPercent = (uint8_t)0;
487 /**
488 * @@GAUGE_NAME_WG_POSITION@@
489 * units: %
490 * offset 118
491 */
492 scaled_channel<int16_t, 100, 1> wastegatePositionSensor = (int16_t)0;
493 /**
494 * @@GAUGE_NAME_FUEL_PRESSURE_HIGH@@
495 * units: bar
496 * offset 120
497 */
498 scaled_channel<int16_t, 10, 1> highFuelPressure = (int16_t)0;
499 /**
500 * offset 122
501 */
502 uint8_t tempLogging3 = (uint8_t)0;
503 /**
504 * offset 123
505 */
506 uint8_t tempLogging4 = (uint8_t)0;
507 /**
508 * offset 124
509 */
511 /**
512 * offset 128
513 */
514 uint8_t calibrationMode = (uint8_t)0;
515 /**
516 * Idle: Stepper target position
517 * offset 129
518 */
519 uint8_t idleStepperTargetPosition = (uint8_t)0;
520 /**
521 * need 4 byte alignment
522 * units: units
523 * offset 130
524 */
525 uint8_t alignmentFill_at_130[2] = {};
526 /**
527 * @@GAUGE_NAME_TRG_ERR@@
528 * units: counter
529 * offset 132
530 */
531 uint32_t totalTriggerErrorCounter = (uint32_t)0;
532 /**
533 * offset 136
534 */
535 uint32_t orderingErrorCounter = (uint32_t)0;
536 /**
537 * @@GAUGE_NAME_WARNING_COUNTER@@
538 * units: count
539 * offset 140
540 */
541 uint16_t warningCounter = (uint16_t)0;
542 /**
543 * @@GAUGE_NAME_WARNING_LAST@@
544 * units: error
545 * offset 142
546 */
547 uint16_t lastErrorCode = (uint16_t)0;
548 /**
549 * Warning code
550 * units: error
551 * offset 144
552 */
553 uint16_t recentErrorCode[8] = {};
554 /**
555 * units: val
556 * offset 160
557 */
559 /**
560 * units: val
561 * offset 164
562 */
564 /**
565 * units: val
566 * offset 168
567 */
569 /**
570 * units: val
571 * offset 172
572 */
574 /**
575 * units: val
576 * offset 176
577 */
579 /**
580 * units: val
581 * offset 180
582 */
584 /**
585 * units: val
586 * offset 184
587 */
589 /**
590 * units: val
591 * offset 188
592 */
593 uint32_t debugIntField1 = (uint32_t)0;
594 /**
595 * units: val
596 * offset 192
597 */
598 uint32_t debugIntField2 = (uint32_t)0;
599 /**
600 * units: val
601 * offset 196
602 */
603 uint32_t debugIntField3 = (uint32_t)0;
604 /**
605 * units: val
606 * offset 200
607 */
608 uint32_t debugIntField4 = (uint32_t)0;
609 /**
610 * units: val
611 * offset 204
612 */
613 uint32_t debugIntField5 = (uint32_t)0;
614 /**
615 * EGT
616 * units: deg C
617 * offset 208
618 */
619 scaled_channel<int16_t, 4, 1> egt[EGT_CHANNEL_COUNT] = {};
620 /**
621 * units: V
622 * offset 224
623 */
624 scaled_channel<int16_t, 1000, 1> rawTps1Primary = (int16_t)0;
625 /**
626 * units: V
627 * offset 226
628 */
629 scaled_channel<int16_t, 1000, 1> rawClt = (int16_t)0;
630 /**
631 * units: V
632 * offset 228
633 */
634 scaled_channel<int16_t, 1000, 1> rawIat = (int16_t)0;
635 /**
636 * units: V
637 * offset 230
638 */
639 scaled_channel<int16_t, 1000, 1> rawOilPressure = (int16_t)0;
640 /**
641 * units: V
642 * offset 232
643 */
644 scaled_channel<int16_t, 1000, 1> rawAcPressure = (int16_t)0;
645 /**
646 * units: V
647 * offset 234
648 */
649 scaled_channel<int16_t, 1000, 1> rawFuelLevel = (int16_t)0;
650 /**
651 * units: V
652 * offset 236
653 */
655 /**
656 * units: V
657 * offset 240
658 */
660 /**
661 * units: V
662 * offset 244
663 */
665 /**
666 * units: V
667 * offset 248
668 */
670 /**
671 * @@GAUGE_NAME_IDLE_POSITION@@
672 * units: %
673 * offset 252
674 */
675 scaled_channel<int16_t, 100, 1> idlePositionSensor = (int16_t)0;
676 /**
677 * @@GAUGE_NAME_AFR@@
678 * units: AFR
679 * offset 254
680 */
681 scaled_channel<uint16_t, 1000, 1> AFRValue = (uint16_t)0;
682 /**
683 * @@GAUGE_NAME_AFR2@@
684 * units: AFR
685 * offset 256
686 */
687 scaled_channel<uint16_t, 1000, 1> AFRValue2 = (uint16_t)0;
688 /**
689 * @@SMOOTHED_GAUGE_NAME_AFR@@
690 * units: AFR
691 * offset 258
692 */
693 scaled_channel<uint16_t, 1000, 1> SmoothedAFRValue = (uint16_t)0;
694 /**
695 * @@SMOOTHED_GAUGE_NAME_AFR2@@
696 * units: AFR
697 * offset 260
698 */
699 scaled_channel<uint16_t, 1000, 1> SmoothedAFRValue2 = (uint16_t)0;
700 /**
701 * Vss Accel
702 * units: m/s2
703 * offset 262
704 */
705 scaled_channel<uint16_t, 300, 1> VssAcceleration = (uint16_t)0;
706 /**
707 * @@GAUGE_NAME_LAMBDA2@@
708 * offset 264
709 */
710 scaled_channel<uint16_t, 10000, 1> lambdaValue2 = (uint16_t)0;
711 /**
712 * @@GAUGE_NAME_VVT_B1E@@
713 * units: deg
714 * offset 266
715 */
716 scaled_channel<int16_t, 50, 1> vvtPositionB1E = (int16_t)0;
717 /**
718 * @@GAUGE_NAME_VVT_B2I@@
719 * units: deg
720 * offset 268
721 */
722 scaled_channel<int16_t, 50, 1> vvtPositionB2I = (int16_t)0;
723 /**
724 * @@GAUGE_NAME_VVT_B2E@@
725 * units: deg
726 * offset 270
727 */
728 scaled_channel<int16_t, 50, 1> vvtPositionB2E = (int16_t)0;
729 /**
730 * units: V
731 * offset 272
732 */
733 scaled_channel<int16_t, 1000, 1> rawTps1Secondary = (int16_t)0;
734 /**
735 * units: V
736 * offset 274
737 */
738 scaled_channel<int16_t, 1000, 1> rawTps2Primary = (int16_t)0;
739 /**
740 * units: V
741 * offset 276
742 */
743 scaled_channel<int16_t, 1000, 1> rawTps2Secondary = (int16_t)0;
744 /**
745 * @@GAUGE_NAME_ACCEL_VERT@@
746 * units: G
747 * offset 278
748 */
749 scaled_channel<int16_t, 1000, 1> accelerationVert = (int16_t)0;
750 /**
751 * @@GAUGE_NAME_GYRO_YAW@@
752 * units: deg/sec
753 * offset 280
754 */
755 scaled_channel<int16_t, 1000, 1> gyroYaw = (int16_t)0;
756 /**
757 * units: deg
758 * offset 282
759 */
760 int8_t vvtTargets[4] = {};
761 /**
762 * @@GAUGE_NAME_TURBO_SPEED@@
763 * units: hz
764 * offset 286
765 */
766 uint16_t turboSpeed = (uint16_t)0;
767 /**
768 * Ign: Timing Cyl
769 * units: deg
770 * offset 288
771 */
772 scaled_channel<int16_t, 50, 1> ignitionAdvanceCyl[MAX_CYLINDER_COUNT] = {};
773 /**
774 * units: %
775 * offset 312
776 */
777 scaled_channel<int16_t, 100, 1> tps1Split = (int16_t)0;
778 /**
779 * units: %
780 * offset 314
781 */
782 scaled_channel<int16_t, 100, 1> tps2Split = (int16_t)0;
783 /**
784 * units: %
785 * offset 316
786 */
787 scaled_channel<int16_t, 100, 1> tps12Split = (int16_t)0;
788 /**
789 * units: %
790 * offset 318
791 */
792 scaled_channel<int16_t, 100, 1> accPedalSplit = (int16_t)0;
793 /**
794 * units: %
795 * offset 320
796 */
797 scaled_channel<int16_t, 100, 1> accPedalUnfiltered = (int16_t)0;
798 /**
799 * Ign: Cut Code
800 * units: code
801 * offset 322
802 */
803 int8_t sparkCutReason = (int8_t)0;
804 /**
805 * Fuel: Cut Code
806 * units: code
807 * offset 323
808 */
809 int8_t fuelCutReason = (int8_t)0;
810 /**
811 * @@GAUGE_NAME_AIR_FLOW_ESTIMATE@@
812 * units: kg/h
813 * offset 324
814 */
815 scaled_channel<uint16_t, 10, 1> mafEstimate = (uint16_t)0;
816 /**
817 * sync: instant RPM
818 * units: rpm
819 * offset 326
820 */
821 uint16_t instantRpm = (uint16_t)0;
822 /**
823 * units: V
824 * offset 328
825 */
826 scaled_channel<uint16_t, 1000, 1> rawMap = (uint16_t)0;
827 /**
828 * units: V
829 * offset 330
830 */
831 scaled_channel<uint16_t, 1000, 1> rawMapFast = (uint16_t)0;
832 /**
833 * units: V
834 * offset 332
835 */
836 scaled_channel<uint16_t, 1000, 1> rawAfr = (uint16_t)0;
837 /**
838 * need 4 byte alignment
839 * units: units
840 * offset 334
841 */
842 uint8_t alignmentFill_at_334[2] = {};
843 /**
844 * offset 336
845 */
847 /**
848 * Lua: Tick counter
849 * units: count
850 * offset 340
851 */
852 uint32_t luaInvocationCounter = (uint32_t)0;
853 /**
854 * Lua: Last tick duration
855 * units: nt
856 * offset 344
857 */
858 uint32_t luaLastCycleDuration = (uint32_t)0;
859 /**
860 * offset 348
861 */
862 uint32_t vssEdgeCounter = (uint32_t)0;
863 /**
864 * offset 352
865 */
866 uint32_t issEdgeCounter = (uint32_t)0;
867 /**
868 * @@GAUGE_NAME_AUX_LINEAR_1@@
869 * offset 356
870 */
871 float auxLinear1 = (float)0;
872 /**
873 * @@GAUGE_NAME_AUX_LINEAR_2@@
874 * offset 360
875 */
876 float auxLinear2 = (float)0;
877 /**
878 * @@GAUGE_NAME_AUX_LINEAR_3@@
879 * offset 364
880 */
881 float auxLinear3 = (float)0;
882 /**
883 * @@GAUGE_NAME_AUX_LINEAR_4@@
884 * offset 368
885 */
886 float auxLinear4 = (float)0;
887 /**
888 * units: kPa
889 * offset 372
890 */
891 scaled_channel<uint16_t, 10, 1> fallbackMap = (uint16_t)0;
892 /**
893 * Effective MAP
894 * units: kPa
895 * offset 374
896 */
897 scaled_channel<uint16_t, 10, 1> effectiveMap = (uint16_t)0;
898 /**
899 * Instant MAP
900 * units: kPa
901 * offset 376
902 */
903 scaled_channel<uint16_t, 30, 1> instantMAPValue = (uint16_t)0;
904 /**
905 * units: us
906 * offset 378
907 */
908 uint16_t maxLockedDuration = (uint16_t)0;
909 /**
910 * @@GAUGE_NAME_CAN_WRITE_OK@@
911 * offset 380
912 */
913 uint16_t canWriteOk = (uint16_t)0;
914 /**
915 * @@GAUGE_NAME_CAN_WRITE_ERR@@
916 * offset 382
917 */
918 uint16_t canWriteNotOk = (uint16_t)0;
919 /**
920 * offset 384
921 */
922 uint32_t triggerPrimaryFall = (uint32_t)0;
923 /**
924 * offset 388
925 */
926 uint32_t triggerPrimaryRise = (uint32_t)0;
927 /**
928 * offset 392
929 */
930 uint32_t triggerSecondaryFall = (uint32_t)0;
931 /**
932 * offset 396
933 */
934 uint32_t triggerSecondaryRise = (uint32_t)0;
935 /**
936 * offset 400
937 */
938 uint8_t starterState = (uint8_t)0;
939 /**
940 * offset 401
941 */
942 uint8_t starterRelayDisable = (uint8_t)0;
943 /**
944 * Ign: Multispark count
945 * offset 402
946 */
947 uint8_t multiSparkCounter = (uint8_t)0;
948 /**
949 * offset 403
950 */
951 uint8_t extiOverflowCount = (uint8_t)0;
952 /**
953 * offset 404
954 */
956 /**
957 * offset 420
958 */
960 /**
961 * offset 436
962 */
964 /**
965 * offset 452
966 */
968 /**
969 * offset 468
970 */
972 /**
973 * offset 484
974 */
975 pid_status_s vvtStatus[CAM_INPUTS_COUNT] = {};
976 /**
977 * Aux speed 1
978 * units: s
979 * offset 548
980 */
981 uint16_t auxSpeed1 = (uint16_t)0;
982 /**
983 * Aux speed 2
984 * units: s
985 * offset 550
986 */
987 uint16_t auxSpeed2 = (uint16_t)0;
988 /**
989 * @@GAUGE_NAME_ISS@@
990 * units: RPM
991 * offset 552
992 */
993 uint16_t ISSValue = (uint16_t)0;
994 /**
995 * units: V
996 * offset 554
997 */
998 scaled_channel<int16_t, 1000, 1> rawAnalogInput[LUA_ANALOG_INPUT_COUNT] = {};
999 /**
1000 * GPPWM Output
1001 * units: %
1002 * offset 570
1003 */
1004 scaled_channel<uint8_t, 2, 1> gppwmOutput[4] = {};
1005 /**
1006 * offset 574
1007 */
1008 scaled_channel<int16_t, 1, 1> gppwmXAxis[4] = {};
1009 /**
1010 * offset 582
1011 */
1012 scaled_channel<int16_t, 10, 1> gppwmYAxis[4] = {};
1013 /**
1014 * units: V
1015 * offset 590
1016 */
1017 scaled_channel<int16_t, 1000, 1> rawBattery = (int16_t)0;
1018 /**
1019 * offset 592
1020 */
1021 scaled_channel<int16_t, 10, 1> ignBlendParameter[IGN_BLEND_COUNT] = {};
1022 /**
1023 * units: %
1024 * offset 600
1025 */
1026 scaled_channel<uint8_t, 2, 1> ignBlendBias[IGN_BLEND_COUNT] = {};
1027 /**
1028 * units: deg
1029 * offset 604
1030 */
1031 scaled_channel<int16_t, 100, 1> ignBlendOutput[IGN_BLEND_COUNT] = {};
1032 /**
1033 * offset 612
1034 */
1035 scaled_channel<int16_t, 10, 1> ignBlendYAxis[IGN_BLEND_COUNT] = {};
1036 /**
1037 * offset 620
1038 */
1039 scaled_channel<int16_t, 10, 1> veBlendParameter[VE_BLEND_COUNT] = {};
1040 /**
1041 * units: %
1042 * offset 628
1043 */
1044 scaled_channel<uint8_t, 2, 1> veBlendBias[VE_BLEND_COUNT] = {};
1045 /**
1046 * units: %
1047 * offset 632
1048 */
1049 scaled_channel<int16_t, 100, 1> veBlendOutput[VE_BLEND_COUNT] = {};
1050 /**
1051 * offset 640
1052 */
1053 scaled_channel<int16_t, 10, 1> veBlendYAxis[VE_BLEND_COUNT] = {};
1054 /**
1055 * offset 648
1056 */
1057 scaled_channel<int16_t, 10, 1> boostOpenLoopBlendParameter[BOOST_BLEND_COUNT] = {};
1058 /**
1059 * units: %
1060 * offset 652
1061 */
1062 scaled_channel<uint8_t, 2, 1> boostOpenLoopBlendBias[BOOST_BLEND_COUNT] = {};
1063 /**
1064 * units: %
1065 * offset 654
1066 */
1067 int8_t boostOpenLoopBlendOutput[BOOST_BLEND_COUNT] = {};
1068 /**
1069 * offset 656
1070 */
1071 scaled_channel<int16_t, 10, 1> boostOpenLoopBlendYAxis[BOOST_BLEND_COUNT] = {};
1072 /**
1073 * offset 660
1074 */
1075 scaled_channel<int16_t, 10, 1> boostClosedLoopBlendParameter[BOOST_BLEND_COUNT] = {};
1076 /**
1077 * units: %
1078 * offset 664
1079 */
1080 scaled_channel<uint8_t, 2, 1> boostClosedLoopBlendBias[BOOST_BLEND_COUNT] = {};
1081 /**
1082 * units: %
1083 * offset 666
1084 */
1085 scaled_channel<int16_t, 10, 1> boostClosedLoopBlendOutput[BOOST_BLEND_COUNT] = {};
1086 /**
1087 * offset 670
1088 */
1089 scaled_channel<int16_t, 10, 1> boostClosedLoopBlendYAxis[BOOST_BLEND_COUNT] = {};
1090 /**
1091 * offset 674
1092 */
1093 scaled_channel<int16_t, 10, 1> targetAfrBlendParameter[TARGET_AFR_BLEND_COUNT] = {};
1094 /**
1095 * units: %
1096 * offset 678
1097 */
1098 scaled_channel<uint8_t, 2, 1> targetAfrBlendBias[TARGET_AFR_BLEND_COUNT] = {};
1099 /**
1100 * units: %
1101 * offset 680
1102 */
1103 scaled_channel<int16_t, 10, 1> targetAfrBlendOutput[TARGET_AFR_BLEND_COUNT] = {};
1104 /**
1105 * offset 684
1106 */
1107 scaled_channel<int16_t, 10, 1> targetAfrBlendYAxis[TARGET_AFR_BLEND_COUNT] = {};
1108 /**
1109 offset 688 bit 0 */
1110 bool coilState1 : 1 {};
1111 /**
1112 offset 688 bit 1 */
1113 bool coilState2 : 1 {};
1114 /**
1115 offset 688 bit 2 */
1116 bool coilState3 : 1 {};
1117 /**
1118 offset 688 bit 3 */
1119 bool coilState4 : 1 {};
1120 /**
1121 offset 688 bit 4 */
1122 bool coilState5 : 1 {};
1123 /**
1124 offset 688 bit 5 */
1125 bool coilState6 : 1 {};
1126 /**
1127 offset 688 bit 6 */
1128 bool coilState7 : 1 {};
1129 /**
1130 offset 688 bit 7 */
1131 bool coilState8 : 1 {};
1132 /**
1133 offset 688 bit 8 */
1134 bool coilState9 : 1 {};
1135 /**
1136 offset 688 bit 9 */
1137 bool coilState10 : 1 {};
1138 /**
1139 offset 688 bit 10 */
1140 bool coilState11 : 1 {};
1141 /**
1142 offset 688 bit 11 */
1143 bool coilState12 : 1 {};
1144 /**
1145 offset 688 bit 12 */
1146 bool injectorState1 : 1 {};
1147 /**
1148 offset 688 bit 13 */
1149 bool injectorState2 : 1 {};
1150 /**
1151 offset 688 bit 14 */
1152 bool injectorState3 : 1 {};
1153 /**
1154 offset 688 bit 15 */
1155 bool injectorState4 : 1 {};
1156 /**
1157 offset 688 bit 16 */
1158 bool injectorState5 : 1 {};
1159 /**
1160 offset 688 bit 17 */
1161 bool injectorState6 : 1 {};
1162 /**
1163 offset 688 bit 18 */
1164 bool injectorState7 : 1 {};
1165 /**
1166 offset 688 bit 19 */
1167 bool injectorState8 : 1 {};
1168 /**
1169 offset 688 bit 20 */
1170 bool injectorState9 : 1 {};
1171 /**
1172 offset 688 bit 21 */
1173 bool injectorState10 : 1 {};
1174 /**
1175 offset 688 bit 22 */
1176 bool injectorState11 : 1 {};
1177 /**
1178 offset 688 bit 23 */
1179 bool injectorState12 : 1 {};
1180 /**
1181 offset 688 bit 24 */
1182 bool triggerChannel1 : 1 {};
1183 /**
1184 offset 688 bit 25 */
1185 bool triggerChannel2 : 1 {};
1186 /**
1187 * bank 1 intake cam input
1188 offset 688 bit 26 */
1189 bool vvtChannel1 : 1 {};
1190 /**
1191 * bank 1 exhaust cam input
1192 offset 688 bit 27 */
1193 bool vvtChannel2 : 1 {};
1194 /**
1195 * bank 2 intake cam input
1196 offset 688 bit 28 */
1197 bool vvtChannel3 : 1 {};
1198 /**
1199 * bank 2 exhaust cam input
1200 offset 688 bit 29 */
1201 bool vvtChannel4 : 1 {};
1202 /**
1203 * AE: Map Prediction Active
1204 offset 688 bit 30 */
1206 /**
1207 offset 688 bit 31 */
1208 bool unusedBit_246_31 : 1 {};
1209 /**
1210 * offset 692
1211 */
1212 uint32_t outputRequestPeriod = (uint32_t)0;
1213 /**
1214 * offset 696
1215 */
1216 float mapFast = (float)0;
1217 /**
1218 * Lua: Gauge
1219 * units: value
1220 * offset 700
1221 */
1222 float luaGauges[LUA_GAUGE_COUNT] = {};
1223 /**
1224 * units: V
1225 * offset 732
1226 */
1227 scaled_channel<uint16_t, 1000, 1> rawMaf2 = (uint16_t)0;
1228 /**
1229 * @@GAUGE_NAME_AIR_FLOW_MEASURED_2@@
1230 * units: kg/h
1231 * offset 734
1232 */
1233 scaled_channel<uint16_t, 10, 1> mafMeasured2 = (uint16_t)0;
1234 /**
1235 * offset 736
1236 */
1237 uint16_t schedulingUsedCount = (uint16_t)0;
1238 /**
1239 * @@GAUGE_NAME_VVS@@
1240 * units: kph
1241 * offset 738
1242 */
1243 scaled_channel<uint16_t, 100, 1> vehicleSpeedKph = (uint16_t)0;
1244 /**
1245 * units: %
1246 * offset 740
1247 */
1248 scaled_channel<uint16_t, 100, 1> Gego = (uint16_t)0;
1249 /**
1250 * units: count
1251 * offset 742
1252 */
1253 uint16_t testBenchIter = (uint16_t)0;
1254 /**
1255 * units: deg C
1256 * offset 744
1257 */
1258 scaled_channel<int16_t, 100, 1> oilTemp = (int16_t)0;
1259 /**
1260 * units: deg C
1261 * offset 746
1262 */
1263 scaled_channel<int16_t, 100, 1> fuelTemp = (int16_t)0;
1264 /**
1265 * units: deg C
1266 * offset 748
1267 */
1268 scaled_channel<int16_t, 100, 1> ambientTemp = (int16_t)0;
1269 /**
1270 * units: deg C
1271 * offset 750
1272 */
1273 scaled_channel<int16_t, 100, 1> compressorDischargeTemp = (int16_t)0;
1274 /**
1275 * units: kPa
1276 * offset 752
1277 */
1278 scaled_channel<uint16_t, 30, 1> compressorDischargePressure = (uint16_t)0;
1279 /**
1280 * units: kPa
1281 * offset 754
1282 */
1283 scaled_channel<uint16_t, 30, 1> throttleInletPressure = (uint16_t)0;
1284 /**
1285 * units: sec
1286 * offset 756
1287 */
1288 uint16_t ignitionOnTime = (uint16_t)0;
1289 /**
1290 * units: sec
1291 * offset 758
1292 */
1293 uint16_t engineRunTime = (uint16_t)0;
1294 /**
1295 * units: km
1296 * offset 760
1297 */
1298 scaled_channel<uint16_t, 10, 1> distanceTraveled = (uint16_t)0;
1299 /**
1300 * @@GAUGE_NAME_AFR_GAS_SCALE@@
1301 * units: AFR
1302 * offset 762
1303 */
1304 scaled_channel<uint16_t, 1000, 1> afrGasolineScale = (uint16_t)0;
1305 /**
1306 * @@GAUGE_NAME_AFR2_GAS_SCALE@@
1307 * units: AFR
1308 * offset 764
1309 */
1310 scaled_channel<uint16_t, 1000, 1> afr2GasolineScale = (uint16_t)0;
1311 /**
1312 * need 4 byte alignment
1313 * units: units
1314 * offset 766
1315 */
1316 uint8_t alignmentFill_at_766[2] = {};
1317 /**
1318 * offset 768
1319 */
1321 /**
1322 * offset 772
1323 */
1324 uint8_t ignitorDiagnostic[MAX_CYLINDER_COUNT] = {};
1325 /**
1326 * offset 784
1327 */
1328 uint8_t injectorDiagnostic[MAX_CYLINDER_COUNT] = {};
1329 /**
1330 * @@GAUGE_NAME_FUEL_LAST_INJECTION_STAGE_2@@
1331 * units: ms
1332 * offset 796
1333 */
1334 scaled_channel<uint16_t, 300, 1> actualLastInjectionStage2 = (uint16_t)0;
1335 /**
1336 * need 4 byte alignment
1337 * units: units
1338 * offset 798
1339 */
1340 uint8_t alignmentFill_at_798[2] = {};
1341 /**
1342 * @@GAUGE_NAME_FUEL_LAST_INJECTION_RATIO_STAGE_2@@
1343 * offset 800
1344 */
1346 /**
1347 * @@GAUGE_NAME_FUEL_INJ_DUTY_STAGE_2@@
1348 * units: %
1349 * offset 804
1350 */
1351 scaled_channel<uint8_t, 2, 1> injectorDutyCycleStage2 = (uint8_t)0;
1352 /**
1353 * offset 805
1354 */
1355 uint8_t rawFlexFreq = (uint8_t)0;
1356 /**
1357 * offset 806
1358 */
1359 uint8_t canReWidebandCmdStatus = (uint8_t)0;
1360 /**
1361 * offset 807
1362 */
1363 uint8_t deviceUid = (uint8_t)0;
1364 /**
1365 * offset 808
1366 */
1367 uint16_t mc33810spiErrorCounter = (uint16_t)0;
1368 /**
1369 * offset 810
1370 */
1371 uint8_t injectionPrimingCounter = (uint8_t)0;
1372 /**
1373 * offset 811
1374 */
1375 uint8_t tempLogging2 = (uint8_t)0;
1376 /**
1377 * @@GAUGE_NAME_AC_PRESSURE@@
1378 * units: kPa
1379 * offset 812
1380 */
1381 float acPressure = (float)0;
1382 /**
1383 * units: V
1384 * offset 816
1385 */
1386 scaled_channel<int16_t, 1000, 1> rawAuxAnalog1 = (int16_t)0;
1387 /**
1388 * units: V
1389 * offset 818
1390 */
1391 scaled_channel<int16_t, 1000, 1> rawAuxAnalog2 = (int16_t)0;
1392 /**
1393 * units: V
1394 * offset 820
1395 */
1396 scaled_channel<int16_t, 1000, 1> rawAuxAnalog3 = (int16_t)0;
1397 /**
1398 * units: V
1399 * offset 822
1400 */
1401 scaled_channel<int16_t, 1000, 1> rawAuxAnalog4 = (int16_t)0;
1402 /**
1403 * ECU: Fast ADC errors
1404 * offset 824
1405 */
1406 uint8_t fastAdcErrorCount = (uint8_t)0;
1407 /**
1408 * ECU: Slow ADC errors
1409 * offset 825
1410 */
1411 uint8_t slowAdcErrorCount = (uint8_t)0;
1412 /**
1413 * units: V
1414 * offset 826
1415 */
1416 scaled_channel<int16_t, 1000, 1> rawAuxTemp1 = (int16_t)0;
1417 /**
1418 * units: V
1419 * offset 828
1420 */
1421 scaled_channel<int16_t, 1000, 1> rawAuxTemp2 = (int16_t)0;
1422 /**
1423 * units: V
1424 * offset 830
1425 */
1426 scaled_channel<int16_t, 1000, 1> rawAmbientTemp = (int16_t)0;
1427 /**
1428 * offset 832
1429 */
1430 uint32_t rtcUnixEpochTime = (uint32_t)0;
1431 /**
1432 * offset 836
1433 */
1434 int8_t sparkCutReasonBlinker = (int8_t)0;
1435 /**
1436 * offset 837
1437 */
1438 int8_t fuelCutReasonBlinker = (int8_t)0;
1439 /**
1440 * offset 838
1441 */
1442 int16_t hp = (int16_t)0;
1443 /**
1444 * offset 840
1445 */
1446 int16_t torque = (int16_t)0;
1447 /**
1448 * need 4 byte alignment
1449 * units: units
1450 * offset 842
1451 */
1452 uint8_t alignmentFill_at_842[2] = {};
1453 /**
1454 * offset 844
1455 */
1457 /**
1458 * offset 848
1459 */
1461 /**
1462 * offset 852
1463 */
1464 uint32_t mcuSerial = (uint32_t)0;
1465 /**
1466 * offset 856
1467 */
1468 uint8_t sd_error = (uint8_t)0;
1469 /**
1470 * ECU: Fast ADC overruns
1471 * offset 857
1472 */
1473 uint8_t fastAdcOverrunCount = (uint8_t)0;
1474 /**
1475 * ECU: Slow ADC overruns
1476 * offset 858
1477 */
1478 uint8_t slowAdcOverrunCount = (uint8_t)0;
1479 /**
1480 * ECU: Fast ADC error type
1481 * offset 859
1482 */
1483 uint8_t fastAdcLastError = (uint8_t)0;
1484 /**
1485 * ECU: Fast ADC period
1486 * units: ticks
1487 * offset 860
1488 */
1489 uint16_t fastAdcPeriod = (uint16_t)0;
1490 /**
1491 * ECU: Fast ADC conversions
1492 * units: N
1493 * offset 862
1494 */
1495 uint16_t fastAdcConversionCount = (uint16_t)0;
1496 /**
1497 * offset 864
1498 */
1499 uint8_t canReWidebandVersion = (uint8_t)0;
1500 /**
1501 * offset 865
1502 */
1503 uint8_t canReWidebandFwDay = (uint8_t)0;
1504 /**
1505 * offset 866
1506 */
1507 uint8_t canReWidebandFwMon = (uint8_t)0;
1508 /**
1509 * offset 867
1510 */
1511 uint8_t canReWidebandFwYear = (uint8_t)0;
1512 /**
1513 * offset 868
1514 */
1515 uint16_t transitionEventCode = (uint16_t)0;
1516 /**
1517 * offset 870
1518 */
1519 uint16_t transitionEventsCounter = (uint16_t)0;
1520 /**
1521 * units: kPa
1522 * offset 872
1523 */
1524 uint8_t mapPerCylinder[MAX_CYLINDER_COUNT] = {};
1525};
1526static_assert(sizeof(output_channels_s) == 884);
1527
1528// end
1529// this section was generated automatically by rusEFI tool config_definition_base-all.jar based on (unknown script) console/binary/output_channels.txt
scaled_channel< uint16_t, 1000, 1 > afrGasolineScale
scaled_channel< int16_t, 100, 1 > compressorDischargeTemp
scaled_channel< int16_t, 1000, 1 > rawBattery
scaled_channel< int16_t, 10, 1 > veBlendParameter[VE_BLEND_COUNT]
float luaGauges[LUA_GAUGE_COUNT]
scaled_channel< uint16_t, 30, 1 > throttleInletPressure
scaled_channel< int16_t, 100, 1 > auxTemp2
scaled_channel< int16_t, 50, 1 > ignitionAdvanceCyl[MAX_CYLINDER_COUNT]
scaled_channel< uint16_t, 100, 1 > speedToRpmRatio
scaled_channel< uint16_t, 100, 1 > coilDutyCycle
scaled_channel< int16_t, 1000, 1 > accelerationLat
scaled_channel< int16_t, 100, 1 > accPedalUnfiltered
scaled_channel< int16_t, 100, 1 > idlePositionSensor
scaled_channel< int16_t, 100, 1 > wastegatePositionSensor
scaled_channel< int16_t, 10, 1 > boostClosedLoopBlendYAxis[BOOST_BLEND_COUNT]
uint8_t ignitorDiagnostic[MAX_CYLINDER_COUNT]
scaled_channel< int16_t, 1000, 1 > accelerationVert
scaled_channel< int16_t, 10, 1 > boostClosedLoopBlendParameter[BOOST_BLEND_COUNT]
scaled_channel< int16_t, 100, 1 > ignBlendOutput[IGN_BLEND_COUNT]
scaled_channel< uint16_t, 100, 1 > vehicleSpeedKph
scaled_channel< int16_t, 1000, 1 > rawAuxAnalog4
scaled_channel< int16_t, 10, 1 > highFuelPressure
scaled_channel< uint16_t, 10, 1 > fallbackMap
scaled_channel< int16_t, 1000, 1 > rawTps2Secondary
scaled_channel< int16_t, 1000, 1 > rawTps1Secondary
scaled_channel< int16_t, 100, 1 > TPS2Value
scaled_channel< int16_t, 10, 1 > ignBlendParameter[IGN_BLEND_COUNT]
scaled_channel< uint16_t, 10, 1 > mafEstimate
scaled_channel< int16_t, 1000, 1 > rawAuxAnalog1
scaled_channel< uint8_t, 2, 1 > targetAfrBlendBias[TARGET_AFR_BLEND_COUNT]
scaled_channel< uint16_t, 10000, 1 > lambdaValue
scaled_channel< int16_t, 1000, 1 > rawHighFuelPressure
scaled_channel< uint16_t, 1000, 1 > rawMaf
scaled_channel< int16_t, 100, 1 > ambientTemp
scaled_channel< uint8_t, 2, 1 > boostClosedLoopBlendBias[BOOST_BLEND_COUNT]
scaled_channel< uint16_t, 30, 1 > oilPressure
scaled_channel< int16_t, 1000, 1 > rawTps1Primary
scaled_channel< int16_t, 1000, 1 > rawOilPressure
scaled_channel< uint8_t, 2, 1 > gppwmOutput[4]
scaled_channel< uint16_t, 30, 1 > baroPressure
scaled_channel< uint16_t, 1000, 1 > afr2GasolineScale
scaled_channel< int16_t, 10, 1 > boostOpenLoopBlendParameter[BOOST_BLEND_COUNT]
scaled_channel< uint8_t, 2, 1 > injectorDutyCycle
scaled_channel< uint8_t, 2, 1 > ignBlendBias[IGN_BLEND_COUNT]
scaled_channel< int16_t, 100, 1 > tps12Split
scaled_channel< uint8_t, 2, 1 > veBlendBias[VE_BLEND_COUNT]
scaled_channel< int16_t, 1000, 1 > rawWastegatePosition
scaled_channel< int16_t, 10, 1 > targetAfrBlendYAxis[TARGET_AFR_BLEND_COUNT]
scaled_channel< int16_t, 10, 1 > ignBlendYAxis[IGN_BLEND_COUNT]
scaled_channel< int16_t, 1000, 1 > rawAuxTemp1
scaled_channel< uint16_t, 10, 1 > veValue
scaled_channel< int16_t, 10, 1 > veBlendYAxis[VE_BLEND_COUNT]
scaled_channel< uint16_t, 1000, 1 > VBatt
scaled_channel< int16_t, 100, 1 > fuelTankLevel
scaled_channel< int16_t, 4, 1 > egt[EGT_CHANNEL_COUNT]
scaled_channel< int16_t, 50, 1 > vvtPositionB1E
scaled_channel< uint16_t, 300, 1 > VssAcceleration
scaled_channel< int16_t, 1000, 1 > accelerationLon
scaled_channel< int16_t, 1000, 1 > rawIat
scaled_channel< int16_t, 1000, 1 > internalVref
uint8_t mapPerCylinder[MAX_CYLINDER_COUNT]
scaled_channel< uint16_t, 1000, 1 > AFRValue2
scaled_channel< int16_t, 100, 1 > accPedalSplit
scaled_channel< int16_t, 100, 1 > fuelTemp
scaled_channel< int16_t, 100, 1 > wallFuelCorrectionValue
scaled_channel< uint16_t, 30, 1 > compressorDischargePressure
scaled_channel< int16_t, 1000, 1 > rawAuxTemp2
scaled_channel< int16_t, 1000, 1 > rawLowFuelPressure
scaled_channel< int16_t, 300, 1 > tpsAccelFuel
scaled_channel< uint16_t, 1000, 1 > rawMap
scaled_channel< uint16_t, 1000, 1 > AFRValue
scaled_channel< uint16_t, 100, 1 > Gego
scaled_channel< int16_t, 30, 1 > lowFuelPressure
scaled_channel< int16_t, 1000, 1 > rawClt
scaled_channel< int16_t, 100, 1 > etb1DutyCycle
scaled_channel< uint16_t, 30, 1 > MAPValue
scaled_channel< uint16_t, 1000, 1 > SmoothedAFRValue2
scaled_channel< int16_t, 100, 1 > intake
uint8_t injectorDiagnostic[MAX_CYLINDER_COUNT]
scaled_channel< int16_t, 100, 1 > veBlendOutput[VE_BLEND_COUNT]
scaled_channel< int16_t, 1000, 1 > gyroYaw
scaled_channel< int16_t, 10, 1 > boostClosedLoopBlendOutput[BOOST_BLEND_COUNT]
scaled_channel< int16_t, 1000, 1 > rawAuxAnalog3
scaled_channel< int16_t, 50, 1 > vvtPositionB2E
scaled_channel< int16_t, 1000, 1 > rawAmbientTemp
scaled_channel< uint8_t, 2, 1 > boostOpenLoopBlendBias[BOOST_BLEND_COUNT]
scaled_channel< uint16_t, 300, 1 > actualLastInjectionStage2
scaled_channel< uint16_t, 1000, 1 > SmoothedAFRValue
scaled_channel< int16_t, 100, 1 > tps1Split
scaled_channel< int16_t, 1, 1 > gppwmXAxis[4]
int8_t boostOpenLoopBlendOutput[BOOST_BLEND_COUNT]
scaled_channel< uint16_t, 1000, 1 > rawMapFast
scaled_channel< uint16_t, 100, 1 > wallFuelAmount
scaled_channel< int16_t, 1000, 1 > rawFuelLevel
scaled_channel< uint8_t, 2, 1 > flexPercent
scaled_channel< uint16_t, 1000, 1 > rawMaf2
pid_status_s vvtStatus[CAM_INPUTS_COUNT]
scaled_channel< int16_t, 100, 1 > oilTemp
scaled_channel< uint16_t, 10, 1 > distanceTraveled
scaled_channel< int16_t, 100, 1 > throttlePedalPosition
scaled_channel< uint16_t, 10, 1 > mafMeasured2
scaled_channel< int16_t, 100, 1 > tps2Split
scaled_channel< int16_t, 10, 1 > targetAfrBlendParameter[TARGET_AFR_BLEND_COUNT]
scaled_channel< uint16_t, 10, 1 > mafMeasured
scaled_channel< uint16_t, 200, 1 > fuelFlowRate
scaled_channel< uint8_t, 2, 1 > injectorDutyCycleStage2
scaled_channel< uint16_t, 1000, 1 > rawAfr
scaled_channel< uint16_t, 10000, 1 > lambdaValue2
scaled_channel< int16_t, 1000, 1 > internalVbat
scaled_channel< uint16_t, 300, 1 > actualLastInjection
scaled_channel< uint16_t, 30, 1 > instantMAPValue
scaled_channel< int16_t, 1000, 1 > rawIdlePositionSensor
scaled_channel< int16_t, 10, 1 > targetAfrBlendOutput[TARGET_AFR_BLEND_COUNT]
scaled_channel< int16_t, 10, 1 > boostOpenLoopBlendYAxis[BOOST_BLEND_COUNT]
scaled_channel< int16_t, 100, 1 > coolant
scaled_channel< int16_t, 50, 1 > vvtPositionB2I
scaled_channel< int16_t, 50, 1 > vvtPositionB1I
scaled_channel< int16_t, 100, 1 > TPSValue
scaled_channel< int16_t, 10, 1 > gppwmYAxis[4]
scaled_channel< int16_t, 1000, 1 > rawTps2Primary
scaled_channel< int16_t, 1000, 1 > rawAcPressure
scaled_channel< uint16_t, 10, 1 > effectiveMap
scaled_channel< int16_t, 100, 1 > auxTemp1
scaled_channel< int16_t, 1000, 1 > rawAnalogInput[LUA_ANALOG_INPUT_COUNT]
scaled_channel< int16_t, 1000, 1 > rawAuxAnalog2
scaled_channel< int16_t, 100, 1 > dTerm
scaled_channel< int16_t, 100, 1 > error
scaled_channel< int16_t, 100, 1 > output
scaled_channel< int16_t, 100, 1 > iTerm