; this is TunerStudio project for www.rusefi.com DIY engine management system

; this should stop TS from looking for the CAN ID in the 2nd byte location and allow the page reads to work correctly.
enable2ndByteCanID = false

#unset tuneByMAF

[TunerStudio]
   queryCommand   = "S"
   signature    = "MShift v0.01" ; signature is expected to be 7 or more characters.

[Constants]
; new packet serial format with CRC
   messageEnvelopeFormat = msEnvelope_1.0

   endianness          = little
   nPages              = 1
  

   pageIdentifier      = "\x00\x00"
   pageReadCommand     = "R\x00\x00%2o%2c"
   burnCommand         = "B\x00\x00"
   pageActivate        = "P\x00\x00"
   pageValueWrite      = "W\x00\x00%2o%v"
   pageChunkWrite      = "C\x00\x00%2o%2c%v"
;   crc32CheckCommand   = "k%2i%2o\xB8\x36"
   crc32CheckCommand   = "k\x00\x00\x00\x00\x36\xB8"

;communication settings
   pageActivationDelay = 500 ; Milliseconds delay after burn command. See https://sourceforge.net/p/rusefi/tickets/77/
;e.g. put writeblocks off and add an interwrite delay
   writeBlocks = on
   interWriteDelay = 10
   blockReadTimeout    = 3000; Milliseconds general timeout
   
   blockingFactor = 320 ; max chunk size
;end communication settings

   ;  name      			= bits,   type, offset,  bits
   ;  name           		= array,  type, offset,  shape, units,     scale, translate,    lo,      hi, digits
   ;  name       			= scalar, type, offset,         units,     scale, translate,    lo,      hi, digits

; see PAGE_0_SIZE in C source code    
; CONFIG_DEFINITION_START
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Wed Jul 20 21:27:22 EDT 2016

pageSize            = 16376
page = 1
	engineType					 = bits, S32, 0, [0:2], "AUDI_AAN", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD", "FORD_INLINE_6_1995", "GY6_139QMB"
	engineSnifferRpmThreshold		= scalar, S32,	4,	"RPM", 1, 0, 0,30000, 0
	injector_flow					= scalar, F32,	8,	"cm3/min", 1, 0, 0, 1000, 2
	injector_lag					= scalar, F32,	12,	"msec", 1, 0, -10, 25.50, 2
	injector_battLagCorrBins		= array, F32,	16,	[8],	"V", 1, 0, 0.0, 20.0, 2
	injector_battLagCorr			= array, F32,	48,	[8],	"ms/V", 1, 0, 0.0, 50.0, 2
	directSelfStimulation	= bits,    U32,   	80, [0:0], "false", "true"
	activateAuxPid1			= bits,    U32,   	80, [1:1], "false", "true"
	isVerboseAuxPid			= bits,    U32,   	80, [2:2], "false", "true"
	issue_294_3				= bits,    U32,   	80, [3:3], "false", "true"
	issue_294_4				= bits,    U32,   	80, [4:4], "false", "true"
	issue_294_5				= bits,    U32,   	80, [5:5], "false", "true"
	issue_294_6				= bits,    U32,   	80, [6:6], "false", "true"
	issue_294_7				= bits,    U32,   	80, [7:7], "false", "true"
	issue_294_8				= bits,    U32,   	80, [8:8], "false", "true"
	issue_294_9				= bits,    U32,   	80, [9:9], "false", "true"
	issue_294_10			= bits,    U32,   	80, [10:10], "false", "true"
	issue_294_11			= bits,    U32,   	80, [11:11], "false", "true"
	issue_294_12			= bits,    U32,   	80, [12:12], "false", "true"
	issue_294_13			= bits,    U32,   	80, [13:13], "false", "true"
	issue_294_14			= bits,    U32,   	80, [14:14], "false", "true"
	issue_294_15			= bits,    U32,   	80, [15:15], "false", "true"
	issue_294_16			= bits,    U32,   	80, [16:16], "false", "true"
	issue_294_17			= bits,    U32,   	80, [17:17], "false", "true"
	issue_294_18			= bits,    U32,   	80, [18:18], "false", "true"
	issue_294_19			= bits,    U32,   	80, [19:19], "false", "true"
	issue_294_21			= bits,    U32,   	80, [20:20], "false", "true"
	issue_294_22			= bits,    U32,   	80, [21:21], "false", "true"
	issue_294_23			= bits,    U32,   	80, [22:22], "false", "true"
	issue_294_24			= bits,    U32,   	80, [23:23], "false", "true"
	issue_294_25			= bits,    U32,   	80, [24:24], "false", "true"
	issue_294_26			= bits,    U32,   	80, [25:25], "false", "true"
	issue_294_27			= bits,    U32,   	80, [26:26], "false", "true"
	issue_294_28			= bits,    U32,   	80, [27:27], "false", "true"
	issue_294_29			= bits,    U32,   	80, [28:28], "false", "true"
	tpsMin							= scalar, S16,	84,	"ADC", 1, 0, 0, 1023, 0
	tpsMax							= scalar, S16,	86,	"ADC", 1, 0, 0, 1023, 0
	tpsErrorDetectionTooLow			= scalar, S16,	88,	"%", 1, 0, -40, 200, 0
	tpsErrorDetectionTooHigh		= scalar, S16,	90,	"%", 1, 0, -40, 200, 0
	cranking_baseFuel				= scalar, F32,	92,	"ms", 1, 0, 0, 200, 1
	cranking_rpm					= scalar, S16,	96,	"RPM", 1, 0, 0, 3000, 0
;skipping cranking_alignmentFill offset 98
	primingSquirtDurationMs			= scalar, F32,	100,	"*C", 1, 0, -40, 200, 1
	ignitionDwellForCrankingMs		= scalar, F32,	104,	"ms", 1, 0, 0, 200, 1
	crankingChargeAngle				= scalar, F32,	108,	"deg", 1, 0, 0, 3000.0, 0
	map_samplingAngleBins			= array, F32,	112,	[8],	"RPM", 1, 0, 0.0, 18000, 2
	map_samplingAngle				= array, F32,	144,	[8],	"deg", 1, 0, 0.0, 90, 2
	map_samplingWindowBins			= array, F32,	176,	[8],	"RPM", 1, 0, 0.0, 18000, 2
	map_samplingWindow				= array, F32,	208,	[8],	"deg", 1, 0, 0.0, 90, 2
	map_sensor_lowValue				= scalar, F32,	240,	"kpa", 1, 0, -400, 800, 2
	map_sensor_highValue			= scalar, F32,	244,	"kpa", 1, 0, -400, 800, 2
	map_sensor_type				 = bits, U32, 248, [0:2] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "3 Bar", "INVALID"
	map_sensor_hwChannel		 = bits, U32, 252, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	clt_tempC_1						= scalar, F32,	256,	"*C", 1, 0, -40, 200, 1
	clt_tempC_2						= scalar, F32,	260,	"*C", 1, 0, -40, 200, 1
	clt_tempC_3						= scalar, F32,	264,	"*C", 1, 0, -40, 200, 1
	clt_resistance_1				= scalar, F32,	268,	"Ohm", 1, 0, 0, 200000, 1
	clt_resistance_2				= scalar, F32,	272,	"Ohm", 1, 0, 0, 200000, 1
	clt_resistance_3				= scalar, F32,	276,	"Ohm", 1, 0, 0, 200000, 1
	clt_bias_resistor				= scalar, F32,	280,	"Ohm", 1, 0, 0, 200000, 1
	clt_adcChannel				 = bits, U32, 284, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	iat_tempC_1						= scalar, F32,	288,	"*C", 1, 0, -40, 200, 1
	iat_tempC_2						= scalar, F32,	292,	"*C", 1, 0, -40, 200, 1
	iat_tempC_3						= scalar, F32,	296,	"*C", 1, 0, -40, 200, 1
	iat_resistance_1				= scalar, F32,	300,	"Ohm", 1, 0, 0, 200000, 1
	iat_resistance_2				= scalar, F32,	304,	"Ohm", 1, 0, 0, 200000, 1
	iat_resistance_3				= scalar, F32,	308,	"Ohm", 1, 0, 0, 200000, 1
	iat_bias_resistor				= scalar, F32,	312,	"Ohm", 1, 0, 0, 200000, 1
	iat_adcChannel				 = bits, U32, 316, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	step1rpm						= scalar, S32,	320,	"rpm", 1, 0, 0, 20000.0, 2
	step1timing						= scalar, S32,	324,	"deg", 1, 0, -180, 180, 2
	hip9011PrescalerAndSDO			= scalar, S32,	328,	"integer", 1, 0.0, 0.0, 32, 0
	knockBandCustom					= scalar, F32,	332,	"kHz", 1, 0.0, 0.0, 10.0, 2
	sparkDwellBins					= array, F32,	336,	[8],	"RPM", 1, 0.0, 0.0, 18000, 2
	sparkDwell						= array, F32,	368,	[8],	"ms", 1, 0.0, 0.0, 30.0, 2
	displacement					= scalar, F32,	400,	"L", 1, 0, 0, 1000.0, 2
	cylindersCount				 = bits, U32, 404, [0:3], "INVALID", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, "INVALID", "INVALID", "INVALID"
	firingOrder					 = bits, U32, 408, [0:3], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-5-3-6-2-4", "1-4-2-5-3-6", "1-2", "1_2_3_4_5_6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "fo13", "fo14", "INVALID"
	cylinderBore					= scalar, F32,	412,	"mm", 1, 0, 0, 20000.0, 2
	sensorSnifferRpmThreshold		= scalar, S32,	416,	"RPM", 1, 0, 0,30000, 0
	rpmHardLimit					= scalar, S32,	420,	"rpm", 1, 0, 0, 20000.0, 2
	algorithm					 = bits, U32, 424, [0:1], "MAF", "Alpha-N/TPS", "MAP", "SPEED DENSITY"
	crankingInjectionMode		 = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "INVALID"
	injectionMode				 = bits, U32, 432, [0:1], "Simultaneous", "Sequential", "Batch", "INVALID"
	injectionOffset					= scalar, F32,	436,	"deg", 1, 0.0, -720, 720, 2
	crankingTimingAngle				= scalar, F32,	440,	 "deg", 1, 0.0, -360, 360, 2
	ignitionMode				 = bits, U32, 444, [0:1], "One coil", "Individual Coils", "Wasted", "INVALID"
	ignitionOffset					= scalar, F32,	448,	"RPM", 1, 0, 0, 3000.0, 0
	timingMode					 = bits, U32, 452 [0:0], "dynamic", "fixed"
	fixedModeTiming					= scalar, F32,	456,	"RPM", 1, 0, 0, 3000.0, 0
	globalTriggerAngleOffset		= scalar, F32,	460,	"deg", 1, 0, -720, 720, 0
	analogInputDividerCoefficient		= scalar, F32,	464,	"coef", 1, 0, 0.01, 10.0, 2
	vbattDividerCoeff				= scalar, F32,	468,	"coef", 1, 0, 0.01, 99.0, 2
	vbattAdcChannel				 = bits, U32, 472, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fanOnTemperature				= scalar, F32,	476,	"*C", 1, 0, 0, 1000.0, 2
	fanOffTemperature				= scalar, F32,	480,	"*C", 1, 0, 0, 1000.0, 2
	fuelLevelSensor				 = bits, U32, 484, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	vehicleSpeedCoef				= scalar, F32,	488,	"coef", 1, 0, 0.01, 2000.0, 2
	canNbcType					 = bits, U32, 492, [0:1], "BMW", "FIAT", "VAG" , "MAZDA RX8"
	canSleepPeriod					= scalar, S32,	496,	"ms", 1, 0, 0, 1000.0, 2
	operationMode				 = bits, U32, 500, [0:1], "INVALID", "4 stroke without cam sensor", "4 stroke with cam sensor", "2 stroke"
	displayMode					 = bits, U32, 504, [0:1], "none", "hd44780", "hd44780 over pcf8574", "INVALID"
	logFormat					 = bits, U32, 508, [0:0], "native", "Mega Log Viewer"
	firmwareVersion					= scalar, S32,	512,	"index", 1, 0, 0, 300, 0
	HD44780width					= scalar, S32,	516,	"index", 1, 0, 0, 300, 0
	HD44780height					= scalar, S32,	520,	"index", 1, 0, 0, 300, 0
	tpsAdcChannel				 = bits, U32, 524, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping overrideCrankingIgnition offset 528
	sensorChartFrequency			= scalar, S32,	532,	"index", 1, 0, 0, 300, 0 ; size 4
	trigger_type				 = bits, U32, 536, [0:4], "custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Mazda SOHC 4", "60/2", "36/1", "Accord CD", "MITSU", "ACCORD 2", "ACCORD DIP", "Neon 2003", "MAZDA D 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Accord 1+24", "DODGE STRATUS", "36_2_2_2", "Nissan", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "trg29", "trg30", "INVALID"
	trigger_customIsSynchronizationNeeded= bits,    U32,   	540, [0:0], "false", "true"
	trigger_customNeedSecondTriggerInput= bits,    U32,   	540, [1:1], "false", "true"
	trigger_useOnlyFirstChannel= bits,    U32,   	540, [2:2], "false", "true"
	trigger_customTotalToothCount		= scalar, S32,	544,	"number", 1, 0.0, 0, 500.0, 0
	trigger_customSkippedToothCount		= scalar, S32,	548,	"number", 1, 0.0, 0, 500.0, 0
	trigger_unusedcustomSyncRatioFrom		= scalar, F32,	552,	"number", 1, 0.0, 0, 1000.0, 4
	trigger_unusedcustomSyncRatioTo		= scalar, F32,	556,	"number", 1, 0.0, 0, 1000.0, 4
	trigger_customUseRiseEdge	 = bits, U32, 560, [0:0], "false", "true"
	hip9011SpiDevice			 = bits,U32, 564, [0:1], "Off", "SPI1", "SPI2", "SPI3"
	globalFuelCorrection			= scalar, F32,	568,	"coef", 1, 0.0, 0, 1000.0, 2
