Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/fome-tech/fome-fw
Browse files Browse the repository at this point in the history
  • Loading branch information
mck1117 committed Sep 17, 2024
2 parents bd1e986 + 1d6b1a5 commit f713f66
Show file tree
Hide file tree
Showing 34 changed files with 479 additions and 351 deletions.
2 changes: 2 additions & 0 deletions firmware/controllers/sensors/auto_generated_sensor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ case SensorType::BatteryVoltage:
return "BatteryVoltage";
case SensorType::Clt:
return "Clt";
case SensorType::ClutchUp:
return "ClutchUp";
case SensorType::CompressorDischargePressure:
return "CompressorDischargePressure";
case SensorType::CompressorDischargeTemperature:
Expand Down
26 changes: 15 additions & 11 deletions firmware/tunerstudio/generated/fome_alphax-2chan.ini
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ enable2ndByteCanID = false

[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI (FOME) master.2024.09.15.alphax-2chan.2147247159"
signature = "rusEFI (FOME) master.2024.09.17.alphax-2chan.500141419"

[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmware version for title bar.
signature= "rusEFI (FOME) master.2024.09.15.alphax-2chan.2147247159" ; signature is expected to be 7 or more characters.
signature= "rusEFI (FOME) master.2024.09.17.alphax-2chan.500141419" ; signature is expected to be 7 or more characters.

; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
Expand Down Expand Up @@ -351,15 +351,16 @@ measureMapOnlyInOneCylinder = bits, U32, 664, [12:12], "false", "true"
stepperForceParkingEveryRestart = bits, U32, 664, [13:13], "false", "true"
isFasterEngineSpinUpEnabled = bits, U32, 664, [14:14], "false", "true"
coastingFuelCutEnabled = bits, U32, 664, [15:15], "false", "true"
useIacTableForCoasting = bits, U32, 664, [16:16], "false", "true"
useIdleTimingPidControl = bits, U32, 664, [17:17], "false", "true"
disableEtbWhenEngineStopped = bits, U32, 664, [18:18], "false", "true"
is_enabled_spi_4 = bits, U32, 664, [19:19], "false", "true"
pauseEtbControl = bits, U32, 664, [20:20], "false", "true"
alignEngineSnifferAtTDC = bits, U32, 664, [21:21], "false", "true"
enableAemXSeries = bits, U32, 664, [22:22], "false", "true"
useTableForDfcoMap = bits, U32, 664, [23:23], "Fixed", "Table"
postCrankingFuelUseTable = bits, U32, 664, [24:24], "Basic", "Table"
disableFuelCutOnClutch = bits, U32, 664, [16:16], "false", "true"
useIacTableForCoasting = bits, U32, 664, [17:17], "false", "true"
useIdleTimingPidControl = bits, U32, 664, [18:18], "false", "true"
disableEtbWhenEngineStopped = bits, U32, 664, [19:19], "false", "true"
is_enabled_spi_4 = bits, U32, 664, [20:20], "false", "true"
pauseEtbControl = bits, U32, 664, [21:21], "false", "true"
alignEngineSnifferAtTDC = bits, U32, 664, [22:22], "false", "true"
enableAemXSeries = bits, U32, 664, [23:23], "false", "true"
useTableForDfcoMap = bits, U32, 664, [24:24], "Fixed", "Table"
postCrankingFuelUseTable = bits, U32, 664, [25:25], "Basic", "Table"
logicAnalyzerPins1 = bits, U16, 668, [0:7], 0="NONE",80="C2 - Crank- (hall)",19="C2/C3 Crank Sensor VR",78="C3 - Crank+ (hall)",8="C7 - CAM Hall/Digital"
logicAnalyzerPins2 = bits, U16, 670, [0:7], 0="NONE",80="C2 - Crank- (hall)",19="C2/C3 Crank Sensor VR",78="C3 - Crank+ (hall)",8="C7 - CAM Hall/Digital"
logicAnalyzerPins3 = bits, U16, 672, [0:7], 0="NONE",80="C2 - Crank- (hall)",19="C2/C3 Crank Sensor VR",78="C3 - Crank+ (hall)",8="C7 - CAM Hall/Digital"
Expand Down Expand Up @@ -1654,6 +1655,7 @@ postCrankingEnrichRuntimeBins = array, U08, 20880, [8], "sec", 1, 0, 0, 180, 0
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing."
disableFuelCutOnClutch = "True: Inhibits DFCO from activating when the clutch is pressed. This helps prevent transient knock during shifts\n\nFalse: Do not take clutch state into account."
useIacTableForCoasting = "Override the IAC position during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars or engines that have trouble returning to idle."
disableEtbWhenEngineStopped = "Allows disabling the ETB when the engine is stopped. You may not like the power draw or PWM noise from the motor, so this lets you turn it off until it's necessary."
pauseEtbControl = "Disable the electronic throttle motor and DC idle motor for testing.\nThis mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle."
Expand Down Expand Up @@ -8145,6 +8147,8 @@ dialog = tcuControls, "Transmission Settings"

dialog = coastingFuelCutControl, "Coasting Fuel Cutoff Settings"
field = "Enable Coasting Fuel Cutoff", coastingFuelCutEnabled
field = ""
field = "Disable fuel cut on clutch", disableFuelCutOnClutch, {coastingFuelCutEnabled && clutchUpPin != 0}
field = "No cut below CLT", coastingFuelCutClt, {coastingFuelCutEnabled}
field = "RPM cut fuel above", coastingFuelCutRpmHigh, {coastingFuelCutEnabled}
field = "RPM restore fuel below", coastingFuelCutRpmLow, {coastingFuelCutEnabled}
Expand Down
26 changes: 15 additions & 11 deletions firmware/tunerstudio/generated/fome_alphax-4chan.ini
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ enable2ndByteCanID = false

[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI (FOME) master.2024.09.15.alphax-4chan.4113851990"
signature = "rusEFI (FOME) master.2024.09.17.alphax-4chan.2533854986"

[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmware version for title bar.
signature= "rusEFI (FOME) master.2024.09.15.alphax-4chan.4113851990" ; signature is expected to be 7 or more characters.
signature= "rusEFI (FOME) master.2024.09.17.alphax-4chan.2533854986" ; signature is expected to be 7 or more characters.

; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
Expand Down Expand Up @@ -351,15 +351,16 @@ measureMapOnlyInOneCylinder = bits, U32, 664, [12:12], "false", "true"
stepperForceParkingEveryRestart = bits, U32, 664, [13:13], "false", "true"
isFasterEngineSpinUpEnabled = bits, U32, 664, [14:14], "false", "true"
coastingFuelCutEnabled = bits, U32, 664, [15:15], "false", "true"
useIacTableForCoasting = bits, U32, 664, [16:16], "false", "true"
useIdleTimingPidControl = bits, U32, 664, [17:17], "false", "true"
disableEtbWhenEngineStopped = bits, U32, 664, [18:18], "false", "true"
is_enabled_spi_4 = bits, U32, 664, [19:19], "false", "true"
pauseEtbControl = bits, U32, 664, [20:20], "false", "true"
alignEngineSnifferAtTDC = bits, U32, 664, [21:21], "false", "true"
enableAemXSeries = bits, U32, 664, [22:22], "false", "true"
useTableForDfcoMap = bits, U32, 664, [23:23], "Fixed", "Table"
postCrankingFuelUseTable = bits, U32, 664, [24:24], "Basic", "Table"
disableFuelCutOnClutch = bits, U32, 664, [16:16], "false", "true"
useIacTableForCoasting = bits, U32, 664, [17:17], "false", "true"
useIdleTimingPidControl = bits, U32, 664, [18:18], "false", "true"
disableEtbWhenEngineStopped = bits, U32, 664, [19:19], "false", "true"
is_enabled_spi_4 = bits, U32, 664, [20:20], "false", "true"
pauseEtbControl = bits, U32, 664, [21:21], "false", "true"
alignEngineSnifferAtTDC = bits, U32, 664, [22:22], "false", "true"
enableAemXSeries = bits, U32, 664, [23:23], "false", "true"
useTableForDfcoMap = bits, U32, 664, [24:24], "Fixed", "Table"
postCrankingFuelUseTable = bits, U32, 664, [25:25], "Basic", "Table"
logicAnalyzerPins1 = bits, U16, 668, [0:7], 0="NONE",80="C2 - Crank- (hall)",19="C2/C3 Crank Sensor VR",78="C3 - Crank+ (hall)",8="C7 - CAM Hall/Digital",91="E5/E6 Cam Sensor VR",81="E6 - Cam+ (hall)",9="E7 - Flex"
logicAnalyzerPins2 = bits, U16, 670, [0:7], 0="NONE",80="C2 - Crank- (hall)",19="C2/C3 Crank Sensor VR",78="C3 - Crank+ (hall)",8="C7 - CAM Hall/Digital",91="E5/E6 Cam Sensor VR",81="E6 - Cam+ (hall)",9="E7 - Flex"
logicAnalyzerPins3 = bits, U16, 672, [0:7], 0="NONE",80="C2 - Crank- (hall)",19="C2/C3 Crank Sensor VR",78="C3 - Crank+ (hall)",8="C7 - CAM Hall/Digital",91="E5/E6 Cam Sensor VR",81="E6 - Cam+ (hall)",9="E7 - Flex"
Expand Down Expand Up @@ -1654,6 +1655,7 @@ postCrankingEnrichRuntimeBins = array, U08, 20880, [8], "sec", 1, 0, 0, 180, 0
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing."
disableFuelCutOnClutch = "True: Inhibits DFCO from activating when the clutch is pressed. This helps prevent transient knock during shifts\n\nFalse: Do not take clutch state into account."
useIacTableForCoasting = "Override the IAC position during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars or engines that have trouble returning to idle."
disableEtbWhenEngineStopped = "Allows disabling the ETB when the engine is stopped. You may not like the power draw or PWM noise from the motor, so this lets you turn it off until it's necessary."
pauseEtbControl = "Disable the electronic throttle motor and DC idle motor for testing.\nThis mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle."
Expand Down Expand Up @@ -8149,6 +8151,8 @@ dialog = tcuControls, "Transmission Settings"

dialog = coastingFuelCutControl, "Coasting Fuel Cutoff Settings"
field = "Enable Coasting Fuel Cutoff", coastingFuelCutEnabled
field = ""
field = "Disable fuel cut on clutch", disableFuelCutOnClutch, {coastingFuelCutEnabled && clutchUpPin != 0}
field = "No cut below CLT", coastingFuelCutClt, {coastingFuelCutEnabled}
field = "RPM cut fuel above", coastingFuelCutRpmHigh, {coastingFuelCutEnabled}
field = "RPM restore fuel below", coastingFuelCutRpmLow, {coastingFuelCutEnabled}
Expand Down
26 changes: 15 additions & 11 deletions firmware/tunerstudio/generated/fome_alphax-8chan.ini
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ enable2ndByteCanID = false

[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI (FOME) master.2024.09.15.alphax-8chan.2374983855"
signature = "rusEFI (FOME) master.2024.09.17.alphax-8chan.4022110707"

[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmware version for title bar.
signature= "rusEFI (FOME) master.2024.09.15.alphax-8chan.2374983855" ; signature is expected to be 7 or more characters.
signature= "rusEFI (FOME) master.2024.09.17.alphax-8chan.4022110707" ; signature is expected to be 7 or more characters.

; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
Expand Down Expand Up @@ -351,15 +351,16 @@ measureMapOnlyInOneCylinder = bits, U32, 664, [12:12], "false", "true"
stepperForceParkingEveryRestart = bits, U32, 664, [13:13], "false", "true"
isFasterEngineSpinUpEnabled = bits, U32, 664, [14:14], "false", "true"
coastingFuelCutEnabled = bits, U32, 664, [15:15], "false", "true"
useIacTableForCoasting = bits, U32, 664, [16:16], "false", "true"
useIdleTimingPidControl = bits, U32, 664, [17:17], "false", "true"
disableEtbWhenEngineStopped = bits, U32, 664, [18:18], "false", "true"
is_enabled_spi_4 = bits, U32, 664, [19:19], "false", "true"
pauseEtbControl = bits, U32, 664, [20:20], "false", "true"
alignEngineSnifferAtTDC = bits, U32, 664, [21:21], "false", "true"
enableAemXSeries = bits, U32, 664, [22:22], "false", "true"
useTableForDfcoMap = bits, U32, 664, [23:23], "Fixed", "Table"
postCrankingFuelUseTable = bits, U32, 664, [24:24], "Basic", "Table"
disableFuelCutOnClutch = bits, U32, 664, [16:16], "false", "true"
useIacTableForCoasting = bits, U32, 664, [17:17], "false", "true"
useIdleTimingPidControl = bits, U32, 664, [18:18], "false", "true"
disableEtbWhenEngineStopped = bits, U32, 664, [19:19], "false", "true"
is_enabled_spi_4 = bits, U32, 664, [20:20], "false", "true"
pauseEtbControl = bits, U32, 664, [21:21], "false", "true"
alignEngineSnifferAtTDC = bits, U32, 664, [22:22], "false", "true"
enableAemXSeries = bits, U32, 664, [23:23], "false", "true"
useTableForDfcoMap = bits, U32, 664, [24:24], "Fixed", "Table"
postCrankingFuelUseTable = bits, U32, 664, [25:25], "Basic", "Table"
logicAnalyzerPins1 = bits, U16, 668, [0:7], 0="NONE",8="23A - Hall Input 1",80="30A - Hall Input 2",4="30C - Hall Input 4",81="31A - Hall Input 3",12="8A - Crank VR",91="9A - Cam VR"
logicAnalyzerPins2 = bits, U16, 670, [0:7], 0="NONE",8="23A - Hall Input 1",80="30A - Hall Input 2",4="30C - Hall Input 4",81="31A - Hall Input 3",12="8A - Crank VR",91="9A - Cam VR"
logicAnalyzerPins3 = bits, U16, 672, [0:7], 0="NONE",8="23A - Hall Input 1",80="30A - Hall Input 2",4="30C - Hall Input 4",81="31A - Hall Input 3",12="8A - Crank VR",91="9A - Cam VR"
Expand Down Expand Up @@ -1654,6 +1655,7 @@ postCrankingEnrichRuntimeBins = array, U08, 20880, [8], "sec", 1, 0, 0, 180, 0
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing."
disableFuelCutOnClutch = "True: Inhibits DFCO from activating when the clutch is pressed. This helps prevent transient knock during shifts\n\nFalse: Do not take clutch state into account."
useIacTableForCoasting = "Override the IAC position during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars or engines that have trouble returning to idle."
disableEtbWhenEngineStopped = "Allows disabling the ETB when the engine is stopped. You may not like the power draw or PWM noise from the motor, so this lets you turn it off until it's necessary."
pauseEtbControl = "Disable the electronic throttle motor and DC idle motor for testing.\nThis mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle."
Expand Down Expand Up @@ -8149,6 +8151,8 @@ dialog = tcuControls, "Transmission Settings"

dialog = coastingFuelCutControl, "Coasting Fuel Cutoff Settings"
field = "Enable Coasting Fuel Cutoff", coastingFuelCutEnabled
field = ""
field = "Disable fuel cut on clutch", disableFuelCutOnClutch, {coastingFuelCutEnabled && clutchUpPin != 0}
field = "No cut below CLT", coastingFuelCutClt, {coastingFuelCutEnabled}
field = "RPM cut fuel above", coastingFuelCutRpmHigh, {coastingFuelCutEnabled}
field = "RPM restore fuel below", coastingFuelCutRpmLow, {coastingFuelCutEnabled}
Expand Down
Loading

0 comments on commit f713f66

Please sign in to comment.