added profiling into main loop
This commit is contained in:
parent
b6ffac1372
commit
48cdfdf2f8
1 changed files with 26 additions and 10 deletions
|
|
@ -12,6 +12,7 @@
|
||||||
#define GPS_UPDATE_FREQUENCY 10 //GPS update frequency per sec
|
#define GPS_UPDATE_FREQUENCY 10 //GPS update frequency per sec
|
||||||
#define DEBOUNCE_DELAY 250 //time in ms
|
#define DEBOUNCE_DELAY 250 //time in ms
|
||||||
#define MIDDLE_SCREEN_BRIGHTNESS 5
|
#define MIDDLE_SCREEN_BRIGHTNESS 5
|
||||||
|
//#define PROFILE true
|
||||||
|
|
||||||
//GPS
|
//GPS
|
||||||
SFE_UBLOX_GPS myGPS;
|
SFE_UBLOX_GPS myGPS;
|
||||||
|
|
@ -34,6 +35,10 @@ volatile int screenBrightnessCurrent = ScreenBrightnessUser;
|
||||||
volatile unsigned long lastButtonPush = 0UL;
|
volatile unsigned long lastButtonPush = 0UL;
|
||||||
volatile bool manualBrightness = false;
|
volatile bool manualBrightness = false;
|
||||||
|
|
||||||
|
//profiler
|
||||||
|
int runCounter = 0;
|
||||||
|
unsigned long profileTimer = millis();
|
||||||
|
|
||||||
|
|
||||||
void chageBrightness() {
|
void chageBrightness() {
|
||||||
if (millis() - lastButtonPush > DEBOUNCE_DELAY) {
|
if (millis() - lastButtonPush > DEBOUNCE_DELAY) {
|
||||||
|
|
@ -45,14 +50,14 @@ void chageBrightness() {
|
||||||
|
|
||||||
void connectGPS() { //need to do this everytime the GPS turns back on
|
void connectGPS() { //need to do this everytime the GPS turns back on
|
||||||
do { //set gps to 115200 baudrate code comes from sparkfun examples
|
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);
|
Serial1.begin(115200);
|
||||||
if (myGPS.begin(Serial1) == true) break;
|
if (myGPS.begin(Serial1) == true) break;
|
||||||
delay(100);
|
delay(100);
|
||||||
Serial.println("GNSS: trying 9600 baud");
|
//Serial.println("GNSS: trying 9600 baud");
|
||||||
Serial1.begin(9600);
|
Serial1.begin(9600);
|
||||||
if (myGPS.begin(Serial1) == true) {
|
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);
|
myGPS.setSerialRate(115200);
|
||||||
delay(100);
|
delay(100);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -115,12 +120,11 @@ void setup1() {
|
||||||
Serial1.setRX(1);
|
Serial1.setRX(1);
|
||||||
Serial1.setTX(0);
|
Serial1.setTX(0);
|
||||||
connectGPS();
|
connectGPS();
|
||||||
setStartBrightness();
|
//setStartBrightness();
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
//set init brightness
|
//set init brightness
|
||||||
|
|
||||||
if ((!setInitBrightness && gpsFixType.load() > 0) || ((!manualBrightness && millis() > brightnessTimer + 6000) && gpsFixType.load() > 0)) { //fire every minute
|
if ((!setInitBrightness && gpsFixType.load() > 0) || ((!manualBrightness && millis() > brightnessTimer + 6000) && gpsFixType.load() > 0)) { //fire every minute
|
||||||
setStartBrightness();
|
setStartBrightness();
|
||||||
setInitBrightness = true;
|
setInitBrightness = true;
|
||||||
|
|
@ -185,6 +189,18 @@ if((!setInitBrightness&&gpsFixType.load()>0)||((!manualBrightness&&millis() > br
|
||||||
}
|
}
|
||||||
disp.writeDisplay();
|
disp.writeDisplay();
|
||||||
rp2040.wdt_reset(); //rest watchdog timer
|
rp2040.wdt_reset(); //rest watchdog timer
|
||||||
|
|
||||||
|
#if PROFILE
|
||||||
|
//profiling
|
||||||
|
runCounter++;
|
||||||
|
|
||||||
|
if(millis() > profileTimer + 1000){
|
||||||
|
Serial.println(runCounter);
|
||||||
|
runCounter=0;
|
||||||
|
profileTimer=millis();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue