esp 32 BT qui plante et reboot l esp

Bonjour a tous :slight_smile:
donc notre code fonctionne mais au bout d un certain temps l esp redémarre sans aucune raison.
l alimentation délivre 1.5a max .
Et ce phénomène ne ce produit uniquement que en dialoguant par le BT

je vous joint un rapport debug du verbose.
tous ce passe bien il y avait beaucoup plus de transmission avant le crash j ai réduit pour que cela soit plus propre . Merci pour votre expertise :slight_smile:

[V][BluetoothSerial.cpp:83] esp_spp_cb(): ESP_SPP_WRITE_EVT
[V][BluetoothSerial.cpp:83] esp_spp_cb(): ESP_SPP_WRITE_EVT
.......
[V][BluetoothSerial.cpp:83] esp_spp_cb(): ESP_SPP_WRITE_EVT
[V][BluetoothSerial.cpp:83] esp_spp_cb(): ESP_SPP_WRITE_EVT
[V][BluetoothSerial.cpp:83] esp_spp_cb(): ESP_SPP_WRITE_EVT
[V][BluetoothSerial.cpp:83] esp_spp_cb(): ESP_SPP_WRITE_EVT
[V][BluetoothSerial.cpp:83] esp_spp_cb(): ESP_SPP_WRITE_EVT
ASSERT_PARAM(32768 0), in rwbt.c at line 265
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0)
Core 0 register dump:
PC : 0x400845ad PS : 0x00060034 A0 : 0x800879f8 A1 : 0x3ffc05b0
A2 : 0x00000001 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x60008054
A6 : 0x3ffc1030 A7 : 0x60008050 A8 : 0x800845ad A9 : 0x3ffc0590
A10 : 0x00000004 A11 : 0x00000000 A12 : 0x6000804c A13 : 0xffffffff
A14 : 0x00000000 A15 : 0xfffffffc SAR : 0x00000004 EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x400844e5 LEND : 0x400844ec LCOUNT : 0x00000000
Core 0 was running in ISR context:
EPC1 : 0x4015762a EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x400845ad

Backtrace: 0x400845ad:0x3ffc05b0 0x400879f5:0x3ffc05d0 0x40087c8f:0x3ffc05f0 0x400816cd:0x3ffc0610 0x40157627:0x00000000

Core 1 register dump:
PC : 0x4015762a PS : 0x00060b34 A0 : 0x8008b820 A1 : 0x3ffcf550
A2 : 0x00000008 A3 : 0x00000001 A4 : 0x00000001 A5 : 0x3ffcf080
A6 : 0x00000000 A7 : 0x00000001 A8 : 0x3ffc67cc A9 : 0x3ffc6790
A10 : 0x00000000 A11 : 0x80000001 A12 : 0x00000000 A13 : 0x00000001
A14 : 0x00060021 A15 : 0x00000000 SAR : 0x00000000 EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000

Backtrace: 0x4015762a:0x3ffcf550 0x4008b81d:0x3ffcf570

Rebooting...
ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:956
load:0x40078000,len:0
load:0x40078000,len:13256
entry 0x40078a90
The device started, now you can pair it with bluetooth!
[I][BluetoothSerial.cpp:47] esp_spp_cb(): ESP_SPP_INIT_EVT
[I][BluetoothSerial.cpp:62] esp_spp_cb(): ESP_SPP_START_EVT

.: INITIALISATION PAD :.

Test EEPROM ... OK
Test PERIFERIQUES ... OK
TERMINE AVEC SUCCES !`

eh bien pour mieux comprend le probleme montre ton code...

Tu fais du Wifi en même temps que le BT ? Il semble que l'ESP32 a du mal à gérer les deux en même temps. Si c'est le cas, éteint le Wifi avant d'allumer le BT.

Non non je ne fais que du BT avec cette version le code et immense je veux bien essayer de le poste en pieces jointes :slight_smile:
Merci

COM.h (16.9 KB)

DRIVER.H (4.28 KB)

DS3231.h (5.25 KB)

FAN.h (2.16 KB)

INA.H (13 KB)

LEDS.h (8.83 KB)

LM75.h (1000 Bytes)

MACROS.H (862 Bytes)

MOON.h (2.15 KB)

RECIFALX_ESP32_PCA_V1.002bt.ino (3.85 KB)

REGISTER.h (482 Bytes)

ROM.H (962 Bytes)

SYSTEM.h (8.92 KB)

VAR.h (4.81 KB)

@moijerem

je viens de voir ton intervention sur le github ESP32/Arduino..... il n'y a aps mieux comme expertise, là bas tu es en contact avec les développeurs et tu auras une réponse... il est probable qu'içi personne n'ait testé autant que toi le B classique sur ESP32 .... c'est ,ne l'oublions pas 'en chantier'......non abouti

Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0)

Cette ligne montre que le chien de garde (watch dog timer) a fait des siennnes ...probable bug , contournable ou pas ? la haut ils sauront dire !!

moijerem:
Non non je ne fais que du BT avec cette version le code et immense je veux bien essayer de le poste en pieces jointes :slight_smile:
Merci

Bonsoir
vu aussi comme Al1 ta question sur le github esp32

A suivre donc

"faut laisser là bête, s’épanouir dans son environnement" :smiley:

Pour information :slight_smile:

tiens dans le sujet il me fait afficher les (free heap) kesako ? :stuck_out_tongue:
j ai fais le test sur ma version sans Bt le free heap et stable il ne bouge pas contrairement a la version qui plante avec le Bt

Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0)

Cette erreur peut-être causée par un processus qui bloque le déroulement de l'OS qui tourne en tâche de fond.
Ne pas oublier que sous ton programme il y a toute la couche bas niveau qui assure la gestion du réseau (au sens large Wifi, BT, ...). Ton code doit rendre la main périodiquement pour que les tâches bas niveau puissent s'exécuter.

Cherche dans ton code s'il n'y a pas des boucles d'attente ou du code qui prendrait trop de temps à s'exécuter.
Je n'ai pas utilisé l'ESP32 dans l'environnement Arduino mais avec l'ESP8266 il fallait appeler périodiquement yield() pour que les tâches de fond puissent prendre la main à leur tour, peut-être un mécanisme du même style est-il nécessaire sur l'ESP32.