;skipping pedalPositionMin offset 572
;skipping pedalPositionMax offset 574
;skipping maxKnockSubDeg offset 576
	mafAdcChannel				 = bits, U32, 580, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	afr_hwChannel				 = bits, U32, 584, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	afr_v1							= scalar, F32,	588,	 "volts", 1, 0.0, 0, 10.0, 2
	afr_value1						= scalar, F32,	592,	 "AFR", 1, 0.0, 0, 1000.0, 2
	afr_v2							= scalar, F32,	596,	 "volts", 1, 0.0, 0, 10.0, 2
	afr_value2						= scalar, F32,	600,	 "AFR", 1, 0.0, 0, 1000.0, 2
	pedalPositionChannel		 = bits, U32, 604, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	baroSensor_lowValue				= scalar, F32,	608,	"kpa", 1, 0, -400, 800, 2
	baroSensor_highValue			= scalar, F32,	612,	"kpa", 1, 0, -400, 800, 2
	baroSensor_type				 = bits, U32, 616, [0:2] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "3 Bar", "INVALID"
	baroSensor_hwChannel		 = bits, U32, 620, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	idle_solenoidPin			 = bits, U32, 624, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	idle_solenoidPinMode		 = bits, U32, 628, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	idle_solenoidFrequency			= scalar, S32,	632,	"Hz", 1, 0, 0, 3000, 0
	idle_stepperDirectionPin	 = bits, U32, 636, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	idle_stepperStepPin			 = bits, U32, 640, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	manIdlePosition					= scalar, F32,	644,	"%", 1, 0, 0, 100, 0
	fuelPumpPin					 = bits, U32, 648, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fuelPumpPinMode				 = bits, U32, 652, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	injectionPins1				 = bits, U32, 656, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins2				 = bits, U32, 660, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins3				 = bits, U32, 664, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins4				 = bits, U32, 668, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins5				 = bits, U32, 672, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins6				 = bits, U32, 676, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins7				 = bits, U32, 680, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins8				 = bits, U32, 684, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins9				 = bits, U32, 688, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins10				 = bits, U32, 692, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins11				 = bits, U32, 696, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPins12				 = bits, U32, 700, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	injectionPinMode			 = bits, U32, 704, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	ignitionPins1				 = bits, U32, 708, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins2				 = bits, U32, 712, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins3				 = bits, U32, 716, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins4				 = bits, U32, 720, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins5				 = bits, U32, 724, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins6				 = bits, U32, 728, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins7				 = bits, U32, 732, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins8				 = bits, U32, 736, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins9				 = bits, U32, 740, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins10				 = bits, U32, 744, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins11				 = bits, U32, 748, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPins12				 = bits, U32, 752, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignitionPinMode				 = bits, U32, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	malfunctionIndicatorPin		 = bits, U32, 760, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	malfunctionIndicatorPinMode	 = bits, U32, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	fanPin						 = bits, U32, 768, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fanPinMode					 = bits, U32, 772, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	mapFrequency0Kpa				= scalar, F32,	776,	"Hz", 1, 0, 0, 100000, 2
	mapFrequency100Kpa				= scalar, F32,	780,	"Hz", 1, 0, 0, 100000, 2
	clutchDownPin				 = bits, U32, 784, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	clutchDownPinMode			 = scalar, F32, 788, "ms", 1, 0, 0, 200, 1
	alternatorControlPin		 = bits, U32, 792, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	alternatorControlPinMode	 = bits, U32, 796, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	HD44780_rs					 = bits, U32, 800, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	HD44780_e					 = bits, U32, 804, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	HD44780_db4					 = bits, U32, 808, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	HD44780_db5					 = bits, U32, 812, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	HD44780_db6					 = bits, U32, 816, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	HD44780_db7					 = bits, U32, 820, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	gps_rx_pin					 = bits, U32, 824, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	gps_tx_pin					 = bits, U32, 828, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerSimulatorFrequency		= scalar, S32,	832,	"Rpm", 1, 0, 0,30000, 0
	digitalPotentiometerSpiDevice	 = bits,U32, 836, [0:1], "Off", "SPI1", "SPI2", "SPI3"
	digitalPotentiometerChipSelect1	 = bits, U32, 840, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	digitalPotentiometerChipSelect2	 = bits, U32, 844, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	digitalPotentiometerChipSelect3	 = bits, U32, 848, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	digitalPotentiometerChipSelect4	 = bits, U32, 852, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	etbDirectionPin1			 = bits, U32, 856, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	etbDirectionPin2			 = bits, U32, 860, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	etbControlPin1				 = bits, U32, 864, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	etbControlPin2				 = bits, U32, 868, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	electronicThrottlePin1Mode	 = bits, U32, 872, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	wboHeaterPin				 = bits, U32, 876, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	cj125CsPin					 = bits, U32, 880, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fuelLevelEmptyTankVoltage		= scalar, F32,	884,	"V", 1, 0, 0,10, 2
	fuelLevelFullTankVoltage		= scalar, F32,	888,	"V", 1, 0, 0,10, 2
	afr_type					 = bits, S32, 892, [0:2], "BPSX", "Innovate", "14Point7", "Narrow", "PLX"
;skipping etbDT offset 896
	hip9011CsPinMode			 = bits, U32, 900, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	tachOutputPin				 = bits, U32, 904, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	tachOutputPinMode			 = bits, U32, 908, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	triggerInputPins1			 = bits, U32, 912, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerInputPins2			 = bits, U32, 916, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerInputPins3			 = bits, U32, 920, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	mainRelayPin				 = bits, U32, 924, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping idleThreadPeriod offset 928
;skipping consoleLoopPeriod offset 932
;skipping lcdThreadPeriod offset 936
	sdCardCsPin					 = bits, U32, 940, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping generalPeriodicThreadPeriod offset 944
	tunerStudioSerialSpeed			= scalar, U32,	948,	"BPs", 1, 0, 0,1000000, 0
	boardTestModeJumperPin		 = bits, U32, 952, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping canDeviceMode offset 956
	canTxPin					 = bits, U32, 960, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	canRxPin					 = bits, U32, 964, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerSimulatorPins1		 = bits, U32, 968, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerSimulatorPins2		 = bits, U32, 972, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerSimulatorPins3		 = bits, U32, 976, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerSimulatorPinModes1	 = bits, U32, 980, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	triggerSimulatorPinModes2	 = bits, U32, 984, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	triggerSimulatorPinModes3	 = bits, U32, 988, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	o2heaterPin					 = bits, U32, 992, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	o2heaterPinModeTodO			 = bits, U32, 996, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	is_enabled_spi_1		= bits,    U32,   	1000, [0:0], "false", "true"
	is_enabled_spi_2		= bits,    U32,   	1000, [1:1], "false", "true"
	is_enabled_spi_3		= bits,    U32,   	1000, [2:2], "false", "true"
	isSdCardEnabled			= bits,    U32,   	1000, [3:3], "false", "true"
	isFastAdcEnabled		= bits,    U32,   	1000, [4:4], "false", "true"
	isEngineControlEnabled	= bits,    U32,   	1000, [5:5], "false", "true"
	isHip9011Enabled		= bits,    U32,   	1000, [6:6], "false", "true"
	isVerboseAlternator		= bits,    U32,   	1000, [7:7], "false", "true"
	useSerialPort			= bits,    U32,   	1000, [8:8], "false", "true"
	useStepperIdle			= bits,    U32,   	1000, [9:9], "false", "true"
	enabledStep1Limiter		= bits,    U32,   	1000, [10:10], "false", "true"
	useTpicAdvancedMode		= bits,    U32,   	1000, [11:11], "false", "true"
	useLcdScreen			= bits,    U32,   	1000, [12:12], "false", "true"
	startConsoleInBinaryMode= bits,    U32,   	1000, [13:13], "false", "true"
	useWarmupPidAfr			= bits,    U32,   	1000, [14:14], "false", "true"
	onOffAlternatorLogic	= bits,    U32,   	1000, [15:15], "false", "true"
	isCJ125Enabled			= bits,    U32,   	1000, [16:16], "false", "true"
	logicAnalyzerPins1			 = bits, U32, 1004, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	logicAnalyzerPins2			 = bits, U32, 1008, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	logicAnalyzerPins3			 = bits, U32, 1012, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	logicAnalyzerPins4			 = bits, U32, 1016, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping logicAnalyzerMode offset 1020
;skipping unrealisticRpmThreashold offset 1024
	mainRelayPinMode			 = bits, U32, 1028, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	max31855_cs1				 = bits, U32, 1032, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	max31855_cs2				 = bits, U32, 1036, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	max31855_cs3				 = bits, U32, 1040, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	max31855_cs4				 = bits, U32, 1044, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	max31855_cs5				 = bits, U32, 1048, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	max31855_cs6				 = bits, U32, 1052, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	max31855_cs7				 = bits, U32, 1056, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	max31855_cs8				 = bits, U32, 1060, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	max31855spiDevice			 = bits,U32, 1064, [0:1], "Off", "SPI1", "SPI2", "SPI3"
	fsioPins1					 = bits, U32, 1068, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins2					 = bits, U32, 1072, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins3					 = bits, U32, 1076, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins4					 = bits, U32, 1080, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins5					 = bits, U32, 1084, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins6					 = bits, U32, 1088, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins7					 = bits, U32, 1092, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins8					 = bits, U32, 1096, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins9					 = bits, U32, 1100, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins10					 = bits, U32, 1104, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins11					 = bits, U32, 1108, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins12					 = bits, U32, 1112, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins13					 = bits, U32, 1116, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins14					 = bits, U32, 1120, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins15					 = bits, U32, 1124, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioPins16					 = bits, U32, 1128, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	gpioPinModes1				 = bits, U32, 1132, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes2				 = bits, U32, 1136, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes3				 = bits, U32, 1140, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes4				 = bits, U32, 1144, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes5				 = bits, U32, 1148, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes6				 = bits, U32, 1152, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes7				 = bits, U32, 1156, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes8				 = bits, U32, 1160, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes9				 = bits, U32, 1164, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes10				 = bits, U32, 1168, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes11				 = bits, U32, 1172, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes12				 = bits, U32, 1176, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes13				 = bits, U32, 1180, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes14				 = bits, U32, 1184, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes15				 = bits, U32, 1188, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	gpioPinModes16				 = bits, U32, 1192, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	joystickPins1				 = bits, U32, 1196, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	joystickPins2				 = bits, U32, 1200, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	joystickPins3				 = bits, U32, 1204, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	joystickPins4				 = bits, U32, 1208, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	joystickPins5				 = bits, U32, 1212, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerErrorPin				 = bits, U32, 1216, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	triggerErrorPinMode			 = bits, U32, 1220, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	acRelayPin					 = bits, U32, 1224, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	acRelayPinMode				 = bits, U32, 1228, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	fsioFrequency1				 = scalar, U16, 1232, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency2				 = scalar, U16, 1234, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency3				 = scalar, U16, 1236, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency4				 = scalar, U16, 1238, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency5				 = scalar, U16, 1240, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency6				 = scalar, U16, 1242, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency7				 = scalar, U16, 1244, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency8				 = scalar, U16, 1246, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency9				 = scalar, U16, 1248, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency10				 = scalar, U16, 1250, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency11				 = scalar, U16, 1252, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency12				 = scalar, U16, 1254, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency13				 = scalar, U16, 1256, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency14				 = scalar, U16, 1258, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency15				 = scalar, U16, 1260, "Hz", 1, 0, 0, 3000, 0
	fsioFrequency16				 = scalar, U16, 1262, "Hz", 1, 0, 0, 3000, 0
	hip9011CsPin				 = bits, U32, 1264, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	hip9011IntHoldPin			 = bits, U32, 1268, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	hip9011IntHoldPinMode		 = bits, U32, 1272, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	fsio_setting1				 = scalar, F32, 1276, "Val", 1, 0, 0, 18000, 0
	fsio_setting2				 = scalar, F32, 1280, "Val", 1, 0, 0, 18000, 0
	fsio_setting3				 = scalar, F32, 1284, "Val", 1, 0, 0, 18000, 0
	fsio_setting4				 = scalar, F32, 1288, "Val", 1, 0, 0, 18000, 0
	fsio_setting5				 = scalar, F32, 1292, "Val", 1, 0, 0, 18000, 0
	fsio_setting6				 = scalar, F32, 1296, "Val", 1, 0, 0, 18000, 0
	fsio_setting7				 = scalar, F32, 1300, "Val", 1, 0, 0, 18000, 0
	fsio_setting8				 = scalar, F32, 1304, "Val", 1, 0, 0, 18000, 0
	fsio_setting9				 = scalar, F32, 1308, "Val", 1, 0, 0, 18000, 0
	fsio_setting10				 = scalar, F32, 1312, "Val", 1, 0, 0, 18000, 0
	fsio_setting11				 = scalar, F32, 1316, "Val", 1, 0, 0, 18000, 0
	fsio_setting12				 = scalar, F32, 1320, "Val", 1, 0, 0, 18000, 0
	fsio_setting13				 = scalar, F32, 1324, "Val", 1, 0, 0, 18000, 0
	fsio_setting14				 = scalar, F32, 1328, "Val", 1, 0, 0, 18000, 0
	fsio_setting15				 = scalar, F32, 1332, "Val", 1, 0, 0, 18000, 0
	fsio_setting16				 = scalar, F32, 1336, "Val", 1, 0, 0, 18000, 0
	spi1mosiPin					 = bits, U32, 1340, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	spi1misoPin					 = bits, U32, 1344, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	spi1sckPin					 = bits, U32, 1348, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	spi2mosiPin					 = bits, U32, 1352, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	spi2misoPin					 = bits, U32, 1356, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	spi2sckPin					 = bits, U32, 1360, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	spi3mosiPin					 = bits, U32, 1364, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	spi3misoPin					 = bits, U32, 1368, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	spi3sckPin					 = bits, U32, 1372, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping hip9011Gain offset 1376
	joystickCenterPin			 = bits, U32, 1380, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	joystickAPin				 = bits, U32, 1384, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	joystickBPin				 = bits, U32, 1388, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	joystickCPin				 = bits, U32, 1392, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	joystickDPin				 = bits, U32, 1396, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	sensorChartMode				 = bits, S32, 1400, [0:2], "none", "trigger", "MAP", "RPM ACCEL", "DETAILED RPM", "INVALID"
;skipping mafSensorType offset 1404
	vehicleSpeedSensorInputPin	 = bits, U32, 1408, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	clutchUpPin					 = bits, U32, 1412, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	clutchUpPinMode				 = scalar, F32, 1416, "ms", 1, 0, 0, 200, 1
	fsioDigitalInputs1			 = bits, U32, 1420, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs2			 = bits, U32, 1424, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs3			 = bits, U32, 1428, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs4			 = bits, U32, 1432, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs5			 = bits, U32, 1436, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs6			 = bits, U32, 1440, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs7			 = bits, U32, 1444, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs8			 = bits, U32, 1448, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs9			 = bits, U32, 1452, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs10			 = bits, U32, 1456, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs11			 = bits, U32, 1460, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs12			 = bits, U32, 1464, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs13			 = bits, U32, 1468, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs14			 = bits, U32, 1472, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs15			 = bits, U32, 1476, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioDigitalInputs16			 = bits, U32, 1480, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	frequencyReportingMapInputPin	 = bits, U32, 1484, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	hasMapSensor			= bits,    U32,   	1488, [0:0], "false", "true"
	hasIatSensor			= bits,    U32,   	1488, [1:1], "false", "true"
	hasBaroSensor			= bits,    U32,   	1488, [2:2], "false", "true"
	hasAfrSensor			= bits,    U32,   	1488, [3:3], "false", "true"
	useConstantDwellDuringCranking= bits,    U32,   	1488, [4:4], "false", "true"
	isEngineChartEnabled	= bits,    U32,   	1488, [5:5], "false", "true"
	isCanEnabled			= bits,    U32,   	1488, [6:6], "false", "true"
	hasCltSensor			= bits,    U32,   	1488, [7:7], "false", "true"
	canReadEnabled			= bits,    U32,   	1488, [8:8], "false", "true"
	canWriteEnabled			= bits,    U32,   	1488, [9:9], "false", "true"
	hasVehicleSpeedSensor	= bits,    U32,   	1488, [10:10], "false", "true"
	isJoystickEnabled		= bits,    U32,   	1488, [11:11], "false", "true"
	isGpsEnabled			= bits,    U32,   	1488, [12:12], "false", "true"
	isAlternatorControlEnabled= bits,    U32,   	1488, [13:13], "false", "true"
	hasMafSensor			= bits,    U32,   	1488, [14:14], "false", "true"
	hasTpsSensor			= bits,    U32,   	1488, [15:15], "false", "true"
	cutFuelOnHardLimit		= bits,    U32,   	1488, [16:16], "false", "true"
	cutSparkOnHardLimit		= bits,    U32,   	1488, [17:17], "false", "true"
	step1fuelCutEnable		= bits,    U32,   	1488, [18:18], "false", "true"
	step1SparkCutEnable		= bits,    U32,   	1488, [19:19], "false", "true"
	hasFrequencyReportingMapSensor= bits,    U32,   	1488, [20:20], "false", "true"
	hipOutputChannel			 = bits, U32, 1492, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	idleMode					 = bits, U32, 1496, [0:0], "false", "true"
	isInjectionEnabled		= bits,    U32,   	1500, [0:0], "false", "true"
	isIgnitionEnabled		= bits,    U32,   	1500, [1:1], "false", "true"
	isCylinderCleanupEnabled= bits,    U32,   	1500, [2:2], "false", "true"
	secondTriggerChannelEnabled= bits,    U32,   	1500, [3:3], "false", "true"
	needSecondTriggerInputDeprecated= bits,    U32,   	1500, [4:4], "false", "true"
	isMapAveragingEnabled	= bits,    U32,   	1500, [5:5], "false", "true"
	isMilEnabled			= bits,    U32,   	1500, [6:6], "false", "true"
	isFuelPumpEnabled		= bits,    U32,   	1500, [7:7], "false", "true"
	isTunerStudioEnabled	= bits,    U32,   	1500, [8:8], "false", "true"
	isWaveAnalyzerEnabled	= bits,    U32,   	1500, [9:9], "false", "true"
	isIdleThreadEnabled		= bits,    U32,   	1500, [10:10], "false", "true"
	isPrintTriggerSynchDetails= bits,    U32,   	1500, [11:11], "false", "true"
	isManualSpinningMode	= bits,    U32,   	1500, [12:12], "false", "true"
	twoWireBatchInjection	= bits,    U32,   	1500, [13:13], "false", "true"
	useOnlyRisingEdgeForTrigger= bits,    U32,   	1500, [14:14], "false", "true"
	twoWireBatchIgnition	= bits,    U32,   	1500, [15:15], "false", "true"
	engineChartSize					= scalar, U32,	1504,	"count", 1, 0, 0, 300, 0
	targetIdleRpm					= scalar, S32,	1508,	"RPM", 1, 0, 0, 7000, 0
	acSwitchAdc					 = bits, U32, 1512, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	ignMathCalculateAtIndex			= scalar, S32,	1516,	"index", 1, 0, 0, 7000, 0
;skipping acCutoffLowRpm offset 1520
;skipping acCutoffHighRpm offset 1522
;skipping acIdleRpmBump offset 1524
;skipping unusedShort offset 1526
	vRefAdcChannel				 = bits, U32, 1528, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping knockDetectionWindowStart offset 1532
;skipping knockDetectionWindowEnd offset 1536
	idleStepperReactionTime			= scalar, F32,	1540,	"ms", 1, 0, 1, 300, 0
	knockVThreshold					= scalar, F32,	1544,	"V", 1, 0, 1, 5, 2
	fsioInputModes1				 = scalar, F32, 1548, "ms", 1, 0, 0, 200, 1
	fsioInputModes2				 = scalar, F32, 1552, "ms", 1, 0, 0, 200, 1
	fsioInputModes3				 = scalar, F32, 1556, "ms", 1, 0, 0, 200, 1
	fsioInputModes4				 = scalar, F32, 1560, "ms", 1, 0, 0, 200, 1
	fsioInputModes5				 = scalar, F32, 1564, "ms", 1, 0, 0, 200, 1
	fsioInputModes6				 = scalar, F32, 1568, "ms", 1, 0, 0, 200, 1
	fsioInputModes7				 = scalar, F32, 1572, "ms", 1, 0, 0, 200, 1
	fsioInputModes8				 = scalar, F32, 1576, "ms", 1, 0, 0, 200, 1
	fsioInputModes9				 = scalar, F32, 1580, "ms", 1, 0, 0, 200, 1
	fsioInputModes10			 = scalar, F32, 1584, "ms", 1, 0, 0, 200, 1
	fsioInputModes11			 = scalar, F32, 1588, "ms", 1, 0, 0, 200, 1
	fsioInputModes12			 = scalar, F32, 1592, "ms", 1, 0, 0, 200, 1
	fsioInputModes13			 = scalar, F32, 1596, "ms", 1, 0, 0, 200, 1
	fsioInputModes14			 = scalar, F32, 1600, "ms", 1, 0, 0, 200, 1
	fsioInputModes15			 = scalar, F32, 1604, "ms", 1, 0, 0, 200, 1
	fsioInputModes16			 = scalar, F32, 1608, "ms", 1, 0, 0, 200, 1
	externalKnockSenseAdc		 = bits, U32, 1612, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping unsed2342342 offset 1616
	idleStepperTotalSteps			= scalar, S32,	1628,	"count", 1, 0, 5, 3000, 0
	stepperEnablePin			 = bits, U32, 1632, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	noAccelAfterHardLimitPeriodSecs		= scalar, F32,	1636,	"sec", 1, 0, 0, 60, 0
	mapAveragingSchedulingAtIndex		= scalar, S32,	1640,	"index", 1, 0, 0, 7000, 0
	baroCorrPressureBins			= array, F32,	1644,	[4],	"kPa", 1, 0, 0.0, 200, 2
	baroCorrRpmBins					= array, F32,	1660,	[4],	"RPM", 1, 0, 0.0, 18000, 2
	baroCorrTable				 = array, F32, 1676, [4x4],"%", 1, 0, 0, 999.0, 2
;skipping spi2SckMode offset 1740
;skipping spi2MosiMode offset 1744
;skipping spi2MisoMode offset 1748
	crankingTpsCoef					= array, F32,	1752,	[8],	"%", 1, 0, 0.0, 700.0, 2
	crankingTpsBins					= array, F32,	1784,	[8],	"%", 1, 0, 0.0, 100.0, 2
	tachPulseDuractionMs			= scalar, F32,	1816,	"ms", 1, 0, 0.0, 100.0, 2
	tachPulseTriggerIndex			= scalar, S32,	1820,	"index", 1, 0, 0.0, 360.0, 0
	suckedOffCoef					= scalar, F32,	1824,	"%", 1, 0, 0.0, 300.0, 2
	unused71						= array, F32,	1828,	[7],	
	addedToWallCoef					= scalar, F32,	1856,	"%", 1, 0, 0.0, 300.0, 2
	unused72						= array, F32,	1860,	[7],	
	mapErrorDetectionTooLow			= scalar, F32,	1888,	"kPa", 1, 0, -100.0, 100.0, 2
	mapErrorDetectionTooHigh		= scalar, F32,	1892,	"kPa", 1, 0, -100.0, 800.0, 2
	step1RpmWindow					= scalar, S32,	1896,	"rpm", 1, 0, 0, 3000.0, 2
	idleRpmPid_pFactor				= scalar, F32,	1900,	"value", 1, 0, 0, 1000, 5
	idleRpmPid_iFactor				= scalar, F32,	1904,	"value", 1, 0, 0, 1000, 5
	idleRpmPid_dFactor				= scalar, F32,	1908,	"value", 1, 0, 0, 1000, 5
	idleRpmPid_offset				= scalar, F32,	1912,	"value", 1, 0, 0, 1000, 3
;skipping idleDT offset 1916
;skipping idleControl offset 1920
	communicationPin			 = bits, U32, 1924, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	runningPin					 = bits, U32, 1928, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	binarySerialTxPin			 = bits, U32, 1932, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	binarySerialRxPin			 = bits, U32, 1936, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	consoleSerialTxPin			 = bits, U32, 1940, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	consoleSerialRxPin			 = bits, U32, 1944, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	knockNoise						= array, F32,	1948,	[8],	"v", 1, 0, 0.0, 10, 2
	knockNoiseRpmBins				= array, F32,	1980,	[8],	"RPM", 1, 0, 0.0, 18000, 2
	etb_pFactor						= scalar, F32,	2012,	"value", 1, 0, 0, 1000, 5
	etb_iFactor						= scalar, F32,	2016,	"value", 1, 0, 0, 1000, 5
	etb_dFactor						= scalar, F32,	2020,	"value", 1, 0, 0, 1000, 5
	etb_offset						= scalar, F32,	2024,	"value", 1, 0, 0, 1000, 3
	cltIdleRpmBins					= array, F32,	2028,	[16],	"C", 1, 0, -100.0, 250.0, 2
	cltIdleRpm						= array, F32,	2092,	[16],	"RPM", 1, 0, 0.0, 400.0, 0
	targetVBatt						= scalar, F32,	2156,	"Volts", 1, 0, 0,30, 1
	alternatorOffAboveTps			= scalar, F32,	2160,	"%", 1, 0, 0, 200, 2
	alternatorDT					= scalar, S32,	2164,	"ms", 1, 0, 0, 3000, 0
	alternatorControl_pFactor		= scalar, F32,	2168,	"value", 1, 0, 0, 1000, 5
	alternatorControl_iFactor		= scalar, F32,	2172,	"value", 1, 0, 0, 1000, 5
	alternatorControl_dFactor		= scalar, F32,	2176,	"value", 1, 0, 0, 1000, 5
	alternatorControl_offset		= scalar, F32,	2180,	"value", 1, 0, 0, 1000, 3
	tpsAccelLength					= scalar, S32,	2184,	"cycles", 1, 0, 1, 200, 0
	tpsAccelEnrichmentThreshold		= scalar, F32,	2188,	"roc", 1, 0, 0, 200, 3
	engineLoadAccelLength			= scalar, S32,	2196,	"cycles", 1, 0, 1, 200, 0
	engineLoadDecelEnleanmentThreshold		= scalar, F32,	2200,	"roc", 1, 0, 0, 200, 3
	engineLoadDecelEnleanmentMultiplier		= scalar, F32,	2204,	"coeff", 1, 0, 0, 200, 3
	engineLoadAccelEnrichmentThreshold		= scalar, F32,	2208,	"roc", 1, 0, 0, 200, 3
	engineLoadAccelEnrichmentMultiplier		= scalar, F32,	2212,	"coeff", 1, 0, 0, 200, 3
	fatalErrorPin				 = bits, U32, 2216, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	warninigPin					 = bits, U32, 2220, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	configResetPin				 = bits, U32, 2224, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	uartConsoleSerialSpeed			= scalar, U32,	2228,	"BPs", 1, 0, 0,1000000, 0
	tpsDecelEnleanmentThreshold		= scalar, F32,	2232,	"roc", 1, 0, 0, 200, 3
	tpsDecelEnleanmentMultiplier		= scalar, F32,	2236,	"coeff", 1, 0, 0, 200, 3
	slowAdcAlpha					= scalar, F32,	2240,	"coeff", 1, 0, 0, 200, 3
	debugMode					 = bits, U32, 2244, [0:3], "Alternator", "TPS accel enrich", "Warmup PID", "IDLE", "EL accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "mode8", "mode9", "mode10", "mode11", "mode12", "mode13", "mode14", "mode15"
	warmupAfrPid_pFactor			= scalar, F32,	2248,	"value", 1, 0, 0, 1000, 5
	warmupAfrPid_iFactor			= scalar, F32,	2252,	"value", 1, 0, 0, 1000, 5
	warmupAfrPid_dFactor			= scalar, F32,	2256,	"value", 1, 0, 0, 1000, 5
	warmupAfrPid_offset				= scalar, F32,	2260,	"value", 1, 0, 0, 1000, 3
	warmupTargetAfrBins				= array, F32,	2264,	[4],	"C", 1, 0, -100.0, 250.0, 2
	warmupTargetAfr					= array, F32,	2280,	[4],	"AFR", 1, 0, 0.0, 20.0, 2
	warmupAfrThreshold				= scalar, F32,	2296,	"tempterature", 1, 0, 0, 200, 3
	boostCutPressure				= scalar, F32,	2300,	"kPa", 1, 0, 0, 500, 0
	mapAccelTaperBins				= array, F32,	2304,	[8],	"counter", 1, 0, 0.0, 300, 0
	mapAccelTaperMult				= array, F32,	2336,	[8],	"mult", 1, 0, 0.0, 300, 2
	dizzySparkOutputPin			 = bits, U32, 2368, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	dizzySparkOutputPinMode		 = bits, U32, 2372, [0:1], "default", "default inverted", "open collector", "open collector inverted"
	fsioAdc1					 = bits, U32, 2376, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioAdc2					 = bits, U32, 2380, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioAdc3					 = bits, U32, 2384, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fsioAdc4					 = bits, U32, 2388, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	fixedTiming						= scalar, F32,	2392,	"deg", 1, 0, -720, 720, 2
	mapLowValueVoltage				= scalar, F32,	2396,	"v", 1, 0, 0.0, 10, 2
	mapHighValueVoltage				= scalar, F32,	2400,	"v", 1, 0, 0.0, 10, 2
	egoValueShift					= scalar, F32,	2404,	"value", 1, 0, -10.0, 10, 2
	auxPid1DT						= scalar, S32,	2408,	"ms", 1, 0, 0, 3000, 0
	auxPid1_pFactor					= scalar, F32,	2412,	"value", 1, 0, 0, 1000, 5
	auxPid1_iFactor					= scalar, F32,	2416,	"value", 1, 0, 0, 1000, 5
	auxPid1_dFactor					= scalar, F32,	2420,	"value", 1, 0, 0, 1000, 5
	auxPid1_offset					= scalar, F32,	2424,	"value", 1, 0, 0, 1000, 3
	crankingIdleAdjustment			= scalar, F32,	2428,	"percent", 1, 0, -100.0, 100,
;skipping tChargeMinRpmMinTps offset 2432
;skipping tChargeMinRpmMaxTps offset 2436
;skipping tChargeMaxRpmMinTps offset 2440
;skipping tChargeMaxRpmMaxTps offset 2444
	auxPidPins1					 = bits, U32, 2448, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	auxPidPins2					 = bits, U32, 2452, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	auxPidPins3					 = bits, U32, 2456, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	auxPidPins4					 = bits, U32, 2460, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
	auxPidFrequency1			 = scalar, U16, 2464, "Hz", 1, 0, 0, 3000, 0
	auxPidFrequency2			 = scalar, U16, 2466, "Hz", 1, 0, 0, 3000, 0
	auxPidFrequency3			 = scalar, U16, 2468, "Hz", 1, 0, 0, 3000, 0
	auxPidFrequency4			 = scalar, U16, 2470, "Hz", 1, 0, 0, 3000, 0
	alternatorPwmFrequency			= scalar, S32,	2472,	"Hz", 1, 0, 0, 3000.0, 0
	storageMode					 = bits, U32, 2476, [0:1], "Auto", "Always", "Never"
	cj125SpiDevice				 = bits,U32, 2480, [0:1], "Off", "SPI1", "SPI2", "SPI3"
	cj125CsPinMode				 = bits, U32, 2484, [0:1], "default", "default inverted", "open collector", "open collector inverted"
