rusefi/firmware/controllers/algo/engine_configuration_genera...

493 lines
7.4 KiB
C

#include "rusefi_types.h"
typedef struct {
/**
* offset 0
*/
float baseFuel;
/**
* This value controls what RPM values we consider 'cranking' (any RPM below 'crankingRpm')
* Anything above 'crankingRpm' would be 'running'
* offset 4
*/
int16_t rpm;
/**
* need 4 byte alignment
* offset 6
*/
uint8_t alignmentFill[2];
/** total size 8*/
} cranking_parameters_s;
typedef struct {
/**
* kPa value at zero volts
* offset 0
*/
float valueAt0;
/**
* kPa value at 5 volts
* offset 4
*/
float valueAt5;
/**
* offset 8
*/
air_pressure_sensor_type_e type;
/**
* offset 12
*/
adc_channel_e hwChannel;
/** total size 16*/
} air_pressure_sensor_config_s;
/**
* @brief MAP averaging configuration
*/
typedef struct {
/**
* offset 0
*/
float samplingAngleBins[MAP_ANGLE_SIZE];
/**
* @brief MAP averaging sampling start angle, by RPM
* offset 32
*/
float samplingAngle[MAP_ANGLE_SIZE];
/**
* offset 64
*/
float samplingWindowBins[MAP_WINDOW_SIZE];
/**
* @brief MAP averaging angle duration, by RPM
* offset 96
*/
float samplingWindow[MAP_WINDOW_SIZE];
/**
* offset 128
*/
air_pressure_sensor_config_s sensor;
/** total size 144*/
} MAP_sensor_config_s;
/**
* @brief Trigger wheel(s) configuration
*/
typedef struct {
/**
* offset 0
*/
trigger_type_e type;
/**
* offset 4
*/
int customIsSynchronizationNeeded;
/**
* offset 8
*/
int customTotalToothCount;
/**
* offset 12
*/
int customSkippedToothCount;
/**
* offset 16
*/
float customSyncRatioFrom;
/**
* offset 20
*/
float customSyncRatioTo;
/**
* offset 24
*/
int customUseRiseEdge;
/** total size 28*/
} trigger_config_s;
typedef struct {
/**
* offset 0
*/
adc_channel_e afrAdcChannel;
/**
* offset 4
*/
float v1;
/**
* offset 8
*/
float value1;
/**
* offset 12
*/
float v2;
/**
* offset 16
*/
float value2;
/** total size 20*/
} afr_sensor_s;
typedef struct {
/**
* offset 0
*/
brain_pin_e idleValvePin;
/**
* offset 4
*/
pin_output_mode_e idleValvePinMode;
/**
* offset 8
*/
brain_pin_e fuelPumpPin;
/**
* offset 12
*/
pin_output_mode_e fuelPumpPinMode;
/**
* offset 16
*/
brain_pin_e injectionPins[INJECTION_PIN_COUNT];
/**
* offset 64
*/
pin_output_mode_e injectionPinMode;
/**
* offset 68
*/
brain_pin_e ignitionPins[IGNITION_PIN_COUNT];
/**
* offset 116
*/
pin_output_mode_e ignitionPinMode;
/**
* offset 120
*/
brain_pin_e malfunctionIndicatorPin;
/**
* offset 124
*/
pin_output_mode_e malfunctionIndicatorPinMode;
/**
* offset 128
*/
brain_pin_e fanPin;
/**
* offset 132
*/
pin_output_mode_e fanPinMode;
/**
* offset 136
*/
brain_pin_e electronicThrottlePin1;
/**
* offset 140
*/
pin_output_mode_e electronicThrottlePin1Mode;
/**
* some cars have a switch to indicate that clutch pedal is all the way down
* offset 144
*/
brain_pin_e clutchDownPin;
/**
* offset 148
*/
pin_input_mode_e clutchDownPinMode;
/**
* offset 152
*/
brain_pin_e alternatorControlPin;
/**
* offset 156
*/
pin_output_mode_e alternatorControlPinMode;
/**
* offset 160
*/
brain_pin_e HD44780_rs;
/**
* offset 164
*/
brain_pin_e HD44780_e;
/**
* offset 168
*/
brain_pin_e HD44780_db4;
/**
* offset 172
*/
brain_pin_e HD44780_db5;
/**
* offset 176
*/
brain_pin_e HD44780_db6;
/**
* offset 180
*/
brain_pin_e HD44780_db7;
/**
* offset 184
*/
brain_pin_e gps_rx_pin;
/**
* offset 188
*/
brain_pin_e gps_tx_pin;
/**
* offset 192
*/
int idleSolenoidFrequency;
/**
* offset 196
*/
int triggerSimulatorFrequency;
/**
* Digital Potentiometer is used by stock ECU stimulation code
* offset 200
*/
spi_device_e digitalPotentiometerSpiDevice;
/**
* offset 204
*/
brain_pin_e digitalPotentiometerChipSelect[DIGIPOT_COUNT];
/**
* offset 220
*/
adc_channel_mode_e adcHwChannelEnabled[HW_MAX_ADC_INDEX];
/**
* offset 284
*/
brain_pin_e triggerInputPins[3];
/**
* offset 296
*/
brain_pin_e mainRelayPin;
/**
* offset 300
*/
int idleThreadPeriod;
/**
* offset 304
*/
int consoleLoopPeriod;
/**
* offset 308
*/
int lcdThreadPeriod;
/**
* offset 312
*/
int tunerStudioThreadPeriod;
/**
* offset 316
*/
int generalPeriodicThreadPeriod;
/**
* offset 320
*/
uint32_t tunerStudioSerialSpeed;
/**
* offset 324
*/
brain_pin_e boardTestModeJumperPin;
/**
* offset 328
*/
can_device_mode_e canDeviceMode;
/**
* offset 332
*/
brain_pin_e canTxPin;
/**
* offset 336
*/
brain_pin_e canRxPin;
/**
* offset 340
*/
brain_pin_e triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT];
/**
* offset 352
*/
pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT];
/**
* offset 364
*/
brain_pin_e o2heaterPin;
/**
* offset 368
*/
pin_output_mode_e o2heaterPinModeTodO;
/** offset 372 bit 0 */
uint32_t is_enabled_spi_1 : 1;
/** offset 372 bit 1 */
uint32_t is_enabled_spi_2 : 1;
/** offset 372 bit 2 */
uint32_t is_enabled_spi_3 : 1;
/** offset 372 bit 3 */
uint32_t isSdCardEnabled : 1;
/** offset 372 bit 4 */
uint32_t isFastAdcEnabled : 1;
/** offset 372 bit 5 */
uint32_t isEngineControlEnabled : 1;
/** offset 372 bit 6 */
uint32_t isHip9011Enabled : 1;
/**
* offset 376
*/
brain_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT];
/**
* default or inverted input
* offset 392
*/
uint8_t logicAnalyzerMode[LOGIC_ANALYZER_CHANNEL_COUNT];
/**
* offset 396
*/
int unrealisticRpmThreashold;
/**
* offset 400
*/
pin_output_mode_e mainRelayPinMode;
/**
* offset 404
*/
egt_cs_array_t max31855_cs;
/**
* offset 408
*/
spi_device_e max31855spiDevice;
/**
* offset 412
*/
brain_pin_e fsioPins[LE_COMMAND_COUNT];
/**
* offset 476
*/
pin_output_mode_e gpioPinModes[LE_COMMAND_COUNT];
/**
* offset 540
*/
brain_pin_e joystickPins[JOYSTICK_PIN_COUNT];
/**
* This pin is used for debugging - snap a logic analyzer on it and see if it's ever high
* offset 560
*/
brain_pin_e triggerErrorPin;
/**
* offset 564
*/
pin_output_mode_e triggerErrorPinMode;
/**
* value between 0 and 1
* offset 568
*/
float idleSolenoidPwm;
/**
* offset 572
*/
brain_pin_e acRelayPin;
/**
* offset 576
*/
pin_output_mode_e acRelayPinMode;
/**
* offset 580
*/
int16_t fsioFrequency[LE_COMMAND_COUNT];
/**
* offset 612
*/
brain_pin_e hip9011CsPin;
/**
* offset 616
*/
brain_pin_e hip9011IntHoldPin;
/**
* offset 620
*/
brain_pin_e hip9011OutPin;
/**
* offset 624
*/
float fsio_setting[LE_COMMAND_COUNT];
/**
* offset 688
*/
brain_pin_e spi1mosiPin;
/**
* offset 692
*/
brain_pin_e spi1misoPin;
/**
* offset 696
*/
brain_pin_e spi1sckPin;
/**
* offset 700
*/
brain_pin_e spi2mosiPin;
/**
* offset 704
*/
brain_pin_e spi2misoPin;
/**
* offset 708
*/
brain_pin_e spi2sckPin;
/**
* offset 712
*/
brain_pin_e spi3mosiPin;
/**
* offset 716
*/
brain_pin_e spi3misoPin;
/**
* offset 720
*/
brain_pin_e spi3sckPin;
/**
* offset 724
*/
float hip9011Gain;
/**
* offset 728
*/
brain_pin_e joystickCenterPin;
/**
* offset 732
*/
brain_pin_e joystickAPin;
/**
* offset 736
*/
brain_pin_e joystickBPin;
/**
* offset 740
*/
brain_pin_e joystickCPin;
/**
* offset 744
*/
brain_pin_e joystickDPin;
/**
* offset 748
*/
analog_chart_e analogChartMode;
/**
* offset 752
*/
int unusedbs[6];
/**
* offset 776
*/
le_formula_t le_formulas[LE_COMMAND_COUNT];
/** total size 3976*/
} board_configuration_s;