esp8266 / Arduino

ESP8266 core for Arduino
GNU Lesser General Public License v2.1
16k stars 13.33k forks source link

ets Jan 8 2013,rst cause:4, boot mode:(3,6) wdt reset load 0x4010f000, len 3460, room 16 tail 4 chksum 0xcc load 0x3fff20b8, len 40, room 4 tail 4 chksum 0xc9 csum 0xc9 v0006bc70 ~ld #8365

Closed Phoenixpranav closed 2 years ago

Phoenixpranav commented 2 years ago

ets Jan 8 2013,rst cause:4, boot mode:(3,6)

wdt reset load 0x4010f000, len 3460, room 16 tail 4 chksum 0xcc load 0x3fff20b8, len 40, room 4 tail 4 chksum 0xc9 csum 0xc9 v0006bc70 ~ld HELP US WITH THIS ERROR

hi I am working on a fitness watch that has 2 i2c devices 1)a oled display 2)MAX 30100 heartrate sensor. the program gets complied and uploaded without any errors but facing issue during runtime. Output is none of the sensors are working. If a seperate code is used for only heartrate monitoring ,the sensors are working.when combined with the below code we r facing this issue

The following is the code running on esp12e D1 mini .

define BLYNK_TEMPLATE_ID "TMPLxYVkj3uJ"

define BLYNK_DEVICE_NAME "esp"

include

include

include

include

include "MAX30100_PulseOximeter.h"

include "MAX30100.h"

define BLYNK_PRINT Serial//redefine BLYNK_PRINT as Serial

include //header file for controlling wifi

include //header for blynk

include //header file for counter

include // header file for Real Time Clock

include "Ubidots.h"

long int update_timer=millis(); long int button_timer=millis(); long int on_screen=millis(); long int on_screen_heart=millis(); long int random_time=millis();

define BUTTON_PIN 7

define REPORTING_PERIOD_MS 1000

define PULSE_WIDTH MAX30100_SPC_PW_1600US_16BITS

define IR_LED_CURRENT MAX30100_LED_CURR_50MA

define LED_CURRENT MAX30100_LED_CURR_20_8MA

define SAMPLING_RATE MAX30100_SAMPRATE_1000HZ

PulseOximeter pox; MAX30100 sensor;

define OLED_RESET 4

Adafruit_SSD1306 display(-1); uint32_t tsLastReport = 0; uint32_t last_beat=0; bool initialized=false; int HRclean; int SpO2; char context[50]; char lattitude[20]; char longitude[20]; int ThermistorPin =A0; int Vo; float R1 = 4500; float logR2, R2, T, Tc, Tf; float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07; int menu=1; int beat=0; int oxygen=0; int heart=0; int heart_screen=0; int oxygen_screen=0;

/=================================================================================================================/

char auth[] = "TMPLxYVkj3uJ";// indentification of your board like phone number const char DEVICE_TYPE = "esp"; // Edit here your device type label const char WIFI_SSID = "Chinu"; // Put here your Wi-Fi SSID const char WIFI_PASS = "chinmayee"; // Put here your Wi-Fi password const char UBIDOTS_TOKEN = "BBFF-eIteRONfEskswVaF6EFumwLb4ZTYkz"; // Put here your Ubidots TOKEN

/================================================================================================================/

// 'mm', 33x32px const unsigned char thermometer [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x1c, 0x10, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x1c, 0x10, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x1c, 0x10, 0x00, 0x00, 0x00, 0x04, 0x90, 0x00, 0x00, 0x00, 0x0c, 0x90, 0x00, 0x00, 0x00, 0x04, 0x90, 0x00, 0x00, 0x00, 0x04, 0x90, 0x00, 0x00, 0x00, 0x04, 0x90, 0x00, 0x00, 0x00, 0x08, 0x88, 0x00, 0x00, 0x00, 0x11, 0x84, 0x00, 0x00, 0x00, 0x21, 0xc2, 0x00, 0x00, 0x00, 0x23, 0xe2, 0x00, 0x00, 0x00, 0x27, 0xf2, 0x00, 0x00, 0x00, 0x67, 0xf3, 0x00, 0x00, 0x00, 0x27, 0xf2, 0x00, 0x00, 0x00, 0x23, 0xe2, 0x00, 0x00, 0x00, 0x21, 0xc2, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x08, 0x18, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

