From c448c5ebd1f608fd1d2f292efe5ad5b6bb466a00 Mon Sep 17 00:00:00 2001 From: Bouletmarc Date: Mon, 6 Feb 2023 05:03:50 -0500 Subject: [PATCH] Add files via upload --- BMCop.ino | 73 ++++++++++++++++++++++++++++++++++++------------------ eagle.png | Bin 0 -> 30137 bytes 2 files changed, 49 insertions(+), 24 deletions(-) create mode 100644 eagle.png diff --git a/BMCop.ino b/BMCop.ino index 2d2a008..e28d6b5 100644 --- a/BMCop.ino +++ b/BMCop.ino @@ -71,8 +71,11 @@ int SyncCount = 0; int SyncCountICM = 0; int LastSyncCount = 0; int DesyncCount = 0; +int SyncMode = 0; const int MaxDesyncTime = 500; //max desync timer in milliseconds +int LogsyncCount = 0; + // VARS FOR RPM SERIAL LOGGING //uint8_t SPARKS = 0; //uint16_t RPM = 0; @@ -115,19 +118,24 @@ void loop() { //Calucalute average DWell time with Engine RPM //DWELL_INTERNAL = map(RPM, 0, 11000, MAXDWELL, MINDWELL); + + //Serial.println("SyncCount=" + String(SyncCount) + ", SyncCountICM=" + String(SyncCountICM) + ", LogsyncCount=" + String(LogsyncCount)); } void CalculateIsSynced() { - if (!desynced) { - if (LastSyncCount == SyncCount) { + //if (!desynced) { + if (SyncCount == LastSyncCount) { DesyncCount++; } + if (SyncCount != LastSyncCount) { + DesyncCount = 0; + } if (DesyncCount >= MaxDesyncTime) { SetDecynced(); } LastSyncCount = SyncCount; - } + //} } void SetDecynced() { @@ -138,6 +146,7 @@ void SetDecynced() { SyncCountICM = 0; DesyncCount = 0; LastSyncCount = 0; + SyncMode = 0; } //############################################################### @@ -206,14 +215,10 @@ void Ignite_Off() { // INTERRUPTS FC1 AND ICM INPUTS //############################################################### void ISR_FC1_Pin3() { - if (desynced) { - CYLINDER = 0; - SyncCount++; - } - else + SyncCount++; + + if (!desynced) { - SyncCount++; - //Increase Cylinder firing on the 5th FC1 pulse, prepare it for when the next ICM pulse will fire. //If the ignition degree are negative, the ICM will pulse slightly before the 6th FC1 pulse, better prepare it in advance on the 5th pulse! if (SyncCount == 5) @@ -236,29 +241,48 @@ void ISR_ICM_Pin() { //START SYNC SEQUENCE if (desynced) { - //AFTER 5-6x FC1 PULSE - if (SyncCountICM == 0 && (SyncCount == 5 || SyncCount == 6)) + //AFTER UNKNOWN FC1 PULSE + if (SyncCountICM == 0 && SyncCount > 0) { SyncCountICM++; SyncCount = 0; } - //AFTER 11-12x FC1 PULSE - if (SyncCountICM == 1 && (SyncCount == 11 || SyncCount == 12)) + //AFTER 5-6 or 11-12x FC1 PULSE + if (SyncCountICM == 1 && (SyncCount == 5 || SyncCount == 6 || SyncCount == 11 || SyncCount == 12)) { SyncCountICM++; SyncCount = 0; + if (SyncCount == 5 || SyncCount == 6) { + SyncMode = 1; + } } - //AFTER 3-4x FC1 PULSE - if (SyncCountICM == 2 && (SyncCount == 3 || SyncCount == 4)) - { - SyncCountICM++; - SyncCount = 0; - CYLINDER = 1; - desynced = false; + //AFTER UNKNOWN FC1 PULSE + if (SyncMode == 0) { + if (SyncCountICM == 2 && SyncCount > 0) + { + SyncCountICM++; + SyncCount = 0; + CYLINDER = 1; + desynced = false; + } + } + + if (SyncMode == 1) { + if (SyncCountICM <= 4 && (SyncCount == 5 || SyncCount == 6)) + { + SyncCountICM++; + SyncCount = 0; + } + if (SyncCountICM == 5 && SyncCount > 0) { + SyncCountICM++; + SyncCount = 0; + CYLINDER = 1; + desynced = false; + } } } - if(!desynced && CYLINDER > 0) { + if(!desynced) { //Fire the specific Cylinder Coil Ignite_ON(); @@ -316,8 +340,9 @@ ISR(TIMER1_COMPA_vect) { //Turn off interrupts since we use Serial commands, this also ensure we calculate the RPM when nothing trigger the interrupts (interrupts turned off) noInterrupts(); - GetRPM(); - Serial.println("RPM: " + String(RPM) + "rpm"); + //GetRPM(); + //Serial.println("RPM: " + String(RPM) + "rpm"); + Serial.println("SyncCount=" + String(SyncCount) + ", SyncCountICM=" + String(SyncCountICM) + ", LogsyncCount=" + String(LogsyncCount)); //Attach again the interrupts since we finished calculating RPM and possibly sending Serial datas attachInterrupt(digitalPinToInterrupt(FC1_Pin3), ISR_FC1_Pin3, FALLING); diff --git a/eagle.png b/eagle.png new file mode 100644 index 0000000000000000000000000000000000000000..ebf0ad76d988a6171ac61e03bdc5ba7eb877c61f GIT binary patch literal 30137 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

PFE7*MlzqJj|uM~3N1{W6GC1fsd`bd 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