;skipping unused offset 2488
	le_formulas1				 = array, U08, 3048, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas2				 = array, U08, 3248, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas3				 = array, U08, 3448, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas4				 = array, U08, 3648, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas5				 = array, U08, 3848, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas6				 = array, U08, 4048, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas7				 = array, U08, 4248, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas8				 = array, U08, 4448, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas9				 = array, U08, 4648, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas10				 = array, U08, 4848, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas11				 = array, U08, 5048, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas12				 = array, U08, 5248, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas13				 = array, U08, 5448, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas14				 = array, U08, 5648, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas15				 = array, U08, 5848, [200],"char", 1, 0, 0.0, 3.0, 2
	le_formulas16				 = array, U08, 6048, [200],"char", 1, 0, 0.0, 3.0, 2
	timingMultiplier			 = array, U08, 6248, [200],"char", 1, 0, 0.0, 3.0, 2
	timingAdditive				 = array, U08, 6448, [200],"char", 1, 0, 0.0, 3.0, 2
	cltFuelCorrBins					= array, F32,	6648,	[16],	"C", 1, 0, -100.0, 250.0, 2
	cltFuelCorr						= array, F32,	6712,	[16],	"%", 1, 0, 0.0, 500.0, 2
	iatFuelCorrBins					= array, F32,	6776,	[16],	"C", 1, 0, -100.0, 250.0, 2
	iatFuelCorr						= array, F32,	6840,	[16],	"%", 1, 0, 0.0, 500.0, 2
	crankingFuelCoef				= array, F32,	6904,	[8],	"%", 1, 0, 0.0, 700.0, 2
	crankingFuelBins				= array, F32,	6936,	[8],	"C", 1, 0, -80.0, 170.0, 2
	crankingCycleCoef				= array, F32,	6968,	[8],	"%", 1, 0, 0.0, 500.0, 2
	crankingCycleBins				= array, F32,	7000,	[8],	"counter", 1, 0, -80.0, 170.0, 2
	cltIdleCorrBins					= array, F32,	7032,	[16],	"C", 1, 0, -100.0, 250.0, 2
	cltIdleCorr						= array, F32,	7096,	[16],	"%", 1, 0, 0.0, 500.0, 2
	mafDecoding						= array, F32,	7160,	[256],	"kg/hour", 1, 0, -500.0, 4000.0, 2
	mafDecodingBins					= array, F32,	8184,	[256],	 "V", 1, 0, -5.0, 150.0, 2
	ignitionIatCorrTable		 = array, F32, 9208, [16x16],"deg", 1, 0, -720, 720, 2
	ignitionIatCorrLoadBins			= array, F32,	10232,	[16],	"Load", 1, 0.0, 0, 300.0, 2
	ignitionIatCorrRpmBins			= array, F32,	10296,	[16],	"RPM", 1, 0.0, 0, 18000.0, 2
	injectionPhase				 = array, F32, 10360, [16x16],"deg", 1, 0, -720, 720, 2
	injPhaseLoadBins				= array, F32,	11384,	[16],	"Load", 1, 0.0, 0, 300.0, 2
	injPhaseRpmBins					= array, F32,	11448,	[16],	"RPM", 1, 0.0, 0, 18000.0, 2
	fuelTable					 = array, F32, 11512, [16x16],"ms", 1, 0, 0.0, 300.0, 2
	fuelLoadBins					= array, F32,	12536,	[16],	"V", 1, 0, 0.0, 300.0, 2
	fuelRpmBins						= array, F32,	12600,	[16],	"RPM", 1, 0, 0.0, 25500.0, 2
	ignitionTable				 = array, F32, 12664, [16x16],"deg", 1, 0, -20, 90, 2
	ignitionLoadBins				= array, F32,	13688,	[16],	"Load", 1, 0.0, 0, 300.0, 2
	ignitionRpmBins					= array, F32,	13752,	[16],	"RPM", 1, 0.0, 0, 18000.0, 2
	veTable						 = array, F32, 13816, [16x16],"%", 1, 0, 0, 999.0, 2
	veLoadBins						= array, F32,	14840,	[16],	"%", 1, 0.0, 0, 300.0, 2
	veRpmBins						= array, F32,	14904,	[16],	"RPM", 1, 0.0, 0, 18000.0, 2
	afrTable					 = array, U08, 14968, [16x16],"deg", 0.1, 0, 0, 25.0, 1
	afrLoadBins						= array, F32,	15224,	[16],	"%", 1, 0.0, 0, 300.0, 2
	afrRpmBins						= array, F32,	15288,	[16],	"RPM", 1, 0.0, 0, 18000.0, 2
	tpsTpsAccelTable			 = array, F32, 15352, [8x8],"value", 1, 0, 0.0, 30000.0, 2
	tpsTpsAccelFromRpmBins			= array, F32,	15608,	[8],	"from", 1, 0, 0.0, 30000.0, 2
	tpsTpsAccelToRpmBins			= array, F32,	15640,	[8],	"to", 1, 0, 0.0, 25500.0, 2
	fsioTable1					 = array, F32, 15672, [8x8],"value", 1, 0, 0.0, 30000.0, 2
	fsioTable1LoadBins				= array, F32,	15928,	[8],	"L", 1, 0, 0.0, 30000.0, 2
	fsioTable1RpmBins				= array, F32,	15960,	[8],	"RPM", 1, 0, 0.0, 25500.0, 2
	fsioTable2					 = array, U08, 15992, [8x8],"value", 1, 0, 0.0, 255.0, 0
	fsioTable2LoadBins				= array, F32,	16056,	[8],	"L", 1, 0, 0.0, 255, 0
	fsioTable2RpmBins				= array, F32,	16088,	[8],	"RPM", 1, 0, 0.0, 25500.0, 2
	fsioTable3					 = array, U08, 16120, [8x8],"value", 1, 0, 0.0, 255.0, 0
	fsioTable3LoadBins				= array, F32,	16184,	[8],	"L", 1, 0, 0.0, 255, 0
	fsioTable3RpmBins				= array, F32,	16216,	[8],	"RPM", 1, 0, 0.0, 25500.0, 2
	fsioTable4					 = array, U08, 16248, [8x8],"value", 1, 0, 0.0, 255.0, 0
	fsioTable4LoadBins				= array, F32,	16312,	[8],	"L", 1, 0, 0.0, 255, 0
	fsioTable4RpmBins				= array, F32,	16344,	[8],	"RPM", 1, 0, 0.0, 25500.0, 2
; total TS size = 16376
[SettingContextHelp]
	injector_flow = "cc/min, cubic centimeter per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
	injector_lag = "Base injector lag\nSee also vBatt correction curve"
	directSelfStimulation = "Should trigger emulator push data right into trigger handling logic, eliminating the need for physical jumper wires?\nPS: Funny name, right? :)"
	cranking_baseFuel = "Fuel squirt duration while cranking\nA number of curves adjust this value according to CLT/IAT/TPS etc"
	cranking_rpm = "Cranking mode threshold. Special cranking logic controls fuel and spark while RPM is below this threshold"
	crankingChargeAngle = "While cranking (which causes battery voltage to drop) we can calculate dwell time in shaft\ndegrees, not in absolute time as in running mode."
	knockBandCustom = "kHz knock band override"
	cylinderBore = "Cylinder diameter, in mm."
	sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
	algorithm = "This setting controls which algorithm is used for ENGINE LOAD"
	injectionMode = "'batched' means two injectors are wired together"
	injectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map"
	crankingTimingAngle = "Timing advance while engine cranking"
	ignitionMode = "'wasted' means one coil is driving two spark plugs in two cylinders, with one of the aparks not doing anything since it's happening on the exhaust cycle"
	ignitionOffset = "this value could be used to offset the whole ignition timing table by a constant"
	fixedModeTiming = "This value is used in 'fixed timing' mode, i.e. constant timing\nThis mode is useful for instance while adjusting distributor location"
	globalTriggerAngleOffset = "Angle between Top Dead Center (TDC) and the first trigger event.\nKnowing this angle allows us to control timing and other angles in reference to TDC."
	analogInputDividerCoefficient = "Coefficient of input voltage dividers on your PCB"
	vbattDividerCoeff = "Battery Voltage input resistor divider coefficient"
	fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsuis"
	fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsuis"
	vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
	trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
	sensorChartMode = "rusEfi console Sensor Sniffer mode"
	isCylinderCleanupEnabled = "If TPS above 95% no fuel would be injected during cranking"
	twoWireBatchInjection = "This is needed if batched injection and individual injector wiring"
	useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front"
	twoWireBatchIgnition = "This is needed if batched igniton (waster spark) and individual coil wiring"
	ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
	mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
	slowAdcAlpha = "ExpAverage alpha coefficient"


; CONFIG_DEFINITION_END
	

[Tuning]
   spotDepth       =   2 ; 0 = no indicators, 1 = Z only, 2 = XYZ indicators.
   cursorDepth     =   2 ; Same as spot depth.

   gaugeColumns = 1 ; Only 1 or 2 are valid.

   pageButtons  = "&EGO"
   gauge1       = tachometer	
   gauge2       = afr1Gauge
   gauge3		= mapGaugeValue
   gauge4		= veValueGauge


[VeAnalyze]

        ;    tableName,  lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
#if tuneByMAF
       veAnalyzeMap = fuelTableTbl, afrTableTbl, AFRactual, egoCorrection, { 1 }
#else
       veAnalyzeMap = veTableTbl, afrTableTbl, AFRactual, egoCorrection, { 1 }
#endif
 ;lambdaTargetTables = afrTable1Tbl, afrTable2Tbl, afrTSCustom

       ; filter =  Name,        "DisplayName", outputChannel, operator, defaultVal, userAdjustable
        filter = minRPMFilter, "Minimum RPM", rpm,           <       , 500,      , true

#if CELSIUS          
         filter = minCltFilter, "Minimum CLT", coolant,       <       , 60,       , true
#else
         filter = minCltFilter, "Minimum CLT", coolant,       <       , 160,      , true
#endif

         filter = deltaTps, "dTPS", deltaTps       >       , 50,      , true

		filter = VBatt, "VBatt", VBatt       <       , 12,      , true

;         filter = minTps, "Minimum TPS", TPS,       >       , 1,       , true


;[VeAnalyze]
;       fuelAnalyzeMap = fuelTableTbl, afrTableTbl, AFRactual, egoCorrection , { 1 }
;        filter = minRPMFilter, "Minimum RPM", rpm,           <       , 500,      , true



[OutputChannels]

; see TS_FILE_VERSION in firmware code
fileVersion = { 20160702 }

   ochGetCommand    = "O"

; see OUTPUT_CHANNELS_SIZE in console source code
   ochBlockSize     = 276

      rpm             = scalar,  U32,      0,             "RPM",            1,   0.00000
#if CELSIUS
      coolant         = scalar,  F32,      4,              "°C",            1,       0.0
#else
      coolant         = scalar,  F32,      4,              "°F",         {9/5},  17.77777
#endif
#if CELSIUS
      intake          = scalar,  F32,      8,              "°C",            1,       0.0
#else
      intake          = scalar,  F32,      8,              "°F",         {9/5},  17.77777
#endif
      TPS             = scalar,  F32,     12,               "%",            1,         0
      MAF             = scalar,  F32,     16,               "V",            1,         0
      AFRactual       = scalar,  F32,     20,             "AFR",            1,       0.0
      engineLoad      = scalar,	 F32,     24,	    "%",            1,       0.0 ; Blend of MAP and TPS, depends on algorithm
      VBatt	          = scalar,	 F32,     28,	            "V",            1,       0.0
      ; 10 bit TPS ADC value (from 0 to 1023 in 5v scale)
      tpsADC          = scalar,  U16,     32,             "ADC",            1,       0.0;
      alignmet        = scalar,  U16,     34,              "al",            1,       0.0;
      baroPressure    = scalar,  F32,     36,             "pres",           1,       0.0;
      MAPValue        = scalar,  F32,     40,              "MAP",           1,       0.0;
	  ; total fuel squirt duration (in MS) per engine cycle according to current CLT
	  crankingFuel    = scalar,  F32,     44,              "ms",            1,       0.0;
      baseFuel        = scalar,  F32,     48,              "ms",           1,         0
      tCharge         = scalar,  F32,     52,              "T",             1,       0.0;
      ign_adv         = scalar,  F32,     56,              "deg",           1,       0.0;
      sparkDwellValue = scalar,  F32,     60,              "MAP",           1,       0.0;
      ; actual total Ms time per engine cycle with all corrections
      pulseWidth      = scalar,  F32,     64,              "ms",           1,       0.0;
      debugFloatField1    = scalar,  F32,  68,            "val",           1,       0.0;
      
      hasSdCard       = bits,    U32,     72, [0:0], "true", "false";
	  isIgnitionEnabledIndicator=bits, U32,     72, [1:1], "true", "false";
	  ind_injection_enabled=bits,U32,     72, [2:2], "true", "false";
	  isCylinderCleanupEnabled=bits, U32, 72, [3:3], "true", "false";
	  isCylinderCleanupActivated=bits,U32,72, [4:4], "true", "false";
	  ind_fuel_pump   = bits,    U32,     72, [5:5], "true", "false";
	  ind_fan         = bits,    U32,     72, [6:6], "true", "false";
	  ind_o2_heater   = bits,    U32,     72, [7:7], "true", "false";
      ind_check_engine= bits,    U32,     72, [8:8], "true", "false";
      needBurn        = bits,    U32,     72, [9:9], "true", "false";
      ind_2nd_trigger_en=bits,   U32,     72, [10:10], "true", "false";
      clutchUpState    =bits,    U32,     72, [11:11], "true", "false";
      clutchDownState  =bits,    U32,     72, [12:12], "true", "false";
      knockEverIndicator=bits,   U32,     72, [13:13], "true", "false";
      knockNowIndicator=bits,    U32,     72, [14:14], "true", "false";
      vehicleSpeedKph = scalar,  F32,     76,        "kph",   1,       0.0;
      
      ind_tps_error   = bits,    U32,     80, [0:0], "true", "false";
      ind_clt_error   = bits,    U32,     80, [1:1], "true", "false";
      ind_map_error   = bits,    U32,     80, [2:2], "true", "false";
      ind_iat_error   = bits,    U32,     80, [3:3], "true", "false";
      ind_isTriggerError = bits, U32,     80, [5:5], "true", "false";
      ind_hasFatalError=bits,    U32,     80, [6:6], "true", "false";
      ind_isWarnNow    =bits,    U32,     80, [7:7], "true", "false";
      firmwareTsVersion = scalar,U32,     84, "version",           1,         0
      egt1            = scalar,  S16,     88, "°C",           1,         0
      egt2            = scalar,  S16,     90, "°C",           1,         0
      egt3            = scalar,  S16,     92, "°C",           1,         0
      egt4            = scalar,  S16,     94, "°C",           1,         0
      egt5            = scalar,  S16,     96, "°C",           1,         0
      egt6            = scalar,  S16,     98, "°C",           1,         0
      egt7            = scalar,  S16,    100, "°C",           1,         0
      egt8            = scalar,  S16,    102, "°C",           1,         0
      rpmAcceleration = scalar,  F32,    104, "dRpm",         1,         0
      massAirFlowValue= scalar,  F32,    108, "Kg/h",         1,         0
      veValue         = scalar,  F32,    112, "ratio",        1,         0
      deltaTps        = scalar,  F32,    116, "ratio",        1,         0
      triggerErrorsCounter = scalar, U32,120, "counter",      1,         0
      engineLoadAccelExtra = scalar,F32, 124, "value",        1,         0
      tpsAccelFuel    = scalar,  F32,    128, "ms",           1,         0
      baroCorrection  = scalar,  F32,    132, "%",            1,         0
      pedalPosition   = scalar,  F32,    136, "%",            1,         0
      injectorDutyCycle= scalar, F32,    140, "%",            1,         0
      knockCount      = scalar,  U32,    144, "counter",      1,         0
      ; fuelLevel 148
      knockLevel      = scalar,  F32,    152, "Volts",        1,         0
      ; totalTriggerErrorCounter 156
      wallFuelAmount = scalar, F32,      160, "ms",           1,         0
      iatCorrection = scalar, F32,       164, "%",            1,         0
      wallFuelCorrection = scalar, F32,  168, "ms",           1,         0
      curIdlePosition = scalar, F32,     172, "percent",      1,         0
      cltCorrection = scalar, F32,       184, "%",            1,         0
      debugIntField1    = scalar,  U32,  192, "val",          1,       0.0;
      debugFloatField2  = scalar,  F32,  200,            "val",           1,       0.0;
      debugFloatField3  = scalar,  F32,  204,            "val",           1,       0.0;
      debugFloatField4  = scalar,  F32,  208,            "val",           1,       0.0;
      debugFloatField5  = scalar,  F32,  212,            "val",           1,       0.0;
      debugIntField2    = scalar,  U32,   216, "val",          1,       0.0;
      debugIntField3    = scalar,  U32,   220, "val",          1,       0.0;
      engineLoadDelta = scalar,F32, 228, "value",            1,         0
      speedToRpmRatio = scalar,F32, 232, "value",            1,         0
      warningCounter = scalar,U32, 236, "count",            1,         0
      lastErrorCode = scalar,U32, 240, "error",            1,         0
      internalMcuTemperature = scalar,F32, 244, "C",            1,         0
      vvtPosition = scalar,F32, 248, "deg",            1,         0

      egoCorrection   = { 100 }
      time            = { timeNow }
