mirror of https://github.com/rusefi/rusefi-1.git
83 lines
2.4 KiB
C++
83 lines
2.4 KiB
C++
/**
|
|
* @file sachs.cpp
|
|
*
|
|
* set engine_type 29
|
|
* http://rusefi.com/forum/viewtopic.php?f=3&t=396
|
|
*
|
|
* @date Jan 26, 2015
|
|
* @author Andrey Belomutskiy, (c) 2012-2020
|
|
*/
|
|
|
|
#include "pch.h"
|
|
|
|
#include "sachs.h"
|
|
|
|
void setSachs() {
|
|
setDefaultFrankensoConfiguration();
|
|
|
|
engineConfiguration->specs.displacement = 0.1; // 100cc
|
|
engineConfiguration->specs.cylindersCount = 1;
|
|
|
|
setTwoStrokeOperationMode();
|
|
engineConfiguration->specs.firingOrder = FO_1;
|
|
engineConfiguration->engineChartSize = 400;
|
|
|
|
setEgoSensor(ES_Innovate_MTX_L);
|
|
|
|
/**
|
|
* 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;
|
|
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;
|
|
|
|
engineConfiguration->injectionPins[0] = Gpio::C15;
|
|
|
|
engineConfiguration->fuelPumpPin = Gpio::E6;
|
|
|
|
// todo: extract a method? figure out something smarter
|
|
setTimingRpmBin(800, 15000);
|
|
setLinearCurve(config->veRpmBins, 7000, 15000, 1);
|
|
setLinearCurve(config->lambdaRpmBins, 500, 7000, 1);
|
|
}
|