diff --git a/firmware/gen_enum_to_string.sh b/firmware/gen_enum_to_string.sh index c63b1a19a1..b57b7afd33 100755 --- a/firmware/gen_enum_to_string.sh +++ b/firmware/gen_enum_to_string.sh @@ -14,6 +14,9 @@ ENUM_JAR=../java_tools/enum_to_string/build/libs/enum_to_string.jar java -DSystemOut.name=logs/gen_java_enum -cp ${ENUM_JAR} com.rusefi.ToJavaEnum -enumInputFile controllers/sensors/sensor_type.h -outputPath ../java_console/io/src/main/java/com/rusefi/enums [ $? -eq 0 ] || { echo "ERROR generating sensors"; exit 1; } +java -DSystemOut.name=logs/gen_java_enum -cp ${ENUM_JAR} com.rusefi.ToJavaEnum -enumInputFile controllers/trigger/decoders/sync_edge.h -outputPath ../java_console/io/src/main/java/com/rusefi/enums +[ $? -eq 0 ] || { echo "ERROR generating sensors"; exit 1; } + java -DSystemOut.name=logs/gen_java_enum -cp ${ENUM_JAR} com.rusefi.ToJavaEnum -enumInputFile controllers/algo/engine_types.h -outputPath ../java_console/models/src/main/java/com/rusefi/enums -definition integration/rusefi_config.txt [ $? -eq 0 ] || { echo "ERROR generating types"; exit 1; } diff --git a/java_console/io/src/main/java/com/rusefi/enums/SyncEdge.java b/java_console/io/src/main/java/com/rusefi/enums/SyncEdge.java new file mode 100644 index 0000000000..b3ad38296e --- /dev/null +++ b/java_console/io/src/main/java/com/rusefi/enums/SyncEdge.java @@ -0,0 +1,12 @@ +package com.rusefi.enums; +// based on ./controllers/trigger/decoders/sync_edge.h +//auto-generated by ToJavaEnum.java + + + +public enum SyncEdge { + Rise, + Fall, + RiseOnly, + Both, +} diff --git a/unit_tests/tests/trigger/test_all_triggers.cpp b/unit_tests/tests/trigger/test_all_triggers.cpp index 20ab435884..5b42ab70ed 100644 --- a/unit_tests/tests/trigger/test_all_triggers.cpp +++ b/unit_tests/tests/trigger/test_all_triggers.cpp @@ -3,6 +3,7 @@ */ #include "pch.h" #include "TriggerMeta.h" +#include "auto_generated_sync_edge.h" // uncomment to test starting from specific trigger //#define TEST_FROM_TRIGGER_ID ((int)trigger_type_e::TT_MAZDA_MIATA_NA) @@ -94,6 +95,7 @@ extern TriggerDecoderBase initState; fprintf(fp, "%s=%s\n", TRIGGER_IS_SECOND_WHEEL_CAM, shape->isSecondWheelCam ? "true" : "false"); fprintf(fp, "%s=%d\n", TRIGGER_CYCLE_DURATION, (int)shape->getCycleDuration()); fprintf(fp, "%s=%d\n", TRIGGER_GAPS_COUNT, shape->gapTrackingLength); + fprintf(fp, "%s=%s\n", TRIGGER_SYNC_EDGE, getSyncEdge(shape->syncEdge)); fprintf(fp, "%s=%d\n", TRIGGER_WITH_SYNC, shape->isSynchronizationNeeded); for (int i = 0; i < shape->gapTrackingLength; i++) { fprintf(fp, "%s.%d=%f\n", TRIGGER_GAP_FROM, i, shape->syncronizationRatioFrom[i]); diff --git a/unit_tests/triggers.txt b/unit_tests/triggers.txt index 203294b36f..e39a4a66ec 100644 --- a/unit_tests/triggers.txt +++ b/unit_tests/triggers.txt @@ -8,6 +8,7 @@ hasSecondChannel=true isSecondWheelCam=true cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -29,6 +30,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=4 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=1.600000 gapTo.0=4.500000 @@ -78,6 +80,7 @@ hasSecondChannel=true isSecondWheelCam=true cycleDuration=720 gapsCount=2 +syncEdge=Both isSynchronizationNeeded=1 gapFrom.0=0.100000 gapTo.0=0.500000 @@ -103,6 +106,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=2.250000 gapTo.0=3.750000 @@ -130,6 +134,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=4.500000 gapTo.0=7.500000 @@ -169,6 +174,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.093750 gapTo.0=0.156250 @@ -188,6 +194,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Both isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -207,6 +214,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=2.250000 gapTo.0=3.750000 @@ -336,6 +344,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -419,6 +428,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=3 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=1.012500 gapTo.0=1.687500 @@ -446,6 +456,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Both isSynchronizationNeeded=1 gapFrom.0=2.000000 gapTo.0=5.000000 @@ -463,6 +474,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=3 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.250000 gapTo.0=0.500000 @@ -598,6 +610,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=3 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.322500 gapTo.0=0.537500 @@ -625,6 +638,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=0.750000 gapTo.0=1.500000 @@ -652,6 +666,7 @@ hasSecondChannel=true isSecondWheelCam=true cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -673,6 +688,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Rise isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -688,6 +704,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=0.750000 gapTo.0=1.250000 @@ -705,6 +722,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Rise isSynchronizationNeeded=0 gapFrom.0=0.750000 gapTo.0=1.250000 @@ -718,6 +736,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Rise isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -763,6 +782,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=3 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.600000 gapTo.0=4.000000 @@ -1010,6 +1030,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -1109,6 +1130,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.250000 gapTo.0=1.900000 @@ -1144,6 +1166,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=3 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.249750 gapTo.0=0.416250 @@ -1279,6 +1302,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Both isSynchronizationNeeded=1 gapFrom.0=7.252500 gapTo.0=16.000000 @@ -1298,6 +1322,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Rise isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -1451,6 +1476,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=3 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -1594,6 +1620,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=3 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -1705,6 +1732,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=5.000000 gapTo.0=9.000000 @@ -1770,6 +1798,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Both isSynchronizationNeeded=1 gapFrom.0=2.000000 gapTo.0=5.000000 @@ -1787,6 +1816,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=16 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=2.625000 gapTo.0=4.375000 @@ -1892,6 +1922,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -1913,6 +1944,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=0.750000 gapTo.0=1.500000 @@ -1940,6 +1972,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=180 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.350000 gapTo.0=1.150000 @@ -1969,6 +2002,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Both isSynchronizationNeeded=1 gapFrom.0=2.000000 gapTo.0=5.000000 @@ -1986,6 +2020,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Fall isSynchronizationNeeded=1 gapFrom.0=0.065000 gapTo.0=0.170000 @@ -2019,6 +2054,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=4.897500 gapTo.0=13.000000 @@ -2070,6 +2106,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -2131,6 +2168,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=30 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.200000 gapTo.0=3.400000 @@ -2192,6 +2230,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=4 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=1.600000 gapTo.0=4.500000 @@ -2241,6 +2280,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -2286,6 +2326,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=2.250000 gapTo.0=3.750000 @@ -2301,6 +2342,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -2322,6 +2364,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=6.000000 gapTo.0=20.000000 @@ -2341,6 +2384,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=180 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -2520,6 +2564,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=120 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -2783,6 +2828,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.100000 gapTo.0=2.400000 @@ -2848,6 +2894,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Fall isSynchronizationNeeded=1 gapFrom.0=0.483750 gapTo.0=0.806250 @@ -2869,6 +2916,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.600000 gapTo.0=3.500000 @@ -2950,6 +2998,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Fall isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -3011,6 +3060,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -3056,6 +3106,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=4.897500 gapTo.0=13.000000 @@ -3083,6 +3134,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=3.800000 gapTo.0=5.000000 @@ -3116,6 +3168,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=360 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -3671,6 +3724,7 @@ hasSecondChannel=true isSecondWheelCam=true cycleDuration=720 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -3792,6 +3846,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=1 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=2.932500 gapTo.0=4.887500 @@ -3815,6 +3870,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.600000 gapTo.0=2.400000 @@ -3836,6 +3892,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=1 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=1.710000 gapTo.0=2.850000 @@ -3919,6 +3976,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=120 gapsCount=3 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.200000 gapTo.0=0.500000 @@ -4054,6 +4112,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=4.000000 gapTo.0=6.000000 @@ -4079,6 +4138,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=3 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=4.335000 gapTo.0=7.225000 @@ -4136,6 +4196,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=180 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.247500 gapTo.0=0.412500 @@ -4277,6 +4338,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=6.750000 gapTo.0=11.250000 @@ -4306,6 +4368,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Fall isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -4367,6 +4430,7 @@ hasSecondChannel=true isSecondWheelCam=false cycleDuration=720 gapsCount=1 +syncEdge=Fall isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -4428,6 +4492,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=0.495000 gapTo.0=0.825000 @@ -4457,6 +4522,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.165000 gapTo.0=0.275000 @@ -4480,6 +4546,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.500000 gapTo.0=4.500000 @@ -4503,6 +4570,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=180 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.247500 gapTo.0=0.412500 @@ -4642,6 +4710,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=3 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=2.250000 gapTo.0=3.750000 @@ -4717,6 +4786,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=2.250000 gapTo.0=3.750000 @@ -4862,6 +4932,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=2.250000 gapTo.0=3.750000 @@ -5003,6 +5074,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=180 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=0.247500 gapTo.0=0.412500 @@ -5144,6 +5216,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=RiseOnly isSynchronizationNeeded=1 gapFrom.0=1.600000 gapTo.0=2.400000 @@ -5163,6 +5236,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=3 +syncEdge=Rise isSynchronizationNeeded=1 gapFrom.0=3.000000 gapTo.0=5.000000 @@ -5274,6 +5348,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Both isSynchronizationNeeded=1 gapFrom.0=2.000000 gapTo.0=5.000000 @@ -5291,6 +5366,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=180 gapsCount=1 +syncEdge=RiseOnly isSynchronizationNeeded=0 gapFrom.0=0.750000 gapTo.0=1.250000 @@ -5310,6 +5386,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=360 gapsCount=1 +syncEdge=Rise isSynchronizationNeeded=0 gapFrom.0=1.500000 gapTo.0=2.500000 @@ -5325,6 +5402,7 @@ hasSecondChannel=false isSecondWheelCam=false cycleDuration=720 gapsCount=2 +syncEdge=Both isSynchronizationNeeded=1 gapFrom.0=2.000000 gapTo.0=5.000000