// '3e3e3e', 30x30px const unsigned char satellite [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x07, 0x60, 0x00, 0x00, 0x02, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x5e, 0x70, 0x00, 0x00, 0x3e, 0xf8, 0x00, 0x00, 0x1d, 0xfc, 0x00, 0x00, 0x0b, 0xfc, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x0f, 0xee, 0x00, 0x00, 0x77, 0xdf, 0x00, 0x00, 0x7b, 0xbe, 0x00, 0x00, 0x3c, 0x1c, 0xc0, 0xc4, 0x1c, 0x09, 0xe0, 0xce, 0x0c, 0x03, 0xc0, 0x66, 0x00, 0x03, 0x98, 0x63, 0x00, 0x01, 0x3c, 0x73, 0xc0, 0x00, 0x78, 0x38, 0xe0, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x20, 0x0e, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00 };

// 'mml', 30x30px const unsigned char heart_logo [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x7e, 0x00, 0x03, 0xfc, 0xff, 0x80, 0x07, 0xff, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // 'mml', 15x15px const unsigned char heart_logo_small_1 [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xf0, 0x3f, 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x1f, 0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // 'mml', 20x20px const unsigned char heart_logo_small_2 [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x9f, 0x00, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x0f, 0xff, 0x80, 0x0f, 0xff, 0x00, 0x07, 0xfe, 0x00, 0x03, 0xfc, 0x00, 0x01, 0xf8, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

// 'dsds', 30x30px const unsigned char black [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // 'ewew', 30x30px const unsigned char lung_logo [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x30, 0x00, 0x00, 0xfb, 0x7c, 0x00, 0x01, 0xf9, 0x7e, 0x00, 0x03, 0xfa, 0x7f, 0x00, 0x07, 0xfb, 0x7f, 0x80, 0x07, 0xfc, 0xff, 0xc0, 0x0f, 0x00, 0x03, 0xc0, 0x0f, 0x08, 0x61, 0xe0, 0x1e, 0x98, 0x76, 0xe0, 0x1f, 0xb8, 0x73, 0x70, 0x3f, 0x38, 0x71, 0xf0, 0x3e, 0xb8, 0x7d, 0xf0, 0x3e, 0xb8, 0x7e, 0xf0, 0x3d, 0xb8, 0x7e, 0x78, 0x3d, 0xf8, 0x77, 0x78, 0x3f, 0xf8, 0x7f, 0x78, 0x3f, 0xf8, 0x3f, 0x78, 0x3f, 0xf0, 0x3f, 0xf8, 0x3f, 0xe0, 0x0f, 0xf8, 0x3e, 0x00, 0x01, 0xf0, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // 'dsdsd', 30x30px const unsigned char o_logo [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3c, 0x30, 0x00, 0x00, 0x78, 0xec, 0x00, 0x00, 0x39, 0xc4, 0x00, 0x00, 0x01, 0x82, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0xfe, 0x20, 0x00, 0x01, 0xff, 0x80, 0x00, 0x03, 0xb1, 0xc0, 0x00, 0x07, 0xc0, 0xe0, 0x00, 0x07, 0x80, 0x60, 0x00, 0x07, 0x00, 0x60, 0x00, 0x0f, 0x00, 0x67, 0x80, 0x0c, 0x00, 0x6c, 0x80, 0x06, 0x00, 0x60, 0xc0, 0x06, 0x00, 0x60, 0x80, 0x07, 0x00, 0xc3, 0x80, 0x03, 0x81, 0xc7, 0x00, 0x01, 0xff, 0x86, 0x00, 0x00, 0x7e, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // 'asas', 30x30px const unsigned char o2_logo [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x07, 0xc0, 0xf8, 0x00, 0x0f, 0x00, 0x78, 0x00, 0x0f, 0x00, 0x3c, 0x00, 0x0e, 0x00, 0x3c, 0x00, 0x1e, 0x00, 0x1c, 0x00, 0x1e, 0x00, 0x1c, 0x00, 0x1e, 0x00, 0x1c, 0x00, 0x1e, 0x00, 0x1c, 0x00, 0x1e, 0x00, 0x1c, 0x00, 0x1e, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x3c, 0x00, 0x0f, 0x00, 0x3c, 0x00, 0x07, 0x80, 0x78, 0x00, 0x07, 0xe3, 0xf1, 0xc0, 0x03, 0xff, 0xe2, 0x60, 0x00, 0xff, 0xc0, 0x60, 0x00, 0x1e, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

Ubidots ubidots(UBIDOTS_TOKEN, UBI_HTTP); //Ubidots client(UBIDOTS_TOKEN); //Ubidots ubidots(UBIDOTS_TOKEN); EasyButton button(BUTTON_PIN,60,false,false); BlynkTimer timer;// creating timer WidgetRTC rtc;//creating real time clock WidgetLCD lcd(V3);