;      engineLoad      = { fuleAlgorithm == 0 ? MAF : TPS }

[CurveEditor]
;	xAxis       =  leftValue, rightValue, step
;	yAxis       =  bottomValue, topValue, step


	curve = knockThresholdCurve, "Engine knock threshold RPM based"
      columnLabel = "RPM", "Threshold"
      xAxis       =  0, 8000, 10
      yAxis       =  0,  8, 10
      xBins       = knockNoiseRpmBins, rpm
      yBins       = knockNoise
      gauge       = rpm

   curve = mapAccelTaper, "Engine Load Acceleration Enrichment Taper"
      columnLabel = "Distance", "Multiplier"
      xAxis       =  0, 128, 10
      yAxis       = -5,  5, 10
      xBins       = mapAccelTaperBins
      yBins       = mapAccelTaperMult

	curve = dwellCorrection, "Dwell time RPM based"
      columnLabel = "RPM", "Dwell"
      xAxis       =  0, 8000, 10
      yAxis       =  0,  30, 10
      xBins       = sparkDwellBins, rpm
      yBins       = sparkDwell
      gauge       = rpm
    
   curve = map_samplingAngleCurve, "MAP Sampling Start Angle"
      columnLabel = "RPM", "Angle"
      xAxis       =  0, 8000, 10
      yAxis       =  0,  180, 10
      xBins       = map_samplingAngleBins, rpm
      yBins       = map_samplingAngle
      gauge       = rpm
   
   curve = map_samplingWindowCurve, "MAP Sampling Duration"
      columnLabel = "RPM", "Window"
      xAxis       =  0, 8000, 10
      yAxis       =  0,  180, 10
      xBins       = map_samplingWindowBins, rpm
      yBins       = map_samplingWindow
      gauge       = rpm

   curve = injectorsDeadTime, "Injector Dead Time by VBatt"
      columnLabel = "Voltage", "Dead Time"
      xAxis       =  8, 21, 10
      yAxis       = -3,  3, 10
      xBins       = injector_battLagCorrBins, VBatt
      yBins       = injector_battLagCorr
      gauge       = VBattGauge
      
   curve = mafDecodingCurve, "MAF Sensor Settings"
      columnLabel = "Voltage", "kg/hour"
      xAxis       =  -1, 6, 10
      yAxis       = -30,  1300, 10
      xBins       = mafDecodingBins, MAF
      yBins       = mafDecoding
      gauge       = mafGaugeVolts

   curve = iatFuelCorrCurve, "Intake air temperature fuel Multiplier"
      columnLabel = "Coolant", "Multiplier"
      xAxis       =  -40, 120, 10
      yAxis       =  0,  5, 10
      xBins       = iatFuelCorrBins, intake
      yBins       = iatFuelCorr
      gauge       = IATGauge
	
	curve = cltFuelCorrCurve, "Warmup fuel manual Multiplier"
      columnLabel = "Coolant", "Multiplier"
      xAxis       =  -40, 120, 10
      yAxis       =  0,  50, 100
      xBins       = cltFuelCorrBins, coolant
      yBins       = cltFuelCorr
      gauge       = CLTGauge

	curve = crankingCltCurve, "Cranking Coolant Temperature multiplier"
      columnLabel = "Coolant", "Multiplier"
      xAxis       =  -40, 120, 10
      yAxis       =  0,  5, 10
      xBins       = crankingFuelBins, coolant
      yBins       = crankingFuelCoef
      gauge       = CLTGauge

	curve = crankingTpsCurve, "Cranking TPS Multiplier"
      columnLabel = "TPS", "Multiplier"
      xAxis       =  -40, 120, 10
      yAxis       =  0,  5, 10
      xBins       = crankingTpsBins, TPS
      yBins       = crankingTpsCoef
      gauge       = throttleGauge

	curve = crankingDurationCurve, "Cranking Duration Multiplier"
      columnLabel = "Engine Cycle", "Multiplier"
      xAxis       =  0, 1000, 10
      yAxis       =  0,  5, 10
      xBins       = crankingCycleBins
      yBins       = crankingCycleCoef


	curve = cltIdleCurve, "Warmup IAC position manual Multiplier"
      columnLabel = "Coolant", "Multiplier"
      xAxis       = -40, 120, 10
      yAxis       =  0,  50, 100
      xBins       = cltIdleCorrBins, coolant
      yBins       = cltIdleCorr
      gauge       = CLTGauge

	curve = warmupTargetAfrCurve, "CLT-based target AFR"
      columnLabel = "Coolant", "Correction"
      xAxis       = -40, 120, 10
      yAxis       =  0,  50, 100
      xBins       = warmupTargetAfrBins, coolant
      yBins       = warmupTargetAfr
      gauge       = CLTGauge

[TableEditor]
   ;       table_id,    map3d_id,    "title",      page
   table = fuelTableTbl,  fuelTableMap,  "Fuel Table",   1
      ;       constant, variable
      xBins       = fuelRpmBins,  rpm
      yBins       = fuelLoadBins,  engineLoad
      zBins       = fuelTable
;      gridHeight  = 2.0
      gridOrient  = 250,   0, 340 ; Space 123 rotation of grid in degrees.
      upDownLabel = "(RICHER)", "(LEANER)"

   table = tpsTpsAccelTbl,  tpsTpsAccelMap,  "TPS/TPS acceleration Multiplier",   1
      xBins       = tpsTpsAccelFromRpmBins,  TPS
      yBins       = tpsTpsAccelToRpmBins,  TPS
      zBins       = tpsTpsAccelTable
    

   table = fsioTable1Tbl,  fsioTable1Map,  "FSIO Table #1",   1
      xBins       = fsioTable1RpmBins,  rpm
      yBins       = fsioTable1LoadBins,  engineLoad
      zBins       = fsioTable1

   table = fsioTable2Tbl,  fsioTable2Map,  "FSIO Table #2",   1
      xBins       = fsioTable2RpmBins,  rpm
      yBins       = fsioTable2LoadBins,  engineLoad
      zBins       = fsioTable2

   table = fsioTable3Tbl,  fsioTable3Map,  "FSIO Table #3",   1
      xBins       = fsioTable3RpmBins,  rpm
      yBins       = fsioTable3LoadBins,  engineLoad
      zBins       = fsioTable3

   table = fsioTable4Tbl,  fsioTable4Map,  "FSIO Table #4",   1
      xBins       = fsioTable4RpmBins,  rpm
      yBins       = fsioTable4LoadBins,  engineLoad
      zBins       = fsioTable4

   table = baroCorrTbl,  baroCorrMap,  "Baro Correction",   1
      ;       constant, variable
      xBins       = baroCorrRpmBins,  rpm
      yBins       = baroCorrPressureBins,  baroPressure
      zBins       = baroCorrTable
;      gridHeight  = 2.0
      gridOrient  = 250,   0, 340 ; Space 123 rotation of grid in degrees.
      upDownLabel = "(RICHER)", "(LEANER)"

   table = ignitionTableTbl,  ignitionTableMap,  "Ignition Table",   1
      ;       constant, variable
      xBins       = ignitionRpmBins,  rpm
      yBins       = ignitionLoadBins,  engineLoad
      zBins       = ignitionTable
;      gridHeight  = 2.0
      gridOrient  = 250,   0, 340 ; Space 123 rotation of grid in degrees.
      upDownLabel = "(RICHER)", "(LEANER)"

   table = ignitionIatCorrTableTbl,  ignitionIatCorrTableMap,  "Ignition Intake Air Temp correction",   1
      ;       constant, variable
      xBins       = ignitionIatCorrRpmBins,  rpm
      yBins       = ignitionIatCorrLoadBins,  intake
      zBins       = ignitionIatCorrTable
;      gridHeight  = 2.0
      gridOrient  = 250,   0, 340 ; Space 123 rotation of grid in degrees.
      upDownLabel = "(RICHER)", "(LEANER)"

   table = veTableTbl,  veTableMap,  "VE Table",   1
      ;       constant, variable
      xBins       = veRpmBins,  rpm
      yBins       = veLoadBins,  MAPValue
      zBins       = veTable
;      gridHeight  = 2.0
      gridOrient  = 250,   0, 340 ; Space 123 rotation of grid in degrees.
      upDownLabel = "(RICHER)", "(LEANER)"


   table = injPhaseTableTbl,  injPhaseTableMap,  "Injection Phase",   1
      ;       constant, variable
      xBins       = injPhaseRpmBins,  rpm
      yBins       = injPhaseLoadBins,  engineLoad
      zBins       = injectionPhase
;      gridHeight  = 2.0
      gridOrient  = 250,   0, 340 ; Space 123 rotation of grid in degrees.
      upDownLabel = "(Later)", "(Sooner)"

   table = afrTableTbl,  afrTableMap,  "Target AFR Table",   1
      ;       constant, variable
      xBins       = afrRpmBins,  rpm
      yBins       = afrLoadBins,  MAPValue
      zBins       = afrTable
;      gridHeight  = 2.0
      gridOrient  = 250,   0, 340 ; Space 123 rotation of grid in degrees.
      upDownLabel = "(RICHER)", "(LEANER)"

[GaugeConfigurations]

   ;Name               Var            Title                 Units        Lo      Hi      LoD    LoW       HiW   HiD    vd  ld
   tachometer        = rpm,           "Engine Speed",       "RPM",       0,   15000,     200,    500,    6000,  6000,   0,   0
#if CELSIUS
   CLTGauge          = coolant,       "Coolant Temp",        "°C",      -40,    140,     -15,      1,      95,   110,   1,   1
#else
   CLTGauge          = coolant,       "Coolant Temp",        "°F",      -40,    285,       5,     35,     205,   230,   1,   1
#endif
#if CELSIUS
   IATGauge          = intake,     "Intake Air Temp",        "°C",      -40,    140,     -15,      1,      95,   110,   1,   1
#else
   IATGauge          = intake,     "Intake Air Temp",        "°F",      -40,    285,       5,     35,     205,   230,  1,   1
#endif
#if CELSIUS
   tChargeGauge          = tCharge,     "Charge Temp",        "°C",      -40,    140,     -15,      1,      95,   110,   1,   1
#else
   tChargeGauge          = tCharge,     "Charge Temp",        "°F",      -40,    285,       5,     35,     205,   230,  1,   1
#endif


   throttleGauge     = TPS,      "Throttle Position",         "%",        0,    100,       0,      0,     100,   100,   2,   2
   afr1Gauge         = AFRactual, "Air:Fuel Ratio 1",          "",       10,   19.4,      12,     13,      15,    16,   2,   2
   mafGaugeVolts     = MAF,          "Mass Air Flow",         "v",        0,      5,       0,      1,       3,     4,   1,   1
   VBattGauge        = VBatt,      "Battery Voltage",         "V",        8,     21,       9,     10,      17,    19,   1,   1
   tpsADCGauge       = tpsADC,             "tps ADC",       "ADC",        0,   1024,       0,      0,       0,     0,   0,   0	
   atmPresCGauge     = baroPressure,          "Baro",       "kPa",        0,   1024,       0,      0,       0,     0,   0,   0	
   mapGaugeValue     = MAPValue,               "MAP",       "kPa",        0,    300,      10,     10,     200,   200,   0,   0	
   ignadvGauge = ign_adv,       "Ignition Advance 1",   "degrees",     -100,    100,    -999,   -999,     999,   999,   1, 1
;   warmupEnrichGauge = warmupEnrich, "Warmup Enrichment",    "%",      100,    150,      -1,     -1,     101,   105,   0, 0
;   accelEnrichGauge  = accDecEnrich, "Accel Enrich",         "%",       50,    150,      -1,     -1,     999,   999,   0, 0
   dwellGauge        = sparkDwellValue,           "Dwell",      "mSec",        0,     10,     0.5,    1.0,     6.0,   8.0,   1, 1
   egt1Gauge         = egt1, "EGT#1", "C", 0, 2000
   egt2Gauge         = egt2, "EGT#2", "C", 0, 2000
   egt3Gauge         = egt3, "EGT#3", "C", 0, 2000
   egt4Gauge         = egt4, "EGT#4", "C", 0, 2000
   egt5Gauge         = egt5, "EGT#5", "C", 0, 2000
   egt6Gauge         = egt6, "EGT#6", "C", 0, 2000
   egt7Gauge         = egt7, "EGT#7", "C", 0, 2000
   egt8Gauge         = egt8, "EGT#8", "C", 0, 2000
   vssGauge          = vehicleSpeedKph,     "Speed",         "kmh",        0,    200,       0,      1,       3,     4,   1,   1
   rpmAccelerationGa = rpmAcceleration,     "rpm delta",        "dRpm",        0,      3,       0,      1,       3,     4,   1,   1
   massAirFlowValueGa = massAirFlowValue,"Air Flow",       "kg/hr",        0,     50,    -999,   -999,     999,   999,   1,   1
   veValueGauge      = veValue,                 "fuel: VE",            "",        0,    120,      10,     10,     100,   100,   1,   1
   baroCorrectionGauge  = baroCorrection,"BaroCorr",           "%",        0,    120,      10,     10,     100,   100,   1,   1
   pedalPositionGauge = pedalPosition,"Pedal Position",        "%",        0,    120,      10,     10,     100,   100,   1,   1
   knockCountGauge   = knockCount,"Knock count",           "count",        0,    120,      10,     10,     100,   100,   1,   1
   knockLevelGauge   = knockLevel,"Knock level",           "volts",        0,      7,      10,     10,     100,   100,   1,   2
   
   triggerErrorsCounterGauge = triggerErrorsCounter, "trg err", "count",     0,   15000,     0,    0,    6000,  6000,   0,   0
   
   pulseWidthGauge   = pulseWidth,     "fuel final squirt, per injection", "mSec",        0,   25.5,     1.0,    1.2,      20,    25,   3, 1
   baseFuelGauge     = baseFuel,       "fuel: base duration, before corr",      "mSec",        0,   25.5,     1.0,    1.2,      20,    25,   3, 1
   crankingFuelGauge = crankingFuel,   "fuel: crank Width",      "mSec",        0,   25.5,     1.0,    1.2,      20,    25,   3, 1
   iatCorrectionGauge = iatCorrection, "fuel: IAT correction", "mult",     0,   3,     0,    0,    3,  3,   2,   2
   cltCorrectionGauge = cltCorrection, "fuel: CLT correction", "mult",     0,   3,     0,    0,    3,  3,   2,   2
   injectorDutyCycleGauge=injectorDutyCycle, "fuel: injectorDutyCycle","%",      0,    120,      10,     10,     100,   100,   1,   1

   engineLoadDeltaGauge = engineLoadDelta,"fuel: load change","value",      0,    120,      10,     10,     100,   100,   1,   1
   engineLoadAccelExtraGauge = engineLoadAccelExtra,"fuel: load extra","value",      0,    120,      10,     10,     100,   100,   1,   1
   deltaTpsGauge     = deltaTps,                "fuel: TPS change",            "",        0,    120,      10,     10,     100,   100,   1,   1
   tpsAccelFuelGauge = tpsAccelFuel,"fuel: TPS enrich",             "ms",        0,    120,      10,     10,     100,   100,   1,   1
   wallFuelAmountGauge = wallFuelAmount, "fuel: wall amount", "ms",     0,   100,     0,    0,    100,  100,   0,   0
   wallFuelCorrectionGauge = wallFuelCorrection, "fuel: wall correction extra", "ms",     0,   100,     0,    0,    100,  100,   0,   0
   
   curIdlePositionGauge = curIdlePosition, "idle position", "%",     0,   100,     0,    0,    100,  100,   0,   0

   debugFloatField1Gauge = debugFloatField1, "debug f1", "%",     0,   100,     0,    0,    100,  100,   4,   4
   debugFloatField2Gauge = debugFloatField2, "debug f2", "%",     0,   100,     0,    0,    100,  100,   4,   4
   debugFloatField3Gauge = debugFloatField3, "debug f3", "%",     0,   100,     0,    0,    100,  100,   4,   4
   debugFloatField4Gauge = debugFloatField4, "debug f4", "%",     0,   100,     0,    0,    100,  100,   4,   4
   debugFloatField5Gauge = debugFloatField5, "debug f5", "%",     0,   100,     0,    0,    100,  100,   4,   4
   debugIntField1Gauge = debugIntField1, "debug i1", "%",     0,   100,     0,    0,    100,  100,   0,   0
   debugIntField2Gauge = debugIntField2, "debug i2", "%",     0,   100,     0,    0,    100,  100,   0,   0
   debugIntField3Gauge = debugIntField3, "debug i3", "%",     0,   100,     0,    0,    100,  100,   0,   0
   speedToRpmRatioGauge = speedToRpmRatio, "speed2rpm", "",     0,   100,     0,    0,    100,  100,   4,   4
   warningCounterGauge = warningCounter, "warn", "",     0,   100,     0,    0,    100,  100,   0,   0
   lastErrorCodeGauge = lastErrorCode, "error", "",     0,   100,     0,    0,    100,  100,   0,   0
   internalMcuTemperatureGauge = internalMcuTemperature, "internal temperature", "C",     0,   100,     0,    0,    100,  100,   0,   0
   vvtPositionGauge = vvtPosition, "VVT position", "deg",     0,   100,     0,    0,    720,  720,   0,   0
   
   
