diff --git a/ESP32/ESP_AutomatedGearShifter/ESP_AutomatedGearShifter.ino b/ESP32/ESP_AutomatedGearShifter/ESP_AutomatedGearShifter.ino index 22532de..549e289 100644 --- a/ESP32/ESP_AutomatedGearShifter/ESP_AutomatedGearShifter.ino +++ b/ESP32/ESP_AutomatedGearShifter/ESP_AutomatedGearShifter.ino @@ -5,7 +5,7 @@ #include #include -#define Version "2.2.3" +#define Version "2.2.4" ////2DO: // menu do zmiany zakresu predkosci biegów // menu do zmiany zakresu kątów biegów, obwodu koła, ilosci magnesow @@ -74,7 +74,7 @@ float spdRange6and7 = 29.9; float spdRange7and8 = 36.5; double calcTimeDiff = 0.0; double lastGearCalc = millis(); -double speedDiff = 1.0; +double speedDiff = 0.65; double accelerationShift = 1.0; int displGear = 9 - currentGear; float currentGearRangeLower = 0; @@ -264,6 +264,10 @@ void calcSpeed(){ if(abs(raw_speed - calcSpeed2) >= speedDiff) { if ((raw_speed - calcSpeed2) < 0) { speedTrend = -1; + readSignalTime_1 = -1; + readSignalTime_2 = -1; + readSignalTime_3 = -1; + readSignalTimeAvg = -1; } else { speedTrend = 1; @@ -312,14 +316,10 @@ void calcGear() { }; calcTimeDiff = millis() - lastGearCalc; - if (calcTimeDiff < 2000 && abs((calculatedGear-currentGear)) <= 1){ - currentGear = currentGear; - if (abs((calculatedGear-currentGear)) > 0){ + if (calcTimeDiff < 1500 && (calculatedGear - currentGear) == 1){ + currentGear = calculatedGear; pointerVisibility = 0; - - }else { - pointerVisibility = 1; - } + } else { currentGear = calculatedGear; lastGearCalc = millis(); @@ -353,7 +353,7 @@ void loop() { //################################################ //SPEED sleepSpd = millis() - millissSpd; - if (sleepSpd >= 1000.0) { //podaj zerową prędkość jeśli nie było odcztu od 1,5 s + if (sleepSpd >= 1000.0) { //podaj zerową prędkość jeśli nie było odcztu od 1,1 s raw_speed = 0.0; } //przejście w tryb uśpienia za przuycisku lub czasu