/===================== RTC ==========================/ BLYNK_CONNECTED() { rtc.begin();// Synchronize time on connection //getting current time from network Blynk.syncVirtual(V4); }

/===================== DECTECTING STATUS ==========================/ void onBeatDetected() { beat=1; Serial.println("beat"); last_beat=millis(); }

/===================== UPDATING MENU ==========================/ void update_menu() { if(millis()-button_timer>300) { menu++; button_timer=millis(); if(menu>5) { menu=1; } display.clearDisplay(); on_screen=millis(); }

} /===================== MENU 1: CLOCK_DISPLAY ==========================/ void clock_display() {

display.setTextColor(WHITE, BLACK); display.drawRect(117, 25, 3, 3, WHITE); // Put degree symbol ( ) draw_text(0, 25, "TEMPERATURE =", 1); draw_text(122, 25, "C", 1); /============Display Date=================/ display.setTextSize(1); display.setCursor(0,0); display.print(dayStr(weekday())); char currentDate [16]; uint8_t thisDay, thisMonth ; thisDay = day(); thisMonth = month(); sprintf (currentDate, "%02d/%02d/", thisDay, thisMonth); //add leading zeros to the day and month display.setTextSize(1); display.setCursor(62,0); display.print(currentDate); display.setTextSize(1); display.setCursor(102,0); display.print(year(), DEC); /================Display Time================/ char buffer [16]; uint8_t thisSec, thisMin, thisHour; thisSec = second(); thisMin = minute(); thisHour = hour(); sprintf (buffer, "%02d:%02d:%02d", thisHour, thisMin, thisSec); display.setCursor(0,9);

display.setTextSize(2); display.print(" "); display.setCursor(15,9); display.print(buffer); /=============Display Temperature=====================/ display.setTextSize(1); display.setCursor(82,25); display.print(Tc);

display.display(); lcd.print(0,0," ACTIVE "); lcd.print(0,1," TRACKER ");

} void draw_text(byte x_pos, byte y_pos, char *text, byte text_size) { display.setCursor(x_pos, y_pos); display.setTextSize(text_size); display.print(text); display.display(); }

/===================== MENU 2: HEART_RATE ==========================/ void heart_rate(int i) { if(i==1) { Serial.println("heart"); Serial.println(HRclean); display.clearDisplay(); display.setCursor(0,0); display.setTextSize(1); //display.setTextColor(WHITE); display.println("HEART RATE"); display.setTextSize(2); display.setCursor(0,9); display.print(HRclean); display.setCursor(0,25); display.setTextSize(1); display.print(" BPM"); if(heart_screen>=0 && heart_screen <5) {

display.drawBitmap(90, 0,black,30,30, WHITE);

display.drawBitmap(90, 0,heart_logo_small_1,15,15, WHITE);

} else if(heart_screen>=5 && heart_screen<10) { display.drawBitmap(90, 0,black,30,30, WHITE); display.drawBitmap(90, 0,heart_logo_small_2,20,20, WHITE);

} else if(heart_screen>=10 && heart_screen<15) { display.drawBitmap(90, 0,heart_logo, 30,30, WHITE);

} display.display(); heart_screen++; if(heart_screen>14) { heart_screen=0; } lcd.print(0, 0, " Heart Rate "); lcd.print(0,1," "); lcd.print(4, 1," "); lcd.print(4, 1,HRclean); lcd.print(7, 1,"Bpm "); }

}

/===================== MENU 3: OXYGEN_LEVEL ==========================/ void oxygen_level(int i) { if(i==1) { Serial.println("Oxygen"); Serial.println(SpO2); display.clearDisplay(); display.setCursor(0,0); display.setTextSize(1); //display.setTextColor(WHITE); display.println("Oxygen_level"); display.setTextSize(2); display.setCursor(0,9); display.print(SpO2); display.print("%"); if(oxygen_screen>=0 && oxygen_screen<10) { display.drawBitmap(90, 0,lung_logo, 30,30, WHITE);

} else if(oxygen_screen>=10 && oxygen_screen<20) {

display.drawBitmap(90, 0,o_logo,30,30, WHITE);

}

display.display(); oxygen_screen++; if(oxygen_screen>19) { oxygen_screen=1; } lcd.print(0, 0, " Oxygen_level "); lcd.print(0,1," "); lcd.print(5, 1," "); lcd.print(5,1,SpO2); lcd.print(8,1,"% "); }

}