[FrontPage]
   ; Gauges are numbered left to right, top to bottom.
   ;
   ;    1  2  3  4
   ;    5  6  7  8

   ; currently a minimum of 6 gauges must be on the dash, this appears to be an old not needed limitation. next release 1 will work.
   gauge1 = tachometer
   gauge2 = CLTGauge
   gauge3 = throttleGauge
   gauge4 = mafGaugeVolts
   gauge5 = afr1Gauge
   gauge6 = VBattGauge
   gauge7 = dwellGauge
   gauge8 = ignadvGauge
   


;         =   expression,            off-label,            on-label,            off-bg, off-fg, on-bg, on-fg
	; important status
    indicator = { ind_hasFatalError }, "",   "FATAL ERROR",   green, black, red,   black
    indicator = { firmwareTsVersion == fileVersion }, "WRONG VERSION",   "version",   red, black, green,   black
    indicator = { ind_isWarnNow }, "",   "warn",   green, black, red,   black
    indicator = { ind_check_engine }, "ok",      "Check engine",       green,  black,  red, black
    indicator = { isIgnitionEnabledIndicator}, "no ignition",   "ignition",   red, black, green,   black
    indicator = { ind_injection_enabled}, "no injection",   "injection",   red, black, green,   black
    indicator = { ind_isTriggerError}, "ok",      "trg err",       green,  black,  red, black
    

	; minor info	
    indicator = { ind_fan}, "no fan",   "fan",   white, black, green,   black
    indicator = { isCylinderCleanupActivated}, "no cyl cleanup",   "cyl cleanup",   white, black, green,   black    
    indicator = { needBurn }, "no Burn",   "Need Burn",   white, black, yellow,   black
    indicator = { hasSdCard}, "no SD",   "with SD",   white, black, green,   black
    indicator = { ind_fuel_pump}, "no pump",   "pump",   white, black, green,   black
    indicator = { clutchUpState }, "clutch",   "cltch Up",   white, black, red,   black
    indicator = { clutchDownState }, "clutch",   "cltch Down",   white, black, red,   black
    
    ; error codes
    indicator = { ind_tps_error}, "tps",   "tps error",   white, black, red,   black
    indicator = { ind_clt_error}, "clt",   "clt error",   white, black, red,   black
    indicator = { ind_iat_error}, "iat",   "iat error",   white, black, red,   black
    indicator = { ind_map_error}, "map",   "map error",   white, black, red,   black

    indicator = { knockEverIndicator }, "",   "Knock recently",   white, black, red,   black
    indicator = { knockNowIndicator }, "no knock",   "Knock NOW",   white, black, red,   black
   

[Datalog]
   ;       Channel          Label          Type    Format
   entry = time,            "Time",        float,  "%.3f"
   entry = rpm,             "RPM",         int,    "%d"
   entry = coolant,         "CLT",         float,  "%.2f"
   entry = intake,          "IAT",         float,  "%.2f"
   entry = TPS,             "TPS",         float,  "%.2f"
   entry = MAF,             "MAF",         float,  "%.2f"
   entry = MAPValue,        "MAP",         float,  "%.1f"
   entry = AFRactual,       "AFR",         float,  "%.2f"
   entry = VBatt,           "vBatt",       float,  "%.2f"
   entry = engineLoad,	    "Load", 	   float,  "%.1f"
   entry = ign_adv,	    	"ignAdv",	   float,  "%.2f"
   entry = knockLevel,	    "Knock", 	   float,  "%.2f"
   entry = vehicleSpeedKph,	"speed",	   float,  "%.2f"
   entry = speedToRpmRatio, "s2rpm",	   float,  "%.3f"
   entry = rpmAcceleration, "dRPM",        float,  "%.3f"
   entry = massAirFlowValue,"airMass",     float,  "%.3f"
   entry = pedalPosition,   "pedal",       float,  "%.3f"
   entry = triggerErrorsCounter, "trg err",int,    "%d"

   entry = pulseWidth,      "fuel: pulse", float,  "%.3f"
   entry = baseFuel,	    "fuel: base",  float,  "%.2f"
   entry = veValue,         "fuel: VE",    float,  "%.3f"
   entry = injectorDutyCycle,"fuel: duty cyc",float,"%.3f"

   entry = engineLoadAccelExtra, "fuel: load extra",float,  "%.3f"
   entry = engineLoadDelta, "fuel: load change",float,  "%.3f"

   entry = deltaTps,		"fuel: TPS change",float,  "%.3f"
   entry = tpsAccelFuel,    "fuel: TOS enrich",    float,  "%.3f"

   entry = wallFuelCorrection,"fuel: wall corr ms",	float,   "%.3f"
   entry = wallFuelAmount, "fuel: wall amount",	float,   "%.3f"
   
   entry = baroCorrection,   "baroCorrection",float,"%.3f"
   entry = iatCorrection,   "fuel: IAT corr",	float,   "%.3f"
   entry = cltCorrection,	"cltCorrection", float,"%.3f"

   entry = sparkDwellValue,	"dwell", float,"%.3f"


   entry = debugFloatField1,   "debug f1",float,"%.4f"
   entry = debugFloatField2,   "debug f2",float,"%.4f"
   entry = debugFloatField3,   "debug f3",float,"%.4f"
   entry = debugFloatField4,   "debug f4",float,"%.4f"
   entry = debugFloatField5,   "debug f5",float,"%.4f"
   entry = debugIntField1,   "debug i1",int,"%d"
   entry = debugIntField2,   "debug i2",int,"%d"
   entry = debugIntField3,   "debug i3",int,"%d"
   entry = warningCounter,   "warn",int,"%d"
   entry = lastErrorCode,   "error",int,"%d"
   entry = internalMcuTemperature,   "int temp",float,"%.2f"
   
   entry = tCharge, "tCharge",float,"%.3f"
   
;     tpsADC          = U16,    "ADC",
;     alignmet        = U16,    "al",
;     atmPres         = F32,    "pres",
;	  crankingFuel    = F32,    "ms",
;     tCharge         = F32,    "T",
;     sparkDwell      = F32,    "MAP",
;     warmUpEnrich    = F32,    "%",

[Menu]

	menu = "Engine"
		subMenu = engineChars,				"Base Engine Settings"
		subMenu = triggerConfiguration,		"Trigger Configuration"
		subMenu = std_separator
		subMenu = injectionSettings,		"Injection Settings"
		subMenu = ignitionSettings,			"Ignition Settings"
		subMenu = std_separator
		subMenu = analogInputs,				"Analog inputs"
		subMenu = cltSensor,				"CLT Sensor Settings"
		subMenu = iatSensor,				"IAT Sensor Settings"
		subMenu = mapSettings,				"MAP Sensor Settings"
		subMenu = mafDecodingCurve,			"MAF Sensor Settings"
		subMenu = egoSettings,				"EGO Sensor Settings"
		subMenu = egtInputs,				"EGT inputs"
		subMenu = energySystems,			"Battery and Alternator Settings"
		subMenu = auxPidDialog,				"Aux PID"
		subMenu = speedSensor,				"Speed Sensor Settings"
		subMenu = tachSettings,				"Tachometer output"
		subMenu = std_separator
		subMenu = fanSetting,				"Fan Settings"
		subMenu = idleSettings,				"Idle Settings"
		subMenu = mainRealay,				"Main Relay Settings"
		subMenu = fuelPump,					"Fuel Pump Settings"
		subMenu = malfunction,				"MIL Settings"
		subMenu = hipFunction,				"hip9011 Settings (knock decoder)"
		subMenu = cj125Function,			"CJ125 Settings (wbo decoder)"
		subMenu = spiFunction,				"SPI Settings"
	menu = "Tuning"
		subMenu = generalSettings,			"General"
		subMenu = monitoringSettings,		"rusEfi Console Settings"
		subMenu = std_separator
		subMenu = crankingDialog,           "Cranking"
		subMenu = crankingCltCurve,	    	"Cranking Coolant Temp Multiplier"
		subMenu = crankingTpsCurve,	    	"Cranking TPS Multiplier"
		subMenu = crankingDurationCurve,	"Cranking Duration Multiplier"
		subMenu = std_separator
		subMenu = warmupFuelDialog,			"Warmup fuel closed-loop"
		subMenu = cltFuelCorrCurve,			"Warmup fuel manual Multiplier", 0, {useWarmupPidAfr == 0}
		subMenu = warmupTargetAfrCurve,		"Warmup fuel auto correction AFR target", 0, {useWarmupPidAfr == 1}
		subMenu = cltIdleCurve,				"Warmup IAC position manual Multiplier"
		subMenu = std_separator
		subMenu = fuelTableTbl,				"Fuel Table", 0, {fuelAlgorithm != 3}
        subMenu = veTableTbl,           	"VE Table", 0, {fuelAlgorithm == 3}
        subMenu = afrTableTbl,          	"Targe AFR Table", 0, {fuelAlgorithm == 3}
		subMenu = iatFuelCorrCurve,			"Intake air temperature fuel Multiplier"
        subMenu = injPhaseTableTbl,         "Injection Phase"           
        subMenu = mapAccelTaper,			"Engine Load Acceleration Enrichment Taper"
		subMenu = std_separator
		subMenu = AccelEnrich,				"Accel/Decel Enrichment/Enleanment"
        subMenu = tpsTpsAccelTbl, 			"TPS/TPS acceleration Multiplier"
		subMenu = std_separator
		subMenu = ignitionTableTbl,			"Ignition Table"
		subMenu = ignitionIatCorrTableTbl,	"Ignition Intake Air Temp correction"
		subMenu = baroCorrTbl,				"Baro Correction", 0, {fuelAlgorithm == 3}
		subMenu = std_separator
		subMenu = std_realtime,    "&Realtime Display",              0
		
	menu = "3D Map Tuning"
;		subMenu = std_realtime,				"Realtime Display"
;		subMenu = std_warmup,				"Warmup Wizard"
		subMenu = fuelTableMap,				"Fuel Table", 0, {fuelAlgorithm != 3}
		subMenu = veTableMap,				"VE Table", 0, {fuelAlgorithm == 3}
		subMenu = afrTableMap,				"Targe AFR Table", 0, {fuelAlgorithm == 3}
		subMenu = injPhaseTableMap,			"Injection Phase"
		subMenu = ignitionTableMap,			"Ignition Table"
		subMenu = ignitionIatCorrTableMap,	"Ignition Intake Air Temp correction"

	menu = "Racing Features"
		subMenu = smLaunchControl,           "Launch Control"
		subMenu	= std_separator

	  menu = "Board"
		subMenu = fsioInputsDialog,         "FSIO inputs"
		subMenu = fsioOutputsDialog,        "FSIO outputs"
		subMenu = fsioTable1Tbl,			"FSIO Table #1"
		subMenu = fsioTable2Tbl,			"FSIO Table #2"
		subMenu = fsioTable3Tbl,			"FSIO Table #3"
		subMenu = fsioTable4Tbl,			"FSIO Table #4"
		subMenu	= std_separator
	 	subMenu = connection,            	"Connection"
		subMenu = std_separator
		subMenu = ioTest,					"I-O Test"
		subMenu = ecuStimulator,			"ECU stimulator"

[ControllerCommands]
; commandName    = command1, command2, commandn...
; command in standard ini format, a command name can be assigned to 1 to n commands that will be executed in order.
;         This does not include any resultant protocol envelope data, only the response data itself.

; WARNING!! These commands bypass TunerStudio's normal memory synchronization. If these commands
; alter mapped settings (Constant) memory in the controller, TunerStudio will have an out of sync condition 
; and may create error messages.
; It is expected that these commands would not typically alter any ram mapped to a Constant.

cmd_test_spk1  = "w\x00\x12\x00\x01"
cmd_test_spk2  = "w\x00\x12\x00\x02"
cmd_test_spk3  = "w\x00\x12\x00\x03"
cmd_test_spk4  = "w\x00\x12\x00\x04"
cmd_test_spk5  = "w\x00\x12\x00\x05"
cmd_test_spk6  = "w\x00\x12\x00\x06"
cmd_test_spk7  = "w\x00\x12\x00\x07"
cmd_test_spk8  = "w\x00\x12\x00\x08"
cmd_test_spk9  = "w\x00\x12\x00\x09"
cmd_test_spk10 = "w\x00\x12\x00\x0a"
cmd_test_spk11 = "w\x00\x12\x00\x0b"
cmd_test_spk12 = "w\x00\x12\x00\x0c"
cmd_test_spk13 = "w\x00\x12\x00\x0d"
cmd_test_spk14 = "w\x00\x12\x00\x0e"
cmd_test_spk15 = "w\x00\x12\x00\x0f"
cmd_test_spk16 = "w\x00\x12\x00\x10"
		
		
cmd_test_inj1  = "w\x00\x13\x00\x01"
cmd_test_inj2  = "w\x00\x13\x00\x02"
cmd_test_inj3  = "w\x00\x13\x00\x03"
cmd_test_inj4  = "w\x00\x13\x00\x04"
cmd_test_inj5  = "w\x00\x13\x00\x05"
cmd_test_inj6  = "w\x00\x13\x00\x06"
cmd_test_inj7  = "w\x00\x13\x00\x07"
cmd_test_inj8  = "w\x00\x13\x00\x08"
cmd_test_inj9  = "w\x00\x13\x00\x09"
cmd_test_inj10 = "w\x00\x13\x00\x0a"
cmd_test_inj11 = "w\x00\x13\x00\x0b"
cmd_test_inj12 = "w\x00\x13\x00\x0c"
cmd_test_inj13 = "w\x00\x13\x00\x0d"
cmd_test_inj14 = "w\x00\x13\x00\x0e"
cmd_test_inj15 = "w\x00\x13\x00\x0f"
cmd_test_inj16 = "w\x00\x13\x00\x10"
		
