TTGO Micro-32
Posted: Thu Jan 17, 2019 5:56 pm
Hello lovely people!
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
The code right now crashes on the last line in this snippet. I was wondering if anyone has any info on this module or has experienced something like that. I've ran example rmt peripheral code (which doesn't use this specific API) on this module and even FastLED in Arduino environment, no problem. Very confused since I can't find any differences between the Micro-32 and other modules and this code definitely runs on everywhere else I've thrown it
Any ideas?
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?