mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-11 22:16:56 +03:00
* Testcase for #2145 and debug-log (#2151) * new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0 * Testcase for #2145 Added debug log, if allowNegativeRates is handeled * Fix timezone config parser (#2169) * make sure to parse the whole config line * fix crash on empty timezone parameter --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> * Enhance ROI pages (#2161) * Check if the ROIs are equidistant. Only if not, untick the checkbox * renaming * Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox * only allow editing space when box is checked * fix sync check * show inner frame on all ROIs * cleanup * Check if the ROIs have same dy and dx. If so, tick the sync checkbox * checkbox position * renaming * renaming * show inner frame and cross hairs on all ROIs * update ROIs on ticking checkboxes * show timezone hint * fix deleting last ROI * cleanup --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> * restart timeout on progress, catch error (#2170) * restart timeout on progress, catch error * . --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> * BugFix #2167 * Release 15.1 preparations (#2171) * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update changelog * Fix links to PR * Formating * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md * Update Changelog.md --------- Co-authored-by: Slider0007 <jobbelle@gmx.net> Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com> * fix typo * Replace relative documentation links with absolute ones pointing to the external documentation (#2180) Co-authored-by: CaCO3 <caco@ruinelli.ch> * Sort model files in configuration combobox (#2189) * new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0 * Testcase for #2145 Added debug log, if allowNegativeRates is handeled * Sort model files in combobox * reboot task - increase stack size (#2201) Avoid stack overflow * Update interface_influxdb.cpp * Update Changelog.md * Show PSRAM usage (#2206) * centralize PSRAM usage (application code only) * update logging * update logging * fix use after free * initialize buffer * free rgb_image before ussing it for new allocation * use wrapper function * switch log level to debug * . * undo adding free() calls * . * add names to all CImage instances * . * . * . * revert changes of stbi_image_free() with free_psram_heap() on the places where is is not in PSRAM * . * typos * typo * Added MQTT Outbox explanation/warning * added CONFIG_SPIRAM_USE_MEMMAP explanation --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> * Disable custom MQTT Outbox. This also moves the MQTT Publishing memory usage back to the internal RAM! * log MQTT connection refused reasons (#2216) * Revert PSRAM usage as it lead to memory fragmentation. See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details * fix missing value data * Revert PSRAM usage as it lead to memory fragmentation. (#2224) See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details Co-authored-by: CaCO3 <caco@ruinelli.ch> * Fix missing value data in graph (#2230) * fix missing value data --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> * Update Changelog.md (#2231) * Update interface_influxdb.cpp (#2233) * update copyright year * Cleanup * Set prevalue using MQTT + set prevalue to RAW value (REST+MQTT) (#2252) * Use double instead of float * Error handling + set to RAW if newvalue < 0 * REST SetPrevalue: Set to RAW if newvalue < 0 * set prevalue with MQTT * removed the stb_image files and re-add them as a submodule. (#2223) - stb_image.h: Version update 2.25 -> 2.28 - stb_resize.h: Version update 0.96 -> 0.97 - stb_write.h: Version update 1.14 -> 1.16 Co-authored-by: CaCO3 <caco@ruinelli.ch> * Remove obsolete ClassFlowWriteList (#2264) * Renaming & cleanup of some modules / functions in source code (#2265) * Rename module tag name * Rename server_tflite.cpp -> MainFlowControl.cpp * Remove redundandant MQTTMainTopic function * Update * Remove obsolete GetMQTTMainTopic * Fix last element missing in digit model drop down (#2282) * Debug influxdb (#2283) * Fix time offset issues in InfluxDB component. (#2278) Closes #2273 Closes #2150 * Update interface_influxdb.cpp * Update interface_influxdb.cpp * Improve Logging * Implement TimeSync at beginning * Update time_sntp.cpp * Update time_sntp.cpp * Set Time After WLAN Init --------- Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu> * Implement a camera livestream handler (#2286) * fix leading NaN (#2310) * analogROI: Activate save button after ROI creation (#2326) * Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305) * Migration to PlatformIO 6.1.0 * Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional! * moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore. * cleanup * fix leading NaN (#2310) * Migration to PlatformIO 6.1.0 * Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional! * moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore. * cleanup * Task watchdog has new config name * Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK! * add missing strucures to work around new RMTMEM restriction (untested) --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> * Keep MainFlowTask alive to handle reboot (#2325) * Shared PSRAM memory (#2285) * enable PSRAM logging * add extra functions for psram shared memroy handling * CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory * Place all STBI allocs inside the shared memory * The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions * . * renaming * fix cast warning * add flag to switch STBI PSRAM usage * improve PSRAM shared handling * reserve shared PSRAM as early as possible * init logging eralier so we can use it in PSRAM shared alloc * move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory * Check if model fits into reserved shared memory * Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_image_proc/CImageBasis.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * . * . * . * . * Korrektur Merge Conflict in main.cpp --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com> * fix PSRAM init return value check * Extend InfluxDBv1 with individual topic names (#2319) * Implement individual influx topic * Update interface_influxdb.cpp * Update interface_influxdb.cpp * Update FieldName * analogROI: Activate save button after ROI creation (#2326) * Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305) * Migration to PlatformIO 6.1.0 * Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional! * moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore. * cleanup * fix leading NaN (#2310) * Migration to PlatformIO 6.1.0 * Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional! * moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore. * cleanup * Task watchdog has new config name * Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK! * add missing strucures to work around new RMTMEM restriction (untested) --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> * Keep MainFlowTask alive to handle reboot (#2325) * Shared PSRAM memory (#2285) * enable PSRAM logging * add extra functions for psram shared memroy handling * CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory * Place all STBI allocs inside the shared memory * The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions * . * renaming * fix cast warning * add flag to switch STBI PSRAM usage * improve PSRAM shared handling * reserve shared PSRAM as early as possible * init logging eralier so we can use it in PSRAM shared alloc * move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory * Check if model fits into reserved shared memory * Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_image_proc/CImageBasis.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * Update code/components/jomjol_helper/psram.cpp * . * . * . * . * Korrektur Merge Conflict in main.cpp --------- Co-authored-by: CaCO3 <caco@ruinelli.ch> Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com> * fix PSRAM init return value check * Extend incl. indiv. Measurement * Implement UX * Update ClassFlowInfluxDBv2.cpp * Implement individual influx topic * Update interface_influxdb.cpp * Update interface_influxdb.cpp * Update FieldName * Extend incl. indiv. Measurement * Implement UX * Update ClassFlowInfluxDBv2.cpp * Update main.cpp --------- Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com> Co-authored-by: CaCO3 <caco3@ruinelli.ch> Co-authored-by: CaCO3 <caco@ruinelli.ch> * Update Changelog.md (#2344) * Update Changelog.md * Update Changelog.md * merge conflicts * merge conflicts * update changelog --------- Co-authored-by: Frank Haverland <fspapaping@googlemail.com> Co-authored-by: CaCO3 <caco@ruinelli.ch> Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com> Co-authored-by: Slider0007 <jobbelle@gmx.net> Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com> Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
215 lines
7.3 KiB
INI
215 lines
7.3 KiB
INI
; PlatformIO Project Configuration File
|
|
;
|
|
; Build options: build flags, source filter
|
|
; Upload options: custom upload port, speed and extra flags
|
|
; Library options: dependencies, extra library storages
|
|
; Advanced options: extra scripting
|
|
;
|
|
; Please visit documentation for the other options and examples
|
|
; https://docs.platformio.org/page/projectconf.html
|
|
|
|
[platformio]
|
|
src_dir = main
|
|
default_envs = esp32cam
|
|
|
|
[common:idf]
|
|
build_flags =
|
|
-DUSE_ESP_IDF
|
|
lib_deps =
|
|
|
|
[common:esp32-idf]
|
|
extends = common:idf
|
|
platform = platformio/espressif32 @ 6.1.0
|
|
framework = espidf
|
|
lib_deps =
|
|
${common:idf.lib_deps}
|
|
build_flags =
|
|
${common:idf.build_flags}
|
|
-Wno-nonnull-compare
|
|
-DUSE_ESP32
|
|
-DUSE_ESP32_FRAMEWORK_ESP_IDF
|
|
|
|
|
|
[flags:runtime]
|
|
build_flags =
|
|
-Wno-nonnull-compare
|
|
-Wno-sign-compare
|
|
-Wno-unused-but-set-variable
|
|
-Wno-unused-variable
|
|
-fno-exceptions
|
|
|
|
[flags:clangtidy]
|
|
build_flags =
|
|
-Wall
|
|
-Wextra
|
|
-Wunreachable-code
|
|
;-Wshadow-compatible-local
|
|
-fno-exceptions
|
|
|
|
; The main env - default
|
|
[env:esp32cam]
|
|
extends = common:esp32-idf
|
|
board = esp32cam
|
|
framework = espidf
|
|
build_flags =
|
|
; ### common imported :
|
|
${common:esp32-idf.build_flags}
|
|
${flags:runtime.build_flags}
|
|
; ### Sofware options : (can be set in defines.h)
|
|
-D ENABLE_MQTT
|
|
-D ENABLE_INFLUXDB
|
|
-D ENABLE_SOFTAP
|
|
board_build.partitions = partitions.csv
|
|
monitor_speed = 115200
|
|
monitor_rts = 0
|
|
monitor_dtr = 0
|
|
|
|
; full standalone dev mode
|
|
; As sample, the board is nod32s instead of esp32cam (do not change nothing in fact :)
|
|
; You can test newer platform_packages
|
|
; or flash mode (board_build.flash_mode = qio)
|
|
[env:esp32cam-dev]
|
|
extends = common:esp32-idf
|
|
board = esp32cam ; node32s
|
|
;board_build.flash_mode = qio ;generate SPI_FAST_FLASH_BOOT boot loop
|
|
build_flags =
|
|
; ### common imported :
|
|
${common:esp32-idf.build_flags}
|
|
${flags:clangtidy.build_flags}
|
|
; ### Sofware options : (can be set in defines.h)
|
|
-D ENABLE_MQTT
|
|
-D ENABLE_INFLUXDB
|
|
;-D ENABLE_SOFTAP
|
|
; ### Debug options :
|
|
;-D DEBUG_DETAIL_ON
|
|
;-D DEBUG_DISABLE_BROWNOUT_DETECTOR
|
|
;-D DEBUG_ENABLE_SYSINFO
|
|
;-D DEBUG_ENABLE_PERFMON
|
|
;-D DEBUG_HIMEM_MEMORY_CHECK
|
|
;### test options
|
|
-D CONFIG_ESP_TASK_WDT
|
|
;-D CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL
|
|
-D CONFIG_ESP_TASK_WDT_TIMEOUT_S ; fix for CONFIG_ESP_INT_WDT_TIMEOUT_MS
|
|
;-D USE_HIMEM_IF_AVAILABLE
|
|
framework = espidf
|
|
lib_ldf_mode = deep+
|
|
platform = platformio/espressif32 @ 5.2.0
|
|
platform_packages =
|
|
;platformio/framework-espidf @ 3.40402.0 (4.4.2)
|
|
;platformio/framework-espidf@^3.50000.0
|
|
;platformio/tool-cmake @ 3.16.4
|
|
;platformio/tool-cmake@^3.21.3
|
|
;platformio/tool-esptoolpy @ 1.40201.0 (4.2.1)
|
|
;platformio/tool-esptoolpy@^1.40400.0
|
|
;platformio/tool-idf @ 1.0.1
|
|
;platformio/tool-mconf @ 1.4060000.20190628 (406.0.0)
|
|
;platformio/tool-ninja @ 1.9.0
|
|
;platformio/tool-ninja @ 1.10.2
|
|
;platformio/toolchain-esp32ulp @ 1.22851.191205 (2.28.51)
|
|
;espressif/toolchain-esp32ulp @ 2.35.0-20220830
|
|
;platformio/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
|
|
;platformio/toolchain-xtensa-esp32 @ 11.2.0+2022r1
|
|
|
|
; platformio/espressif32 @ 5.3.0 dependencies :
|
|
;platformio/framework-espidf @ 3.40403.0
|
|
;platformio/tool-cmake @ 3.16.4
|
|
;platformio/tool-esptoolpy@^1.40400.0
|
|
;platformio/tool-idf @ 1.0.1
|
|
;platformio/tool-mconf @ 1.4060000.20190628
|
|
;platformio/tool-ninja @ 1.9.0
|
|
;espressif/toolchain-esp32ulp @ 2.35.0-20220830
|
|
;;;;espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
|
|
board_build.partitions = partitions.csv
|
|
monitor_speed = 115200
|
|
monitor_rts = 0
|
|
monitor_dtr = 0
|
|
|
|
|
|
; Activate all debug mode
|
|
; Cannot be used alone, but must be added at the end of extends = env:esp32cam-dev, esp32cam-debug
|
|
;If multiple items specified in the extends field then only values from the latter one will be used in the final configuration
|
|
;https://docs.platformio.org/en/stable/projectconf/section_env_advanced.html
|
|
[env:esp32cam-debug] ; activate all debug
|
|
;extends nothing, only apply sdkconfig.esp32-debug.defaults, enable debug options and clangtidy
|
|
build_flags =
|
|
; ### clangtidy build flags:
|
|
${flags:clangtidy.build_flags}
|
|
; ### Debug options :
|
|
-D DEBUG_DETAIL_ON
|
|
;-D DEBUG_DISABLE_BROWNOUT_DETECTOR
|
|
-D DEBUG_ENABLE_SYSINFO
|
|
-D DEBUG_ENABLE_PERFMON
|
|
;-D DEBUG_HIMEM_MEMORY_CHECK
|
|
;-D USE_HIMEM_IF_AVAILABLE
|
|
lib_ldf_mode = deep+
|
|
|
|
; Power management enabled
|
|
;https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/power_management.html
|
|
;https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/kconfig.html#config-pm-enable
|
|
[env:esp32cam-power-management]
|
|
build_flags =
|
|
-D TCONFIG_PM_ENABLE
|
|
-D CONFIG_PM_DFS_INIT_AUTO
|
|
-D CONFIG_FREERTOS_USE_TICKLESS_IDLE
|
|
;-D FREERTOS_IDLE_TIME_BEFORE_SLEEP=3
|
|
|
|
;**********************
|
|
; next section use modified version CMakeLists.txt of to use sdkconfig.<pioenv>.defaults + sdkconfig.defaults
|
|
; https://github.com/platformio/platform-espressif32/issues/638
|
|
|
|
|
|
; set board to rev3
|
|
[env:esp32cam-board-rev3]
|
|
extends = env:esp32cam-dev, esp32cam-debug
|
|
|
|
; set CPU frequency to 240 instead of 160 default
|
|
[env:esp32cam-cpu-freq-240]
|
|
extends = env:esp32cam-dev, esp32cam-debug
|
|
; sdkconfig.esp32cam-board-rev3.defaults override some sdkconfig.defaults
|
|
|
|
; set board to rev3 + CPU frequency to 240
|
|
; look at the extends : it takes esp32cam-dev and add env:esp32cam-board-rev3, env:esp32cam-cpu-freq-240 , esp32cam-debug parameters
|
|
[env:esp32cam-board-rev3-cpu-freq-240]
|
|
extends = env:esp32cam-dev, env:esp32cam-board-rev3, env:esp32cam-cpu-freq-240 , esp32cam-debug
|
|
|
|
; set board to rev3 + CPU frequency to 240 + power management
|
|
[env:esp32cam-board-rev3-cpu-freq-240-pow]
|
|
extends = env:esp32cam-dev, env:esp32cam-board-rev3, env:esp32cam-cpu-freq-240 , env:esp32cam-power-management, esp32cam-debug
|
|
|
|
; Enable use of 8 MB PSRAM boards
|
|
;https://github.com/espressif/esp-idf/blob/master/examples/system/himem/README.md
|
|
[env:esp32cam-dev-himem]
|
|
extends = env:esp32cam-dev, esp32cam-debug
|
|
; sdkconfig.esp32cam-dev-himem.defaults override some sdkconfig.defaults
|
|
build_flags =
|
|
-DBOARD_HAS_PSRAM
|
|
;-D DEBUG_HIMEM_MEMORY_CHECK
|
|
;-D USE_HIMEM_IF_AVAILABLE
|
|
|
|
; set options for task analysis (PR #1751)
|
|
[env:esp32cam-dev-task-analysis]
|
|
extends = env:esp32cam-dev, esp32cam-debug
|
|
; sdkconfig.esp32cam-dev-task-analysis.defaults override some sdkconfig.defaults
|
|
build_flags =
|
|
;-D DEBUG_DETAIL_ON ; if esp32cam-debug not in extends
|
|
-D TASK_ANALYSIS_ON
|
|
;please use only one HEAP tracing at time.
|
|
-D HEAP_TRACING_MAIN_WIFI
|
|
;-D HEAP_TRACING_MAIN_START
|
|
;-D HEAP_TRACING_CLASS_FLOW_CNN_GENERAL_DO_ALING_AND_CUT
|
|
|
|
|
|
; Overwrite espcam build_flags to not include ENABLE_SOFTAP
|
|
; Nor the -U ENABLE_SOFTAP nor -D ENABLE_SOFTAP=0 works to unset defines actually
|
|
; Set CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n in sdkconfig.esp32cam-no-softap.defaults to disable softap in the esp-idf compilation
|
|
[env:esp32cam-no-softap] ;CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n saves 28k of flash
|
|
extends = env:esp32cam
|
|
build_flags =
|
|
; ### common imported :
|
|
${common:esp32-idf.build_flags}
|
|
${flags:clangtidy.build_flags}
|
|
; ### Sofware options :
|
|
-D ENABLE_MQTT
|
|
-D ENABLE_INFLUXDB
|
|
;-D ENABLE_SOFTAP ; disabled
|