cmd_test_fuel_pump           = "w\x00\x14\x00\x01"
cmd_test_radiator_fan        = "w\x00\x15\x00\x01"
cmd_test_check_engine_light  = "w\x00\x16\x00\x01"
cmd_test_idle_valve          = "w\x00\x17\x00\x01"
		
		
[UserDefined]

	dialog = baseInjection, "Injection"
		field = "Enabled",						isInjectionEnabled
		field = "Mode",							injectionMode, {isInjectionEnabled == 1}
		field = "#Batch injection with individual wiring"
		field = "Two wire batch",				twoWireBatchInjection, {isInjectionEnabled == 1 && injectionMode == 2}

	dialog = baseIgnition, "Ignition"		
		field = "Enabled",						isIgnitionEnabled
		field = "Mode",							ignitionMode, {isIgnitionEnabled == 1}
		field = "#Wasted spark with individual coils"
		field = "Two wire wasted",				twoWireBatchIgnition, {isIgnitionEnabled == 1 && ignitionMode == 2}
		field = "Timing Mode",					timingMode, {isIgnitionEnabled == 1}
		field = "Fixed Timinig",				fixedTiming, {isIgnitionEnabled == 1 && timingMode == 1}


;			Engine->Base Engine Settings
	dialog = engineChars,	"Base Engine Settings"
;		field = "Engine Preset",						engineType
		field = "Number of Cylinders",					cylindersCount
		field = "Engine Displacement",         			displacement
		field = "debug fields",							debugMode
		field = ""
		field = "Firing Order",							firingOrder
		panel = baseInjection
		panel = baseIgnition

;			Engine->Trigger configuration
	dialog = triggerConfiguration_settings,	"Settings Trigger"
		field = "Trigger type",							trigger_type
		field = "Operation mode",						operationMode
		field = "With VR sensors only rising edge has reliable position"
		field = "use only rising edge",					useOnlyRisingEdgeForTrigger    
	    field = "Trigger Angle Offset",         		globalTriggerAngleOffset
		field = "#Custom Trigger"
		field = "Synchronization Needed?",				trigger_customIsSynchronizationNeeded, {trigger_type == 0}
		field = "total Tooth Count",					trigger_customTotalToothCount, {trigger_type == 0}
		field = "skipped Tooth Count",					trigger_customSkippedToothCount, {trigger_type == 0}
;		field = "sync Ratio From",						trigger_customSyncRatioFrom, {trigger_type == 0}
;		field = "sync Ratio To",						trigger_customSyncRatioTo, {trigger_type == 0}
		field = "use Rise Edge?",						trigger_customUseRiseEdge, {trigger_type == 0}
		field = "needed Second Trigger Input?",			trigger_customNeedSecondTriggerInput, {trigger_type == 0}
	dialog = triggerConfiguration_IO,	"Settings I/O"
		field = "!ECU reboot needed to apply these settings"
		field = "#Cam is primary if you have cam sensor"
		field = "Primary input channel", 				triggerInputPins1
	    field = "Secondary channel", 					triggerInputPins2
	    field = "CAM input",							camInput
	    field = "VVT mode",								vvtMode, {trigger_type != 80}
	    field = "VVT use rise front",					vvtCamSensorUseRise, {trigger_type != 80}
	    field = "Trigger error LED",					triggerErrorPin
	    field = "Trigger error LED mode",				triggerErrorPinMode
	dialog = triggerConfiguration
		panel = triggerConfiguration_settings,	North
		panel = triggerConfiguration_IO,		South

;			Engine->Injection Settings
	dialog = injChars, "Injector Settings",	yAxis
		field = "Injector Flow",			injector_flow
		field = "phase offset",				extraInjectionOffset
		
	dialog = injIO, "Injector Output",	yAxis
		field = "!ECU reboot needed to apply these settings"
		field = "injection Pin Mode",       			injectionPinMode
		field = "Injection Pin 1",						injectionPins1
		field = "Injection Pin 2",						injectionPins2, {cylindersCount > 1}
		field = "Injection Pin 3",						injectionPins3, {cylindersCount > 2}
		field = "Injection Pin 4",						injectionPins4, {cylindersCount > 3}
		field = "Injection Pin 5 ",						injectionPins5, {cylindersCount > 4}
		field = "Injection Pin 6 ",						injectionPins6, {cylindersCount > 5}
		field = "Injection Pin 7 ",						injectionPins7, {cylindersCount > 6}
		field = "Injection Pin 8 ",						injectionPins8, {cylindersCount > 7}
		field = "Injection Pin 9 ",						injectionPins9, {cylindersCount > 8}
		field = "Injection Pin 10 ",	    			injectionPins10, {cylindersCount > 9}
		field = "Injection Pin 11 ",					injectionPins11, {cylindersCount > 10}
		field = "Injection Pin 12 ",					injectionPins12, {cylindersCount > 11}	
	
	dialog = injectorSetting, "", yAxis
		panel = injChars,				North
		panel = injIO,					East
		
	dialog = injectionSettings,	"",	xAxis
		panel = injectorSetting,		West
		panel = injectorsDeadTime,		East

;			Engine->Ignition Settings
	dialog = ignitionOutputs, "Ignition Outputs"
		field = "Ignition Pin Mode",         	        ignitionPinMode
		field = "Ignition Pin 1",                       ignitionPins1 
		field = "Ignition Pin 2",                       ignitionPins2, {(ignitionMode != 0 && cylindersCount > 1) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin2logic@@)}
		field = "Ignition Pin 3",                       ignitionPins3, {(ignitionMode != 0 && cylindersCount > 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin3logic@@)}
		field = "Ignition Pin 4",                       ignitionPins4, {(ignitionMode != 0 && cylindersCount > 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin4logic@@)}
		field = "Ignition Pin 5",                       ignitionPins5, {(ignitionMode != 0 && cylindersCount > 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin5logic@@)}
		field = "Ignition Pin 6",                       ignitionPins6, {(ignitionMode != 0 && cylindersCount > 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin6logic@@)}
		field = "Ignition Pin 7",                       ignitionPins7, {(ignitionMode != 0 && cylindersCount > 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin7logic@@)}
		field = "Ignition Pin 8",                       ignitionPins8, {(ignitionMode != 0 && cylindersCount > 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin8logic@@)}
		field = "Ignition Pin 9",                       ignitionPins9, {(ignitionMode != 0 && cylindersCount > 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin8logic@@)}
		field = "Ignition Pin 10",                      ignitionPins10, {(ignitionMode != 0 && cylindersCount > 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin8logic@@)}
		field = "Ignition Pin 11",                      ignitionPins11, {(ignitionMode != 0 && cylindersCount > 10) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin8logic@@)}
		field = "Ignition Pin 12",                      ignitionPins12, {(ignitionMode != 0 && cylindersCount > 11) && (ignitionMode !=2 || twoWireBatchIgnition == 1 @@ignitionPin8logic@@)}
		field = "This is useful to have tachometer working while converting from distributor"
		field = "Dizzy out Pin",         	    	    dizzySparkOutputPin
		field = "Dizzy out Pin Mode",                   dizzySparkOutputPinMode 
		
	dialog = ignitionSettings, "", xAxis
		panel = ignitionOutputs,	West
		panel = dwellCorrection,	Center
		
;			Engine->CLT Thermistor Settings
	dialog = clt_thermistor, "CLT Thermistor Settings"
		field = "!Here is three pairs of thermistor temperature and his resistance."
		field = "!Typical temperatures is -40°C, 0°C and 100°C"
		field = ""
		field = "Lowest temperature",  					clt_tempC_1		
		field = "Resistance @ LT",         	   			clt_resistance_1
		field = ""
		field = "Middle temperature",    		  	    clt_tempC_2
		field = "Resistance @ MT",         	    		clt_resistance_2
		field = ""
		field = "Highest temperature",				 	clt_tempC_3
		field = "Resistance @ HT",         	    		clt_resistance_3
	dialog = cltSensor_IO,	"CLT Sensor I/O"
		field = "CLT ADC input", 						clt_adcChannel
		field = "Bias Resistor Value",    	    		clt_bias_resistor
	dialog = cltSensor, "", yAxis
		panel = clt_thermistor,		North
		panel = cltSensor_IO,		South

;			Engine->IAT Thermistor Settings
	dialog = iat_thermistor, "IAT Thermistor Settings"
		field = "!Here is three pairs of thermistor temperature and his resistance."
		field = "!Typical temperatures is -40°C, 0°C and 100°C"
		field = ""
		field = "Lowest temperature",                   iat_tempC_1		
		field = "Resistance @ LT",         	   			iat_resistance_1
		field = ""
		field = "Middle temperature",         	    	iat_tempC_2
		field = "Resistance @ MT",         	    		iat_resistance_2
		field = ""
		field = "Highest temperature",         	    	iat_tempC_3
		field = "Resistance @ HT",         	    		iat_resistance_3
	dialog = iatSensor_IO,	"IAT Sensor I/O"
		field = "IAT ADC input", 						iat_adcChannel
		field = "Bias Resistor Value",    	    		iat_bias_resistor
	dialog = iatSensor, "", yAxis
		panel = iat_thermistor,		North
		panel = iatSensor_IO,		South

;			Engine->MAP Sensor Settings
	dialog = mapSensorVDlg, "Voltage Sensor Settings", xAxis		
	    field = "MAP ADC input", 						map_sensor_hwChannel, {hasFrequencyReportingMapSensor == 0}
		field = "Map type", map_sensor_type, 			{hasFrequencyReportingMapSensor == 0}
		field = "MAP value low point",  		        map_sensor_lowValue, { map_sensor_type == 0 && hasFrequencyReportingMapSensor == 0}
		field = "MAP voltage low point", 	 		    mapLowValueVoltage, { map_sensor_type == 0 && hasFrequencyReportingMapSensor == 0}
		field = "MAP value high point",               	map_sensor_highValue, { map_sensor_type == 0 && hasFrequencyReportingMapSensor == 0}
		field = "MAP voltage high value",               mapHighValueVoltage, { map_sensor_type == 0 && hasFrequencyReportingMapSensor == 0}

	dialog = mapSensorFDlg, "Frequency Sensor Settings", xAxis		
		field = "pin",		frequencyReportingMapInputPin, {hasFrequencyReportingMapSensor == 1}
		field = "0 kPa freq",		mapFrequency0Kpa, {hasFrequencyReportingMapSensor == 1}
		field = "100 kpa freq",		mapFrequency100Kpa, {hasFrequencyReportingMapSensor == 1}

	dialog = mapCurves, "", border		
	    panel = map_samplingAngleCurve,	West
		panel = map_samplingWindowCurve,	East

	dialog = mapSwitch, "MAP input type"
	    field = "frequency-based MAP",				hasFrequencyReportingMapSensor
	    
	dialog = mapVandF, "V and F"	    
		panel = mapSensorVDlg, 		North
		panel = mapSensorFDlg,		South
	
	dialog = mapSwitchAndSettings, "Switch and Settings"
		panel = mapSwitch, 		North
		panel = mapVandF,		South
		
	dialog = mapSettings, "MAP Sensor Settings", border
		panel = mapCurves,		North
		panel = mapSwitchAndSettings,		South

;			Engine->EGO Sensor Settings
	dialog = egoSettings_sensor,	"EGO Sensor Settings"
		field = "low voltage", 							afr_v1
		field = "low value", 							afr_value1
		field = "high voltage", 						afr_v2
		field = "high value", 							afr_value2
		field = "Correction",							egoValueShift
	dialog = egoSettings_IO,	"EGO Sensor I/O"
		field = "AFR ADC input", 						afr_hwChannel
		field = "O2 heater pin",						o2heaterPin
	dialog = egoSettings, "", yAxis
		panel = egoSettings_sensor,	North
		panel = egoSettings_IO,		South

;			Engine->EGT inputs
	dialog = egtInputs, "EGT inputs"
		field = "SPI", 									max31855spiDevice
        field = "CS #1", 								max31855_cs1
        field = "CS #2", 								max31855_cs2
        field = "CS #3", 								max31855_cs3
        field = "CS #4", 								max31855_cs4
        field = "CS #5", 								max31855_cs5
        field = "CS #6", 								max31855_cs6
        field = "CS #7", 								max31855_cs7
        field = "CS #8", 								max31855_cs8

;			Engine->idle Settings	
	dialog = idleSolenoid, "solenoid"
		field = "Idle Solenoid Pin Mode",   	  	    idle_solenoidPinMode, !useStepperIdle
		field = "Idle Solenoid Pin",					idle_solenoidPin, !useStepperIdle
		field = "Idle Solenoid Frequency",   			idle_solenoidFrequency, !useStepperIdle
	
	dialog = idleStepper, "stepper"
		field = "Idle Stepper Step",					idle_stepperStepPin, useStepperIdle
		field = "Idle Stepper Dir",						idle_stepperDirectionPin, useStepperIdle
		field = "Idle Stepper Enable",					stepperEnablePin, useStepperIdle
		field = "Stepper reaction time",				idleStepperReactionTime, useStepperIdle
		field = "Stepper total steps",					idleStepperTotalSteps, useStepperIdle
		
	dialog = idleType, "Type idle valve",	border
		panel = idleSolenoid,				West
		panel = idleStepper,				East
		
	dialog = idleSettings, "", yAxis
		field = "Manual mode",							idleMode
		field = "Cranking Extra",						crankingIdleAdjustment
		field = "Auto target",							targetIdleRpm, { idleMode == 0}
		slider = "Manual Idle Position",				manIdlePosition, horizontal
		field = ""
		field = "use stepper",							useStepperIdle
		panel = idleType

;			Engine->Fan Settings
	dialog = fanSetting, "Fan Settings"
		field = "Fan On Temperature",					fanOnTemperature
		field = "Fan Off Temperature",					fanOffTemperature
		field = ""
		field = "!ECU reboot needed to apply these settings"
		field = "Fan Pin Mode",							fanPinMode
		field = "Fan Pin",								fanPin

;			Engine->Main Relay Settings
	dialog = mainRealay,	"Main Relay Settings"
		field = "!ECU reboot needed to apply these settings"
		field = "Main Relay Mode",			         	mainRelayPinMode	
		field = "Main Relay Pin",  						mainRelayPin
		
;			Engine->Fuel Pump Settings
	dialog = fuelPump,	"Fuel Pump Settings"
		field = "!ECU reboot needed to apply these settings"
		field = "Fuel Pump Pin Mode",         	        fuelPumpPinMode
		field = "Fuel Pump Pin",						fuelPumpPin
		
;			Engine->MIL Settings
	dialog = malfunction,	"Check Engine Settings"
		field = "!ECU reboot needed to apply these settings"
		field = "Check Engine Pin Mode",				         	malfunctionIndicatorPinMode	
		field = "Check Engine Pin",         						malfunctionIndicatorPin
		field = "Warning Period",									warningPeriod

;			Engine->hip9011 Settings
	dialog = hipFunction, "HIP9011 Settings (knock decoder)"
		field = "Enabled",								isHip9011Enabled
		field = "Threshold",							knockVThreshold
		field = "!ECU reboot needed to apply these settings"
		field = "IntHold pin (hip9011 input)",      	hip9011IntHoldPin
		field = "ChipSelect pin",						hip9011CsPin
		field = "ChipSelect mode",						hip9011CsPinMode
		field = "hip Output/stm input",					hipOutputChannel
		field = "prescaler & SDO",						hip9011PrescalerAndSDO
		field = "Band Freq override",					knockBandCustom
		field = "SPI device",							hip9011SpiDevice
		panel = knockThresholdCurve
		
