diff --git a/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp b/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp index 4f21370c26..17d9df21b0 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp +++ b/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp @@ -1011,8 +1011,9 @@ case TT_MAZDA_MIATA_VVT_TEST: return "TT_MAZDA_MIATA_VVT_TEST"; case TT_MAZDA_SOHC_4: return "TT_MAZDA_SOHC_4"; -case TT_MIATA_NB2_VVT_CAM: case TT_RENIX_44_2_2: + return "TT_RENIX_44_2_2"; +case TT_MIATA_NB2_VVT_CAM: return "TT_MIATA_NB2_VVT_CAM"; case TT_MAZDA_Z5: return "TT_MAZDA_Z5"; diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index 0954da34c3..a10feee453 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -1155,8 +1155,9 @@ case TT_MAZDA_MIATA_VVT_TEST: return "TT_MAZDA_MIATA_VVT_TEST"; case TT_MAZDA_SOHC_4: return "TT_MAZDA_SOHC_4"; -case TT_MIATA_NB2_VVT_CAM: case TT_RENIX_44_2_2: + return "TT_RENIX_44_2_2"; +case TT_MIATA_NB2_VVT_CAM: return "TT_MIATA_NB2_VVT_CAM"; case TT_MAZDA_Z5: return "TT_MAZDA_Z5"; diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 6caa5719d2..c88c8b4148 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -716,6 +716,6 @@ int getRusEfiVersion(void) { if (initBootloader() != 0) return 123; #endif /* EFI_BOOTLOADER_INCLUDE_CODE */ - return 20200417; + return 20200418; } #endif /* EFI_UNIT_TEST */ diff --git a/firmware/controllers/trigger/decoders/trigger_renix.cpp b/firmware/controllers/trigger/decoders/trigger_renix.cpp new file mode 100644 index 0000000000..feaf0b91e3 --- /dev/null +++ b/firmware/controllers/trigger/decoders/trigger_renix.cpp @@ -0,0 +1,32 @@ +/** + * @file trigger_renix.cpp + * + * https://en.wikipedia.org/wiki/Renix + * Has something to do with AMC/Jeep + * + * @date Apr 18, 2020 + * @author Andrey Belomutskiy, (c) 2012-2020 + */ + +#include "trigger_renix.h" + +// TT_RENIX_44_2_2 +void initializeRenix44_4_4(TriggerWaveform *s) { + s->initialize(FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR); + + // 44-2-2 is symmetrical so we only need to define one half + float tooth = 180.0 / 22; // hint: tooth = 8.181818 degrees + + float currentAngle = 0; + for (int i = 0;i < 20;i++) { + s->addEventAngle(currentAngle + tooth / 2, T_PRIMARY, TV_RISE); + s->addEventAngle(currentAngle + tooth, T_PRIMARY, TV_FALL); + currentAngle += tooth; + } + + s->addEventAngle(currentAngle + tooth, T_PRIMARY, TV_RISE); + + // float math error accumulates at this point so we have to spell out 180 + s->addEventAngle(180, T_PRIMARY, TV_FALL); + +} diff --git a/firmware/controllers/trigger/decoders/trigger_renix.h b/firmware/controllers/trigger/decoders/trigger_renix.h new file mode 100644 index 0000000000..a465f9f727 --- /dev/null +++ b/firmware/controllers/trigger/decoders/trigger_renix.h @@ -0,0 +1,13 @@ +/* + * @file trigger_renix.h + * + * @date Apr 18, 2020 + * @author Andrey Belomutskiy, (c) 2012-2020 + */ + +#pragma once + +#include "trigger_structure.h" + +// TT_RENIX_44_2_2 +void initializeRenix44_4_4(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_structure.cpp b/firmware/controllers/trigger/decoders/trigger_structure.cpp index 326871b38d..363385a86e 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.cpp +++ b/firmware/controllers/trigger/decoders/trigger_structure.cpp @@ -32,6 +32,7 @@ #include "trigger_subaru.h" #include "trigger_structure.h" #include "trigger_toyota.h" +#include "trigger_renix.h" #include "trigger_rover.h" #include "trigger_honda.h" #include "trigger_vw.h" @@ -464,10 +465,13 @@ void TriggerWaveform::initializeTriggerWaveform(Logging *logger, operation_mode_ break; case TT_MIATA_NB2_VVT_CAM: - case TT_RENIX_44_2_2: initializeMazdaMiataVVtCamShape(this); break; + case TT_RENIX_44_2_2: + initializeRenix44_4_4(this); + break; + case TT_MIATA_VVT: initializeMazdaMiataNb2Crank(this); break; diff --git a/firmware/controllers/trigger/trigger.mk b/firmware/controllers/trigger/trigger.mk index 9aaa261b2d..e387380cca 100644 --- a/firmware/controllers/trigger/trigger.mk +++ b/firmware/controllers/trigger/trigger.mk @@ -13,6 +13,7 @@ TRIGGER_DECODERS_SRC_CPP = \ $(CONTROLLERS_DIR)/trigger/decoders/trigger_gm.cpp \ $(CONTROLLERS_DIR)/trigger/decoders/trigger_honda.cpp \ $(CONTROLLERS_DIR)/trigger/decoders/trigger_rover.cpp \ + $(CONTROLLERS_DIR)/trigger/decoders/trigger_renix.cpp \ $(CONTROLLERS_DIR)/trigger/decoders/trigger_vw.cpp \ $(CONTROLLERS_DIR)/trigger/decoders/trigger_misc.cpp \ $(CONTROLLERS_DIR)/trigger/decoders/trigger_universal.cpp diff --git a/firmware/gen_trigger_images.bat b/firmware/gen_trigger_images.bat index fd5e2d7789..0ad6f55b7f 100644 --- a/firmware/gen_trigger_images.bat +++ b/firmware/gen_trigger_images.bat @@ -1,5 +1,6 @@ -rem This takes triggers.txt generated by unit_test binary and produces a bunch of .png files -rem these images are published at +rem This script reads triggers.txt generated by unit_test binary and produces a bunch of trigger shapes .png files +rem these images placed into unit__tests/triggers +rem and later manually published at https://rusefi.com/images/triggers/ cd ../unit_tests make diff --git a/misc/www/images/triggers/trigger_1.png b/misc/www/images/triggers/trigger_1.png deleted file mode 100644 index f47b098d64..0000000000 Binary files a/misc/www/images/triggers/trigger_1.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_10.png b/misc/www/images/triggers/trigger_10.png deleted file mode 100644 index b83c7c2741..0000000000 Binary files a/misc/www/images/triggers/trigger_10.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_11.png b/misc/www/images/triggers/trigger_11.png deleted file mode 100644 index 2618c1bde2..0000000000 Binary files a/misc/www/images/triggers/trigger_11.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_12.png b/misc/www/images/triggers/trigger_12.png deleted file mode 100644 index aa4811e712..0000000000 Binary files a/misc/www/images/triggers/trigger_12.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_13.png b/misc/www/images/triggers/trigger_13.png deleted file mode 100644 index 1e1777245c..0000000000 Binary files a/misc/www/images/triggers/trigger_13.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_14.png b/misc/www/images/triggers/trigger_14.png deleted file mode 100644 index 8e13c9fbe4..0000000000 Binary files a/misc/www/images/triggers/trigger_14.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_15.png b/misc/www/images/triggers/trigger_15.png deleted file mode 100644 index 22c4fd559a..0000000000 Binary files a/misc/www/images/triggers/trigger_15.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_16.png b/misc/www/images/triggers/trigger_16.png deleted file mode 100644 index dcd302efcb..0000000000 Binary files a/misc/www/images/triggers/trigger_16.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_17.png b/misc/www/images/triggers/trigger_17.png deleted file mode 100644 index 069c8235f8..0000000000 Binary files a/misc/www/images/triggers/trigger_17.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_18.png b/misc/www/images/triggers/trigger_18.png deleted file mode 100644 index 53a6ec2fa4..0000000000 Binary files a/misc/www/images/triggers/trigger_18.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_19.png b/misc/www/images/triggers/trigger_19.png deleted file mode 100644 index 152e708af2..0000000000 Binary files a/misc/www/images/triggers/trigger_19.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_2.png b/misc/www/images/triggers/trigger_2.png deleted file mode 100644 index 704352d867..0000000000 Binary files a/misc/www/images/triggers/trigger_2.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_20.png b/misc/www/images/triggers/trigger_20.png deleted file mode 100644 index aa3b75216f..0000000000 Binary files a/misc/www/images/triggers/trigger_20.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_21.png b/misc/www/images/triggers/trigger_21.png deleted file mode 100644 index cd3b9f84ac..0000000000 Binary files a/misc/www/images/triggers/trigger_21.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_22.png b/misc/www/images/triggers/trigger_22.png deleted file mode 100644 index 3285000df1..0000000000 Binary files a/misc/www/images/triggers/trigger_22.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_23.png b/misc/www/images/triggers/trigger_23.png deleted file mode 100644 index 446e45c6f1..0000000000 Binary files a/misc/www/images/triggers/trigger_23.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_24.png b/misc/www/images/triggers/trigger_24.png deleted file mode 100644 index 5a32525fa0..0000000000 Binary files a/misc/www/images/triggers/trigger_24.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_25.png b/misc/www/images/triggers/trigger_25.png deleted file mode 100644 index 8d01c34d66..0000000000 Binary files a/misc/www/images/triggers/trigger_25.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_26.png b/misc/www/images/triggers/trigger_26.png deleted file mode 100644 index 762f8a6d66..0000000000 Binary files a/misc/www/images/triggers/trigger_26.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_27.png b/misc/www/images/triggers/trigger_27.png deleted file mode 100644 index 24f8c603f3..0000000000 Binary files a/misc/www/images/triggers/trigger_27.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_28.png b/misc/www/images/triggers/trigger_28.png deleted file mode 100644 index 395af02403..0000000000 Binary files a/misc/www/images/triggers/trigger_28.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_29.png b/misc/www/images/triggers/trigger_29.png deleted file mode 100644 index f391670bbf..0000000000 Binary files a/misc/www/images/triggers/trigger_29.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_3.png b/misc/www/images/triggers/trigger_3.png deleted file mode 100644 index 88b04bf712..0000000000 Binary files a/misc/www/images/triggers/trigger_3.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_4.png b/misc/www/images/triggers/trigger_4.png deleted file mode 100644 index 67a14abcfd..0000000000 Binary files a/misc/www/images/triggers/trigger_4.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_5.png b/misc/www/images/triggers/trigger_5.png deleted file mode 100644 index 2084188c9a..0000000000 Binary files a/misc/www/images/triggers/trigger_5.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_6.png b/misc/www/images/triggers/trigger_6.png deleted file mode 100644 index 8f56a80cf5..0000000000 Binary files a/misc/www/images/triggers/trigger_6.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_7.png b/misc/www/images/triggers/trigger_7.png deleted file mode 100644 index 73db8e3054..0000000000 Binary files a/misc/www/images/triggers/trigger_7.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_8.png b/misc/www/images/triggers/trigger_8.png deleted file mode 100644 index 64635450be..0000000000 Binary files a/misc/www/images/triggers/trigger_8.png and /dev/null differ diff --git a/misc/www/images/triggers/trigger_9.png b/misc/www/images/triggers/trigger_9.png deleted file mode 100644 index 8d1ed33ffc..0000000000 Binary files a/misc/www/images/triggers/trigger_9.png and /dev/null differ diff --git a/unit_tests/.gitignore b/unit_tests/.gitignore index 1a279984f9..55026edca9 100644 --- a/unit_tests/.gitignore +++ b/unit_tests/.gitignore @@ -1,3 +1,5 @@ .dep* build/ gcov_working_area +triggers + diff --git a/unit_tests/triggers.txt b/unit_tests/triggers.txt index 22706e689e..687dba7ac3 100644 --- a/unit_tests/triggers.txt +++ b/unit_tests/triggers.txt @@ -190,7 +190,7 @@ event 65 1001 205.65 event 66 1000 208.63 event 67 1001 211.60 event 68 1000 214.58 -event 69 1001 217.55 +event 69 1001 217.56 event 70 1000 220.53 event 71 1001 223.51 event 72 1000 226.48 @@ -625,7 +625,7 @@ event 4 1001 192.10 event 5 0 248.14 event 6 1000 259.90 event 7 1001 369.67 -event 8 1000 437.19 +event 8 1000 437.20 event 9 1 532.74 event 10 1001 546.37 event 11 1000 613.22 @@ -782,7 +782,7 @@ event 1 0 180.00 event 2 1001 360.00 event 3 1000 540.00 TRIGGERTYPE 17 234 TT_ONE_PLUS_TOOTHED_WHEEL_60_2 0.00 -# duty 0.97 0.52 +# duty 0.98 0.52 event 0 1 0.00 event 1 1001 1.00 event 2 1000 4.00 @@ -2465,3 +2465,173 @@ event 2 1 317.00 event 3 0 340.00 event 4 1 360.00 event 5 0 685.00 +TRIGGERTYPE 44 168 TT_MIATA_NB2_VVT_CAM 0.00 +# duty 0.50 0.00 +event 0 1 0.00 +event 1 0 8.18 +event 2 1 12.27 +event 3 0 16.36 +event 4 1 20.45 +event 5 0 24.55 +event 6 1 28.64 +event 7 0 32.73 +event 8 1 36.82 +event 9 0 40.91 +event 10 1 45.00 +event 11 0 49.09 +event 12 1 53.18 +event 13 0 57.27 +event 14 1 61.36 +event 15 0 65.45 +event 16 1 69.55 +event 17 0 73.64 +event 18 1 77.73 +event 19 0 81.82 +event 20 1 85.91 +event 21 0 90.00 +event 22 1 94.09 +event 23 0 98.18 +event 24 1 102.27 +event 25 0 106.36 +event 26 1 110.45 +event 27 0 114.55 +event 28 1 118.64 +event 29 0 122.73 +event 30 1 126.82 +event 31 0 130.91 +event 32 1 135.00 +event 33 0 139.09 +event 34 1 143.18 +event 35 0 147.27 +event 36 1 151.36 +event 37 0 155.45 +event 38 1 159.55 +event 39 0 163.64 +event 40 1 167.73 +event 41 0 171.82 +event 42 1 180.00 +event 43 0 188.18 +event 44 1 192.27 +event 45 0 196.36 +event 46 1 200.45 +event 47 0 204.55 +event 48 1 208.64 +event 49 0 212.73 +event 50 1 216.82 +event 51 0 220.91 +event 52 1 225.00 +event 53 0 229.09 +event 54 1 233.18 +event 55 0 237.27 +event 56 1 241.36 +event 57 0 245.45 +event 58 1 249.55 +event 59 0 253.64 +event 60 1 257.73 +event 61 0 261.82 +event 62 1 265.91 +event 63 0 270.00 +event 64 1 274.09 +event 65 0 278.18 +event 66 1 282.27 +event 67 0 286.36 +event 68 1 290.45 +event 69 0 294.55 +event 70 1 298.64 +event 71 0 302.73 +event 72 1 306.82 +event 73 0 310.91 +event 74 1 315.00 +event 75 0 319.09 +event 76 1 323.18 +event 77 0 327.27 +event 78 1 331.36 +event 79 0 335.45 +event 80 1 339.55 +event 81 0 343.64 +event 82 1 347.73 +event 83 0 351.82 +event 84 1 360.00 +event 85 0 368.18 +event 86 1 372.27 +event 87 0 376.36 +event 88 1 380.45 +event 89 0 384.55 +event 90 1 388.64 +event 91 0 392.73 +event 92 1 396.82 +event 93 0 400.91 +event 94 1 405.00 +event 95 0 409.09 +event 96 1 413.18 +event 97 0 417.27 +event 98 1 421.36 +event 99 0 425.45 +event 100 1 429.55 +event 101 0 433.64 +event 102 1 437.73 +event 103 0 441.82 +event 104 1 445.91 +event 105 0 450.00 +event 106 1 454.09 +event 107 0 458.18 +event 108 1 462.27 +event 109 0 466.36 +event 110 1 470.45 +event 111 0 474.55 +event 112 1 478.64 +event 113 0 482.73 +event 114 1 486.82 +event 115 0 490.91 +event 116 1 495.00 +event 117 0 499.09 +event 118 1 503.18 +event 119 0 507.27 +event 120 1 511.36 +event 121 0 515.45 +event 122 1 519.55 +event 123 0 523.64 +event 124 1 527.73 +event 125 0 531.82 +event 126 1 540.00 +event 127 0 548.18 +event 128 1 552.27 +event 129 0 556.36 +event 130 1 560.45 +event 131 0 564.55 +event 132 1 568.64 +event 133 0 572.73 +event 134 1 576.82 +event 135 0 580.91 +event 136 1 585.00 +event 137 0 589.09 +event 138 1 593.18 +event 139 0 597.27 +event 140 1 601.36 +event 141 0 605.45 +event 142 1 609.55 +event 143 0 613.64 +event 144 1 617.73 +event 145 0 621.82 +event 146 1 625.91 +event 147 0 630.00 +event 148 1 634.09 +event 149 0 638.18 +event 150 1 642.27 +event 151 0 646.36 +event 152 1 650.45 +event 153 0 654.55 +event 154 1 658.64 +event 155 0 662.73 +event 156 1 666.82 +event 157 0 670.91 +event 158 1 675.00 +event 159 0 679.09 +event 160 1 683.18 +event 161 0 687.27 +event 162 1 691.36 +event 163 0 695.45 +event 164 1 699.55 +event 165 0 703.64 +event 166 1 707.73 +event 167 0 711.82