E30 M3 Tach output solution #907

This commit is contained in:
rusefi 2019-12-30 01:41:23 -05:00
parent 8a9a6babda
commit 07222f68c0
12 changed files with 55 additions and 22 deletions

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt Sat Dec 21 19:54:17 EST 2019
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt Mon Dec 30 01:38:03 EST 2019
// by class com.rusefi.output.CHeaderConsumer
// begin
#ifndef CONFIG_BOARDS_KINETIS_CONFIG_CONTROLLERS_ALGO_ENGINE_CONFIGURATION_GENERATED_STRUCTURES_H
@ -2052,7 +2052,11 @@ struct engine_configuration_s {
/**
* offset 1772
*/
uint8_t unusedFormerWarmupAfrPid[4];
uint8_t unusedFormerWarmupAfrPid[3];
/**
* offset 1775
*/
uint8_t tachPulsePerRev;
/**
* kPa value which is too low to be true
* offset 1776
@ -3108,4 +3112,4 @@ typedef struct persistent_config_s persistent_config_s;
#endif
// end
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt Sat Dec 21 19:54:17 EST 2019
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt Mon Dec 30 01:38:03 EST 2019

View File

@ -1726,6 +1726,8 @@
#define tachPulseDuractionMs_offset_hex 6a8
#define tachPulseDurationAsDutyCycle_offset 1464
#define tachPulseDurationAsDutyCycle_offset_hex 5b8
#define tachPulsePerRev_offset 1775
#define tachPulsePerRev_offset_hex 6ef
#define tachPulseTriggerIndex_offset 1708
#define tachPulseTriggerIndex_offset_hex 6ac
#define targetVBatt_offset 2024

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Sat Dec 14 16:03:19 EST 2019
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Mon Dec 30 01:37:14 EST 2019
// by class com.rusefi.output.CHeaderConsumer
// begin
#ifndef CONTROLLERS_GENERATED_ENGINE_CONFIGURATION_GENERATED_STRUCTURES_H
@ -2052,7 +2052,11 @@ struct engine_configuration_s {
/**
* offset 1772
*/
uint8_t unusedFormerWarmupAfrPid[4];
uint8_t unusedFormerWarmupAfrPid[3];
/**
* offset 1775
*/
uint8_t tachPulsePerRev;
/**
* kPa value which is too low to be true
* offset 1776
@ -3108,4 +3112,4 @@ typedef struct persistent_config_s persistent_config_s;
#endif
// end
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Sat Dec 14 16:03:19 EST 2019
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Mon Dec 30 01:37:14 EST 2019

View File

@ -1726,6 +1726,8 @@
#define tachPulseDuractionMs_offset_hex 6a8
#define tachPulseDurationAsDutyCycle_offset 1464
#define tachPulseDurationAsDutyCycle_offset_hex 5b8
#define tachPulsePerRev_offset 1775
#define tachPulsePerRev_offset_hex 6ef
#define tachPulseTriggerIndex_offset 1708
#define tachPulseTriggerIndex_offset_hex 6ac
#define targetVBatt_offset 2024

View File

@ -7,7 +7,7 @@
! rusEfi configuration consists of two parts:
! First part is engine_configuration_s area, followed by a few tuning tables
!
! The only difference her is that engine_configuration_s area does not support hot modification while tuning tables could
! The only difference her is that engine_configurunusedFormerWarmupAfrPid;ation_s area does not support hot modification while tuning tables could
! be modified without burning changes
!
!
@ -866,7 +866,8 @@ custom pin_mode_e 1 bits, U08, @OFFSET@, [0:7], @@pin_mode_e_enum@@
float alternator_antiwindupFreq;; "x", 1, 0.0, -1000000, 1000000, 4
int16_t tps2Min;Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X;"ADC", 1, 0, 0, 1023, 0
int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X;"ADC", 1, 0, 0, 1023, 0
uint8_t[4] unusedFormerWarmupAfrPid;
uint8_t[3] unusedFormerWarmupAfrPid;
uint8_t tachPulsePerRev;;"Pulse", 1, 0, 1.0, 255.0, 0
! todo: mapErrorDetectionIdleTooLow? 30kPa is usually lowest on idle
float mapErrorDetectionTooLow;kPa value which is too low to be true;"kPa", 1, 0, -100.0, 100.0, 2

View File

@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Wed Dec 25 15:54:40 EST 2019
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Mon Dec 30 01:37:14 EST 2019
pageSize = 20000
page = 1
@ -699,6 +699,7 @@ page = 1
tps2Min = scalar, S16, 1768, "ADC", 1, 0, 0, 1023, 0
tps2Max = scalar, S16, 1770, "ADC", 1, 0, 0, 1023, 0
;no TS info - skipping unusedFormerWarmupAfrPid offset 1772
tachPulsePerRev = scalar, U08, 1775, "Pulse", 1, 0, 1.0, 255.0, 0
mapErrorDetectionTooLow = scalar, F32, 1776, "kPa", 1, 0, -100.0, 100.0, 2
mapErrorDetectionTooHigh = scalar, F32, 1780, "kPa", 1, 0, -100.0, 800.0, 2
step1RpmWindow = scalar, S32, 1784, "rpm", 1, 0, 0, 3000.0, 2
@ -3312,6 +3313,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
field = "Rise at trigger index", tachPulseTriggerIndex
field = "Pulse duration is duty cycle", tachPulseDurationAsDutyCycle
field = "Pulse duration", tachPulseDuractionMs
; todo: finish implementation under #907
field = "Pulse per Rev", tachPulsePerRev
; Board->Connection

View File

@ -2226,6 +2226,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
field = "Rise at trigger index", tachPulseTriggerIndex
field = "Pulse duration is duty cycle", tachPulseDurationAsDutyCycle
field = "Pulse duration", tachPulseDuractionMs
; todo: finish implementation under #907
field = "Pulse per Rev", tachPulsePerRev
; Board->Connection

View File

@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Wed Dec 25 15:54:44 EST 2019
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Mon Dec 30 01:37:37 EST 2019
pageSize = 20000
page = 1
@ -699,6 +699,7 @@ page = 1
tps2Min = scalar, S16, 1768, "ADC", 1, 0, 0, 1023, 0
tps2Max = scalar, S16, 1770, "ADC", 1, 0, 0, 1023, 0
;no TS info - skipping unusedFormerWarmupAfrPid offset 1772
tachPulsePerRev = scalar, U08, 1775, "Pulse", 1, 0, 1.0, 255.0, 0
mapErrorDetectionTooLow = scalar, F32, 1776, "kPa", 1, 0, -100.0, 100.0, 2
mapErrorDetectionTooHigh = scalar, F32, 1780, "kPa", 1, 0, -100.0, 800.0, 2
step1RpmWindow = scalar, S32, 1784, "rpm", 1, 0, 0, 3000.0, 2
@ -3312,6 +3313,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
field = "Rise at trigger index", tachPulseTriggerIndex
field = "Pulse duration is duty cycle", tachPulseDurationAsDutyCycle
field = "Pulse duration", tachPulseDuractionMs
; todo: finish implementation under #907
field = "Pulse per Rev", tachPulsePerRev
; Board->Connection

View File

@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt Sun Dec 22 20:14:34 EST 2019
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt Mon Dec 30 01:38:03 EST 2019
pageSize = 20000
page = 1
@ -699,6 +699,7 @@ page = 1
tps2Min = scalar, S16, 1768, "ADC", 1, 0, 0, 1023, 0
tps2Max = scalar, S16, 1770, "ADC", 1, 0, 0, 1023, 0
;no TS info - skipping unusedFormerWarmupAfrPid offset 1772
tachPulsePerRev = scalar, U08, 1775, "Pulse", 1, 0, 1.0, 255.0, 0
mapErrorDetectionTooLow = scalar, F32, 1776, "kPa", 1, 0, -100.0, 100.0, 2
mapErrorDetectionTooHigh = scalar, F32, 1780, "kPa", 1, 0, -100.0, 800.0, 2
step1RpmWindow = scalar, S32, 1784, "rpm", 1, 0, 0, 3000.0, 2
@ -1378,8 +1379,8 @@ fileVersion = { 20191221 }
firmwareTsVersion=scalar, U32, 124,"version_p", 1, 0
; Errors
triggerErrorsCounter=scalar,U32, 128,"counter", 1, 0
; totalTriggerErrorCounter 132
totalTriggerErrorCounter=scalar,U32, 128,"counter", 1, 0
; orderingErrorCounter 132
warningCounter = scalar, U16, 136, "count", 1, 0
lastErrorCode = scalar, U16, 138, "error", 1, 0
recentErrorCode0= scalar, U16, 140, "error", 1, 0
@ -1891,7 +1892,7 @@ gaugeCategory = Sensors - Extra 2
gaugeCategory = ECU Status
warningCounterGauge = warningCounter, "Warning count", "", 0, 100, 0, 0, 100, 100, 0, 0
lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
triggerErrorsCounterGauge = triggerErrorsCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0
triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0
recentErrorCode0Gauge = recentErrorCode0, "Error#1", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode1Gauge = recentErrorCode1, "Error#2", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode2Gauge = recentErrorCode2, "Error#3", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
@ -2089,7 +2090,7 @@ gaugeCategory = Throttle Body (incl. ETB)
entry = massAirFlowValue,"air flow", float, "%.3f"
entry = chargeAirMass, "air mass", float, "%.3f"
entry = throttlePedalPosition, "Throttle pedal position", float, "%.3f"
entry = triggerErrorsCounter, "trg err",int, "%d"
entry = totalTriggerErrorCounter, "trg err",int, "%d"
entry = idleAirValvePosition, "Idle Air Valve", float, "%.3f"
@ -2729,6 +2730,10 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = triggerInputComparator
dialog = allPinsSensors, "Sensors"
field = "Throttle pedal Position Channel", throttlePedalPositionAdcChannel
field = "Primary input channel", triggerInputPins1
field = "Secondary channel", triggerInputPins2
field = "Cam Sync/VVT input", camInputs1
field = "CLT ADC input", clt_adcChannel
field = "IAT ADC input", iat_adcChannel
field = "vBatt ADC input", vbattAdcChannel
@ -2762,10 +2767,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
field = "mc33972_cs", mc33972_cs
field = "mc33972 SPI", mc33972spiDevice
panel = allPinsSensors
field = "Throttle pedal Position Channel", throttlePedalPositionAdcChannel
field = "Primary input channel", triggerInputPins1
field = "Secondary channel", triggerInputPins2
field = "Cam Sync/VVT input", camInputs1
dialog = allPins1_2
field = "Tachometer output Pin", tachOutputPin
@ -3312,6 +3313,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
field = "Rise at trigger index", tachPulseTriggerIndex
field = "Pulse duration is duty cycle", tachPulseDurationAsDutyCycle
field = "Pulse duration", tachPulseDuractionMs
; todo: finish implementation under #907
field = "Pulse per Rev", tachPulsePerRev
; Board->Connection

View File

@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Wed Dec 25 15:54:43 EST 2019
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Mon Dec 30 01:37:35 EST 2019
pageSize = 20000
page = 1
@ -699,6 +699,7 @@ page = 1
tps2Min = scalar, S16, 1768, "ADC", 1, 0, 0, 1023, 0
tps2Max = scalar, S16, 1770, "ADC", 1, 0, 0, 1023, 0
;no TS info - skipping unusedFormerWarmupAfrPid offset 1772
tachPulsePerRev = scalar, U08, 1775, "Pulse", 1, 0, 1.0, 255.0, 0
mapErrorDetectionTooLow = scalar, F32, 1776, "kPa", 1, 0, -100.0, 100.0, 2
mapErrorDetectionTooHigh = scalar, F32, 1780, "kPa", 1, 0, -100.0, 800.0, 2
step1RpmWindow = scalar, S32, 1784, "rpm", 1, 0, 0, 3000.0, 2
@ -3296,6 +3297,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
field = "Rise at trigger index", tachPulseTriggerIndex
field = "Pulse duration is duty cycle", tachPulseDurationAsDutyCycle
field = "Pulse duration", tachPulseDuractionMs
; todo: finish implementation under #907
field = "Pulse per Rev", tachPulsePerRev
; Board->Connection

View File

@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Wed Dec 25 15:54:46 EST 2019
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Mon Dec 30 01:37:39 EST 2019
pageSize = 20000
page = 1
@ -699,6 +699,7 @@ page = 1
tps2Min = scalar, S16, 1768, "ADC", 1, 0, 0, 1023, 0
tps2Max = scalar, S16, 1770, "ADC", 1, 0, 0, 1023, 0
;no TS info - skipping unusedFormerWarmupAfrPid offset 1772
tachPulsePerRev = scalar, U08, 1775, "Pulse", 1, 0, 1.0, 255.0, 0
mapErrorDetectionTooLow = scalar, F32, 1776, "kPa", 1, 0, -100.0, 100.0, 2
mapErrorDetectionTooHigh = scalar, F32, 1780, "kPa", 1, 0, -100.0, 800.0, 2
step1RpmWindow = scalar, S32, 1784, "rpm", 1, 0, 0, 3000.0, 2
@ -3308,6 +3309,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
field = "Rise at trigger index", tachPulseTriggerIndex
field = "Pulse duration is duty cycle", tachPulseDurationAsDutyCycle
field = "Pulse duration", tachPulseDuractionMs
; todo: finish implementation under #907
field = "Pulse per Rev", tachPulsePerRev
; Board->Connection

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Sat Dec 21 20:09:07 EST 2019
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Mon Dec 30 01:37:14 EST 2019
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -1140,6 +1140,7 @@ public class Fields {
public static final int tachOutputPinMode_offset = 705;
public static final int tachPulseDuractionMs_offset = 1704;
public static final int tachPulseDurationAsDutyCycle_offset = 1464;
public static final int tachPulsePerRev_offset = 1775;
public static final int tachPulseTriggerIndex_offset = 1708;
public static final int targetVBatt_offset = 2024;
public static final int tChargeAirCoefMax_offset = 3868;
@ -2036,6 +2037,7 @@ public class Fields {
public static final Field ALTERNATOR_ANTIWINDUPFREQ = Field.create("ALTERNATOR_ANTIWINDUPFREQ", 1764, FieldType.FLOAT);
public static final Field TPS2MIN = Field.create("TPS2MIN", 1768, FieldType.INT16);
public static final Field TPS2MAX = Field.create("TPS2MAX", 1770, FieldType.INT16);
public static final Field TACHPULSEPERREV = Field.create("TACHPULSEPERREV", 1775, FieldType.INT8);
public static final Field MAPERRORDETECTIONTOOLOW = Field.create("MAPERRORDETECTIONTOOLOW", 1776, FieldType.FLOAT);
public static final Field MAPERRORDETECTIONTOOHIGH = Field.create("MAPERRORDETECTIONTOOHIGH", 1780, FieldType.FLOAT);
public static final Field STEP1RPMWINDOW = Field.create("STEP1RPMWINDOW", 1784, FieldType.INT);
@ -2902,6 +2904,7 @@ public class Fields {
ALTERNATOR_ANTIWINDUPFREQ,
TPS2MIN,
TPS2MAX,
TACHPULSEPERREV,
MAPERRORDETECTIONTOOLOW,
MAPERRORDETECTIONTOOHIGH,
STEP1RPMWINDOW,