;			Engine->cj125 Settings
	dialog = cj125Function, "CJ125 Settings (wbo decoder)"
		field = "Enabled",								isCJ125Enabled
		field = "!ECU reboot needed to apply these settings"
		field = "ChipSelect pin",						cj125CsPin
		field = "ChipSelect mode",						cj125CsPinMode
		field = "SPI device",							cj125SpiDevice
		
	dialog = spiFunction, "SPI settings"
		field = "!ECU reboot needed to apply these settings"
		field = "SPI1 MOSI",							spi1mosiPin
		field = "SPI1 MISO",							spi1misoPin
		field = "SPI1 SCK",								spi1sckPin
		field = "SPI2 MOSI",							spi2mosiPin
		field = "SPI2 MISO",							spi2misoPin
		field = "SPI2 SCK",								spi2sckPin
		field = "SPI3 MOSI",							spi3mosiPin
		field = "SPI3 MISO",							spi3misoPin
		field = "SPI3 SCK",								spi3sckPin

	dialog = auxPidDialog, "Aux PID"
		field = "Enabled",								activateAuxPid1
		field = "FSIO pin #1",							auxPidPins1
		field = "PWM Frequency",						auxPidFrequency1
		field = "verbose",								isVerboseAuxPid1
		field = "#target based on FSIO map#1"
		field = "control period",						auxPidDT1, {activateAuxPid1 == 1}
		field = "#PID control"
		field = "offset",								auxPid1_offset, {activateAuxPid1 == 1}
		field = "P factor",								auxPid1_pFactor, {activateAuxPid1 == 1}
		field = "I factor",								auxPid1_iFactor, {activateAuxPid1 == 1}
		field = "D factor",								auxPid1_dFactor, {activateAuxPid1 == 1}
		field = "FSIO pin #2",							auxPidPins2
		field = "FSIO pin #3",							auxPidPins3
		field = "FSIO pin #4",							auxPidPins4

;			Engine->Battery & Alternator
	dialog = batteryDialog, "Battery Settings",	yAxis
		field = "vBatt ADC input", 						vbattAdcChannel
		field = "Battery Input Divider Coefficient",	vbattDividerCoeff
	dialog = alternator, "Alternator Settings",	yAxis
		field = "Enabled",								isAlternatorControlEnabled
		field = "simple on/off mode",					onOffAlternatorLogic, {isAlternatorControlEnabled == 1}
		field = "Target",								targetVBatt, {isAlternatorControlEnabled == 1}
		field = "Pin",									alternatorControlPin, {isAlternatorControlEnabled == 1}
		field = "Pin Mode",								alternatorControlPinMode, {isAlternatorControlEnabled == 1}
		field = "PWM frequency",						alternatorPwmFrequency, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
		field = "Off Above TPS",						alternatorOffAboveTps, {isAlternatorControlEnabled == 1}
		field = "Verbose",								isVerboseAlternator, {isAlternatorControlEnabled == 1}
		field = "control period",						alternatorDT, {isAlternatorControlEnabled == 1}
		field = "#PID control"
		field = "offset",								alternatorControl_offset, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
		field = "P factor",								alternatorControl_pFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
		field = "I factor",								alternatorControl_iFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
		field = "D factor",								alternatorControl_dFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
		field = "#% duty = Pterm + Iterm + Dterm + offset%"


	dialog = warmupFuelDialog, "Warmup fuel closed-loop",	yAxis
		field = "use automatic Pid Afr control",			useWarmupPidAfr
		field = "warmup temperature Threshold",				warmupAfrThreshold
		field = "wa offset",								warmupAfrPid_offset
		field = "wa P factor",								warmupAfrPid_pFactor
		field = "wa I factor",								warmupAfrPid_iFactor
		field = "wa D factor",								warmupAfrPid_dFactor
		field = "#correction = Pterm + Iterm + Dterm + offset"
		
		
	dialog = energySystems, "Battery and Alternator Settings",	yAxis
		panel = batteryDialog
		panel = alternator

;		Engine->Speed Sensor
	dialog = speedSensor,				"Speed Sensor Settings"
		field = "Enabled",								hasVehicleSpeedSensor
		field = "Input pin",							vehicleSpeedSensorInputPin, {hasVehicleSpeedSensor == 1}
		field = "revolution to speed mult",				vehicleSpeedCoef, {hasVehicleSpeedSensor == 1}

;			Engine->Other inputs	
	dialog = analogInputs, "Analog inputs"
		field = "!ECU reboot needed to apply these settings"
		field = "TPS ADC input", 						tpsAdcChannel
		field = "!todo: move MAF channel to maf curve dialog"
		field = "MAF enabled",							hasMafSensor
		field = "MAF ADC input", 						mafAdcChannel
		field = "Baro ADC input", 						baroSensor_hwChannel
		field = "Analog divider",						analogInputDividerCoefficient
		field = "Smoothing factor",						slowAdcAlpha		

	dialog = tachSettings, "Tachometer output"
		field = "!See also dizzySparkOutputPin"
		field = "pin",									tachOutputPin
		field = "pin mode",								tachOutputPinMode
		field = "rise at trigger index",				tachPulseTriggerIndex
		field = "pulse duration",						tachPulseDuractionMs


;			Board->Connection
	dialog = tsPort, "TunerStudio Port"
		field = "startConsoleInBinaryMode", startConsoleInBinaryMode
		field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed
		field = "Use PC10/PC11 serial?", useSerialPort
		field = "startConsoleInBinaryMode", startConsoleInBinaryMode
		
	dialog = canBus, "CAN Bus"
		field = "Can Read Enabled",						canReadEnabled
		field = "Can Write Enabled",					canWriteEnabled
;		field = "Can Nbc Type",							canNbcType
		field = "Can Sleep Period",						canSleepPeriod
		field = "TX pin",								canTxPin
		field = "RX pin",								canRxPin
	
	dialog = sdCard, "SD Card Logger"
		field = "SdCard", 								isSdCardEnabled
		field = "log format",							logFormat
		field = "Mass Storage",							storageMode
	
	dialog = gpsReceiver, "GPS Receiver"
		field = "gps RX", 								gps_rx_pin
		field = "gps TX", 								gps_tx_pin
		
	dialog = lcdScreen, "LCD screen"
		field = "display Mode",							displayMode
		field = "height", 								HD44780height
		field = "width", 								HD44780width
		field = "RS pin", 								HD44780_rs
		field = "E pin", 								HD44780_e
		field = "D4 pin", 								HD44780_db4
		field = "D5 pin", 								HD44780_db5
		field = "D6 pin", 								HD44780_db6
		field = "D7 pin", 								HD44780_db7
		
	dialog = connectRight, "", 	yAxis
		panel = tsPort
		panel = canBus
		panel = sdCard
		panel = gpsReceiver
	
	dialog = connection, "", 	border
		panel = lcdScreen,		East
		panel = connectRight,	West
				
	dialog = monitoringSettings, "rusEfi Console Settings"			
		field = "Sensor Sniffer",         	    		sensorChartMode
		field = "  Threshold",							sensorSnifferRpmThreshold
		field = "  Each X cycle",						sensorChartFrequency
		field = "Engine Sniffer", 						isEngineChartEnabled			
		field = "  Threshold", 							engineSnifferRpmThreshold
		
				
				
;			Tuning->General
	dialog = generalSettings, "General"
		field = "RPM Hard Limit",         	    		rpmHardLimit
		field = "Boost Cut Pressure",					boostCutPressure
		field = ""
		field = "Fuel Algorithm",						fuelAlgorithm
		field = ""
		field = "#System hack's"
		field = "Global fuel correction", 				globalFuelCorrection
		field = "Ignition Math Logic @",				ignMathCalculateAtIndex
		field = "MAP Averaging Logic @",				mapAveragingSchedulingAtIndex
		field = "comm status pin",						communicationPin
		field = "running status",						runningPin
		
	dialog = crankingFuel, "Fuel"
		field = "Injection Mode",						crankingInjectionMode
		field = "Base Fuel Pulse Width", 				cranking_baseFuel
		
		
	dialog = crankingIgnition, "Ignition"
		field = "Advance", 								crankingTimingAngle
        field = "Use fixed Dwell?",         			useConstantDwellDuringCranking
        field = "Fixed Dwell",           			ignitionDwellForCrankingMs, {useConstantDwellDuringCranking == 1}
		field = "Charge Angle", 						crankingChargeAngle, {useConstantDwellDuringCranking == 0}
	
		
;			Tuning->Cranking
	dialog = crankingDialog, "Cranking"				
		field = "Cranking RPM limit",                	cranking_rpm
		panel = crankingFuel
		panel = crankingIgnition
		field = ""
		field = ""
		field = "enable Cylinder Cleanup",				isCylinderCleanupEnabled
		
		
	dialog = EngineLoadAccelPanel, "Engine Load"
		field = "Length",						engineLoadAccelLength
		field = "Accel Threshold", 				engineLoadAccelEnrichmentThreshold
		field = "Accel Multiplier",	 			engineLoadAccelEnrichmentMultiplier
		field = "Decel Threshold", 				engineLoadDecelEnleanmentThreshold
		field = "Decel Multiplier",	 			engineLoadDecelEnleanmentMultiplier

	dialog = TpsAccelPanel, "TPS"
   		field = "Length",						tpsAccelLength
		field = "Accel Threshold", 				tpsAccelEnrichmentThreshold
		field = "Decel Threshold", 				tpsDecelEnleanmentThreshold
;		field = "Decel Multiplier",	 			tpsDecelEnleanmentMultiplier
		
;			Tuning->AccelEnrichment
	dialog = AccelEnrich,	"Accel/Decel Enrichment"
		panel = EngineLoadAccelPanel
		panel = TpsAccelPanel
		field = "sucked off wall coefficient",          suckedOffCoef
		field = "added to wall coef",                   addedToWallCoef
		
		
;			Flex Logic
	dialog = fsioIO, "Outputs"
		field = "output #1", 							fsioPins1
		field = "output #2", 							fsioPins2
		field = "output #3", 							fsioPins3
		field = "output #4", 							fsioPins4
		field = "output #5", 							fsioPins5
		field = "output #6", 							fsioPins6
		field = "output #7", 							fsioPins7
		field = "output #8", 							fsioPins8
		field = "output #9", 							fsioPins9
		field = "output #10", 							fsioPins10
		field = "output #11", 							fsioPins11
		field = "output #12", 							fsioPins12
		field = "output #13", 							fsioPins13
		field = "output #14", 							fsioPins14
		field = "output #15", 							fsioPins15
		field = "output #16", 							fsioPins16
		field = ""
		field = ""
		
	dialog = fsioFrequency, "Frequency"
		field = "freq #1", 								fsioFrequency1
		field = "freq #2", 								fsioFrequency2
		field = "freq #3", 								fsioFrequency3
		field = "freq #4", 								fsioFrequency4
		field = "freq #5", 								fsioFrequency5
		field = "freq #6", 								fsioFrequency6
		field = "freq #7", 								fsioFrequency7
		field = "freq #8", 								fsioFrequency8
		field = "freq #9", 								fsioFrequency9
		field = "freq #10", 							fsioFrequency10
		field = "freq #11", 							fsioFrequency11
		field = "freq #12", 							fsioFrequency12
		field = "freq #13", 							fsioFrequency13
		field = "freq #14", 							fsioFrequency14
		field = "freq #15", 							fsioFrequency15
		field = "freq #16", 							fsioFrequency16
		field = ""
		field = ""
	
	dialog = fsioSetting, "Setting"
		field = "Set number is not associated with the output number."
		field = "Set number, only the cell number with some numbers."
		field = "set #0",								fsio_setting1
		field = "set #1",								fsio_setting2
		field = "set #2",								fsio_setting3
		field = "set #3",								fsio_setting4
		field = "set #4",								fsio_setting5
		field = "set #5",								fsio_setting6
		field = "set #6",								fsio_setting7
		field = "set #7",								fsio_setting8
		field = "set #8",								fsio_setting9
		field = "set #9",								fsio_setting10
		field = "set #10",								fsio_setting11
		field = "set #11",								fsio_setting12
		field = "set #12",								fsio_setting13
		field = "set #13",								fsio_setting14
		field = "set #14",								fsio_setting15
		field = "set #15",								fsio_setting16
		
	dialog = fsioOutputsDialog, "FSIO outputs", border
		panel = fsioIO,			West
		panel = fsioFrequency,	Center
		panel = fsioSetting,	East
		
		
	dialog = fsioInputsDialog, "FSIO inputs"
		field = "ADC #1",								fsioAdc1
		field = "ADC #2",								fsioAdc2
		field = "ADC #3",								fsioAdc3
		field = "ADC #4",								fsioAdc4
				
				
	dialog = testSpark, "Spark"
		commandButton = "Spark #1", cmd_test_spk1
		commandButton = "Spark #2", cmd_test_spk2
		commandButton = "Spark #3", cmd_test_spk3
		commandButton = "Spark #4", cmd_test_spk4
		commandButton = "Spark #5", cmd_test_spk5
		commandButton = "Spark #6", cmd_test_spk6
		commandButton = "Spark #7", cmd_test_spk7
		commandButton = "Spark #8", cmd_test_spk8
		
	dialog = testInjectors, "Fuel"
		commandButton = "Injector #1", cmd_test_inj1
		commandButton = "Injector #2", cmd_test_inj2
		commandButton = "Injector #3", cmd_test_inj3
		commandButton = "Injector #4", cmd_test_inj4
		commandButton = "Injector #5", cmd_test_inj5
		commandButton = "Injector #6", cmd_test_inj6
		commandButton = "Injector #7", cmd_test_inj7
		commandButton = "Injector #8", cmd_test_inj8
		
	dialog = testMisc, "Misc"
		commandButton = "Fuel Pump", cmd_test_fuel_pump
		commandButton = "Radiator Fan", cmd_test_radiator_fan
		commandButton = "Check Engine", cmd_test_check_engine_light
		commandButton = "Idle Air Valve", cmd_test_idle_valve          
		
	dialog = ioTest, "I-O Test", border
		panel = testSpark,		West
		panel = testInjectors,	Center
		panel = testMisc,		East


;			Board->ECU stimulator
	dialog = ecuStimulator, "ECU stimulator"
		field = "Trigger Simulator",   					triggerSimulatorFrequency
		field = "self-stimulation",						directSelfStimulation
		field = ""
		field = "digipot spi", 							digitalPotentiometerSpiDevice
		field = "digipot CS #0", 						digitalPotentiometerChipSelect1
		field = "digipot CS #1", 						digitalPotentiometerChipSelect2
		field = "digipot CS #2", 						digitalPotentiometerChipSelect3
		field = "digipot CS #3", 						digitalPotentiometerChipSelect4
		field = ""
		field = "trigger stimulator pin #1", 			triggerSimulatorPins1
		field = "trigger stimulator pin #2", 			triggerSimulatorPins2
		field = "trigger stimulator pin #3", 			triggerSimulatorPins3
		field = ""
	    field = "Logic input channel 1", 				logicAnalyzerPins1
	    field = "Logic input channel 2", 				logicAnalyzerPins2
	    field = "Logic input channel 3", 				logicAnalyzerPins3
	    field = "Logic input channel 4", 				logicAnalyzerPins4
		field = ""
	    field = "Engine chart size", 					engineChartSize

				;			Racing Features->Launch Control
	dialog = smLaunchControl, "Launch Control Settings"
		field = "RPM Step1 Limit",         	    		step1rpm
		field = "Launch RPM Window"                     step1RpmWindow
		field = "Step1 Ignition Advance",				step1timing
		field = "Use Spark Cut",						step1SparkCutEnable
		field = "Use Fuel Cut",							step1fuelCutEnable
		field = "clutchDownPin",						clutchDownPin
		field = "clutchUpPin",							clutchUpPin
	    
