Hallo Andreas
Ich versuche terkin auf meinem BOBcad Board mit einem generic ESP32 zum laufen zu bekommen… bist jetzt noch nicht wirklich erfolgreich.
Hatte zuerst die aktuellste MicroPython 1.15 drauf, dann schnell runter auf 1.12 und mit dem letzten terkin release (terkin-datalogger-0.10.0-genuine-mpy-1.12) bekomm ich einen MemoryError:
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:4988
load:0x40078000,len:10404
load:0x40080400,len:5680
entry 0x400806bc
I (519) cpu_start: Pro cpu up.
I (519) cpu_start: Application information:
I (519) cpu_start: Compile time: Dec 20 2019 07:56:38
I (522) cpu_start: ELF file SHA256: 0000000000000000...
I (528) cpu_start: ESP-IDF: v4.0-beta1
I (533) cpu_start: Starting app cpu, entry point is 0x40083014
I (526) cpu_start: App cpu up.
I (544) heap_init: Initializing. RAM available for dynamic allocation:
I (551) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (557) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (563) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (569) heap_init: At 3FFBDB5C len 00000004 (0 KiB): DRAM
I (575) heap_init: At 3FFCC8A0 len 00013760 (77 KiB): DRAM
I (581) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (588) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (594) heap_init: At 40099FB8 len 00006048 (24 KiB): IRAM
I (600) cpu_start: Pro cpu start user code
I (619) spi_flash: detected chip: generic
I (619) spi_flash: flash io: dio
I (619) cpu_start: Chip Revision: 1
W (621) cpu_start: Chip revision is higher than the one configured in menuconfig. Suggest to upgrade it.
I (632) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
[boot.py] INFO: Python module search path is: ['', '/lib']
[boot.py] INFO: Universal MicroPython Application Loader (umal)
[umal] INFO: Python module search path is: ['/lib', '/dist-packages', '/lib-mpy', '']
[main.py] INFO: Loading settings
[main.py] INFO: Starting logging
[main.py] INFO: Loading Terkin Datalogger
[main.py] INFO: Loading modules
Traceback (most recent call last):
File "main.py", line 57, in <module>
File "main.py", line 37, in main
File "terkin/datalogger.py", line 16, in <module>
File "terkin/device.py", line 13, in <module>
File "terkin/telemetry/core.py", line 7, in <module>
File "urllib/parse.py", line 475, in <module>
File "urllib/parse.py", line 475, in <dictcomp>
MemoryError: memory allocation failed, allocating 376 bytes
MicroPython v1.12 on 2019-12-20; ESP32 module with ESP32
Du und @poesel hattet da ja auch schon Probleme damit (Portierung des Terkin-Datenlogger auf Genuine MicroPython für ESP32).
Dann bin ich auf diesen Hinweis mit dem build-firmware-esp32-generic gestossen, tu mir aber noch etwas schwer damit. Ich hab auf Windows 10 mit WSL die Sandbox installiert, aber ich find die passenden Pfade für die presets.mk nicht . Hast du da ein “konkretes” Beispiel?
# Firmware building
FWB_XTENSA_GCC ?= /path/to/xtensa-esp32-elf-1.22.0-98/bin
# Genuine MicroPython
FWB_MICROPYTHON_GENUINE ?= /path/to/micropython
FWB_ESPIDF_GENUINE ?= /path/to/esp-idf
Ich hab das Build System noch nicht wirklich verstanden… wollte nur sicher gehen, dass ich da nicht in eine Sackgasse gerate.
Oder anders gefragt, was ist aktuell der beste Weg terkin auf einem generic ESP32 zum Laufen zu bekommen?
Besten Dank und GN8!