esp32-vga-experiment
esp32-vga-experiment copied to clipboard
Build errors, am I doing it wrong ?
I can't seem to build it ?
``CC build/main/my_spi.o CXX build/main/my_rmt.o /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:11:8: error: 'rmt_item16_t' does not name a type static rmt_item16_t* myrmt_writeItem(rmt_item16_t* pItem, rmt_item16_t* pItemEnd, int32_t duration, int level) { ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:29:8: error: 'rmt_item16_t' does not name a type static rmt_item16_t* myrmt_writePadding(rmt_item16_t* pItem, rmt_item16_t* pItemTop, rmt_item16_t* pItemEnd) { ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp: In function 'esp_err_t myrmt_setup_pulse_output(rmt_channel_t, gpio_num_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t*)': /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:55:42: error: 'rmt_item16_t' does not name a type auto* const pItemTop = reinterpret_cast<rmt_item16_t*>(items.data()); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:55:54: error: expected '>' before '' token auto const pItemTop = reinterpret_cast<rmt_item16_t*>(items.data()); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:55:54: error: expected '(' before '' token /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:55:55: error: expected primary-expression before '>' token auto const pItemTop = reinterpret_cast<rmt_item16_t*>(items.data()); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:55:70: error: expected ')' before ';' token auto* const pItemTop = reinterpret_cast<rmt_item16_t*>(items.data()); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:56:42: error: 'rmt_item16_t' does not name a type auto* const pItemEnd = reinterpret_cast<rmt_item16_t*>(std::end(items)); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:56:54: error: expected '>' before '' token auto const pItemEnd = reinterpret_cast<rmt_item16_t*>(std::end(items)); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:56:54: error: expected '(' before '' token /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:56:55: error: expected primary-expression before '>' token auto const pItemEnd = reinterpret_cast<rmt_item16_t*>(std::end(items)); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:56:73: error: expected ')' before ';' token auto* const pItemEnd = reinterpret_cast<rmt_item16_t*>(std::end(items)); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:58:12: error: unable to deduce 'auto*' from 'pItemTop' auto* p = pItemTop; ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:60:52: error: 'myrmt_writeItem' was not declared in this scope p = myrmt_writeItem(p, pItemEnd, durationA, levelA); ^ /home/jon/x/esp32-vga-experiment-master/main/my_rmt.cpp:62:46: error: 'myrmt_writePadding' was not declared in this scope p = myrmt_writePadding(p, pItemTop, pItemEnd); ^ /home/jon/esp-idf/make/component_wrapper.mk:285: recipe for target 'my_rmt.o' failed make[1]: *** [my_rmt.o] Error 1 /home/jon/esp-idf/make/project.mk:505: recipe for target 'component-main-build' failed make: *** [component-main-build] Error 2
Please use latest release version v3.1.3
.
If you've installed ESP-IDF with procedure in the document of ESP-IDF, you can change your ESP-IDF by the following command
cd ~/esp/esp-idf
git pull
git checkout v3.1.3
git submodule update
It seems you're using development version of ESP-IDF.
But commit 409c91 removes struct rmt_item16_t
and breaks ESP-IDF ABI without proper semver changing.
Since I haven't touched ESP-IDF for a while, I don't know the reason. Please ask comitter @david-cermak or ESP-IDF team.
Thank you, very helpful, builds fine now :-)