129 lines
3.9 KiB
C
129 lines
3.9 KiB
C
/*
|
|
* @file tunerstudio_configuration.h
|
|
* @brief Tuner Studio connectivity configuration
|
|
*
|
|
* In this file the configuration of TunerStudio is defined
|
|
*
|
|
* @date Oct 22, 2013
|
|
* @author Andrey Belomutskiy, (c) 2012-2016
|
|
*/
|
|
|
|
#ifndef TUNERSTUDIO_CONFIGURATION_H_
|
|
#define TUNERSTUDIO_CONFIGURATION_H_
|
|
|
|
#include "rusefi_types.h"
|
|
|
|
#define PAGE_COUNT 1
|
|
|
|
//#define PAGE_1_SIZE 1152
|
|
|
|
#define TS_OUTPUT_SIZE 276
|
|
|
|
typedef struct {
|
|
uint16_t values[EGT_CHANNEL_COUNT];
|
|
} egt_values_s;
|
|
|
|
/**
|
|
* please be aware that 'float' (F32) type requires TunerStudio version 2.6 and later
|
|
*/
|
|
typedef struct {
|
|
// primary instrument cluster gauges
|
|
int rpm; // size 4, offset 0
|
|
float coolantTemperature; // size 4, offset 4
|
|
float intakeAirTemperature; // size 4, offset 8
|
|
float throttlePositon; // size 4, offset 12
|
|
float massAirFlowVoltage; // size 4, offset 16
|
|
float airFuelRatio; // size 4, offset 20
|
|
float engineLoad; // size 4, offset 24
|
|
float vBatt; // size 4, offset 28
|
|
short int tpsADC; // size 2, offset 32
|
|
short int alignment; // size 2, offset 34
|
|
float baroPressure; // size 4, offset 36
|
|
float manifoldAirPressure; // size 4, offset 40
|
|
float crankingFuelMs;
|
|
/**
|
|
* This is the raw value we take from the fuel map or base fuel algorithm, before the corrections
|
|
*/
|
|
float baseFuel; // 48
|
|
float tCharge; // 52
|
|
float ignitionAdvance; // 56
|
|
float sparkDwell; // 60
|
|
/**
|
|
* this one contains total resulting fuel squirt time, per event
|
|
* With all corrections. See also baseFuel
|
|
*/
|
|
float pulseWidthMs; // 64
|
|
float debugFloatField1; // 68
|
|
/**
|
|
* Yes, I do not really enjoy packing bits into integers but we simply have too many boolean flags and I cannot
|
|
* water 4 bytes per traffic - I want gauges to work as fast as possible
|
|
*/
|
|
unsigned int hasSdCard : 1; // bit 0
|
|
unsigned int isIgnitionEnabled : 1; // bit 1
|
|
unsigned int isInjectionEnabled : 1; // bit 2
|
|
unsigned int isCylinderCleanupEnabled : 1; // bit 3
|
|
unsigned int isCylinderCleanupActivated : 1; // bit 4
|
|
unsigned int isFuelPumpOn : 1; // bit 5
|
|
unsigned int isFanOn : 1; // bit 6
|
|
unsigned int isO2HeaterOn : 1; // bit 7
|
|
unsigned int checkEngine : 1; // bit 8
|
|
unsigned int needBurn : 1; // bit 9
|
|
unsigned int secondTriggerChannelEnabled : 1; // bit 10
|
|
unsigned int clutchUpState : 1; // bit 11
|
|
unsigned int clutchDownState : 1; // bit 12
|
|
unsigned int knockEverIndicator : 1; // bit 13
|
|
unsigned int knockNowIndicator : 1; // bit 14
|
|
float vehicleSpeedKph;
|
|
unsigned int isTpsError : 1; // bit 0
|
|
unsigned int isCltError : 1; // bit 1
|
|
unsigned int isMapError : 1; // bit 2
|
|
unsigned int isIatError : 1; // bit 3
|
|
unsigned int isAcSwitchEngaged : 1; // bit 4
|
|
unsigned int isTriggerError : 1; // bit 5
|
|
unsigned int hasFatalError : 1; // bit 6
|
|
int tsConfigVersion;
|
|
egt_values_s egtValues;
|
|
float rpmAcceleration;
|
|
float massAirFlow;
|
|
float veValue; // current volumetric efficiency, offset 112
|
|
/**
|
|
* TPS value delta within specified number of cycles
|
|
* See tpsAccelFuel
|
|
*/
|
|
float deltaTps; // offset 116
|
|
int triggerErrorsCounter; // offset 120
|
|
/**
|
|
* Engine load delta
|
|
*/
|
|
float engineLoadAccelExtra; // offset 124
|
|
float tpsAccelFuel; // offset 128
|
|
float baroCorrection;
|
|
float pedalPosition;
|
|
float injectorDutyCycle;
|
|
int knockCount; // 144
|
|
float fuelTankGauge; // 148
|
|
float knockLevel; // 152
|
|
int totalTriggerErrorCounter; // 156
|
|
float wallFuelAmount; // 160
|
|
float iatCorrection; // 164
|
|
floatms_t wallFuelCorrection; // 168
|
|
float idlePosition; // 172
|
|
float currentTargetAfr; // 176
|
|
float chargeAirMass; // 180
|
|
float cltCorrection; // 184
|
|
float runningFuel; // 188
|
|
int debugIntField1; // 192
|
|
float injectorLagMs; // 196
|
|
float debugFloatField2; // 200
|
|
float debugFloatField3; // 204
|
|
float debugFloatField4; // 208
|
|
float debugFloatField5; // 212
|
|
int debugIntField2; // 216
|
|
int debugIntField3; // 220
|
|
int timeSeconds; // 224
|
|
float engineLoadDelta; // 228
|
|
int unused3[11];
|
|
} TunerStudioOutputChannels;
|
|
|
|
#endif /* TUNERSTUDIO_CONFIGURATION_H_ */
|