After over a year of working with WROOM modules, I finally spun up a board for the TTGO micro esp module. I've been able to find next to no documentation for that specific module aside from the one-photo pinout and spec summary that's posted in several places.
My board seems to function as expected but I found the strangest thing - the esp-idf codebase I've had working on multiple other modules and dev boards crashes on the micro-32. Specifically, it crashes on rmt peripheral code that's being used to drive some addressable LEDs. There's not much info other than a core panic and crash, currently happens in the following snippet
Code: Select all
for (int i = 0; i < NUM_STRIPS; i++) {
//The line bellow was crashing and but works once I remove the static_cast
// rmt_set_pin(static_cast<rmt_chanel_t>(i), RMT_MODE_TX, static_cast<gpio_num_t>(gpioNum[i]));
rmt_set_pin((rmt_channel_t)i, RMT_MODE_TX, (gpio_num_t)gpioNum[i]);
initRMTChannel(i);
RMT.tx_lim_ch[i].limit = MAX_PULSES;
}
RMT.int_ena.ch0_tx_thr_event = 1;
//According to the register prints, this is the line that causes a core panic, Illegal instruction
RMT.int_ena.ch7_tx_end = 1;
Any ideas?