rusefi-1/firmware/config/engines/sachs.cpp

83 lines
2.4 KiB
C++
Raw Normal View History

2015-07-10 06:01:56 -07:00
/**
* @file sachs.cpp
*
2017-01-06 07:04:41 -08:00
* set engine_type 29
2015-07-10 06:01:56 -07:00
* http://rusefi.com/forum/viewtopic.php?f=3&t=396
*
* @date Jan 26, 2015
2020-01-13 18:57:43 -08:00
* @author Andrey Belomutskiy, (c) 2012-2020
2015-07-10 06:01:56 -07:00
*/
#include "pch.h"
2015-07-10 06:01:56 -07:00
#include "sachs.h"
void setSachs() {
setDefaultFrankensoConfiguration();
2015-07-10 06:01:56 -07:00
engineConfiguration->specs.displacement = 0.1; // 100cc
engineConfiguration->specs.cylindersCount = 1;
setTwoStrokeOperationMode();
2016-07-20 16:04:27 -07:00
engineConfiguration->specs.firingOrder = FO_1;
2015-07-10 06:01:56 -07:00
engineConfiguration->engineChartSize = 400;
setEgoSensor(ES_Innovate_MTX_L);
2015-07-10 06:01:56 -07:00
/**
* 50/2 trigger
*/
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 50;
engineConfiguration->trigger.customSkippedToothCount = 2;
// Frankenstein analog input #1: PA1 adc1 MAP
// Frankenstein analog input #2: PA3 adc3 TPS
// Frankenstein analog input #3: PC3 adc13 IAT
// Frankenstein analog input #4: PC1 adc11 CLT
// Frankenstein analog input #5: PA0 adc0 O2
// Frankenstein analog input #6: PC2 adc12
// Frankenstein analog input #7: PA4 adc4
// Frankenstein analog input #8: PA2 adc2
// Frankenstein analog input #9: PA6 adc6
// Frankenstein analog input #10: PA7 adc7
// Frankenstein analog input #11: PC4 adc14
// Frankenstein analog input #12: PC5 adc15
engineConfiguration->tps1_1AdcChannel = EFI_ADC_3;
2015-07-10 06:01:56 -07:00
engineConfiguration->vbattAdcChannel = EFI_ADC_NONE;
/**
* TPS 0% 0.9v
* TPS 100% 2.34v
*/
engineConfiguration->tpsMin = convertVoltageTo10bitADC(1.250);
engineConfiguration->tpsMax = convertVoltageTo10bitADC(4.538);
// Frankenstein: low side - out #1: PC14
// Frankenstein: low side - out #2: PC15
// Frankenstein: low side - out #3: PE6
// Frankenstein: low side - out #4: PC13
// Frankenstein: low side - out #5: PE4
// Frankenstein: low side - out #6: PE5
// Frankenstein: low side - out #7: PE2
// Frankenstein: low side - out #8: PE3
// Frankenstein: low side - out #9: PE0
// Frankenstein: low side - out #10: PE1
// Frankenstein: low side - out #11: PB8
// Frankenstein: low side - out #12: PB9
engineConfiguration->triggerInputPins[0] = Gpio::A5;
engineConfiguration->triggerInputPins[1] = Gpio::Unassigned;
2015-07-10 06:01:56 -07:00
engineConfiguration->injectionPins[0] = Gpio::C15;
2015-07-10 06:01:56 -07:00
engineConfiguration->fuelPumpPin = Gpio::E6;
2015-07-10 06:01:56 -07:00
// todo: extract a method? figure out something smarter
setTimingRpmBin(800, 15000);
2021-08-16 06:11:22 -07:00
setLinearCurve(config->veRpmBins, 7000, 15000, 1);
setLinearCurve(config->lambdaRpmBins, 500, 7000, 1);
2015-07-10 06:01:56 -07:00
}