From 48cdfdf2f8646b2524004968c8bf3d4036a4242a Mon Sep 17 00:00:00 2001 From: Seth Date: Tue, 5 Nov 2024 10:39:16 +1300 Subject: [PATCH] added profiling into main loop --- GPSSpeedMultiCore.ino | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/GPSSpeedMultiCore.ino b/GPSSpeedMultiCore.ino index 59aa90a..fae61cc 100644 --- a/GPSSpeedMultiCore.ino +++ b/GPSSpeedMultiCore.ino @@ -12,6 +12,7 @@ #define GPS_UPDATE_FREQUENCY 10 //GPS update frequency per sec #define DEBOUNCE_DELAY 250 //time in ms #define MIDDLE_SCREEN_BRIGHTNESS 5 +//#define PROFILE true //GPS SFE_UBLOX_GPS myGPS; @@ -34,25 +35,29 @@ volatile int screenBrightnessCurrent = ScreenBrightnessUser; volatile unsigned long lastButtonPush = 0UL; volatile bool manualBrightness = false; +//profiler +int runCounter = 0; +unsigned long profileTimer = millis(); + void chageBrightness() { if (millis() - lastButtonPush > DEBOUNCE_DELAY) { buttonPushed = true; lastButtonPush = millis(); - manualBrightness=true; + manualBrightness = true; } } void connectGPS() { //need to do this everytime the GPS turns back on do { //set gps to 115200 baudrate code comes from sparkfun examples - Serial.println("GNSS: trying 115200 baud"); + // Serial.println("GNSS: trying 115200 baud"); Serial1.begin(115200); if (myGPS.begin(Serial1) == true) break; delay(100); - Serial.println("GNSS: trying 9600 baud"); + //Serial.println("GNSS: trying 9600 baud"); Serial1.begin(9600); if (myGPS.begin(Serial1) == true) { - Serial.println("GNSS: connected at 9600 baud, switching to 115200"); + //Serial.println("GNSS: connected at 9600 baud, switching to 115200"); myGPS.setSerialRate(115200); delay(100); } else { @@ -115,17 +120,16 @@ void setup1() { Serial1.setRX(1); Serial1.setTX(0); connectGPS(); - setStartBrightness(); + //setStartBrightness(); } void loop() { - //set init brightness - -if((!setInitBrightness&&gpsFixType.load()>0)||((!manualBrightness&&millis() > brightnessTimer + 6000)&&gpsFixType.load()>0)){ //fire every minute + //set init brightness + if ((!setInitBrightness && gpsFixType.load() > 0) || ((!manualBrightness && millis() > brightnessTimer + 6000) && gpsFixType.load() > 0)) { //fire every minute setStartBrightness(); setInitBrightness = true; - brightnessTimer= millis(); -} + brightnessTimer = millis(); + } //change brightness if (buttonPushed == true) { @@ -185,6 +189,18 @@ if((!setInitBrightness&&gpsFixType.load()>0)||((!manualBrightness&&millis() > br } disp.writeDisplay(); rp2040.wdt_reset(); //rest watchdog timer + + #if PROFILE + //profiling + runCounter++; + + if(millis() > profileTimer + 1000){ + Serial.println(runCounter); + runCounter=0; + profileTimer=millis(); + } + #endif + }