This is an exported version of the OpenMRN library for the ESP32 which is usable as an ESP-IDF component.
More information about OpenMRN can be found here.
OpenMRN ESP-IDF Component
License: BSD 2-Clause "Simplified" License
This is an exported version of the OpenMRN library for the ESP32 which is usable as an ESP-IDF component.
More information about OpenMRN can be found here.
[HealthMon 00:01:00] Free heap: 143.43kB (max block size: 70.69kB), Free PSRAM: 0.00kB (max block size: 0.00kB), mainBufferPool: 0.59kB
[TWAI] RX:0 (pending:0,overrun:0,discard:0) TX:17 (pending:17,suc:0,fail:0) bus (arb-err:0,err:0,state:Running)
Re-enable cpu cache.
Guru Meditation Error: Core 1 panic'ed (Cache disabled but cached memory region accessed).
Core 1 register dump:
PC : 0x400f4674 PS : 0x00060034 A0 : 0x4008263c A1 : 0x3ffb0d10
0x400f4674: _ZL35twai_hal_set_tx_buffer_and_transmitP18twai_hal_context_tP22twai_ll_frame_buffer_t$constprop$11 at OpenMRNLite/src/freertos_drivers/esp32/Esp32TwaiHal.hxx:1285
0x4008263c: _xt_lowint1 at esp-idf/components/freertos/xtensa/xtensa_vectors.S:1105
A2 : 0x00000400 A3 : 0x3ffb46a0 A4 : 0x3ffb3984 A5 : 0x3ffb4698
A6 : 0xffffffdf A7 : 0x1300004d A8 : 0x80082c02 A9 : 0x3ffb0cf0
A10 : 0x3ffb0d1f A11 : 0x00000000 A12 : 0x3ffb0d18 A13 : 0x00000001
A14 : 0x3ffc3e98 A15 : 0x00060021 SAR : 0x00000000 EXCCAUSE: 0x00000007
EXCVADDR: 0x00000000 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff
Backtrace:0x400f4671:0x3ffb0d10 0x40082639:0x3ffb0d50 0x4008324a:0x3ffba610 0x400831bc:0x3ffba630
0x400f4671: vfs_fcntl(int, int, int) at OpenMRNLite/src/freertos_drivers/esp32/Esp32Twai.cpp:414
0x40082639: _xt_lowint1 at esp-idf/components/freertos/xtensa/xtensa_vectors.S:1105
0x4008324a: spi_flash_op_block_func at esp-idf/components/spi_flash/cache_utils.c:104
0x400831bc: ipc_task at esp-idf/components/esp_ipc/ipc.c:62
[WiFi] [2/36] Waiting for IP address assignment.
[WiFi] IP address is xx.xx.xx.xx, starting hub (if enabled) and uplink
[mDNS] Initializing mDNS system
[mDNS] Setting mDNS hostname to "esp32olcbhub_5020103ffff"
[httpd] Starting HTTP listener on port 80
[Hub] Starting TCP/IP listener on port 12021
Listening on port 80, fd 48
Listening on port 12021, fd 49
[mDNS] Advertising _http._tcp:80.
[Hub] Shutting down TCP/IP listener
[mDNS] Advertising _openlcb-can._tcp:12021.
Shutdown listening socket 12021.
[mDNS] Removing advertisement of _openlcb-can._tcp.
[Hub] Starting TCP/IP listener on port 12021
Listening on port 12021, fd 49
[mDNS] Failed to advertise _openlcb-can._tcp:12021 due to: ESP_ERR_INVALID_ARG (258)
It would be helpful to set the Hub/Uplink to enable/disable inside the firmware so that it is not necessary to reconfigure it later, whether if the CAN, or the Web interface are not available.
Shutdown listening socket 12021.
[mDNS] Removing advertisement of _openlcb-can._tcp.
[Uplink] Disconnecting from uplink.
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0).
Core 0 register dump:
PC : 0x40089914 PS : 0x00060b34 A0 : 0x800884d9 A1 : 0x3ffc8460
A2 : 0x3ffc08a4 A3 : 0x3ffc8658 A4 : 0x00000ca3 A5 : 0x3f4068b6
A6 : 0x00000001 A7 : 0x3ffd59c4 A8 : 0x3ffc8658 A9 : 0x00000008
A10 : 0x3ffc8658 A11 : 0x00000008 A12 : 0x00060b23 A13 : 0x00060b23
A14 : 0x00000001 A15 : 0x00000001 SAR : 0x00000008 EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x4000142d LEND : 0x4000143a LCOUNT : 0xffffffde
Backtrace:0x40089911:0x3ffc8460 0x400884d6:0x3ffc8480 0x40089f5c:0x3ffc84a0 0x400d72c5:0x3ffc84e0 0x400f03d3:0x3ffc8500 0x400f12f5:0x3ffc8530 0x400f15f9:0x3ffc8560 0x400f5441:0x3ffc8580 0x400fa9a3:0x3ffc85a0
Core 1 register dump:
PC : 0x400882fa PS : 0x00060034 A0 : 0x400877bf A1 : 0x3ffbec10
A2 : 0x00000000 A3 : 0x00050023 A4 : 0x0000cdcd A5 : 0xb33fffff
A6 : 0x0000cdcd A7 : 0x0000abab A8 : 0x3ffb116c A9 : 0x00060023
A10 : 0x00000000 A11 : 0x3f406992 A12 : 0x00000014 A13 : 0x3ffb0d10
A14 : 0x3ffb0d58 A15 : 0x00000001 SAR : 0x00000000 EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace:0x400882f7:0x3ffbec10 0x400877bc:0x3ffbec30 0x40087772:0xa5a5a5a5 |<-CORRUPTED
Core 0:
stack :
0: 0x400884d6: vTaskPlaceOnEventList at C:/espressif/esp-idf/components/freertos/tasks.c:2905 (discriminator 2)
0: 0x40089f5c: xQueueGenericReceive at C:/espressif/esp-idf/components/freertos/queue.c:1595
0: 0x400d72c5: os_mutex_lock at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/os/os.h:551
\-> inlined by: OSMutexLock::OSMutexLock(OSMutex*) at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/os/OS.hxx:499
0: 0x400f03d3: ActiveTimers::update_timer(Timer*) at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/executor/Timer.cpp:176
0: 0x400f12f5: SocketClient::shutdown() at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/executor/Timer.hxx:236
\-> inlined by: ?? at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/executor/Timer.hxx:242
\-> inlined by: ?? at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/utils/SocketClient.hxx:209
\-> inlined by: SocketClient::shutdown() at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/utils/SocketClient.hxx:162
0: 0x400f15f9: openmrn_arduino::Esp32WiFiManager::stop_uplink() at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/freertos_drivers/esp32/Esp32WiFiManager.cpp:908
\-> inlined by: openmrn_arduino::Esp32WiFiManager::stop_uplink() at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/freertos_drivers/esp32/Esp32WiFiManager.cpp:903
0: 0x400f5441: openmrn_arduino::Esp32WiFiManager::wifi_manager_task(void*) at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/freertos_drivers/esp32/Esp32WiFiManager.cpp:816
0: 0x400fa9a3: os_thread_start at r:\code\esp32olcbhub\build/../components/OpenMRNLite/src/os/os.c:391
Core 1
stack:
0: 0x400877bc: _frxt_dispatch at C:/espressif/esp-idf/components/freertos/xtensa/portasm.S:431
0: 0x40087772: _frxt_int_exit at C:/espressif/esp-idf/components/freertos/xtensa/portasm.S:231
I got it to work by altering the code https://github.com/atanisoft/esp32olcbhub/blob/66fb56b66f4bd59296d9ff54757bca0d97f32c1c/main/esp32olcbhub_stack.cpp#L78-L88 so it resembles the ESP32CommandStation
new Esp32WiFiManager(ssid_.c_str(), password_.c_str()
, stack_, cfg_.seg().wifi_lcc(), CONFIG_HOSTNAME_PREFIX
, mode_, stationIP_.get(), stationDNS_
, CONFIG_WIFI_SOFT_AP_CHANNEL));
Basically the AP appears to be running in the Open mode without a password. Although in the ESP32CS, password and SSID for both AP and STA were being set to the same values earlier in the code (esp32cs).
Originally posted by @TrainzLuvr in https://github.com/atanisoft/esp32olcbhub/issues/7#issuecomment-723383431
../managed_components/OpenMRNIDF/src/freertos_drivers/esp32/Esp32HardwareI2C.cpp: In member function 'void openmrn_arduino::Esp32HardwareI2C::scan(i2c_port_t)':
../managed_components/OpenMRNIDF/src/freertos_drivers/esp32/Esp32HardwareI2C.cpp:239:45: error: too many arguments for format [-Werror=format-extra-args]
239 | scanresults.append(StringPrintf("\n02x: ", addr));
| ^~~~~~~~~
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.