/===================== MENU 4: TEMPERATURE ==========================/ void temperature(int i) {

Vo = analogRead(ThermistorPin); R2 = R1 (1023.0 / (float)Vo - 1.0); logR2 = log(R2); T = (1.0 / (c1 + c2logR2 + c3logR2logR2logR2)); Tc = T - 273.15; Tf = (Tc 9.0)/5.0 + 32.0; if(i==1) { Serial.print("Temperature: "); Serial.print(Tf); Serial.print(" F; "); Serial.print(Tc); Serial.println(" C");
display.clearDisplay(); display.setCursor(0,0); display.setTextSize(2); display.println(Tc,1); display.setCursor(50,0); display.setTextSize(1); display.print("o"); display.setCursor(60,0); display.setTextSize(2); display.print("C"); display.setCursor(0,16); display.println(Tf,1); display.setCursor(50,16); display.setTextSize(1); display.print("o"); display.setCursor(60,16); display.setTextSize(2); display.print("F"); display.drawBitmap(85, 0,thermometer, 33,32, WHITE); display.display();

lcd.print(0,0,"Body Temperature"); lcd.print(0,1,int(Tc)); lcd.print(3,1,"C "); lcd.print(8,1,int(Tf)); lcd.print(10,1,"F ");

} }

/===================== MENU 5: GPS_STATUS ==========================/ BLYNK_WRITE(V4) { GpsParam gps(param); sprintf(context,"lat=%.6f$lng=%.6f",gps.getLat(),gps.getLon()); sprintf(lattitude,"lat=%.6f",gps.getLat()); sprintf(longitude,"lng=%.6f",gps.getLon()); } void gps() {

Serial.println(lattitude); Serial.println(); Serial.println(longitude); display.clearDisplay(); display.setTextSize(1); display.setCursor(0,0); display.setTextSize(2); display.println(" GPS"); display.setTextSize(1); display.println(lattitude); display.println(longitude); display.drawBitmap(90, 0,satellite, 30,30, WHITE); display.display(); lcd.print(0,0,lattitude); lcd.print(0,1,longitude); lcd.print(13, 0," "); lcd.print(13, 1," ");

}

void ubi_dots() {

Serial.println(context); heart_rate(0); oxygen_level(0); temperature(0); ubidots.add("Temperature",Tf); // Change for your variable name ubidots.add("heart_rate",HRclean); ubidots.add("oxygen_level",SpO2); ubidots.send(); if( minute()%10==0) { ubidots.add("position",1.0,context); ubidots.send(); } Blynk.virtualWrite(V0,Tf); Blynk.virtualWrite(V1,HRclean); Blynk.virtualWrite(V2,SpO2); if(Tf>103) { Blynk.email("rengarider31@gmail.com", "Patient:Renga","Temperature is beyond normal"); } if(heart>103) { Blynk.email("rengarider31@gmail.com", "Patient:Renga","Heart rate is beyond normal"); } if(oxygen<90 &&oxygen >0) { Blynk.email("rengarider31@gmail.com", "Patient:Renga","Oxygen level is less than normal"); } Serial.println("data sent"); }

void setup() {

Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3D);
display.clearDisplay(); button.begin(); button.enableInterrupt(update_menu); // enabling interrupt to call update_menu function

pox.begin();
pox.setOnBeatDetectedCallback(onBeatDetected); 
pox.setIRLedCurrent(LED_CURRENT);  
sensor.setMode(MAX30100_MODE_SPO2_HR);
sensor.setLedsPulseWidth(PULSE_WIDTH);
sensor.setSamplingRate(SAMPLING_RATE); 

display.setTextSize(2); display.setTextColor(WHITE); display.println("CONNECTING"); display.println(" TO NET "); display.display(); delay(500); ubidots.wifiConnect(WIFI_SSID, WIFI_PASS); Blynk.begin(auth,WIFI_SSID,WIFI_PASS);// connecting to Network display.clearDisplay(); setSyncInterval(10* 60); //every 10min the system will sync the time from internet // timer.setInterval(60000L, clockDisplay); lcd.clear(); //Use it to clear the LCD Widget lcd.print(0,0," ACTIVE "); lcd.print(0,1," TRACKER ");

heart_rate(0); oxygen_level(0); temperature(0); }

void loop() { pox.update(); HRclean = pox.getHeartRate(); SpO2 = pox.getSpO2();

if(millis()-update_timer >60000) { update_timer=millis(); heart_rate(0); oxygen_level(0); temperature(0); ubi_dots(); } if(millis()-on_screen <60000) {
if(menu==1) { temperature(0); clock_display(); delay(100); } else if(menu==2) { heart_rate(1); delay(150); } else if(menu==3) { oxygen_level(1); delay(150); } else if(menu==4) { temperature(1); delay(150); } else if(menu==5) { gps(); delay(150); } else if(menu>5) { menu=1; } } else { Serial.println("sleep"); menu=0; display.clearDisplay(); display.display(); } Blynk.run();//communicate to mobile }

earlephilhower commented 2 years ago

You've ignored and deleted the template. This is not the appropriate place and there is no MCVE. Closing. Use gitter or esp8266.com for help on things like this, as the README.md and template says.

aldolo69 commented 1 year ago

have you found something? the same error happens here with the unmodified blynk sample code