Search found 341 matches

by mzimmers
Thu Apr 18, 2019 5:39 pm
Forum: ESP32 IDF
Topic: (resolved) I2C call panicking system
Replies: 29
Views: 2504

Re: I2C call panicking system

How so? I use queues for inter-task communication. But my structures are small, and every event loop has a wait at the end. Hard to see how I'd be overconsuming resources with these, especially given how much heap I seem to have available.
by mzimmers
Thu Apr 18, 2019 4:44 pm
Forum: ESP32 IDF
Topic: (resolved) I2C call panicking system
Replies: 29
Views: 2504

Re: I2C call panicking system

Essentially, yes. The program does a few other things (looks at queues for entries), but when the device is left alone, as it was in this case, not much else is really happening. I could try regressing to 3.1.3, though I remember trying that once, and it was a pretty big hassle. And as I recall, I w...
by mzimmers
Thu Apr 18, 2019 2:54 pm
Forum: ESP32 IDF
Topic: (resolved) I2C call panicking system
Replies: 29
Views: 2504

Re: I2C call panicking system

Also, just wanted to make sure that the function was expecting the address of a 16 bit variable instead of an int. Which function? Here's the complete code for the function that reads the registers of the external device via I2C: esp_err_t Max77818::readReg(uint8_t devAddr, uint8_t regAddr, uint16_...
by mzimmers
Thu Apr 18, 2019 2:44 pm
Forum: ESP32 IDF
Topic: (resolved) I2C call panicking system
Replies: 29
Views: 2504

Re: I2C call panicking system

Hi - yes I did: the results never moved: I (619406) memreport: memReport(): there are 114124 MALLOC_CAP_8BIT bytes free. I (619406) memreport: memReport(): there are 163988 MALLOC_CAP_32BIT bytes free. I (619406) memreport: memReport(): there are 163988 MALLOC_CAP_INTERNAL bytes free. I (619416) mem...
by mzimmers
Thu Apr 18, 2019 2:34 pm
Forum: ESP32 IDF
Topic: (resolved) I2C call panicking system
Replies: 29
Views: 2504

Re: I2C call panicking system

I left this running overnight...it's definitely more reliable than it was, but I still get an occasional error like this: E (2085053) i2c: i2c command link malloc error abort() was called at PC 0x4015c4ab on core 1 I make a series of calls to the i2c library every half second, and according to the t...
by mzimmers
Wed Apr 17, 2019 8:48 pm
Forum: ESP32 IDF
Topic: (resolved) I2C malloc error
Replies: 11
Views: 1496

Re: I2C malloc error

Marking as resolved. While I can't rule out a problem with the I2C library, no one else seems to be having a problem with it, so I'm going to assume it's something in my code.
by mzimmers
Wed Apr 17, 2019 8:28 pm
Forum: ESP32 IDF
Topic: (resolved) I2C call panicking system
Replies: 29
Views: 2504

Re: I2C call panicking system

It's almost surely not a memory leak: I (147593) memreport: memReport(): there are 114072 MALLOC_CAP_8BIT bytes free. I (147593) memreport: memReport(): there are 163936 MALLOC_CAP_32BIT bytes free. I (147593) memreport: memReport(): there are 163936 MALLOC_CAP_INTERNAL bytes free. I (147603) memrep...
by mzimmers
Wed Apr 17, 2019 6:33 pm
Forum: ESP32 IDF
Topic: (resolved) I2C call panicking system
Replies: 29
Views: 2504

Re: I2C call panicking system

Hi Jason - Thanks for the valuable information. I think you might be onto something regarding the IDLE task. While I don't do any task deletion (I create several at start-up), I wonder if the IDLE task is also responsible for memory management. I don't think any of my tasks should be running continu...
by mzimmers
Wed Apr 17, 2019 5:25 pm
Forum: ESP32 IDF
Topic: (resolved) I2C call panicking system
Replies: 29
Views: 2504

Re: I2C call panicking system

Hi Fly - here's the prototype: esp_err_t readReg(uint8_t devAddr, uint8_t regAddr, uint16_t *data); As I was preparing to produce a minimal example, a thought occurred to me. I moved the code that caused the problem to the top of my app_main(), and it works. I now believe that I may be running out o...
by mzimmers
Wed Apr 17, 2019 3:14 am
Forum: ESP32 IDF
Topic: (resolved) is there a way to make a function uninterruptible?
Replies: 10
Views: 932

Re: is there a way to make a function uninterruptible?

Oh duh...I should have seen that.

I may have multiple problems...sometimes I get heap poisoning messages. But I have a telltale that should print if there's less than 1K heap left at the top of this routine.

Go to advanced search