mirror of https://github.com/rusefi/rusefi-1.git
parent
940b04ab24
commit
50038167d8
|
@ -15,7 +15,7 @@
|
||||||
#include "test_engine.h"
|
#include "test_engine.h"
|
||||||
|
|
||||||
// TEST_ENGINE
|
// TEST_ENGINE
|
||||||
void setTestEngineConfiguration() {
|
void setTestCamEngineConfiguration() {
|
||||||
setDefaultFrankensoConfiguration();
|
setDefaultFrankensoConfiguration();
|
||||||
|
|
||||||
setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR);
|
setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR);
|
||||||
|
@ -50,6 +50,13 @@ void setTestEngineConfiguration() {
|
||||||
engineConfiguration->ignitionPins[5] = GPIO_UNASSIGNED; // #6
|
engineConfiguration->ignitionPins[5] = GPIO_UNASSIGNED; // #6
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void setTestCrankEngineConfiguration() {
|
||||||
|
setTestCamEngineConfiguration();
|
||||||
|
|
||||||
|
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
|
||||||
|
}
|
||||||
|
|
||||||
void setTestVVTEngineConfiguration() {
|
void setTestVVTEngineConfiguration() {
|
||||||
setDefaultFrankensoConfiguration();
|
setDefaultFrankensoConfiguration();
|
||||||
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
|
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
|
||||||
|
@ -72,7 +79,7 @@ void setTestVVTEngineConfiguration() {
|
||||||
|
|
||||||
#if EFI_UNIT_TEST
|
#if EFI_UNIT_TEST
|
||||||
void setTestEngineIssue366both() {
|
void setTestEngineIssue366both() {
|
||||||
setTestEngineConfiguration();
|
setTestCamEngineConfiguration();
|
||||||
|
|
||||||
|
|
||||||
engineConfiguration->useOnlyRisingEdgeForTrigger = false;
|
engineConfiguration->useOnlyRisingEdgeForTrigger = false;
|
||||||
|
|
|
@ -9,7 +9,8 @@
|
||||||
|
|
||||||
#include "engine_configuration.h"
|
#include "engine_configuration.h"
|
||||||
|
|
||||||
void setTestEngineConfiguration();
|
void setTestCamEngineConfiguration();
|
||||||
|
void setTestCrankEngineConfiguration();
|
||||||
void setTestVVTEngineConfiguration();
|
void setTestVVTEngineConfiguration();
|
||||||
|
|
||||||
void setTestEngineIssue366both();
|
void setTestEngineIssue366both();
|
||||||
|
|
|
@ -15,6 +15,11 @@
|
||||||
#include "tunerstudio_debug_struct.h"
|
#include "tunerstudio_debug_struct.h"
|
||||||
#include "ts_outputs_generated.h"
|
#include "ts_outputs_generated.h"
|
||||||
|
|
||||||
|
#ifndef WITH_TS_STATE
|
||||||
|
// do we ever see a case of compiling without TSOutputChannels? Shall we wipe out all '#if EFI_TUNER_STUDIO' or replace with '#if WITH_TS_STATE'
|
||||||
|
#define WITH_TS_STATE TRUE
|
||||||
|
#endif
|
||||||
|
|
||||||
enum class TsCalMode : uint8_t {
|
enum class TsCalMode : uint8_t {
|
||||||
None = 0,
|
None = 0,
|
||||||
Tps1Max = 1,
|
Tps1Max = 1,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "engine_types.h"
|
#include "engine_types.h"
|
||||||
// was generated automatically by rusEFI tool from engine_types.h // by enum2string.jar tool on Mon Dec 06 21:27:50 EST 2021
|
// was generated automatically by rusEFI tool from engine_types.h // by enum2string.jar tool on Tue Dec 07 20:56:44 EST 2021
|
||||||
// see also gen_config_and_enums.bat
|
// see also gen_config_and_enums.bat
|
||||||
|
|
||||||
|
|
||||||
|
@ -325,6 +325,8 @@ case TEST_110:
|
||||||
return "TEST_110";
|
return "TEST_110";
|
||||||
case TEST_33816:
|
case TEST_33816:
|
||||||
return "TEST_33816";
|
return "TEST_33816";
|
||||||
|
case TEST_CRANK_ENGINE:
|
||||||
|
return "TEST_CRANK_ENGINE";
|
||||||
case TEST_ENGINE:
|
case TEST_ENGINE:
|
||||||
return "TEST_ENGINE";
|
return "TEST_ENGINE";
|
||||||
case TEST_ENGINE_VVT:
|
case TEST_ENGINE_VVT:
|
||||||
|
@ -351,8 +353,6 @@ case UNUSED101:
|
||||||
return "UNUSED101";
|
return "UNUSED101";
|
||||||
case UNUSED18:
|
case UNUSED18:
|
||||||
return "UNUSED18";
|
return "UNUSED18";
|
||||||
case UNUSED28:
|
|
||||||
return "UNUSED28";
|
|
||||||
case UNUSED30:
|
case UNUSED30:
|
||||||
return "UNUSED30";
|
return "UNUSED30";
|
||||||
case UNUSED39:
|
case UNUSED39:
|
||||||
|
|
|
@ -852,7 +852,10 @@ void resetConfigurationExt(configuration_callback_t boardCallback, engine_type_e
|
||||||
// nothing to do - we do it all in setBoardDefaultConfiguration
|
// nothing to do - we do it all in setBoardDefaultConfiguration
|
||||||
break;
|
break;
|
||||||
case TEST_ENGINE:
|
case TEST_ENGINE:
|
||||||
setTestEngineConfiguration();
|
setTestCamEngineConfiguration();
|
||||||
|
break;
|
||||||
|
case TEST_CRANK_ENGINE:
|
||||||
|
setTestCrankEngineConfiguration();
|
||||||
break;
|
break;
|
||||||
#if EFI_UNIT_TEST
|
#if EFI_UNIT_TEST
|
||||||
case TEST_ISSUE_366_BOTH:
|
case TEST_ISSUE_366_BOTH:
|
||||||
|
@ -1056,7 +1059,6 @@ void resetConfigurationExt(configuration_callback_t boardCallback, engine_type_e
|
||||||
setHonda600();
|
setHonda600();
|
||||||
break;
|
break;
|
||||||
case UNUSED9:
|
case UNUSED9:
|
||||||
case UNUSED28:
|
|
||||||
case FORD_ESCORT_GT:
|
case FORD_ESCORT_GT:
|
||||||
setFordEscortGt();
|
setFordEscortGt();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -89,7 +89,7 @@ typedef enum {
|
||||||
// see TriggerWaveform::bothFrontsRequired
|
// see TriggerWaveform::bothFrontsRequired
|
||||||
TEST_ISSUE_898 = 27,
|
TEST_ISSUE_898 = 27,
|
||||||
|
|
||||||
UNUSED28 = 28,
|
TEST_CRANK_ENGINE = 28,
|
||||||
|
|
||||||
SACHS = 29,
|
SACHS = 29,
|
||||||
|
|
||||||
|
|
|
@ -676,17 +676,18 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta
|
||||||
float map = Sensor::getOrZero(SensorType::Map);
|
float map = Sensor::getOrZero(SensorType::Map);
|
||||||
|
|
||||||
if (map > mapCamPrevCycleValue) {
|
if (map > mapCamPrevCycleValue) {
|
||||||
mapCamCounter++;
|
#if WITH_TS_STATE
|
||||||
|
engine->outputChannels.TEMPLOG_map_peak++;
|
||||||
|
#endif // WITH_TS_STATE
|
||||||
|
|
||||||
efitick_t stamp = getTimeNowNt();
|
efitick_t stamp = getTimeNowNt();
|
||||||
hwHandleVvtCamSignal(TV_RISE, stamp, /*index*/0);
|
hwHandleVvtCamSignal(TV_RISE, stamp, /*index*/0);
|
||||||
hwHandleVvtCamSignal(TV_FALL, stamp, /*index*/0);
|
hwHandleVvtCamSignal(TV_FALL, stamp, /*index*/0);
|
||||||
}
|
}
|
||||||
#if EFI_TUNER_STUDIO
|
#if WITH_TS_STATE
|
||||||
engine->outputChannels.TEMPLOG_MAP_INSTANT_AVERAGE = map;
|
engine->outputChannels.TEMPLOG_MAP_INSTANT_AVERAGE = map;
|
||||||
engine->outputChannels.TEMPLOG_map_peak = mapCamCounter;
|
|
||||||
engine->outputChannels.TEMPLOG_MAP_AT_DIFF = map - mapCamPrevCycleValue;
|
engine->outputChannels.TEMPLOG_MAP_AT_DIFF = map - mapCamPrevCycleValue;
|
||||||
#endif // EFI_TUNER_STUDIO
|
#endif // WITH_TS_STATE
|
||||||
|
|
||||||
mapCamPrevCycleValue = map;
|
mapCamPrevCycleValue = map;
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,6 @@ public:
|
||||||
|
|
||||||
angle_t mapCamPrevToothAngle = -1;
|
angle_t mapCamPrevToothAngle = -1;
|
||||||
float mapCamPrevCycleValue = 0;
|
float mapCamPrevCycleValue = 0;
|
||||||
uint8_t mapCamCounter = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* true if a recent configuration change has changed any of the trigger settings which
|
* true if a recent configuration change has changed any of the trigger settings which
|
||||||
|
|
|
@ -32,7 +32,7 @@ public enum engine_type_e {
|
||||||
PROTEUS_LUA_DEMO,
|
PROTEUS_LUA_DEMO,
|
||||||
TEST_ENGINE,
|
TEST_ENGINE,
|
||||||
TEST_ISSUE_898,
|
TEST_ISSUE_898,
|
||||||
UNUSED28,
|
TEST_CRANK_ENGINE,
|
||||||
SACHS,
|
SACHS,
|
||||||
UNUSED30,
|
UNUSED30,
|
||||||
MRE_BOARD_NEW_TEST,
|
MRE_BOARD_NEW_TEST,
|
||||||
|
|
|
@ -72,7 +72,7 @@ TEST(trigger, map_cam) {
|
||||||
|
|
||||||
TEST(trigger, map_cam_by_magic_point) {
|
TEST(trigger, map_cam_by_magic_point) {
|
||||||
|
|
||||||
EngineTestHelper eth(TEST_ENGINE);
|
EngineTestHelper eth(TEST_CRANK_ENGINE);
|
||||||
|
|
||||||
engineConfiguration->camInputs[0] = GPIOA_0;
|
engineConfiguration->camInputs[0] = GPIOA_0;
|
||||||
engineConfiguration->vvtMode[0] = VVT_MAP_V_TWIN_ANOTHER;
|
engineConfiguration->vvtMode[0] = VVT_MAP_V_TWIN_ANOTHER;
|
||||||
|
@ -82,13 +82,17 @@ TEST(trigger, map_cam_by_magic_point) {
|
||||||
engineConfiguration->mapCamDetectionAnglePosition = 90;
|
engineConfiguration->mapCamDetectionAnglePosition = 90;
|
||||||
|
|
||||||
eth.smartFireTriggerEvents2(/*count*/10, /*delayMs*/200);
|
eth.smartFireTriggerEvents2(/*count*/10, /*delayMs*/200);
|
||||||
ASSERT_EQ( 150, GET_RPM()) << "RPM";
|
ASSERT_EQ( 75, GET_RPM()) << "RPM";
|
||||||
ASSERT_EQ(1, engine->triggerCentral.mapCamCounter);
|
|
||||||
|
ASSERT_EQ(1, engine->outputChannels.TEMPLOG_map_peak);
|
||||||
|
ASSERT_EQ(0, engine->outputChannels.vvtSyncCounter);
|
||||||
|
|
||||||
|
|
||||||
Sensor::setMockValue(SensorType::Map, 120);
|
Sensor::setMockValue(SensorType::Map, 120);
|
||||||
eth.smartFireTriggerEvents2(/*count*/2, /*delayMs*/200);
|
eth.smartFireTriggerEvents2(/*count*/4, /*delayMs*/200);
|
||||||
ASSERT_EQ(2, engine->triggerCentral.mapCamCounter);
|
|
||||||
|
ASSERT_EQ(2, engine->outputChannels.TEMPLOG_map_peak);
|
||||||
|
ASSERT_EQ(1, engine->outputChannels.vvtSyncCounter);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue