Open GeorgeIoak opened 1 month ago
To experiment I commented out the section in the task to read the temps.
I'm using GPIO4
:
OneWire32 ds(4, 0, 1, 0); //gpio pin, tx, rx, parasite power
E (2124) rmt: rmt_config(686): set gpio for RMT driver failed
Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x4200179c: a5201110 f01d0016 101cc1a2```
Stack canary watchpoint triggered means that the stack size set to your task temp task is too smal
Sorry, I forgot to mention that I had increased the stack size:
xTaskCreatePinnedToCore(tempTask, "tempTask", 2048 * 2, NULL, 1, NULL, 0);
But maybe I need to go even higher, I'll try again later and report back
Try to make use of uxTaskGetStackHighWaterMark to monitor the stack size of your tasks
OK, thanks, that's a new command I haven't see yet, thanks for pointing it out.
I'm just running your default example for now and trying to get it to work.
I did adjust the stack size all the way up to 10K but it would still crash.
What doesn't make sense to me is that the crashes happen when I comment out the temp readings:
// ds.request();
// vTaskDelay(750 / portTICK_PERIOD_MS);
// for(byte i = 0; i < MaxDevs; i++){
// uint8_t err = ds.getTemp(addr[i], currTemp[i]);
// if(err){
// const char *errt[] = {"", "CRC", "BAD","DC","DRV"};
// Serial.print(i); Serial.print(": "); Serial.println(errt[err]);
// }else{
// Serial.print(i); Serial.print(": "); Serial.println(currTemp[i]);
// }
// }
// vTaskDelay(3000 / portTICK_PERIOD_MS);
// }```
The code crashes but if I run the full example code it doesn't crash but it still has the RMT configuration error
```E (2124) rmt: rmt_set_gpio(534): RMT CHANNEL ERR
E (2125) rmt: rmt_config(686): set gpio for RMT driver failed```
so something still isn't happy.
Your using channels 0/1 so I don't see how this could be a problem:
`OneWire32 ds(4, 0, 1, 0); //gpio pin, tx, rx, parasite power`
Note that I am not the author of the library, @junkfix is ;-) I happen to use it :-)
I have a ESP32-S3 board and I'm using Arduino IDE 2.3.2 but right now I have core 2.0.17 installed.
I installed your 1.0.7 version of the code and tried to run the example and when I do I see:
And if I decode the trace I get: