B001-V3 works with it now
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/build/
|
||||
@@ -1 +1 @@
|
||||
14ab08b034b673e117efa123c47785cb C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin
|
||||
48564bd21f9eadc785deb337f57c02cc C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin
|
||||
|
||||
Binary file not shown.
3271
build/.ninja_log
3271
build/.ninja_log
File diff suppressed because it is too large
Load Diff
@@ -35,7 +35,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
Detecting C compiler ABI info compiled with the following output:
|
||||
Change Dir: C:/data/stockcropper-sw-playground/SC-F001/build/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):C:/Espressif/tools/ninja/1.11.1/ninja.exe cmTC_d7693 && [1/2] Building C object CMakeFiles/cmTC_d7693.dir/CMakeCCompilerABI.c.obj
|
||||
Run Build Command(s):C:/Espressif/tools/ninja/1.11.1/ninja.exe cmTC_5177b && [1/2] Building C object CMakeFiles/cmTC_5177b.dir/CMakeCCompilerABI.c.obj
|
||||
Using built-in specs.
|
||||
|
||||
COLLECT_GCC=C:\Espressif\tools\xtensa-esp-elf\esp-13.2.0_20240530\xtensa-esp-elf\bin\xtensa-esp-elf-gcc.exe
|
||||
@@ -43,8 +43,8 @@ Configured with: /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-
|
||||
Target: xtensa-esp-elf
|
||||
|
||||
Configured with: /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-host_w64-mingw32 --target=xtensa-esp-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-native-system-header-dir=/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-13.2.0_20240530' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes --with-gnu-ld
|
||||
|
||||
Thread model: posix
|
||||
|
||||
Thread model: posix
|
||||
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
|
||||
@@ -61,12 +61,12 @@ ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240
|
||||
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"
|
||||
|
||||
ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"
|
||||
|
||||
@@ -77,9 +77,9 @@ Supported LTO compression algorithms: zlib zstd
|
||||
#include <...> search starts here:
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed
|
||||
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include
|
||||
|
||||
End of search list.
|
||||
@@ -100,7 +100,7 @@ Parsed C implicit link information from above output:
|
||||
|
||||
[2/2] Linking C executable cmTC_5177b
|
||||
Using built-in specs.
|
||||
|
||||
|
||||
COLLECT_GCC=C:\Espressif\tools\xtensa-esp-elf\esp-13.2.0_20240530\xtensa-esp-elf\bin\xtensa-esp-elf-gcc.exe
|
||||
|
||||
COLLECT_LTO_WRAPPER=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/lto-wrapper.exe
|
||||
@@ -108,8 +108,8 @@ Parsed C implicit link information from above output:
|
||||
Target: xtensa-esp-elf
|
||||
|
||||
Configured with: /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-host_w64-mingw32 --target=xtensa-esp-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-native-system-header-dir=/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-13.2.0_20240530' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes --with-gnu-ld
|
||||
|
||||
Thread model: posix
|
||||
|
||||
Thread model: posix
|
||||
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
|
||||
@@ -126,8 +126,8 @@ Parsed C implicit link information from above output:
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'cmTC_5177b' '-dumpdir' 'cmTC_5177b.'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Parsed C implicit include dir info from above output: rv=done
|
||||
@@ -138,8 +138,8 @@ Parsed C implicit link information from above output:
|
||||
add: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include]
|
||||
end of search list found
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include]
|
||||
implicit include dirs: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include]
|
||||
|
||||
|
||||
@@ -158,13 +158,13 @@ Parsed C implicit link information from above output:
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_5177b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_5177b.dir/']
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/cc1.exe -quiet -v -imultilib esp32 -iprefix C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/ -isysroot C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf C:/Espressif/tools/cmake/3.24.0/share/cmake-3.24/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_5177b.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mdynconfig=xtensa_esp32.so -mlongcalls -Wno-frame-address -version -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -o C:\Users\Thad\AppData\Local\Temp\ccYjPCzW.s]
|
||||
ignore line: [GNU C17 (crosstool-NG esp-13.2.0_20240530) version 13.2.0 (xtensa-esp-elf)]
|
||||
ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.2.1 MPFR version 4.2.1 MPC version 1.2.1 isl version isl-0.26-GMP]
|
||||
ignore line: []
|
||||
ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.2.1 MPFR version 4.2.1 MPC version 1.2.1 isl version isl-0.26-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"]
|
||||
ignore line: [ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
@@ -173,7 +173,7 @@ Parsed C implicit link information from above output:
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Compiler executable checksum: d64ad5301bd1e6c0b5847b69f54c709a]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_d7693.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_d7693.dir/']
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_5177b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_5177b.dir/']
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/as.exe --traditional-format --longcalls --dynconfig=xtensa_esp32.so -o CMakeFiles/cmTC_5177b.dir/CMakeCCompilerABI.c.obj C:\Users\Thad\AppData\Local\Temp\ccYjPCzW.s]
|
||||
ignore line: [COMPILER_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/]
|
||||
@@ -184,7 +184,7 @@ Parsed C implicit link information from above output:
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_5177b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_5177b.dir/CMakeCCompilerABI.c.'
|
||||
]
|
||||
@@ -213,7 +213,7 @@ Parsed C implicit link information from above output:
|
||||
arg [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/collect2.exe] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/liblto_plugin.dll] ==> ignore
|
||||
arg [-plugin-opt=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/lto-wrapper.exe] ==> ignore
|
||||
arg [-plugin-opt=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/lto-wrapper.exe] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=C:\Users\Thad\AppData\Local\Temp\cca2joP3.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
@@ -221,8 +221,8 @@ Configured with: /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [--sysroot=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf] ==> ignore
|
||||
arg [--dynconfig=xtensa_esp32.so] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [--dynconfig=xtensa_esp32.so] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_5177b] ==> ignore
|
||||
arg [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/crt0.o] ==> obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/crt0.o]
|
||||
arg [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o] ==> obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o]
|
||||
@@ -245,12 +245,12 @@ ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/crt0.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib/esp32/crt0.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtbegin.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtbegin.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib/esp32]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib/esp32]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib/esp32]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib]
|
||||
@@ -261,9 +261,9 @@ Supported LTO compression algorithms: zlib zstd
|
||||
|
||||
|
||||
Detecting CXX compiler ABI info compiled with the following output:
|
||||
Change Dir: C:/data/stockcropper-sw-playground/SC-F001/build/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):C:/Espressif/tools/ninja/1.11.1/ninja.exe cmTC_59200 && [1/2] Building CXX object CMakeFiles/cmTC_59200.dir/CMakeCXXCompilerABI.cpp.obj
|
||||
Change Dir: C:/data/stockcropper-sw-playground/SC-F001/build/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):C:/Espressif/tools/ninja/1.11.1/ninja.exe cmTC_16d73 && [1/2] Building CXX object CMakeFiles/cmTC_16d73.dir/CMakeCXXCompilerABI.cpp.obj
|
||||
Using built-in specs.
|
||||
|
||||
COLLECT_GCC=C:\Espressif\tools\xtensa-esp-elf\esp-13.2.0_20240530\xtensa-esp-elf\bin\xtensa-esp-elf-g++.exe
|
||||
@@ -290,7 +290,7 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0"
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32"
|
||||
|
||||
@@ -298,8 +298,8 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"
|
||||
|
||||
ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"
|
||||
|
||||
ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"
|
||||
@@ -322,8 +322,8 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include
|
||||
|
||||
End of search list.
|
||||
|
||||
End of search list.
|
||||
|
||||
Compiler executable checksum: fef331317bf98486f9f2a23f1937f65a
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_16d73.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_16d73.dir/'
|
||||
@@ -334,8 +334,8 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
LIBRARY_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_59200.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_59200.dir/CMakeCXXCompilerABI.cpp.'
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_16d73.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_16d73.dir/CMakeCXXCompilerABI.cpp.'
|
||||
|
||||
[2/2] Linking CXX executable cmTC_16d73
|
||||
Using built-in specs.
|
||||
|
||||
@@ -354,13 +354,13 @@ Parsed CXX implicit link information from above output:
|
||||
gcc version 13.2.0 (crosstool-NG esp-13.2.0_20240530)
|
||||
|
||||
COMPILER_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/
|
||||
|
||||
LIBRARY_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
|
||||
LIBRARY_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'cmTC_16d73' '-dumpdir' 'cmTC_16d73.'
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/collect2.exe -plugin C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/liblto_plugin.dll -plugin-opt=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\Thad\AppData\Local\Temp\ccb4q5ej.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf --dynconfig=xtensa_esp32.so -o cmTC_16d73 C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/crt0.o C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtbegin.o -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32 -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32 -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32 -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0 -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib CMakeFiles/cmTC_16d73.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm -lgcc -lc -lnosys -lc -lgcc C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o
|
||||
|
||||
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'cmTC_16d73' '-dumpdir' 'cmTC_16d73.'
|
||||
|
||||
@@ -369,7 +369,7 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
|
||||
Parsed CXX implicit include dir info from above output: rv=done
|
||||
found start of include info
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0]
|
||||
add: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32]
|
||||
@@ -380,7 +380,7 @@ Parsed CXX implicit link information from above output:
|
||||
end of search list found
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/backward] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/backward]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/backward] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/backward]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include]
|
||||
@@ -411,14 +411,14 @@ Parsed CXX implicit link information from above output:
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"]
|
||||
ignore line: [ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/backward]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/backward]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed]
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include]
|
||||
ignore line: [End of search list.]
|
||||
@@ -445,8 +445,8 @@ int main(void)
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 13.2.0 (crosstool-NG esp-13.2.0_20240530) ]
|
||||
ignore line: [COMPILER_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/]
|
||||
ignore line: [COMPILER_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/]
|
||||
ignore line: [LIBRARY_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/]
|
||||
|
||||
@@ -1 +1 @@
|
||||
12092de236068d70eba4ca1551024ef76f736935
|
||||
856cc0528d63d828831c50083bde98242cf10ff8
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
98272fd366dee314d04e20fe25d193d5 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin
|
||||
5642735a7b506645c068eaf135bc677e C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin
|
||||
|
||||
Binary file not shown.
@@ -1,168 +1,184 @@
|
||||
# ninja log v5
|
||||
944 1346 7873441422389671 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj f56b8fe4ba85aa1d
|
||||
185 375 7873441412961890 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2c_periph.c.obj c32934bbd5093be
|
||||
17 77 7873441409799974 project_elf_src_esp32.c 2cf9fac49935fc83
|
||||
48 185 7873441410942143 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dport_access.c.obj 2676f63eb79f0b46
|
||||
17 77 7873441409799974 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/project_elf_src_esp32.c 2cf9fac49935fc83
|
||||
36 161 7873441410747576 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj 940343198eaa9eca
|
||||
26 212 7873441411301188 esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj 1260aafecb7d261e
|
||||
842 1490 7873441423552485 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32.c.obj 595b6122b41f595
|
||||
1149 1463 7873441423482670 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj 37c183ebd2bf19a3
|
||||
361 670 7873441415714077 esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32/efuse_hal.c.obj 985736f88d532fac
|
||||
23 174 7873441410857273 esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj 8461276514edb7
|
||||
52 224 7873441411386108 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/adc_periph.c.obj 90466609b931b46f
|
||||
32 179 7873441410952118 esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj 30887cd509cd34f1
|
||||
733 1170 7873441420829959 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj 6a87a7aaaa5c9397
|
||||
931 1266 7873441421639585 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj 53ba4bc24edce802
|
||||
29 190 7873441411001986 esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj a83f4a1bb9519946
|
||||
191 355 7873441412722530 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/timer_periph.c.obj 1b796c82229f138e
|
||||
629 968 7873441418869900 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj 69e4911e66e8b1e1
|
||||
77 196 7873441411071801 CMakeFiles/bootloader.elf.dir/project_elf_src_esp32.c.obj d06c65e4499b318d
|
||||
44 207 7873441411251316 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/uart_periph.c.obj a6ecf472eff7d0a5
|
||||
40 218 7873441411291212 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj 16feacaa725f2d44
|
||||
233 393 7873441413141428 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/twai_periph.c.obj 565e741fb072a877
|
||||
57 233 7873441411535712 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/emac_periph.c.obj eec25e951488efe7
|
||||
61 260 7873441411755132 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj a43546c03d14d8c9
|
||||
213 411 7873441413141428 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mpi_periph.c.obj c6da35c1ef3b1c93
|
||||
974 1590 7873441425029521 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj a753974f7028d997
|
||||
66 268 7873441411844992 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj f72c8d64a51cac61
|
||||
174 274 7873441411914694 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdm_periph.c.obj a3a6f38ee0a15de0
|
||||
72 280 7873441411984507 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/pcnt_periph.c.obj d5bcb1ded8eb14fd
|
||||
635 913 7873441418330116 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj d7b946e9ddcaaaa6
|
||||
162 333 7873441412543012 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rmt_periph.c.obj 64e53ea8e0b40bfd
|
||||
375 879 7873441417889849 esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj bfaecd347bfd8091
|
||||
607 907 7873441418149999 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj a44035712760ff09
|
||||
224 344 7873441412642745 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/touch_sensor_periph.c.obj 424c51dbd9b93360
|
||||
1203 1645 7873441425388790 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_utility.c.obj a6bca0321b7e70e4
|
||||
179 361 7873441412762422 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj c3a77e3c89664813
|
||||
197 367 7873441412882105 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/lcd_periph.c.obj 7202f44715519c0c
|
||||
219 381 7873441413041682 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj dfbaaf04a9b3da55
|
||||
261 399 7873441413141428 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dac_periph.c.obj f9445db9f5c78bfc
|
||||
208 405 7873441413111490 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mcpwm_periph.c.obj d6b1a5d4bda9e94c
|
||||
275 510 7873441414299476 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj 51adc6440bda249a
|
||||
405 931 7873441418289946 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj aa64bbbf1cb2f093
|
||||
269 548 7873441414299476 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_io_periph.c.obj 7b66323524f58af
|
||||
334 607 7873441415159640 esp-idf/hal/CMakeFiles/__idf_hal.dir/hal_utils.c.obj eaf6c4044472990b
|
||||
280 1580 7873441424799726 esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj 6e10536b863b1dfc
|
||||
355 613 7873441415169612 esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj 4e68f03f72af8bdd
|
||||
613 944 7873441418589904 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj 79c4db3a81be76f3
|
||||
344 629 7873441415349635 esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj dfa98eb6b41c460f
|
||||
400 635 7873441415349635 esp-idf/esp_bootloader_format/CMakeFiles/__idf_esp_bootloader_format.dir/esp_bootloader_desc.c.obj 42ee3ab3d23dddac
|
||||
381 685 7873441415953452 esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32/cache_hal_esp32.c.obj c6852ed4e3dd4926
|
||||
549 857 7873441417699818 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj e167161e718bfd06
|
||||
685 1372 7873441422774562 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj 9556aa95d1b42c73
|
||||
394 732 7873441416501971 esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj a56c29f6b2433766
|
||||
412 924 7873441418289946 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj c3aaa98ca17fa5bf
|
||||
367 842 7873441417499851 esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj b4656afb7bdbc3ab
|
||||
1730 2050 7873441429677510 esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj 18bfa5642ee17859
|
||||
510 890 7873441418069944 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj 88dd7d86f948f0fb
|
||||
1194 1558 7873441424659874 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_fields.c.obj 4184657e83b1c1e3
|
||||
670 974 7873441418789877 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj dfcbc8c9777bb817
|
||||
880 1148 7873441420540410 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj d07150b020048e4a
|
||||
968 1193 7873441420989799 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_soc.c.obj 204d0e7e6afa22f1
|
||||
914 1203 7873441421149645 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj 29c140ddea5e0efb
|
||||
907 1551 7873441424230662 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj cda173ddc8055ca8
|
||||
924 1317 7873441422059620 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj e8fffb8b944123e3
|
||||
1170 1452 7873441423392912 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj b2b85bbd77f14f50
|
||||
1317 1667 7873441425693051 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj dd486a9a5c0ccfe1
|
||||
857 1673 7873441425762874 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj 607415334a050620
|
||||
890 1705 7873441426101961 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj aabb12e7fa50b55d
|
||||
1266 1729 7873441426211665 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj eed41071d1ec3908
|
||||
1452 1756 7873441426680426 esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj 39e29710a585620c
|
||||
1552 1778 7873441426959672 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj 31b54e4a0d6340db
|
||||
1558 1800 7873441427099297 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/cpu_region_protect.c.obj 5d749249c519482d
|
||||
1491 1826 7873441427318705 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/esp_cpu_intr.c.obj 2ba9643618fa47c8
|
||||
1372 1854 7873441427518169 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/without_key_purposes/three_key_blocks/esp_efuse_api_key.c.obj 7d277d056cf52417
|
||||
1468 1860 7873441427637847 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj c5ec6cb1105157aa
|
||||
1580 2285 7873441432129489 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk.c.obj 1492b79f13cb0618
|
||||
1756 1962 7873441428690138 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj ee238d835dde1588
|
||||
1346 1969 7873441428710092 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj fc666fc9825f171f
|
||||
1778 1997 7873441428889604 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj 4914cec6ad936ece
|
||||
1861 2029 7873441429218727 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj bc07a36c94d0eea7
|
||||
1645 2035 7873441429138939 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_init.c.obj e93e8a3a666e15b3
|
||||
1855 2047 7873441429597715 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj 9cdf31c1d3f669ea
|
||||
1705 2049 7873441429468060 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/chip_info.c.obj 505884877ac3eadd
|
||||
1590 2095 7873441430196104 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk_init.c.obj 5b81897826ad041d
|
||||
1674 2106 7873441430335737 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_time.c.obj c7369feb3b7a70bd
|
||||
1668 2116 7873441430415517 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_sleep.c.obj 29111b206e057d4d
|
||||
1800 2118 7873441430455421 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj 466d12663a8352f7
|
||||
1997 2201 7873441431292780 esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj 8fb94486b39576ed
|
||||
2029 2226 7873441431542434 esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj 2853669936012ab8
|
||||
1963 2236 7873441431650321 esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj 3e44402b3ab886a7
|
||||
2639 2719 7873441436505656 esp-idf/efuse/libefuse.a 673a7e52c20411ab
|
||||
1969 2240 7873441431690212 esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj ddb4ea083d898e37
|
||||
1826 2300 7873441432283494 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj ae8faa5ab25a64bb
|
||||
2240 2326 7873441432582622 esp-idf/log/liblog.a 54a7321690f52554
|
||||
2326 2409 7873441433409823 esp-idf/esp_rom/libesp_rom.a cbd442a4b2432dff
|
||||
2409 2480 7873441434128590 esp-idf/esp_common/libesp_common.a c139bd398534f508
|
||||
2480 2572 7873441435045200 esp-idf/esp_hw_support/libesp_hw_support.a 39417f15abad6013
|
||||
2572 2639 7873441435722386 esp-idf/esp_system/libesp_system.a 9609acad804f9d3e
|
||||
2719 2842 7873441437747676 esp-idf/bootloader_support/libbootloader_support.a fd2aff79eef2ab3b
|
||||
2842 2905 7873441438376040 esp-idf/esp_bootloader_format/libesp_bootloader_format.a 793eb38b0bc11f23
|
||||
2905 2973 7873441439054646 esp-idf/spi_flash/libspi_flash.a 112266f7ee46b2b
|
||||
2973 3052 7873441439847667 esp-idf/hal/libhal.a e471119594952b21
|
||||
3052 3142 7873441440714061 esp-idf/micro-ecc/libmicro-ecc.a f8829877a503bd7
|
||||
3142 3300 7873441442302332 esp-idf/soc/libsoc.a 3da7b86c7cc26e2c
|
||||
3300 3419 7873441443489147 esp-idf/xtensa/libxtensa.a f126410bb396c921
|
||||
3420 3585 7873441445129882 esp-idf/main/libmain.a 16c8538c7177ce7d
|
||||
3585 3901 7873441448231587 bootloader.elf bf14169be4ce43f1
|
||||
3901 4311 7873441452414091 .bin_timestamp ecc491824686447
|
||||
3901 4311 7873441452414091 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/.bin_timestamp ecc491824686447
|
||||
38 186 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size f0ae4a5d0bfd090f
|
||||
38 186 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size f0ae4a5d0bfd090f
|
||||
40 790 7873442260384951 .bin_timestamp b43211f9a6960a7a
|
||||
40 790 7873442260384951 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/.bin_timestamp b43211f9a6960a7a
|
||||
790 1021 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
790 1021 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 158 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 158 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 119 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 119 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
23 120 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
23 120 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
27 130 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
27 130 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 123 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 123 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
22 123 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
22 123 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 100 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 100 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 97 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 97 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
29 147 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
29 147 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
21 124 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
21 124 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
31 163 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
31 163 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 96 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 96 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
23 147 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
23 147 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
22 123 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
22 123 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
26 145 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
26 145 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
67 278 7873638684399362 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dport_access.c.obj 2676f63eb79f0b46
|
||||
1584 2213 7873638703172272 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj f56b8fe4ba85aa1d
|
||||
18 103 7873638682459231 project_elf_src_esp32.c 2cf9fac49935fc83
|
||||
266 489 7873638686349447 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2c_periph.c.obj c32934bbd5093be
|
||||
18 103 7873638682459231 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/project_elf_src_esp32.c 2cf9fac49935fc83
|
||||
73 298 7873638684529011 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/adc_periph.c.obj 90466609b931b46f
|
||||
28 234 7873638683860563 esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj 8461276514edb7
|
||||
1781 2461 7873638705661836 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj 37c183ebd2bf19a3
|
||||
1195 2281 7873638703960166 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32.c.obj 595b6122b41f595
|
||||
489 1144 7873638692389178 esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32/efuse_hal.c.obj 985736f88d532fac
|
||||
33 283 7873638684399362 esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj 1260aafecb7d261e
|
||||
47 250 7873638683990215 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj 940343198eaa9eca
|
||||
1534 2111 7873638702353908 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj 53ba4bc24edce802
|
||||
42 256 7873638684199848 esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj 30887cd509cd34f1
|
||||
1102 2028 7873638700844770 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj 6a87a7aaaa5c9397
|
||||
904 1763 7873638698180938 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj 69e4911e66e8b1e1
|
||||
37 265 7873638684289649 esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj a83f4a1bb9519946
|
||||
272 482 7873638686419264 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/timer_periph.c.obj 1b796c82229f138e
|
||||
104 272 7873638684389373 CMakeFiles/bootloader.elf.dir/project_elf_src_esp32.c.obj d06c65e4499b318d
|
||||
60 291 7873638684479135 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/uart_periph.c.obj a6ecf472eff7d0a5
|
||||
318 542 7873638686897990 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/twai_periph.c.obj 565e741fb072a877
|
||||
53 311 7873638684628741 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj 16feacaa725f2d44
|
||||
97 318 7873638684658660 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/pcnt_periph.c.obj d5bcb1ded8eb14fd
|
||||
953 1533 7873638696779516 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj d7b946e9ddcaaaa6
|
||||
91 348 7873638684863222 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj f72c8d64a51cac61
|
||||
80 355 7873638684878615 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/emac_periph.c.obj eec25e951488efe7
|
||||
1764 2655 7873638708073057 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj a753974f7028d997
|
||||
291 573 7873638687177231 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mpi_periph.c.obj c6da35c1ef3b1c93
|
||||
86 362 7873638684958051 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj a43546c03d14d8c9
|
||||
869 1453 7873638695512513 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj a44035712760ff09
|
||||
510 1287 7873638693837007 esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj bfaecd347bfd8091
|
||||
235 423 7873638685751062 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rmt_periph.c.obj 64e53ea8e0b40bfd
|
||||
250 456 7873638686120061 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdm_periph.c.obj a3a6f38ee0a15de0
|
||||
311 465 7873638686279628 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/touch_sensor_periph.c.obj 424c51dbd9b93360
|
||||
257 496 7873638686518988 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj c3a77e3c89664813
|
||||
278 523 7873638686738427 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/lcd_periph.c.obj 7202f44715519c0c
|
||||
284 510 7873638686618722 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mcpwm_periph.c.obj d6b1a5d4bda9e94c
|
||||
349 530 7873638686828175 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dac_periph.c.obj f9445db9f5c78bfc
|
||||
298 555 7873638687057549 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj dfbaaf04a9b3da55
|
||||
556 1497 7873638696220630 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj aa64bbbf1cb2f093
|
||||
362 638 7873638687661062 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj 51adc6440bda249a
|
||||
355 673 7873638688030078 esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_io_periph.c.obj 7b66323524f58af
|
||||
423 2249 7873638703621208 esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj 6e10536b863b1dfc
|
||||
456 869 7873638689565973 esp-idf/hal/CMakeFiles/__idf_hal.dir/hal_utils.c.obj eaf6c4044472990b
|
||||
465 895 7873638690019926 esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj dfa98eb6b41c460f
|
||||
895 1608 7873638697208379 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj 79c4db3a81be76f3
|
||||
482 904 7873638690259280 esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj 4e68f03f72af8bdd
|
||||
543 952 7873638690708342 esp-idf/esp_bootloader_format/CMakeFiles/__idf_esp_bootloader_format.dir/esp_bootloader_desc.c.obj 42ee3ab3d23dddac
|
||||
673 1265 7873638692898591 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj e167161e718bfd06
|
||||
1068 2179 7873638702673063 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj 9556aa95d1b42c73
|
||||
524 969 7873638690758192 esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32/cache_hal_esp32.c.obj c6852ed4e3dd4926
|
||||
530 1068 7873638691660927 esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj a56c29f6b2433766
|
||||
573 1467 7873638695801735 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj c3aaa98ca17fa5bf
|
||||
497 1101 7873638692194623 esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj b4656afb7bdbc3ab
|
||||
2029 2496 7873638706133110 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_fields.c.obj 4184657e83b1c1e3
|
||||
2752 3385 7873638715049723 esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj 18bfa5642ee17859
|
||||
638 1446 7873638695492565 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj 88dd7d86f948f0fb
|
||||
970 1584 7873638696979016 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj dfcbc8c9777bb817
|
||||
1288 1781 7873638698859431 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj d07150b020048e4a
|
||||
1608 2019 7873638700874682 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_soc.c.obj 204d0e7e6afa22f1
|
||||
1453 2348 7873638704530284 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj cda173ddc8055ca8
|
||||
1468 2041 7873638701264044 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj 29c140ddea5e0efb
|
||||
1498 2170 7873638702573320 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj e8fffb8b944123e3
|
||||
2019 2502 7873638706153056 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj b2b85bbd77f14f50
|
||||
1265 2614 7873638707025833 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj 607415334a050620
|
||||
2170 2676 7873638708222633 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj dd486a9a5c0ccfe1
|
||||
2041 2711 7873638708282492 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_utility.c.obj a6bca0321b7e70e4
|
||||
1446 2717 7873638708485805 esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj aabb12e7fa50b55d
|
||||
2111 2751 7873638708980216 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj eed41071d1ec3908
|
||||
2214 2785 7873638709192754 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/without_key_purposes/three_key_blocks/esp_efuse_api_key.c.obj 7d277d056cf52417
|
||||
2250 2792 7873638709033188 esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj 39e29710a585620c
|
||||
2348 2889 7873638709974792 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/esp_cpu_intr.c.obj 2ba9643618fa47c8
|
||||
2496 2900 7873638710219313 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/cpu_region_protect.c.obj 5d749249c519482d
|
||||
2180 2927 7873638710259179 esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj fc666fc9825f171f
|
||||
2461 2939 7873638710338970 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj 31b54e4a0d6340db
|
||||
2503 3548 7873638717079430 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk.c.obj 1492b79f13cb0618
|
||||
2281 2955 7873638710920483 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj c5ec6cb1105157aa
|
||||
2785 3036 7873638711636759 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj ee238d835dde1588
|
||||
2792 3101 7873638712095600 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj 4914cec6ad936ece
|
||||
2717 3231 7873638713333875 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/chip_info.c.obj 505884877ac3eadd
|
||||
2939 3268 7873638713822593 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj bc07a36c94d0eea7
|
||||
2928 3307 7873638714543349 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj 9cdf31c1d3f669ea
|
||||
2614 3325 7873638714762761 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk_init.c.obj 5b81897826ad041d
|
||||
2655 3338 7873638714767990 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_init.c.obj e93e8a3a666e15b3
|
||||
2889 3405 7873638715494053 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj 466d12663a8352f7
|
||||
4108 4237 7873638724148982 esp-idf/efuse/libefuse.a 673a7e52c20411ab
|
||||
2955 3422 7873638715593647 esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj 3e44402b3ab886a7
|
||||
2677 3440 7873638716018431 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_sleep.c.obj 29111b206e057d4d
|
||||
3101 3459 7873638716264047 esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj 8fb94486b39576ed
|
||||
2711 3469 7873638716379057 esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_time.c.obj c7369feb3b7a70bd
|
||||
3036 3502 7873638716598991 esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj ddb4ea083d898e37
|
||||
3231 3547 7873638717059197 esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj 2853669936012ab8
|
||||
3502 3654 7873638718298778 esp-idf/log/liblog.a 54a7321690f52554
|
||||
2900 3669 7873638718428429 esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj ae8faa5ab25a64bb
|
||||
3669 3778 7873638719517072 esp-idf/esp_rom/libesp_rom.a cbd442a4b2432dff
|
||||
3778 3886 7873638720603016 esp-idf/esp_common/libesp_common.a c139bd398534f508
|
||||
3886 4008 7873638721849668 esp-idf/esp_hw_support/libesp_hw_support.a 39417f15abad6013
|
||||
4008 4108 7873638722852435 esp-idf/esp_system/libesp_system.a 9609acad804f9d3e
|
||||
4237 4398 7873638725752616 esp-idf/bootloader_support/libbootloader_support.a fd2aff79eef2ab3b
|
||||
4399 4473 7873638726510570 esp-idf/esp_bootloader_format/libesp_bootloader_format.a 793eb38b0bc11f23
|
||||
4473 4559 7873638727353485 esp-idf/spi_flash/libspi_flash.a 112266f7ee46b2b
|
||||
4559 4659 7873638728367058 esp-idf/hal/libhal.a e471119594952b21
|
||||
4659 4740 7873638729180588 esp-idf/micro-ecc/libmicro-ecc.a f8829877a503bd7
|
||||
4740 4939 7873638731167807 esp-idf/soc/libsoc.a 3da7b86c7cc26e2c
|
||||
4939 5056 7873638732327617 esp-idf/xtensa/libxtensa.a f126410bb396c921
|
||||
5056 5187 7873638733614180 esp-idf/main/libmain.a 16c8538c7177ce7d
|
||||
5187 5470 7873638736386751 bootloader.elf bf14169be4ce43f1
|
||||
69 768 7873652322570253 .bin_timestamp b43211f9a6960a7a
|
||||
69 768 7873652322570253 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/.bin_timestamp b43211f9a6960a7a
|
||||
28 139 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 139 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 101 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 101 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 96 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 96 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
25 161 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
25 161 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
21 132 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
21 132 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 96 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 96 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 95 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 95 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 99 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 99 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 96 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 96 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 96 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 96 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 101 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 101 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
23 116 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
23 116 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 109 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 109 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 98 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 98 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 93 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 93 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 91 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 91 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 97 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 97 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
22 118 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
22 118 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 102 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 102 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 115 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 115 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
16 96 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
16 96 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 90 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 90 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 93 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
19 93 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
16 97 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
16 97 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 89 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 89 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 96 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 96 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 90 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 90 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 90 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 90 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
27 138 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
27 138 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 136 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
28 136 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 96 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 96 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
20 105 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
20 105 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
16 95 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
16 95 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
23 132 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
23 132 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 97 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 97 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
20 106 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
20 106 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
24 127 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
24 127 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 98 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 98 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 101 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 101 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
25 131 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
25 131 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 104 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 104 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
25 139 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
25 139 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 93 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 93 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 116 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
18 116 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
20 101 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
20 101 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 98 0 esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
17 98 0 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size fa7563ce0397dee5
|
||||
|
||||
@@ -35,7 +35,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
Detecting C compiler ABI info compiled with the following output:
|
||||
Change Dir: C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):C:/Espressif/tools/ninja/1.11.1/ninja.exe cmTC_a1526 && [1/2] Building C object CMakeFiles/cmTC_a1526.dir/CMakeCCompilerABI.c.obj
|
||||
Run Build Command(s):C:/Espressif/tools/ninja/1.11.1/ninja.exe cmTC_c8a63 && [1/2] Building C object CMakeFiles/cmTC_c8a63.dir/CMakeCCompilerABI.c.obj
|
||||
Using built-in specs.
|
||||
|
||||
COLLECT_GCC=C:\Espressif\tools\xtensa-esp-elf\esp-13.2.0_20240530\xtensa-esp-elf\bin\xtensa-esp-elf-gcc.exe
|
||||
@@ -43,8 +43,8 @@ Configured with: /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-
|
||||
Target: xtensa-esp-elf
|
||||
|
||||
Configured with: /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-host_w64-mingw32 --target=xtensa-esp-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-native-system-header-dir=/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-13.2.0_20240530' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes --with-gnu-ld
|
||||
|
||||
Thread model: posix
|
||||
|
||||
Thread model: posix
|
||||
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
|
||||
@@ -61,12 +61,12 @@ ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240
|
||||
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"
|
||||
|
||||
ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"
|
||||
|
||||
@@ -77,9 +77,9 @@ Supported LTO compression algorithms: zlib zstd
|
||||
#include <...> search starts here:
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed
|
||||
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include
|
||||
|
||||
End of search list.
|
||||
@@ -100,7 +100,7 @@ Parsed C implicit link information from above output:
|
||||
|
||||
[2/2] Linking C executable cmTC_c8a63
|
||||
Using built-in specs.
|
||||
|
||||
|
||||
COLLECT_GCC=C:\Espressif\tools\xtensa-esp-elf\esp-13.2.0_20240530\xtensa-esp-elf\bin\xtensa-esp-elf-gcc.exe
|
||||
|
||||
COLLECT_LTO_WRAPPER=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/lto-wrapper.exe
|
||||
@@ -108,8 +108,8 @@ Parsed C implicit link information from above output:
|
||||
Target: xtensa-esp-elf
|
||||
|
||||
Configured with: /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-host_w64-mingw32 --target=xtensa-esp-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-native-system-header-dir=/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-13.2.0_20240530' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes --with-gnu-ld
|
||||
|
||||
Thread model: posix
|
||||
|
||||
Thread model: posix
|
||||
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
|
||||
@@ -126,8 +126,8 @@ Parsed C implicit link information from above output:
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'cmTC_c8a63' '-dumpdir' 'cmTC_c8a63.'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Parsed C implicit include dir info from above output: rv=done
|
||||
@@ -138,8 +138,8 @@ Parsed C implicit link information from above output:
|
||||
add: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include]
|
||||
end of search list found
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include]
|
||||
implicit include dirs: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include]
|
||||
|
||||
|
||||
@@ -158,13 +158,13 @@ Parsed C implicit link information from above output:
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_c8a63.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_c8a63.dir/']
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/cc1.exe -quiet -v -imultilib esp32 -iprefix C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/ -isysroot C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf C:/Espressif/tools/cmake/3.24.0/share/cmake-3.24/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c8a63.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mdynconfig=xtensa_esp32.so -mlongcalls -Wno-frame-address -version -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -o C:\Users\Thad\AppData\Local\Temp\cc8e0oEw.s]
|
||||
ignore line: [GNU C17 (crosstool-NG esp-13.2.0_20240530) version 13.2.0 (xtensa-esp-elf)]
|
||||
ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.2.1 MPFR version 4.2.1 MPC version 1.2.1 isl version isl-0.26-GMP]
|
||||
ignore line: []
|
||||
ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.2.1 MPFR version 4.2.1 MPC version 1.2.1 isl version isl-0.26-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"]
|
||||
ignore line: [ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"]
|
||||
ignore line: [ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
@@ -173,7 +173,7 @@ Parsed C implicit link information from above output:
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Compiler executable checksum: d64ad5301bd1e6c0b5847b69f54c709a]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_a1526.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_a1526.dir/']
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_c8a63.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_c8a63.dir/']
|
||||
ignore line: [ C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/as.exe --traditional-format --longcalls --dynconfig=xtensa_esp32.so -o CMakeFiles/cmTC_c8a63.dir/CMakeCCompilerABI.c.obj C:\Users\Thad\AppData\Local\Temp\cc8e0oEw.s]
|
||||
ignore line: [COMPILER_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/]
|
||||
@@ -184,7 +184,7 @@ Parsed C implicit link information from above output:
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/]
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
ignore line: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_c8a63.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_c8a63.dir/CMakeCCompilerABI.c.'
|
||||
]
|
||||
@@ -213,7 +213,7 @@ Parsed C implicit link information from above output:
|
||||
arg [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/collect2.exe] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/liblto_plugin.dll] ==> ignore
|
||||
arg [-plugin-opt=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/lto-wrapper.exe] ==> ignore
|
||||
arg [-plugin-opt=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/lto-wrapper.exe] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=C:\Users\Thad\AppData\Local\Temp\ccgXqvhA.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
@@ -221,8 +221,8 @@ Configured with: /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [--sysroot=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf] ==> ignore
|
||||
arg [--dynconfig=xtensa_esp32.so] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [--dynconfig=xtensa_esp32.so] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_c8a63] ==> ignore
|
||||
arg [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/crt0.o] ==> obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/crt0.o]
|
||||
arg [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o] ==> obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o]
|
||||
@@ -245,12 +245,12 @@ ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/crt0.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib/esp32/crt0.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtbegin.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtbegin.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o]
|
||||
collapse obj [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib/esp32]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib/esp32]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib/esp32]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib]
|
||||
collapse library dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/lib]
|
||||
@@ -261,9 +261,9 @@ Supported LTO compression algorithms: zlib zstd
|
||||
|
||||
|
||||
Detecting CXX compiler ABI info compiled with the following output:
|
||||
Change Dir: C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):C:/Espressif/tools/ninja/1.11.1/ninja.exe cmTC_0ed68 && [1/2] Building CXX object CMakeFiles/cmTC_0ed68.dir/CMakeCXXCompilerABI.cpp.obj
|
||||
Change Dir: C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):C:/Espressif/tools/ninja/1.11.1/ninja.exe cmTC_43ed4 && [1/2] Building CXX object CMakeFiles/cmTC_43ed4.dir/CMakeCXXCompilerABI.cpp.obj
|
||||
Using built-in specs.
|
||||
|
||||
COLLECT_GCC=C:\Espressif\tools\xtensa-esp-elf\esp-13.2.0_20240530\xtensa-esp-elf\bin\xtensa-esp-elf-g++.exe
|
||||
@@ -290,7 +290,7 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0"
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32"
|
||||
|
||||
@@ -298,8 +298,8 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include"
|
||||
|
||||
ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"
|
||||
|
||||
ignoring nonexistent directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/builds/idf/crosstool-NG/builds/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/../../../../include"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed"
|
||||
|
||||
ignoring duplicate directory "C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/../../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include"
|
||||
@@ -322,8 +322,8 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include
|
||||
|
||||
End of search list.
|
||||
|
||||
End of search list.
|
||||
|
||||
Compiler executable checksum: fef331317bf98486f9f2a23f1937f65a
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_43ed4.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_43ed4.dir/'
|
||||
@@ -334,8 +334,8 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
LIBRARY_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_0ed68.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_0ed68.dir/CMakeCXXCompilerABI.cpp.'
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'CMakeFiles/cmTC_43ed4.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_43ed4.dir/CMakeCXXCompilerABI.cpp.'
|
||||
|
||||
[2/2] Linking CXX executable cmTC_43ed4
|
||||
Using built-in specs.
|
||||
|
||||
@@ -354,13 +354,13 @@ Parsed CXX implicit link information from above output:
|
||||
gcc version 13.2.0 (crosstool-NG esp-13.2.0_20240530)
|
||||
|
||||
COMPILER_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/
|
||||
|
||||
LIBRARY_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
|
||||
LIBRARY_PATH=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/;C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'cmTC_43ed4' '-dumpdir' 'cmTC_43ed4.'
|
||||
|
||||
C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/collect2.exe -plugin C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/liblto_plugin.dll -plugin-opt=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/13.2.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\Thad\AppData\Local\Temp\ccScp4QS.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf --dynconfig=xtensa_esp32.so -o cmTC_43ed4 C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32/crt0.o C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crti.o C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtbegin.o -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32 -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib/esp32 -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib/esp32 -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0 -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/lib -LC:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../xtensa-esp-elf/lib CMakeFiles/cmTC_43ed4.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm -lgcc -lc -lnosys -lc -lgcc C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtend.o C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/esp32/crtn.o
|
||||
|
||||
|
||||
|
||||
COLLECT_GCC_OPTIONS='-mdynconfig=xtensa_esp32.so' '-mlongcalls' '-Wno-frame-address' '-fno-builtin-memcpy' '-fno-builtin-memset' '-fno-builtin-bzero' '-fno-builtin-stpcpy' '-fno-builtin-strncpy' '-v' '-o' 'cmTC_43ed4' '-dumpdir' 'cmTC_43ed4.'
|
||||
|
||||
@@ -369,7 +369,7 @@ Parsed CXX implicit link information from above output:
|
||||
|
||||
|
||||
Parsed CXX implicit include dir info from above output: rv=done
|
||||
found start of include info
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0]
|
||||
add: [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32]
|
||||
@@ -380,7 +380,7 @@ Parsed CXX implicit link information from above output:
|
||||
end of search list found
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/backward] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/backward]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include/c++/13.2.0/backward] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/backward]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/include-fixed] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed]
|
||||
collapse include dir [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/include] ==> [C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include]
|
||||
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x32410 bytes. Smallest app partition is 0x200000 bytes. 0x1cdbf0 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 382.7 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205840 bytes to 110455...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf44... (28 %)
|
||||
Writing at 0x00022fb9... (42 %)
|
||||
Writing at 0x00028ca4... (57 %)
|
||||
Writing at 0x0002f8aa... (71 %)
|
||||
Writing at 0x0003793d... (85 %)
|
||||
Writing at 0x0003d940... (100 %)
|
||||
Wrote 205840 bytes (110455 compressed) at 0x00010000 in 2.7 seconds (effective 609.4 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 142...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (142 compressed) at 0x00008000 in 0.0 seconds (effective 904.1 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 2047.9 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x323c0 bytes. Smallest app partition is 0x200000 bytes. 0x1cdc40 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 384.9 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205760 bytes to 110401...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf63... (28 %)
|
||||
Writing at 0x00022fb5... (42 %)
|
||||
Writing at 0x00028c9d... (57 %)
|
||||
Writing at 0x0002f8cd... (71 %)
|
||||
Writing at 0x00037940... (85 %)
|
||||
Writing at 0x0003d961... (100 %)
|
||||
Wrote 205760 bytes (110401 compressed) at 0x00010000 in 2.7 seconds (effective 609.9 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 143...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (143 compressed) at 0x00008000 in 0.0 seconds (effective 1009.8 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 1787.7 kbit/s)...
|
||||
Hash of data verified.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x31f70 bytes. Smallest app partition is 0x200000 bytes. 0x1ce090 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting.....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00041fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 384.8 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 204656 bytes to 109847...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cee4... (28 %)
|
||||
Writing at 0x00022e70... (42 %)
|
||||
Writing at 0x00028ba3... (57 %)
|
||||
Writing at 0x0002f799... (71 %)
|
||||
Writing at 0x000377cd... (85 %)
|
||||
Writing at 0x0003d8ea... (100 %)
|
||||
Wrote 204656 bytes (109847 compressed) at 0x00010000 in 2.7 seconds (effective 611.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 143...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (143 compressed) at 0x00008000 in 0.0 seconds (effective 827.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 2049.4 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x31f20 bytes. Smallest app partition is 0x200000 bytes. 0x1ce0e0 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00041fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 384.6 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 204576 bytes to 109820...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cea0... (28 %)
|
||||
Writing at 0x00022e3d... (42 %)
|
||||
Writing at 0x00028b77... (57 %)
|
||||
Writing at 0x0002f767... (71 %)
|
||||
Writing at 0x000377a7... (85 %)
|
||||
Writing at 0x0003d8c0... (100 %)
|
||||
Wrote 204576 bytes (109820 compressed) at 0x00010000 in 2.7 seconds (effective 609.8 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 143...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (143 compressed) at 0x00008000 in 0.0 seconds (effective 880.1 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 1932.6 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,12 +1,12 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x323c0 bytes. Smallest app partition is 0x200000 bytes. 0x1cdc40 bytes (90%) free.
|
||||
app-template.bin binary size 0x40070 bytes. Smallest app partition is 0x200000 bytes. 0x1bff90 bytes (87%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
@@ -18,31 +18,33 @@ Changing baud rate to 460800
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00010000 to 0x00050fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 381.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205760 bytes to 110401...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf63... (28 %)
|
||||
Writing at 0x00022fb5... (42 %)
|
||||
Writing at 0x00028c9d... (57 %)
|
||||
Compressed 26752 bytes to 16361...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16361 compressed) at 0x00001000 in 0.6 seconds (effective 377.8 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 262256 bytes to 141430...
|
||||
Writing at 0x00010000... (11 %)
|
||||
Writing at 0x0001cc68... (22 %)
|
||||
Writing at 0x00024690... (33 %)
|
||||
Writing at 0x0002a4f3... (44 %)
|
||||
Writing at 0x00030448... (55 %)
|
||||
Writing at 0x00037859... (66 %)
|
||||
Writing at 0x00040015... (77 %)
|
||||
Writing at 0x00045c87... (88 %)
|
||||
Writing at 0x0004c04a... (100 %)
|
||||
Wrote 205760 bytes (110401 compressed) at 0x00010000 in 2.7 seconds (effective 611.6 kbit/s)...
|
||||
Wrote 262256 bytes (141430 compressed) at 0x00010000 in 3.4 seconds (effective 615.6 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 143...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (143 compressed) at 0x00008000 in 0.0 seconds (effective 948.0 kbit/s)...
|
||||
Wrote 3072 bytes (143 compressed) at 0x00008000 in 0.0 seconds (effective 922.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x32420 bytes. Smallest app partition is 0x200000 bytes. 0x1cdbe0 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 380.9 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205856 bytes to 110468...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf4c... (28 %)
|
||||
Writing at 0x00022fb8... (42 %)
|
||||
Writing at 0x00028c9c... (57 %)
|
||||
Writing at 0x0002f89f... (71 %)
|
||||
Writing at 0x00037937... (85 %)
|
||||
Writing at 0x0003d948... (100 %)
|
||||
Wrote 205856 bytes (110468 compressed) at 0x00010000 in 2.7 seconds (effective 609.6 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 142...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (142 compressed) at 0x00008000 in 0.0 seconds (effective 965.9 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 1833.9 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x32420 bytes. Smallest app partition is 0x200000 bytes. 0x1cdbe0 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting.....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 379.9 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205856 bytes to 110465...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf47... (28 %)
|
||||
Writing at 0x00022fb3... (42 %)
|
||||
Writing at 0x00028c9b... (57 %)
|
||||
Writing at 0x0002f89e... (71 %)
|
||||
Writing at 0x00037933... (85 %)
|
||||
Writing at 0x0003d943... (100 %)
|
||||
Wrote 205856 bytes (110465 compressed) at 0x00010000 in 2.7 seconds (effective 610.3 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 142...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (142 compressed) at 0x00008000 in 0.0 seconds (effective 1005.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 2053.4 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x32340 bytes. Smallest app partition is 0x200000 bytes. 0x1cdcc0 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting..........
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 383.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205632 bytes to 110329...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf4c... (28 %)
|
||||
Writing at 0x00022f85... (42 %)
|
||||
Writing at 0x00028c6d... (57 %)
|
||||
Writing at 0x0002f876... (71 %)
|
||||
Writing at 0x0003792f... (85 %)
|
||||
Writing at 0x0003d986... (100 %)
|
||||
Wrote 205632 bytes (110329 compressed) at 0x00010000 in 2.7 seconds (effective 611.2 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 143...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (143 compressed) at 0x00008000 in 0.0 seconds (effective 892.1 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 1991.2 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x323c0 bytes. Smallest app partition is 0x200000 bytes. 0x1cdc40 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 382.7 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205760 bytes to 110373...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf6b... (28 %)
|
||||
Writing at 0x00022fc4... (42 %)
|
||||
Writing at 0x00028d12... (57 %)
|
||||
Writing at 0x0002f8f4... (71 %)
|
||||
Writing at 0x0003795e... (85 %)
|
||||
Writing at 0x0003d9bc... (100 %)
|
||||
Wrote 205760 bytes (110373 compressed) at 0x00010000 in 2.7 seconds (effective 610.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 143...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (143 compressed) at 0x00008000 in 0.0 seconds (effective 939.9 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 2020.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x32400 bytes. Smallest app partition is 0x200000 bytes. 0x1cdc00 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting.....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 382.6 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205824 bytes to 110448...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf36... (28 %)
|
||||
Writing at 0x00022fae... (42 %)
|
||||
Writing at 0x00028ca0... (57 %)
|
||||
Writing at 0x0002f8a8... (71 %)
|
||||
Writing at 0x00037939... (85 %)
|
||||
Writing at 0x0003d93f... (100 %)
|
||||
Wrote 205824 bytes (110448 compressed) at 0x00010000 in 2.7 seconds (effective 608.5 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 142...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (142 compressed) at 0x00008000 in 0.0 seconds (effective 912.7 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 2083.1 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x323d0 bytes. Smallest app partition is 0x200000 bytes. 0x1cdc30 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting......
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 384.5 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205776 bytes to 110402...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf68... (28 %)
|
||||
Writing at 0x00022fb6... (42 %)
|
||||
Writing at 0x00028c94... (57 %)
|
||||
Writing at 0x0002f8cc... (71 %)
|
||||
Writing at 0x0003794a... (85 %)
|
||||
Writing at 0x0003d967... (100 %)
|
||||
Wrote 205776 bytes (110402 compressed) at 0x00010000 in 2.7 seconds (effective 610.8 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 142...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (142 compressed) at 0x00008000 in 0.0 seconds (effective 916.4 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 2111.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x32400 bytes. Smallest app partition is 0x200000 bytes. 0x1cdc00 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 383.4 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205824 bytes to 110451...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf3b... (28 %)
|
||||
Writing at 0x00022fad... (42 %)
|
||||
Writing at 0x00028ca0... (57 %)
|
||||
Writing at 0x0002f8a4... (71 %)
|
||||
Writing at 0x00037936... (85 %)
|
||||
Writing at 0x0003d93c... (100 %)
|
||||
Wrote 205824 bytes (110451 compressed) at 0x00010000 in 2.7 seconds (effective 610.5 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 142...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (142 compressed) at 0x00008000 in 0.0 seconds (effective 944.3 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 1798.0 kbit/s)...
|
||||
Hash of data verified.
|
||||
@@ -1,50 +0,0 @@
|
||||
[1/5] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app C:/data/stockcropper-sw-playground/SC-F001/build/partition_table/partition-table.bin C:/data/stockcropper-sw-playground/SC-F001/build/app-template.bin"
|
||||
app-template.bin binary size 0x32350 bytes. Smallest app partition is 0x200000 bytes. 0x1cdcb0 bytes (90%) free.
|
||||
|
||||
[2/5] Performing build step for 'bootloader'
|
||||
[1/1] cmd.exe /C "cd /D C:\data\stockcropper-sw-playground\SC-F001\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/data/stockcropper-sw-playground/SC-F001/build/bootloader/bootloader.bin"
|
||||
|
||||
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
|
||||
|
||||
|
||||
[2/3] cmd.exe /C "cd /D C:\Espressif\frameworks\esp-idf-v5.3.1\components\esptool_py && C:\Espressif\tools\cmake\3.24.0\bin\cmake.exe -D IDF_PATH=C:/Espressif/frameworks/esp-idf-v5.3.1 -D SERIAL_TOOL=C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe;;C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py/esptool/esptool.py;--chip;esp32 -D SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args -D WORKING_DIRECTORY=C:/data/stockcropper-sw-playground/SC-F001/build -P C:/Espressif/fraesptool.py --chip esp32 -p COM3 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 8MB 0x1000 bootloader/bootloader.bin 0x10000 app-template.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin
|
||||
esptool.py v4.8.1
|
||||
Serial port COM3
|
||||
Connecting....
|
||||
Chip is ESP32-D0WD-V3 (revision v3.1)
|
||||
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
|
||||
Crystal is 40MHz
|
||||
MAC: 94:54:c5:38:c4:38
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Changing baud rate to 460800
|
||||
Changed.
|
||||
Configuring flash size...
|
||||
Flash will be erased from 0x00001000 to 0x00007fff...
|
||||
Flash will be erased from 0x00010000 to 0x00042fff...
|
||||
Flash will be erased from 0x00008000 to 0x00008fff...
|
||||
Flash will be erased from 0x0000d000 to 0x0000efff...
|
||||
SHA digest in image updated
|
||||
Compressed 26752 bytes to 16359...
|
||||
Writing at 0x00001000... (100 %)
|
||||
Wrote 26752 bytes (16359 compressed) at 0x00001000 in 0.6 seconds (effective 383.4 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 205648 bytes to 110327...
|
||||
Writing at 0x00010000... (14 %)
|
||||
Writing at 0x0001cf4d... (28 %)
|
||||
Writing at 0x00022f87... (42 %)
|
||||
Writing at 0x00028c81... (57 %)
|
||||
Writing at 0x0002f889... (71 %)
|
||||
Writing at 0x00037936... (85 %)
|
||||
Writing at 0x0003d98f... (100 %)
|
||||
Wrote 205648 bytes (110327 compressed) at 0x00010000 in 2.7 seconds (effective 608.8 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 3072 bytes to 143...
|
||||
Writing at 0x00008000... (100 %)
|
||||
Wrote 3072 bytes (143 compressed) at 0x00008000 in 0.0 seconds (effective 957.1 kbit/s)...
|
||||
Hash of data verified.
|
||||
Compressed 8192 bytes to 31...
|
||||
Writing at 0x0000d000... (100 %)
|
||||
Wrote 8192 bytes (31 compressed) at 0x0000d000 in 0.0 seconds (effective 2039.1 kbit/s)...
|
||||
Hash of data verified.
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "1.1",
|
||||
"project_name": "app-template",
|
||||
"project_version": "12092de-dirty",
|
||||
"project_version": "856cc05-dirty",
|
||||
"project_path": "C:/data/stockcropper-sw-playground/SC-F001",
|
||||
"idf_path": "C:/Espressif/frameworks/esp-idf-v5.3.1",
|
||||
"build_dir": "C:/data/stockcropper-sw-playground/SC-F001/build",
|
||||
@@ -1240,7 +1240,7 @@
|
||||
"managed_reqs": [],
|
||||
"managed_priv_reqs": [ "esp-idf-lib__tca95x5", "joltwallet__littlefs" ],
|
||||
"file": "C:/data/stockcropper-sw-playground/SC-F001/build/esp-idf/main/libmain.a",
|
||||
"sources": [ "C:/data/stockcropper-sw-playground/SC-F001/main/main.c", "C:/data/stockcropper-sw-playground/SC-F001/main/i2c.c", "C:/data/stockcropper-sw-playground/SC-F001/main/rtc.c", "C:/data/stockcropper-sw-playground/SC-F001/main/storage.c", "C:/data/stockcropper-sw-playground/SC-F001/main/uart_comms.c" ],
|
||||
"sources": [ "C:/data/stockcropper-sw-playground/SC-F001/main/main.c", "C:/data/stockcropper-sw-playground/SC-F001/main/i2c.c", "C:/data/stockcropper-sw-playground/SC-F001/main/rtc.c", "C:/data/stockcropper-sw-playground/SC-F001/main/storage.c", "C:/data/stockcropper-sw-playground/SC-F001/main/uart_comms.c", "C:/data/stockcropper-sw-playground/SC-F001/main/control_fsm.c", "C:/data/stockcropper-sw-playground/SC-F001/main/power_mgmt.c", "C:/data/stockcropper-sw-playground/SC-F001/main/rf.c", "C:/data/stockcropper-sw-playground/SC-F001/main/sensors.c", "C:/data/stockcropper-sw-playground/SC-F001/main/solar.c" ],
|
||||
"include_dirs": []
|
||||
},
|
||||
"mbedtls": {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# for more information about component CMakeLists.txt files.
|
||||
|
||||
idf_component_register(
|
||||
SRCS main.c i2c.c rtc.c storage.c uart_comms.c # list the source files of this component
|
||||
SRCS main.c i2c.c rtc.c storage.c uart_comms.c control_fsm.c power_mgmt.c rf.c rtc.c sensors.c solar.c # list the source files of this component
|
||||
INCLUDE_DIRS # optional, add here public include directories
|
||||
PRIV_INCLUDE_DIRS # optional, add here private include directories
|
||||
REQUIRES # optional, list the public requirements (component names)
|
||||
|
||||
@@ -14,22 +14,27 @@
|
||||
#include "storage.h"
|
||||
#include "rtc.h"
|
||||
#include "sensors.h"
|
||||
#include "esp_log.h"
|
||||
|
||||
#define TRANSITION_DELAY_US 1000000
|
||||
|
||||
#define TAG "FSM"
|
||||
|
||||
static QueueHandle_t fsm_cmd_queue = NULL;
|
||||
|
||||
uint8_t relay_pins[N_RELAYS] = {
|
||||
GPIO_NUM_13, // A1
|
||||
GPIO_NUM_14, // B1
|
||||
GPIO_NUM_15, // A2
|
||||
GPIO_NUM_16, // B2
|
||||
GPIO_NUM_17, // A3
|
||||
GPIO_NUM_18 // B3
|
||||
};
|
||||
// map from relay number to bridge
|
||||
bridge_t bridge_map[] = {
|
||||
BRIDGE_AUX,
|
||||
BRIDGE_AUX,
|
||||
BRIDGE_AUX,
|
||||
BRIDGE_AUX,
|
||||
BRIDGE_JACK,
|
||||
BRIDGE_JACK,
|
||||
BRIDGE_DRIVE,
|
||||
BRIDGE_DRIVE };
|
||||
|
||||
bool relay_states[N_RELAYS] = {false};
|
||||
int64_t override_times[N_RELAYS] = {-1};
|
||||
bool relay_states[8] = {false};
|
||||
int64_t override_times[8] = {-1};
|
||||
bool enabled = false;
|
||||
|
||||
void setRelay(int8_t relay, bool state) {
|
||||
@@ -37,36 +42,24 @@ void setRelay(int8_t relay, bool state) {
|
||||
}
|
||||
|
||||
void driveRelays() {
|
||||
for (uint8_t i=0; i<N_RELAYS; i++) {
|
||||
if (efuse_is_tripped(i/2))
|
||||
gpio_set_level(relay_pins[i], 0);
|
||||
else
|
||||
gpio_set_level(relay_pins[i], relay_states[i]);
|
||||
uint8_t state = 0x00;
|
||||
for (uint8_t i=0; i<8; i++) {
|
||||
// if we command and efuse permits it set the relay
|
||||
if (relay_states[i] && !efuse_is_tripped(bridge_map[i])) {
|
||||
state |= 0x01<<i;
|
||||
set_autozero(bridge_map[i]);
|
||||
}
|
||||
}
|
||||
i2c_set_relays(state);
|
||||
}
|
||||
|
||||
int8_t bridge_polarities[3] = {
|
||||
+1,
|
||||
-1,
|
||||
-1
|
||||
};
|
||||
void setBridge(bridge_t bridge, int8_t dir) {
|
||||
dir *= bridge_polarities[bridge];
|
||||
setRelay(bridge*2+0, dir<0);
|
||||
setRelay(bridge*2+1, dir>0);
|
||||
}
|
||||
|
||||
|
||||
int8_t get_bridge_state(bridge_t bridge) {
|
||||
if (relay_states[bridge*2 + 0]) return +1;
|
||||
if (relay_states[bridge*2 + 1]) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
volatile fsm_state_t current_state = STATE_IDLE;
|
||||
volatile int64_t current_time = 0;
|
||||
volatile bool start_running_request = false;
|
||||
|
||||
|
||||
|
||||
fsm_state_t fsm_get_state() {
|
||||
return current_state;
|
||||
}
|
||||
@@ -79,18 +72,16 @@ static inline void set_timer(uint64_t us) {
|
||||
}
|
||||
static inline bool timer_done() { return current_time >= timer_end; }
|
||||
|
||||
void pulseOverride(bridge_t bridge, int8_t dir, int64_t pulse) {
|
||||
if (dir < 0)
|
||||
override_times[bridge*2 + (bridge_polarities[bridge]>0?0:1)] = esp_timer_get_time() + pulse;
|
||||
if (dir > 0)
|
||||
override_times[bridge*2 + (bridge_polarities[bridge]>0?1:0)] = esp_timer_get_time() + pulse;
|
||||
void pulseOverride(relay_t relay) {
|
||||
if (current_state == STATE_IDLE)
|
||||
override_times[relay] = current_time + get_param(PARAM_RF_PULSE_LENGTH).u64;
|
||||
}
|
||||
|
||||
void fsm_begin_auto_move() {
|
||||
/*void fsm_begin_auto_move() {
|
||||
if (current_state == STATE_IDLE)
|
||||
current_state = STATE_MOVE_START_DELAY;
|
||||
set_timer(TRANSITION_DELAY_US);
|
||||
}
|
||||
}*/
|
||||
|
||||
void fsm_request(fsm_cmd_t cmd)
|
||||
{
|
||||
@@ -122,9 +113,10 @@ int8_t fsm_get_current_progress(int8_t denominator) {
|
||||
return x;
|
||||
}
|
||||
|
||||
#define JACK_TIME (uint64_t)get_param_i8("jack_dist")*get_param_u32("jack_mspi")*1000
|
||||
#define DRIVE_TIME (uint64_t)get_param_i8("drive_dist")*get_param_u32("drive_mspf")*1000
|
||||
#define DRIVE_DIST ((int32_t)(get_param_i8("drive_dist")))*((int32_t)get_param_u32("drive_tpdf"))/10
|
||||
|
||||
#define JACK_TIME get_param(PARAM_JACK_MSPI ).u32 * 1000 * get_param(PARAM_JACK_DIST ).u8
|
||||
#define DRIVE_TIME get_param(PARAM_DRIVE_MSPF).u32 * 1000 * get_param(PARAM_DRIVE_DIST).u8
|
||||
#define DRIVE_DIST get_param(PARAM_DRIVE_TPDF).u32 / 10 * get_param(PARAM_DRIVE_DIST).u8
|
||||
|
||||
void control_task(void *param) {
|
||||
esp_task_wdt_add(NULL);
|
||||
@@ -134,14 +126,6 @@ void control_task(void *param) {
|
||||
enabled = true;
|
||||
|
||||
|
||||
|
||||
for (size_t i = 0; i < N_RELAYS; ++i) {
|
||||
gpio_reset_pin( relay_pins[i]);
|
||||
gpio_set_direction(relay_pins[i], GPIO_MODE_OUTPUT);
|
||||
gpio_set_level( relay_pins[i], 0); // Force low
|
||||
gpio_hold_dis( relay_pins[i]); // CRITICAL: Allow control after wake
|
||||
}
|
||||
|
||||
while (enabled) {
|
||||
vTaskDelayUntil(&xLastWakeTime, xFrequency);
|
||||
current_time = esp_timer_get_time();
|
||||
@@ -149,13 +133,15 @@ void control_task(void *param) {
|
||||
fsm_cmd_t cmd;
|
||||
while (xQueueReceive(fsm_cmd_queue, &cmd, 0) == pdTRUE) {
|
||||
switch (cmd) {
|
||||
case FSM_CMD_STOP:
|
||||
if (current_state != STATE_IDLE &&
|
||||
current_state != STATE_UNDO_JACK_START &&
|
||||
current_state != STATE_UNDO_JACK) {
|
||||
current_state = STATE_IDLE;
|
||||
case FSM_CMD_START:
|
||||
if (current_state == STATE_IDLE) {
|
||||
current_state = STATE_MOVE_START_DELAY;
|
||||
set_timer(TRANSITION_DELAY_US);
|
||||
}
|
||||
break;
|
||||
case FSM_CMD_STOP:
|
||||
current_state = STATE_IDLE;
|
||||
break;
|
||||
case FSM_CMD_UNDO:
|
||||
if (current_state != STATE_IDLE &&
|
||||
current_state != STATE_UNDO_JACK_START &&
|
||||
@@ -245,12 +231,12 @@ void control_task(void *param) {
|
||||
default: break;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
int64_t elapsed_t = (current_time-timer_start);
|
||||
int64_t total_t = (timer_end-timer_start);
|
||||
int32_t ticks = get_sensor_counter(SENSOR_DRIVE);
|
||||
ESP_LOGI("FSM", "[%d] %lld / %lld ms, %ld ticks", current_state, (long long) elapsed_t, (long long) total_t, (long) ticks);
|
||||
*/
|
||||
//ESP_LOGI("FSM", "[%d] %lld / %lld ms, %ld ticks", current_state, (long long) elapsed_t, (long long) total_t, (long) ticks);
|
||||
|
||||
// Output control
|
||||
switch (current_state) {
|
||||
case STATE_IDLE:
|
||||
@@ -261,42 +247,69 @@ void control_task(void *param) {
|
||||
if (active) reset_shutdown_timer();
|
||||
|
||||
// prohibit movement past jack limit switch
|
||||
if (i == BRIDGE_JACK*2+(bridge_polarities[BRIDGE_JACK]>0?0:1) && get_sensor(SENSOR_JACK))
|
||||
setRelay(i, false);
|
||||
else
|
||||
//if (i == BRIDGE_JACK*2+(bridge_polarities[BRIDGE_JACK]>0?0:1) && get_sensor(SENSOR_JACK))
|
||||
// setRelay(i, false);
|
||||
//else
|
||||
setRelay(i, active);
|
||||
//if (active) ESP_LOGI("FSM", "RUN CHANNEL %d (%lld %c %lld)", i, (long long) override_times[i], active ? '>':'<', (long long) current_time);
|
||||
|
||||
}
|
||||
break;
|
||||
case STATE_JACK_UP:
|
||||
setBridge(BRIDGE_DRIVE, 0);
|
||||
setBridge(BRIDGE_JACK, +1);
|
||||
setBridge(BRIDGE_AUX, +1);
|
||||
// jack up and fluff
|
||||
setRelay(RELAY_A1, false);
|
||||
setRelay(RELAY_B1, false);
|
||||
|
||||
setRelay(RELAY_A2, true);
|
||||
setRelay(RELAY_B2, false);
|
||||
|
||||
setRelay(RELAY_A3, true);
|
||||
reset_shutdown_timer();
|
||||
break;
|
||||
case STATE_DRIVE:
|
||||
setBridge(BRIDGE_DRIVE, +1);
|
||||
setBridge(BRIDGE_JACK, 0);
|
||||
setBridge(BRIDGE_AUX, +1);
|
||||
// drive and fluff
|
||||
setRelay(RELAY_A1, true);
|
||||
setRelay(RELAY_B1, false);
|
||||
|
||||
setRelay(RELAY_A2, false);
|
||||
setRelay(RELAY_B2, false);
|
||||
|
||||
setRelay(RELAY_A3, true);
|
||||
reset_shutdown_timer();
|
||||
break;
|
||||
case STATE_UNDO_JACK:
|
||||
case STATE_JACK_DOWN:
|
||||
setBridge(BRIDGE_DRIVE, 0);
|
||||
setBridge(BRIDGE_JACK, -1);
|
||||
setBridge(BRIDGE_AUX, +1);
|
||||
// jack down and fluffer
|
||||
setRelay(RELAY_A1, false);
|
||||
setRelay(RELAY_B1, false);
|
||||
|
||||
setRelay(RELAY_A2, false);
|
||||
setRelay(RELAY_B2, true);
|
||||
|
||||
setRelay(RELAY_A3, true);
|
||||
reset_shutdown_timer();
|
||||
break;
|
||||
case STATE_UNDO_JACK_START:
|
||||
case STATE_DRIVE_START_DELAY:
|
||||
case STATE_DRIVE_END_DELAY:
|
||||
setBridge(BRIDGE_DRIVE, 0);
|
||||
setBridge(BRIDGE_JACK, 0);
|
||||
setBridge(BRIDGE_AUX, +1);
|
||||
// only fluffer
|
||||
setRelay(RELAY_A1, false);
|
||||
setRelay(RELAY_B1, false);
|
||||
|
||||
setRelay(RELAY_A2, false);
|
||||
setRelay(RELAY_B2, false);
|
||||
|
||||
setRelay(RELAY_A3, true);
|
||||
reset_shutdown_timer();
|
||||
break;
|
||||
default: break;
|
||||
default:
|
||||
// invalid state; turn all relays off
|
||||
setRelay(RELAY_A1, false);
|
||||
setRelay(RELAY_B1, false);
|
||||
setRelay(RELAY_A2, false);
|
||||
setRelay(RELAY_B2, false);
|
||||
setRelay(RELAY_A3, false);
|
||||
break;
|
||||
}
|
||||
|
||||
driveRelays();
|
||||
@@ -304,20 +317,20 @@ void control_task(void *param) {
|
||||
esp_task_wdt_reset();
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < N_RELAYS; ++i) {
|
||||
gpio_set_level(relay_pins[i], 0);
|
||||
gpio_hold_en(relay_pins[i]);
|
||||
}
|
||||
|
||||
if (fsm_cmd_queue != NULL) {
|
||||
vQueueDelete(fsm_cmd_queue);
|
||||
fsm_cmd_queue = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void start_fsm() {
|
||||
esp_err_t fsm_init() {
|
||||
if (fsm_cmd_queue == NULL) {
|
||||
fsm_cmd_queue = xQueueCreate(8, sizeof(fsm_cmd_t));
|
||||
}
|
||||
xTaskCreate(control_task, "FSM", 4096, NULL, 5, NULL);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
|
||||
esp_err_t fsm_stop() { return ESP_OK; }
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "freertos/queue.h"
|
||||
|
||||
|
||||
typedef enum { FSM_CMD_STOP, FSM_CMD_UNDO, FSM_CMD_SHUTDOWN} fsm_cmd_t;
|
||||
typedef enum { FSM_CMD_START, FSM_CMD_STOP, FSM_CMD_UNDO, FSM_CMD_SHUTDOWN} fsm_cmd_t;
|
||||
|
||||
typedef enum {
|
||||
STATE_IDLE = 0,
|
||||
@@ -22,21 +22,33 @@ typedef enum {
|
||||
} fsm_state_t;
|
||||
|
||||
typedef enum {
|
||||
BRIDGE_AUX = 0,
|
||||
RELAY_NONE = 0,
|
||||
RELAY_C3,
|
||||
RELAY_B3,
|
||||
RELAY_A3,
|
||||
RELAY_B2,
|
||||
RELAY_A2,
|
||||
RELAY_B1,
|
||||
RELAY_A1
|
||||
} relay_t;
|
||||
|
||||
typedef enum {
|
||||
BRIDGE_AUX = 2,
|
||||
BRIDGE_JACK = 1,
|
||||
BRIDGE_DRIVE = 2,
|
||||
BRIDGE_DRIVE = 0,
|
||||
} bridge_t;
|
||||
|
||||
#define N_RELAYS 6
|
||||
#define N_RELAYS 8
|
||||
#define N_BRIDGES 3
|
||||
|
||||
void pulseOverride(bridge_t bridge, int8_t dir, int64_t pulse);
|
||||
void pulseOverride(relay_t relay/*, int64_t pulse*/);
|
||||
|
||||
void start_fsm();
|
||||
esp_err_t fsm_init();
|
||||
esp_err_t fsm_stop();
|
||||
|
||||
void fsm_request(fsm_cmd_t cmd);
|
||||
|
||||
void fsm_begin_auto_move();
|
||||
//void fsm_begin_auto_move();
|
||||
|
||||
int8_t fsm_get_current_progress(int8_t remainder);
|
||||
|
||||
|
||||
@@ -12,6 +12,11 @@
|
||||
|
||||
|
||||
|
||||
// Debounce & Repeat Settings
|
||||
#define DEBOUNCE_MS 50
|
||||
#define REPEAT_MS 200
|
||||
#define REPEAT_START_MS 700
|
||||
|
||||
static uint8_t lcd_col = 0;
|
||||
static uint8_t lcd_row = 0;
|
||||
|
||||
|
||||
11
main/i2c.c
11
main/i2c.c
@@ -24,7 +24,7 @@
|
||||
#define TCA_REG_CONFIG1 0x07
|
||||
|
||||
// Debounce & Repeat Settings
|
||||
#define DEBOUNCE_MS 50
|
||||
#define DEBOUNCE_MS 50
|
||||
#define REPEAT_MS 200
|
||||
#define REPEAT_START_MS 700
|
||||
|
||||
@@ -45,7 +45,7 @@ static esp_err_t tca_read_word(uint8_t reg, uint16_t *value) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
esp_err_t i2cdev_init(void) {
|
||||
esp_err_t i2c_init(void) {
|
||||
if (i2c_initted) return ESP_OK;
|
||||
|
||||
i2c_config_t conf = {
|
||||
@@ -75,6 +75,13 @@ esp_err_t i2c_set_led1(uint8_t state) {
|
||||
return tca_write_word_8(TCA_REG_OUTPUT0, state<<5);
|
||||
}
|
||||
|
||||
esp_err_t i2c_stop() {
|
||||
if (!i2c_initted) return ESP_OK;
|
||||
i2c_set_relays(0);
|
||||
i2c_set_led1(0);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
#define N_BTNS 2
|
||||
static bool debounced_state[N_BTNS] = {false};
|
||||
static bool last_known_state[N_BTNS] = {false};
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
#include "esp_err.h"
|
||||
|
||||
// Public Functions
|
||||
esp_err_t i2cdev_init(void);
|
||||
esp_err_t i2c_init(void);
|
||||
esp_err_t i2c_stop(void);
|
||||
|
||||
esp_err_t i2c_set_relays(uint8_t states);
|
||||
esp_err_t i2c_set_led1(uint8_t state);
|
||||
|
||||
197
main/main.c
197
main/main.c
@@ -1,3 +1,5 @@
|
||||
#include "esp_task_wdt.h"
|
||||
#include "i2c.h"
|
||||
#include "storage.h"
|
||||
#include "uart_comms.h"
|
||||
#include "esp_err.h"
|
||||
@@ -7,9 +9,13 @@
|
||||
#include "power_mgmt.h"
|
||||
#include "rtc.h"
|
||||
#include "sensors.h"
|
||||
#include "solar.h"
|
||||
#include "rf.h"
|
||||
|
||||
#define TAG "MAIN"
|
||||
|
||||
|
||||
int64_t last_log_time = 0;
|
||||
esp_err_t send_log() {
|
||||
|
||||
char entry[LOG_ENTRY_SIZE] = {0};
|
||||
@@ -20,13 +26,13 @@ esp_err_t send_log() {
|
||||
memcpy(&entry[1], &be_timestamp, 8);
|
||||
|
||||
// Pack 32-bit voltages/currents into bytes 9-24
|
||||
/*int32_t be_voltage = htobe32(get_battery_mV());
|
||||
float be_voltage = htobe32(get_battery_V());
|
||||
memcpy(&entry[9], &be_voltage, 4);
|
||||
int32_t be_current1 = htobe32(get_bridge_mA(BRIDGE_DRIVE));
|
||||
float be_current1 = htobe32(get_bridge_A(BRIDGE_DRIVE));
|
||||
memcpy(&entry[13], &be_current1, 4);
|
||||
int32_t be_current2 = htobe32(get_bridge_mA(BRIDGE_JACK));
|
||||
float be_current2 = htobe32(get_bridge_A(BRIDGE_JACK));
|
||||
memcpy(&entry[17], &be_current2, 4);
|
||||
int32_t be_current3 = htobe32(get_bridge_mA(BRIDGE_AUX));
|
||||
float be_current3 = htobe32(get_bridge_A(BRIDGE_AUX));
|
||||
memcpy(&entry[21], &be_current3, 4);
|
||||
|
||||
int32_t be_counter = htobe32(get_sensor_counter(SENSOR_DRIVE));
|
||||
@@ -34,28 +40,111 @@ esp_err_t send_log() {
|
||||
|
||||
entry[29] = get_sensor(SENSOR_DRIVE);
|
||||
entry[30] = get_sensor(SENSOR_JACK);
|
||||
entry[31] = fsm_get_state();*/
|
||||
entry[31] = fsm_get_state();
|
||||
|
||||
last_log_time = esp_timer_get_time();
|
||||
|
||||
return write_log(entry);
|
||||
}
|
||||
|
||||
|
||||
typedef enum {
|
||||
LED_STATE_DRIVING,
|
||||
LED_STATE_ERROR,
|
||||
LED_STATE_AWAKE,
|
||||
LED_STATE_CANCELLING,
|
||||
LED_STATE_START1,
|
||||
LED_STATE_START2,
|
||||
LED_STATE_START3,
|
||||
LED_STATE_START4,
|
||||
LED_STATE_BOOTING
|
||||
} led_state_t;
|
||||
|
||||
void driveLEDs(led_state_t state) {
|
||||
uint8_t patterns[4][12] = {
|
||||
{1,3,7,6,4,0},
|
||||
{7,0},
|
||||
{1,1,1,1,1,1, 1,1,1,3},
|
||||
{4,2}
|
||||
};
|
||||
switch(state) {
|
||||
case LED_STATE_DRIVING:
|
||||
i2c_set_led1(patterns[state][(esp_timer_get_time()/100000) % 6]);
|
||||
break;
|
||||
case LED_STATE_ERROR:
|
||||
i2c_set_led1(patterns[state][(esp_timer_get_time()/1000000) % 2]);
|
||||
break;
|
||||
case LED_STATE_AWAKE:
|
||||
i2c_set_led1(patterns[state][(esp_timer_get_time()/200000) % 10]);
|
||||
break;
|
||||
case LED_STATE_CANCELLING:
|
||||
i2c_set_led1(patterns[state][(esp_timer_get_time()/200000) % 2]);
|
||||
break;
|
||||
|
||||
case LED_STATE_BOOTING:
|
||||
i2c_set_led1(1);
|
||||
break;
|
||||
|
||||
case LED_STATE_START1:
|
||||
i2c_set_led1(0);
|
||||
break;
|
||||
case LED_STATE_START2:
|
||||
i2c_set_led1(1);
|
||||
break;
|
||||
case LED_STATE_START3:
|
||||
i2c_set_led1(3);
|
||||
break;
|
||||
case LED_STATE_START4:
|
||||
i2c_set_led1(7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void app_main(void) {
|
||||
// Initialize storage and load parameters
|
||||
ESP_LOGI(TAG, "Initializing storage...");
|
||||
esp_err_t ret = storage_init();
|
||||
if (ret != ESP_OK) {
|
||||
ESP_LOGW(TAG, "Storage init failed, using defaults");
|
||||
esp_task_wdt_add(NULL);
|
||||
|
||||
// Say hello; turn on the lights
|
||||
esp_sleep_wakeup_cause_t cause = rtc_wakeup_cause();
|
||||
if (i2c_init() != ESP_OK) ESP_LOGE(TAG, "I2C FAILED");
|
||||
i2c_set_relays(0);
|
||||
driveLEDs(LED_STATE_BOOTING);
|
||||
|
||||
// Every boot we load parameters and monitor solar, no matter what
|
||||
if (adc_init() != ESP_OK) ESP_LOGE(TAG, "ADC FAILED");
|
||||
if (rtc_xtal_init() != ESP_OK) ESP_LOGE(TAG, "RTC FAILED");
|
||||
if (storage_init() != ESP_OK) ESP_LOGE(TAG, "STORAGE FAILED");
|
||||
if (log_init() != ESP_OK) ESP_LOGE(TAG, "LOG FAILED");
|
||||
if (run_solar_fsm() != ESP_OK) ESP_LOGE(TAG, "SOLAR FAILED");
|
||||
// TODO: Do a 12V check and enter deep sleep if there's a problem
|
||||
|
||||
|
||||
send_log();
|
||||
|
||||
// Check wake reasons
|
||||
// If button held, we stay #woke
|
||||
// If not it must've been the RTC - check alarms
|
||||
// If there's an alarm or the button was held, do a full boot
|
||||
// Full boot will handle things from there
|
||||
|
||||
// only truly wake up if we saw it on EXT0, or from alarm
|
||||
/*if (!rtc_is_set()) {
|
||||
//ESP_LOGI("MAIN", "RTC is not set. Can't sleep til then.");
|
||||
} else */if (cause == ESP_SLEEP_WAKEUP_EXT0) {
|
||||
ESP_LOGI("MAIN", "Woke from button press");
|
||||
} else {
|
||||
if (!alarm_tripped()) {
|
||||
//enter_deep_sleep();
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize logging
|
||||
ESP_LOGI(TAG, "Initializing logging...");
|
||||
ret = log_init();
|
||||
if (ret != ESP_OK) {
|
||||
ESP_LOGE(TAG, "Log init failed");
|
||||
}
|
||||
|
||||
uart_start();
|
||||
/*** FULL BOOT ***/
|
||||
if (uart_init() != ESP_OK) ESP_LOGE(TAG, "UART FAILED");
|
||||
if (power_init() != ESP_OK) ESP_LOGE(TAG, "POWER FAILED");
|
||||
if (rf_init() != ESP_OK) ESP_LOGE(TAG, "RF FAILED");
|
||||
if (fsm_init() != ESP_OK) ESP_LOGE(TAG, "FSM FAILED");
|
||||
if (sensors_init() != ESP_OK) ESP_LOGE(TAG, "SENSORS FAILED");
|
||||
|
||||
/*** MAIN LOOP ***/
|
||||
|
||||
TickType_t xLastWakeTime = xTaskGetTickCount();
|
||||
const TickType_t xFrequency = pdMS_TO_TICKS(100);
|
||||
@@ -63,6 +152,76 @@ void app_main(void) {
|
||||
while(true) {
|
||||
vTaskDelayUntil(&xLastWakeTime, xFrequency);
|
||||
|
||||
send_log();
|
||||
i2c_poll_buttons();
|
||||
|
||||
if (i2c_get_button_state(0))
|
||||
reset_shutdown_timer();
|
||||
|
||||
switch (fsm_get_state()) {
|
||||
case STATE_IDLE:
|
||||
// LED cue for user
|
||||
if (i2c_get_button_ms(0) > 1600){
|
||||
driveLEDs(LED_STATE_START4);
|
||||
} else if (i2c_get_button_ms(0) > 1100){
|
||||
driveLEDs(LED_STATE_START3);
|
||||
} else if (i2c_get_button_ms(0) > 600){
|
||||
driveLEDs(LED_STATE_START2);
|
||||
} else if (i2c_get_button_ms(0) > 100){
|
||||
driveLEDs(LED_STATE_START1);
|
||||
} else{
|
||||
driveLEDs(LED_STATE_AWAKE);
|
||||
}
|
||||
|
||||
// when not actively moving we log at a low frequency
|
||||
if (esp_timer_get_time() > last_log_time + DEEP_SLEEP_US)
|
||||
send_log();
|
||||
|
||||
if(i2c_get_button_ms(0) > 2100)
|
||||
fsm_request(FSM_CMD_START);
|
||||
break;
|
||||
case STATE_UNDO_JACK:
|
||||
case STATE_UNDO_JACK_START:
|
||||
// assume it's running
|
||||
send_log();
|
||||
driveLEDs(LED_STATE_CANCELLING);
|
||||
if (i2c_get_button_tripped(0)) {
|
||||
ESP_LOGI(TAG, "AAAAH STOP!!!");
|
||||
fsm_request(FSM_CMD_STOP);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// assume it's running in every other case
|
||||
send_log();
|
||||
driveLEDs(LED_STATE_DRIVING);
|
||||
if (i2c_get_button_tripped(0)) {
|
||||
ESP_LOGI(TAG, "CTRL + Z PLZ!");
|
||||
fsm_request(FSM_CMD_UNDO);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (alarm_tripped()) {
|
||||
fsm_request(FSM_CMD_START);
|
||||
set_next_alarm();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*ESP_LOGI(TAG, "VOLTAGE: %2.3f | CURRENTS: %+2.8f %+2.8f %+2.8f",
|
||||
get_battery_V(),
|
||||
get_bridge_A(BRIDGE_DRIVE),
|
||||
get_bridge_A(BRIDGE_JACK),
|
||||
get_bridge_A(BRIDGE_AUX));*/
|
||||
|
||||
|
||||
|
||||
run_solar_fsm();
|
||||
|
||||
//check_shutdown_timer();
|
||||
esp_task_wdt_reset();
|
||||
}
|
||||
}
|
||||
@@ -34,194 +34,47 @@
|
||||
#include "storage.h"
|
||||
#include "rtc.h"
|
||||
|
||||
#define TAG "POWER"
|
||||
|
||||
// === GPIO Pin Definitions ===
|
||||
#define PIN_V_ISENS1 ADC_CHANNEL_6 // GPIO34
|
||||
#define PIN_V_ISENS2 ADC_CHANNEL_3 // GPIO39 / VN
|
||||
#define PIN_V_ISENS1 ADC_CHANNEL_0 // GPIO36 / VP
|
||||
#define PIN_V_ISENS2 ADC_CHANNEL_6 // GPIO34
|
||||
#define PIN_V_ISENS3 ADC_CHANNEL_7 // GPIO35
|
||||
#define PIN_V_BATTERY ADC_CHANNEL_0 // GPIO36 / VP
|
||||
#define PIN_V_BATTERY ADC_CHANNEL_3 // GPIO39 / VN
|
||||
#define PIN_V_SENS_BAT PIN_V_BATTERY
|
||||
|
||||
#define PIN_CHG_DISABLE GPIO_NUM_26
|
||||
#define PIN_CHG_BULK GPIO_NUM_27
|
||||
|
||||
#define AUTOZERO_THRESH 2000.0f // mA
|
||||
// update time
|
||||
#define UPDATE_MS 20
|
||||
#define UPDATE_S 0.02f
|
||||
|
||||
|
||||
typedef enum {
|
||||
CHG_T_LOWBAT = 0,
|
||||
CHG_T_BULK = 1,
|
||||
CHG_T_STEADY = 2,
|
||||
} charge_timer_t;
|
||||
|
||||
#define N_CHG_TIMERS 3
|
||||
RTC_DATA_ATTR charge_state_t current_charge_state = CHG_STATE_BULK;
|
||||
RTC_DATA_ATTR int64_t charge_timers[N_CHG_TIMERS] = {-1};
|
||||
|
||||
int64_t now;
|
||||
|
||||
charge_state_t get_charging_state() { return current_charge_state; }
|
||||
|
||||
void setTimerN(charge_timer_t i, int64_t sec) {
|
||||
// set the timer for <sec> in the future if it's currently less than now
|
||||
if (charge_timers[i] < now) {
|
||||
charge_timers[i] = now + sec;
|
||||
ESP_LOGI("BAT", "Set timer[%d] +%lld", i, (long long)sec);
|
||||
}
|
||||
}
|
||||
|
||||
void resetTimerN(charge_timer_t i) {
|
||||
charge_timers[i] = -1;
|
||||
}
|
||||
void resetBatTimers() {
|
||||
for (uint8_t i=0; i<N_CHG_TIMERS; i++)
|
||||
resetTimerN(i);
|
||||
}
|
||||
|
||||
bool getTimerN(charge_timer_t i) {
|
||||
if (charge_timers[i] < 0) return false;
|
||||
return system_rtc_get_raw_time() > charge_timers[i];
|
||||
}
|
||||
|
||||
#define BULK_CHARGE_S 20 //2*60*60
|
||||
#define FLOAT_STEADY_S 10 //30*60
|
||||
#define LOW_DETECT_S 10 //5*60
|
||||
|
||||
#define STEADY_MV 13000
|
||||
#define LOW_MV 12800
|
||||
|
||||
void run_charge_fsm() {
|
||||
now = system_rtc_get_raw_time();
|
||||
|
||||
//ESP_LOGI("BAT", "FSM STATE %d", current_charge_state);
|
||||
|
||||
if (rtc_is_set()) {
|
||||
switch(current_charge_state) {
|
||||
case CHG_STATE_BULK:
|
||||
// turn off bulk charging and go to float when time is up
|
||||
if (getTimerN(CHG_T_BULK)) {
|
||||
ESP_LOGI("BAT", "BULK -> FLOAT");
|
||||
current_charge_state = CHG_STATE_FLOAT;
|
||||
}
|
||||
break;
|
||||
|
||||
case CHG_STATE_FLOAT:
|
||||
if (getTimerN(CHG_T_STEADY)) {
|
||||
ESP_LOGI("BAT", "FLOAT -> OFF");
|
||||
current_charge_state = CHG_STATE_OFF;
|
||||
}
|
||||
if (get_battery_mV() > STEADY_MV) {
|
||||
setTimerN(CHG_T_STEADY, FLOAT_STEADY_S);
|
||||
} else {
|
||||
resetTimerN(CHG_T_STEADY);
|
||||
}
|
||||
// NO break; !! float should also kick into bulk with same triggers
|
||||
case CHG_STATE_OFF:
|
||||
|
||||
// after 5 minutes of low-ish battery go into bulk charge
|
||||
if (getTimerN(CHG_T_LOWBAT)) {
|
||||
ESP_LOGI("BAT", " -> BULK");
|
||||
current_charge_state = CHG_STATE_BULK;
|
||||
setTimerN(CHG_T_BULK, BULK_CHARGE_S);
|
||||
}
|
||||
if (get_battery_mV() < LOW_MV) {
|
||||
setTimerN(CHG_T_LOWBAT, LOW_DETECT_S);
|
||||
} else {
|
||||
resetTimerN(CHG_T_LOWBAT);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
//ESP_LOGI("BAT", " -> BULK");
|
||||
current_charge_state = CHG_STATE_BULK;
|
||||
}
|
||||
|
||||
//rtc_gpio_hold_dis(PIN_CHG_BULK);
|
||||
//rtc_gpio_hold_dis(PIN_CHG_DISABLE);
|
||||
switch(current_charge_state) {
|
||||
case CHG_STATE_BULK:
|
||||
gpio_set_level(PIN_CHG_BULK, 1);
|
||||
gpio_set_level(PIN_CHG_DISABLE, 0);
|
||||
//ESP_LOGI("BAT", "BULK");
|
||||
break;
|
||||
case CHG_STATE_FLOAT:
|
||||
gpio_set_level(PIN_CHG_BULK, 0);
|
||||
gpio_set_level(PIN_CHG_DISABLE, 0);
|
||||
//ESP_LOGI("BAT", "FLOAT");
|
||||
break;
|
||||
case CHG_STATE_OFF:
|
||||
gpio_set_level(PIN_CHG_BULK, 0);
|
||||
gpio_set_level(PIN_CHG_DISABLE, 1);
|
||||
//ESP_LOGI("BAT", "OFF");
|
||||
break;
|
||||
}
|
||||
//rtc_gpio_hold_en(PIN_CHG_BULK);
|
||||
//rtc_gpio_hold_en(PIN_CHG_DISABLE);
|
||||
}
|
||||
int64_t now; // us
|
||||
|
||||
typedef struct {
|
||||
bool enabled; // Auto-zero active for this channel
|
||||
float threshold_ma; // Max current to consider "zero" (mA)
|
||||
float learned_offset_mv; // Accumulated zero offset (mV)
|
||||
bool initialized; // First valid zero established
|
||||
} autozero_t;
|
||||
static autozero_t autozero[N_BRIDGES] = {0};
|
||||
int64_t az_enable_time; // Timestamp to enable autozeroing at (negative to disable)
|
||||
float az_offset; // Accumulated zero offset
|
||||
bool az_initialized; // First valid zero established
|
||||
|
||||
// === E-Fuse (Software Breaker) Configuration ===
|
||||
static const char* currentLimits_A[N_BRIDGES] = {
|
||||
[BRIDGE_DRIVE] = "efuse_drive_A", //40000,
|
||||
[BRIDGE_AUX] = "efuse_aux_A", // 5000,
|
||||
[BRIDGE_JACK] = "efuse_jack_A" // 10000
|
||||
};
|
||||
static const float i2t_thresholds[N_BRIDGES] = { // A^2*s (tunable per bridge if needed)
|
||||
[BRIDGE_DRIVE] = 6.0f,
|
||||
[BRIDGE_AUX] = 6.0f,
|
||||
[BRIDGE_JACK] = 6.0f
|
||||
};
|
||||
static const float i_instant[N_BRIDGES] = { // Instant trip multiplier of I_rated
|
||||
[BRIDGE_DRIVE] = 15.0f,
|
||||
[BRIDGE_AUX] = 15.0f,
|
||||
[BRIDGE_JACK] = 15.0f
|
||||
};
|
||||
static const float cool_rate[N_BRIDGES] = { // Cooling constant (1/s)
|
||||
[BRIDGE_DRIVE] = 0.008f,
|
||||
[BRIDGE_AUX] = 0.008f,
|
||||
[BRIDGE_JACK] = 0.008f
|
||||
};
|
||||
static const int32_t cooldown_ms[N_BRIDGES] = { // Auto-reset delay after trip
|
||||
[BRIDGE_DRIVE] = 5000,
|
||||
[BRIDGE_AUX] = 5000,
|
||||
[BRIDGE_JACK] = 5000
|
||||
};
|
||||
bool ema_init;
|
||||
float ema_current;
|
||||
|
||||
static float efuse_heat[N_BRIDGES] = {0};
|
||||
static uint64_t efuse_trip_time[N_BRIDGES] = {0}; // Timestamp when tripped
|
||||
static bool efuse_tripped[N_BRIDGES] = {false};
|
||||
float current; // with all the corrections applied
|
||||
|
||||
float heat;
|
||||
bool tripped;
|
||||
int64_t trip_time;
|
||||
} isens_channel_t;
|
||||
static isens_channel_t isens[N_BRIDGES] = {0};
|
||||
|
||||
// === ADC Handles ===
|
||||
static adc_oneshot_unit_handle_t adc1_handle = NULL;
|
||||
static adc_cali_handle_t adc_cali_handle = NULL;
|
||||
|
||||
// === EMA Filter State ===
|
||||
#define EMA_ALPHA_CURRENT 0.5f
|
||||
#define EMA_ALPHA_BATTERY 0.05f
|
||||
|
||||
static float ema_current[N_BRIDGES] = {0};
|
||||
static bool ema_init[N_BRIDGES] = {false};
|
||||
|
||||
static float ema_battery = 0.0f;
|
||||
static bool ema_battery_init = false;
|
||||
|
||||
// === Shared Volatile Outputs ===
|
||||
volatile int32_t bridgeCurrents_mA[N_BRIDGES] = {0};
|
||||
volatile int32_t batteryVoltage_mV = 0;
|
||||
|
||||
// === ADC Initialization ===
|
||||
static esp_err_t adc_init(void) {
|
||||
if (adc1_handle != NULL) {
|
||||
return ESP_OK; // Already initialized
|
||||
}
|
||||
|
||||
// ADC1 oneshot mode
|
||||
esp_err_t adc_init() {
|
||||
// ADC1 oneshot mode
|
||||
adc_oneshot_unit_init_cfg_t init_cfg = {
|
||||
.unit_id = ADC_UNIT_1,
|
||||
};
|
||||
@@ -246,51 +99,62 @@ static esp_err_t adc_init(void) {
|
||||
};
|
||||
ESP_ERROR_CHECK(adc_cali_create_scheme_line_fitting(&cali_cfg, &adc_cali_handle));
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
float get_raw_battery_voltage(void) {
|
||||
int adc_raw = 0;
|
||||
int voltage_mv = 0;
|
||||
|
||||
if (adc_oneshot_read(adc1_handle, PIN_V_SENS_BAT, &adc_raw)
|
||||
!= ESP_OK) { return NAN; }
|
||||
if (adc_cali_raw_to_voltage(adc_cali_handle, adc_raw, &voltage_mv)
|
||||
!= ESP_OK) { return NAN; }
|
||||
|
||||
// Voltage divider: 150kohm to 1Mohm -> gain = 1.15 -> scale = 1150/150
|
||||
return voltage_mv * 0.00766666666; // same as / 1000.0 * 1150.0 / 150.0;
|
||||
}
|
||||
|
||||
esp_err_t process_battery_voltage(void)
|
||||
{
|
||||
float raw = get_raw_battery_voltage();
|
||||
|
||||
if (!ema_battery_init) {
|
||||
ema_battery = (float)raw;
|
||||
ema_battery_init = true;
|
||||
} else {
|
||||
float alpha = get_param(PARAM_ADC_ALPHA_BATTERY).f32;
|
||||
if (isnan(raw)) {
|
||||
ESP_LOGI(TAG, "RAW BATTERY IS NAN");
|
||||
} else {
|
||||
if (isnan(ema_battery) || isnan(alpha))
|
||||
ema_battery = raw;
|
||||
else
|
||||
ema_battery = alpha * (float)raw + (1.0f - alpha) * ema_battery;
|
||||
}
|
||||
}
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
void autozero_enable(bridge_t bridge, bool enable) {
|
||||
if (bridge >= N_BRIDGES) return;
|
||||
autozero[bridge].enabled = enable;
|
||||
if (!enable) {
|
||||
autozero[bridge].learned_offset_mv = 0.0f;
|
||||
autozero[bridge].initialized = false;
|
||||
}
|
||||
void set_autozero(bridge_t bridge) {
|
||||
// enable autozeroing for this bridge 1 second from now
|
||||
isens[bridge].az_enable_time = now+1000000;
|
||||
//ESP_LOGI(TAG, "KILLING BRIDGE %d; %lld -> %lld", bridge, (long long int) now, (long long int) isens[bridge].az_enable_time);
|
||||
}
|
||||
|
||||
void autozero_set_threshold(bridge_t bridge, float threshold_ma) {
|
||||
if (bridge >= N_BRIDGES) return;
|
||||
autozero[bridge].threshold_ma = fmaxf(0.0f, threshold_ma);
|
||||
}
|
||||
|
||||
float autozero_get_offset_mv(bridge_t bridge) {
|
||||
if (bridge >= N_BRIDGES) return 0.0f;
|
||||
return autozero[bridge].learned_offset_mv;
|
||||
}
|
||||
|
||||
void autozero_reset(bridge_t bridge) {
|
||||
if (bridge >= N_BRIDGES) return;
|
||||
autozero[bridge].learned_offset_mv = 0.0f;
|
||||
autozero[bridge].initialized = false;
|
||||
}
|
||||
|
||||
void autozero_reset_all(void) {
|
||||
for (uint8_t i = 0; i < N_BRIDGES; i++) {
|
||||
autozero_reset((bridge_t)i);
|
||||
}
|
||||
}
|
||||
|
||||
// === Raw Current Reading (mA) ===
|
||||
static int32_t read_bridge_current_raw(bridge_t bridge) {
|
||||
int adc_raw = 0;
|
||||
esp_err_t process_bridge_current(bridge_t bridge) {
|
||||
int adc_raw = 0;
|
||||
int voltage_mv = 0;
|
||||
|
||||
isens_channel_t *channel = &isens[bridge];
|
||||
|
||||
adc_channel_t pin;
|
||||
switch(bridge) {
|
||||
case BRIDGE_DRIVE: pin = PIN_V_ISENS3; break;
|
||||
case BRIDGE_AUX: pin = PIN_V_ISENS1; break;
|
||||
case BRIDGE_DRIVE: pin = PIN_V_ISENS1; break;
|
||||
case BRIDGE_JACK: pin = PIN_V_ISENS2; break;
|
||||
default: return -42069;
|
||||
case BRIDGE_AUX: pin = PIN_V_ISENS3; break;
|
||||
default: return -42069; // lol
|
||||
}
|
||||
|
||||
if (adc_oneshot_read(adc1_handle, pin, &adc_raw) != ESP_OK) {
|
||||
@@ -300,204 +164,170 @@ static int32_t read_bridge_current_raw(bridge_t bridge) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
float current_sense_mv = (float)voltage_mv;
|
||||
autozero_t *az = &autozero[bridge];
|
||||
|
||||
// === AUTO-ZERO LEARNING PHASE ===
|
||||
if (az->enabled && get_bridge_state(bridge)==0) {
|
||||
float raw_current_ma = 0.0f;
|
||||
switch (bridge) {
|
||||
case BRIDGE_JACK:
|
||||
case BRIDGE_AUX:
|
||||
// ACS37042KLHBLT-030B3 is 30A capable and 44 mV/A
|
||||
raw_current_ma = (current_sense_mv - 1650.0f) * 1000.0f / 44.0f;
|
||||
break;
|
||||
case BRIDGE_DRIVE:
|
||||
// ACS37220LEZATR-100B3 is 100A capable and 13.2 mV/A
|
||||
raw_current_ma = (current_sense_mv - 1650.0f) * 1000.0f / 13.20f;
|
||||
break;
|
||||
}
|
||||
|
||||
if (fabsf(raw_current_ma) <= az->threshold_ma) {
|
||||
// Valid zero sample
|
||||
if (!az->initialized) {
|
||||
az->learned_offset_mv = current_sense_mv - 1650.0f;
|
||||
az->initialized = true;
|
||||
} else {
|
||||
// EMA on offset (slow adaptation)
|
||||
float alpha = 0.1f;
|
||||
az->learned_offset_mv = alpha * (current_sense_mv - 1650.0f) +
|
||||
(1.0f - alpha) * az->learned_offset_mv;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// === APPLY AUTO-ZERO OFFSET ===
|
||||
float corrected_mv = current_sense_mv - az->learned_offset_mv;
|
||||
|
||||
int32_t offset_mv = (int32_t)(corrected_mv - 1650.0f);
|
||||
int32_t current_ma = 0;
|
||||
float raw_a = NAN;
|
||||
|
||||
switch (bridge) {
|
||||
case BRIDGE_JACK:
|
||||
case BRIDGE_AUX:
|
||||
current_ma = offset_mv * 1000 / 44; // 44 mV/A
|
||||
// ACS37042KLHBLT-030B3 is 30A capable and 44 mV/A
|
||||
raw_a = (voltage_mv - 1650.0f) / 44.0f;
|
||||
break;
|
||||
case BRIDGE_DRIVE:
|
||||
current_ma = offset_mv * 10000 / 132; // 13.2 mV/A
|
||||
// ACS37220LEZATR-100B3 is 100A capable and 13.2 mV/A
|
||||
raw_a = (voltage_mv - 1650.0f) / 13.2f;
|
||||
break;
|
||||
}
|
||||
|
||||
return current_ma;
|
||||
}
|
||||
|
||||
// === Raw Battery Voltage Reading (mV) ===
|
||||
static int32_t read_battery_voltage_raw(void)
|
||||
{
|
||||
int adc_raw = 0;
|
||||
int voltage_mv = 0;
|
||||
|
||||
if (adc_oneshot_read(adc1_handle, PIN_V_SENS_BAT, &adc_raw) != ESP_OK) {
|
||||
return 0;
|
||||
}
|
||||
if (adc_cali_raw_to_voltage(adc_cali_handle, adc_raw, &voltage_mv) != ESP_OK) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Voltage divider: 150kΩ to 1MΩ → gain = 1.15 → scale = 1150/150
|
||||
return (int32_t)voltage_mv * 1150 / 150;
|
||||
}
|
||||
|
||||
// === EMA Filter Update ===
|
||||
static void apply_ema(float *state, bool *init, float alpha, int32_t raw, volatile int32_t *out)
|
||||
{
|
||||
if (!*init) {
|
||||
*state = (float)raw;
|
||||
*init = true;
|
||||
if (!channel->ema_init) {
|
||||
channel->ema_current = (float)raw_a;
|
||||
channel->ema_init = true;
|
||||
} else {
|
||||
*state = alpha * (float)raw + (1.0f - alpha) * *state;
|
||||
}
|
||||
*out = (int32_t)(*state + 0.5f);
|
||||
}
|
||||
|
||||
// === Public Accessors ===
|
||||
int32_t get_bridge_mA(uint8_t bridge)
|
||||
{
|
||||
if (bridge >= N_BRIDGES) return -1;
|
||||
return (int32_t)bridgeCurrents_mA[bridge];
|
||||
}
|
||||
|
||||
int32_t get_battery_mV(void)
|
||||
{
|
||||
return (int32_t)batteryVoltage_mV;
|
||||
}
|
||||
|
||||
// === E-Fuse: Trip Logic (called every cycle) ===
|
||||
static void efuse_update(uint8_t bridge, float I, float dt, uint64_t now)
|
||||
{
|
||||
float I_rated = (float)get_param_i8(currentLimits_A[bridge]);
|
||||
float I_norm = I / I_rated;
|
||||
|
||||
// Instant trip on extreme overcurrent
|
||||
if (I_norm >= i_instant[bridge]) {
|
||||
efuse_tripped[bridge] = true;
|
||||
efuse_trip_time[bridge] = now;
|
||||
return;
|
||||
}
|
||||
|
||||
// Cooling when below threshold
|
||||
if (I_norm < 1.1f) {
|
||||
efuse_heat[bridge] -= efuse_heat[bridge] * cool_rate[bridge] * dt;
|
||||
efuse_heat[bridge] = fmaxf(0.0f, efuse_heat[bridge]);
|
||||
efuse_tripped[bridge] = false; // Auto-clear if cooled
|
||||
return;
|
||||
}
|
||||
|
||||
// Accumulate heat (I²t)
|
||||
efuse_heat[bridge] += (I_norm * I_norm) * dt;
|
||||
|
||||
if (efuse_heat[bridge] >= i2t_thresholds[bridge]) {
|
||||
efuse_tripped[bridge] = true;
|
||||
efuse_trip_time[bridge] = now;
|
||||
}
|
||||
}
|
||||
|
||||
// === E-Fuse: Auto-Reset After Cooldown ===
|
||||
static void efuse_cooldown_check(uint64_t now)
|
||||
{
|
||||
for (uint8_t i = 0; i < N_BRIDGES; i++) {
|
||||
if (efuse_tripped[i] &&
|
||||
(now - efuse_trip_time[i]) >= (cooldown_ms[i] * 1000ULL)) {
|
||||
efuse_heat[i] = 0.0f;
|
||||
efuse_tripped[i] = false;
|
||||
float alpha = get_param(PARAM_ADC_ALPHA_ISENS).f32;
|
||||
if (isnan(raw_a)) {
|
||||
ESP_LOGI(TAG, "RAW BATTERY IS NAN");
|
||||
channel->ema_current = NAN;
|
||||
} else {
|
||||
if (isnan(ema_battery) || isnan(alpha))
|
||||
channel->ema_current = raw_a;
|
||||
else
|
||||
channel->ema_current = alpha * raw_a + (1.0f - alpha) * channel->ema_current;
|
||||
}
|
||||
}
|
||||
|
||||
// === AUTO-ZERO LEARNING PHASE ===
|
||||
if (now > channel->az_enable_time) {
|
||||
//ESP_LOGI(TAG, "AZING %d", bridge);
|
||||
float db = get_param(PARAM_ADC_DB_IAZ).f32;
|
||||
if (isnan(db) || fabsf(channel->ema_current) <= db) {
|
||||
// Valid zero sample
|
||||
if (!channel->az_initialized) {
|
||||
channel->az_offset = channel->ema_current;
|
||||
channel->az_initialized = true;
|
||||
} else {
|
||||
float alpha = get_param(PARAM_ADC_ALPHA_IAZ).f32;
|
||||
if (isnan(raw_a)) {
|
||||
ESP_LOGI(TAG, "RAW BATTERY IS NAN");
|
||||
} else {
|
||||
if (isnan(ema_battery) || isnan(alpha))
|
||||
channel->az_offset = channel->ema_current;
|
||||
else
|
||||
channel->az_offset = alpha * channel->ema_current +
|
||||
(1.0f - alpha) * channel->az_offset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Apply the offset
|
||||
channel->current = channel->ema_current - channel->az_offset;
|
||||
|
||||
|
||||
// PARAMETERS FOR E-FUSING ALGORITHM
|
||||
// PARAM_EFUSE_KINST : ratio of nominal current that should cause an immediate shutdown
|
||||
// PARAM_EFUSE_TCOOL : cooldown timer from trip (in microseconds)
|
||||
// PARAM_EFUSE_TAUCOOL : speed of cooldown for heating (units are 1/s; bigger = faster cooldown)
|
||||
|
||||
// Monitor E-fusing
|
||||
float I_nominal = NAN;
|
||||
switch(bridge) {
|
||||
case BRIDGE_DRIVE:
|
||||
I_nominal = get_param(PARAM_EFUSE_INOM_1).f32;
|
||||
break;
|
||||
case BRIDGE_JACK:
|
||||
I_nominal = get_param(PARAM_EFUSE_INOM_2).f32;
|
||||
break;
|
||||
case BRIDGE_AUX:
|
||||
I_nominal = get_param(PARAM_EFUSE_INOM_3).f32;
|
||||
break;
|
||||
}
|
||||
|
||||
// Normalize the current as a fraction of rated current
|
||||
float I_norm = fabsf(channel->current / I_nominal);
|
||||
|
||||
// Instant trip on extreme overcurrent
|
||||
if (I_norm >= get_param(PARAM_EFUSE_KINST).f32) {
|
||||
channel->tripped = true;
|
||||
channel->trip_time = now;
|
||||
ESP_LOGI(TAG, "FUSE TRIP: Inom: %+.5f HEAT:%+2.5f", I_norm, channel->heat);
|
||||
return ESP_OK; // no more processing, if we're over, we're over
|
||||
}
|
||||
|
||||
// Accumulate heat
|
||||
channel->heat += (I_norm * I_norm) * UPDATE_S;
|
||||
|
||||
// Only do cooling when below threshold
|
||||
if (I_norm < 1.0f) {
|
||||
// if we are hot we radiate more heat
|
||||
// (I^2/I^2*t) * (1/t) * t = I^2/I^2*t
|
||||
channel->heat -= channel->heat * get_param(PARAM_EFUSE_TAUCOOL).f32 * UPDATE_S;
|
||||
channel->heat = fmaxf(0.0f, channel->heat); // keep it from going negative
|
||||
// channel.tripped = false; // Auto-clear if cooled (WTF why this is insane)
|
||||
}
|
||||
|
||||
// If built-up heat exceeds the time limit, trip
|
||||
// Recall units of heat are (current_actual^2/current_nominal^2)*time
|
||||
// Ergo, heat is measured in seconds
|
||||
if (channel->heat > get_param(PARAM_EFUSE_HEAT_THRESH).f32) {
|
||||
channel->tripped = true;
|
||||
channel->trip_time = now;
|
||||
|
||||
// If we're not overheated
|
||||
// And enough time has passed
|
||||
// Go ahead and reset the e-fuse
|
||||
} else if (channel->tripped &&
|
||||
(now - channel->trip_time) > get_param(PARAM_EFUSE_TCOOL).i64) {
|
||||
channel->tripped = false;
|
||||
// channel.heat = 0.0f // I think we should wait for the e-fuse to catch up
|
||||
}
|
||||
|
||||
if (bridge == BRIDGE_DRIVE)
|
||||
ESP_LOGI(TAG, "FUSE: Inom: %+.5f HEAT:%+2.5f", I_norm, channel->heat);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
|
||||
// === Public Accessors ===
|
||||
float get_bridge_A(bridge_t bridge)
|
||||
{
|
||||
if (bridge >= N_BRIDGES) return NAN;
|
||||
return isens[bridge].current;
|
||||
}
|
||||
|
||||
float get_battery_V(void)
|
||||
{
|
||||
if (ema_battery_init)
|
||||
return ema_battery;
|
||||
return get_raw_battery_voltage();
|
||||
}
|
||||
|
||||
// === Public E-Fuse Controls ===
|
||||
void efuse_reset_all(void)
|
||||
/*void efuse_reset_all(void)
|
||||
{
|
||||
for (uint8_t i = 0; i < N_BRIDGES; i++) {
|
||||
efuse_heat[i] = 0.0f;
|
||||
efuse_tripped[i] = false;
|
||||
isens[i].heat = 0.0f;
|
||||
isens[i].tripped = false;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
bool efuse_is_tripped(uint8_t bridge)
|
||||
bool efuse_is_tripped(bridge_t bridge)
|
||||
{
|
||||
if (bridge >= N_BRIDGES) return false;
|
||||
return efuse_tripped[bridge];
|
||||
return isens[bridge].tripped;
|
||||
}
|
||||
|
||||
|
||||
// === Power Management Task ===
|
||||
void power_mgmt_task(void *param) {
|
||||
esp_task_wdt_add(NULL);
|
||||
|
||||
/*gpio_config_t io_conf = {
|
||||
.pin_bit_mask = (1ULL << PIN_CHG_DISABLE) | (1ULL << PIN_CHG_BULK),
|
||||
.mode = GPIO_MODE_OUTPUT,
|
||||
.pull_up_en = GPIO_PULLUP_DISABLE,
|
||||
.pull_down_en = GPIO_PULLDOWN_DISABLE,
|
||||
.intr_type = GPIO_INTR_DISABLE,
|
||||
};
|
||||
gpio_config(&io_conf);*/
|
||||
|
||||
/*// Enable RTC GPIO domain (required for hold)
|
||||
rtc_gpio_init(PIN_CHG_DISABLE);
|
||||
rtc_gpio_init(PIN_CHG_BULK);
|
||||
|
||||
// Set as output
|
||||
rtc_gpio_set_direction(PIN_CHG_DISABLE, RTC_GPIO_MODE_OUTPUT_ONLY);
|
||||
rtc_gpio_set_direction(PIN_CHG_BULK, RTC_GPIO_MODE_OUTPUT_ONLY);
|
||||
|
||||
// Optional: set initial level (will be held)
|
||||
//rtc_gpio_set_level(PIN_CHG_DISABLE, 1); // e.g., start disabled
|
||||
//rtc_gpio_set_level(PIN_CHG_BULK, 0);
|
||||
|
||||
// **Critical: Enable hold function**
|
||||
rtc_gpio_hold_en(PIN_CHG_DISABLE);
|
||||
rtc_gpio_hold_en(PIN_CHG_BULK);*/
|
||||
|
||||
ESP_ERROR_CHECK(adc_init());
|
||||
|
||||
TickType_t xLastWakeTime = xTaskGetTickCount();
|
||||
const TickType_t xFrequency = pdMS_TO_TICKS(20);
|
||||
const TickType_t xFrequency = pdMS_TO_TICKS(UPDATE_MS);
|
||||
|
||||
// Optional: Enable auto-zero with default threshold
|
||||
autozero_enable(BRIDGE_DRIVE, true);
|
||||
autozero_enable(BRIDGE_AUX, true);
|
||||
autozero_enable(BRIDGE_JACK, true);
|
||||
|
||||
autozero_set_threshold(BRIDGE_DRIVE, AUTOZERO_THRESH);
|
||||
autozero_set_threshold(BRIDGE_AUX, AUTOZERO_THRESH);
|
||||
autozero_set_threshold(BRIDGE_JACK, AUTOZERO_THRESH);
|
||||
|
||||
//uint64_t last_wake_time = esp_timer_get_time();
|
||||
//const uint64_t period = 5000; // 100 us => 10kHz
|
||||
while (1) {
|
||||
vTaskDelayUntil(&xLastWakeTime, xFrequency);
|
||||
uint64_t now_us = esp_timer_get_time();
|
||||
now = esp_timer_get_time(); // us
|
||||
|
||||
/*if (now - last_wake_time < period) {
|
||||
uint32_t delay_us = (period - (now - last_wake_time)) / 1000;
|
||||
@@ -508,43 +338,20 @@ void power_mgmt_task(void *param) {
|
||||
|
||||
// Sample currents
|
||||
for (uint8_t i = 0; i < N_BRIDGES; i++) {
|
||||
int32_t raw_ma = read_bridge_current_raw((bridge_t)i);
|
||||
apply_ema(&ema_current[i], &ema_init[i], EMA_ALPHA_CURRENT,
|
||||
raw_ma, &bridgeCurrents_mA[i]);
|
||||
|
||||
// Reset spike timer if under limit
|
||||
/*if (bridgeCurrents_mA[i] < currentLimits_mA[i]) {
|
||||
currentSpikeSafeTimes[i] = now + CURRENT_SPIKE_TIME_US;
|
||||
}*/
|
||||
|
||||
// === E-FUSE UPDATE ===
|
||||
float I = (float)bridgeCurrents_mA[i] / 1000.0f;
|
||||
float dt = 0.020f; // 20 ms task period
|
||||
efuse_update(i, I, dt, now_us);
|
||||
process_bridge_current(i);
|
||||
}
|
||||
|
||||
/*ESP_LOGI("PWR", "[ %6ld | %6ld | %6ld mA ] { %6ld mV }",
|
||||
(long)bridgeCurrents_mA[BRIDGE_DRIVE],
|
||||
(long)bridgeCurrents_mA[BRIDGE_JACK],
|
||||
(long)bridgeCurrents_mA[BRIDGE_AUX],
|
||||
(long)batteryVoltage_mV);*/
|
||||
|
||||
// Sample battery
|
||||
int32_t raw_bat = read_battery_voltage_raw();
|
||||
apply_ema(&ema_battery, &ema_battery_init, EMA_ALPHA_BATTERY,
|
||||
raw_bat, &batteryVoltage_mV);
|
||||
|
||||
|
||||
//run_charge_fsm();
|
||||
efuse_cooldown_check(now_us);
|
||||
process_battery_voltage();
|
||||
esp_task_wdt_reset();
|
||||
}
|
||||
}
|
||||
|
||||
void start_power() {
|
||||
esp_err_t power_init() {
|
||||
xTaskCreate(power_mgmt_task, "PWR", 4096, NULL, 5, NULL);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
void shutdown_power() {
|
||||
|
||||
esp_err_t power_stop() {
|
||||
return ESP_OK;
|
||||
}
|
||||
546
main/power_mgmt.c.old
Normal file
546
main/power_mgmt.c.old
Normal file
@@ -0,0 +1,546 @@
|
||||
/*
|
||||
* power_mgmt.c
|
||||
*
|
||||
* 1 kHz power-management task:
|
||||
* • Samples all three H-bridge current sensors (DRIVE, AUX, JACK)
|
||||
* • Samples battery voltage (BAT)
|
||||
* • Applies EMA filtering on every channel
|
||||
* • Updates shared volatile globals for the control FSM
|
||||
* • Handles over-current spike protection
|
||||
*
|
||||
* Updated to modern ESP-IDF ADC API (line fitting)
|
||||
* All variables now defined locally
|
||||
*
|
||||
* Created on: Nov 10, 2025
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "driver/rtc_io.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_task_wdt.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_adc/adc_oneshot.h"
|
||||
#include "esp_adc/adc_cali.h"
|
||||
#include "esp_adc/adc_cali_scheme.h"
|
||||
#include "esp_timer.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "control_fsm.h"
|
||||
#include "soc/rtc_io_reg.h"
|
||||
#include "power_mgmt.h"
|
||||
|
||||
#include "storage.h"
|
||||
#include "rtc.h"
|
||||
|
||||
// === GPIO Pin Definitions ===
|
||||
#define PIN_V_ISENS1 ADC_CHANNEL_0 // GPIO36 / VP
|
||||
#define PIN_V_ISENS2 ADC_CHANNEL_6 // GPIO34
|
||||
#define PIN_V_ISENS3 ADC_CHANNEL_7 // GPIO35
|
||||
#define PIN_V_BATTERY ADC_CHANNEL_3 // GPIO39 / VN
|
||||
#define PIN_V_SENS_BAT PIN_V_BATTERY
|
||||
|
||||
#define PIN_CHG_BULK GPIO_NUM_26
|
||||
|
||||
#define AUTOZERO_THRESH 2000.0f // mA
|
||||
|
||||
|
||||
typedef enum {
|
||||
CHG_T_LOWBAT = 0,
|
||||
CHG_T_BULK = 1,
|
||||
CHG_T_STEADY = 2,
|
||||
} charge_timer_t;
|
||||
|
||||
#define N_CHG_TIMERS 3
|
||||
RTC_DATA_ATTR charge_state_t current_charge_state = CHG_STATE_BULK;
|
||||
RTC_DATA_ATTR int64_t charge_timers[N_CHG_TIMERS] = {-1};
|
||||
|
||||
int64_t now;
|
||||
|
||||
charge_state_t get_charging_state() { return current_charge_state; }
|
||||
|
||||
void setTimerN(charge_timer_t i, int64_t sec) {
|
||||
// set the timer for <sec> in the future if it's currently less than now
|
||||
if (charge_timers[i] < now) {
|
||||
charge_timers[i] = now + sec;
|
||||
ESP_LOGI("BAT", "Set timer[%d] +%lld", i, (long long)sec);
|
||||
}
|
||||
}
|
||||
|
||||
void resetTimerN(charge_timer_t i) {
|
||||
charge_timers[i] = -1;
|
||||
}
|
||||
void resetBatTimers() {
|
||||
for (uint8_t i=0; i<N_CHG_TIMERS; i++)
|
||||
resetTimerN(i);
|
||||
}
|
||||
|
||||
bool getTimerN(charge_timer_t i) {
|
||||
if (charge_timers[i] < 0) return false;
|
||||
return system_rtc_get_raw_time() > charge_timers[i];
|
||||
}
|
||||
|
||||
#define BULK_CHARGE_S 20 //2*60*60
|
||||
#define FLOAT_STEADY_S 10 //30*60
|
||||
#define LOW_DETECT_S 10 //5*60
|
||||
|
||||
#define STEADY_MV 13000
|
||||
#define LOW_MV 12800
|
||||
|
||||
void run_charge_fsm() {
|
||||
now = system_rtc_get_raw_time();
|
||||
|
||||
//ESP_LOGI("BAT", "FSM STATE %d", current_charge_state);
|
||||
|
||||
if (rtc_is_set()) {
|
||||
switch(current_charge_state) {
|
||||
case CHG_STATE_BULK:
|
||||
// turn off bulk charging and go to float when time is up
|
||||
if (getTimerN(CHG_T_BULK)) {
|
||||
ESP_LOGI("BAT", "BULK -> FLOAT");
|
||||
current_charge_state = CHG_STATE_FLOAT;
|
||||
}
|
||||
break;
|
||||
|
||||
case CHG_STATE_FLOAT:
|
||||
if (getTimerN(CHG_T_STEADY)) {
|
||||
ESP_LOGI("BAT", "FLOAT -> OFF");
|
||||
current_charge_state = CHG_STATE_OFF;
|
||||
}
|
||||
if (get_battery_mV() > STEADY_MV) {
|
||||
setTimerN(CHG_T_STEADY, FLOAT_STEADY_S);
|
||||
} else {
|
||||
resetTimerN(CHG_T_STEADY);
|
||||
}
|
||||
// NO break; !! float should also kick into bulk with same triggers
|
||||
case CHG_STATE_OFF:
|
||||
|
||||
// after 5 minutes of low-ish battery go into bulk charge
|
||||
if (getTimerN(CHG_T_LOWBAT)) {
|
||||
ESP_LOGI("BAT", " -> BULK");
|
||||
current_charge_state = CHG_STATE_BULK;
|
||||
setTimerN(CHG_T_BULK, BULK_CHARGE_S);
|
||||
}
|
||||
if (get_battery_mV() < LOW_MV) {
|
||||
setTimerN(CHG_T_LOWBAT, LOW_DETECT_S);
|
||||
} else {
|
||||
resetTimerN(CHG_T_LOWBAT);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
//ESP_LOGI("BAT", " -> BULK");
|
||||
current_charge_state = CHG_STATE_BULK;
|
||||
}
|
||||
|
||||
//rtc_gpio_hold_dis(PIN_CHG_BULK);
|
||||
//rtc_gpio_hold_dis(PIN_CHG_DISABLE);
|
||||
switch(current_charge_state) {
|
||||
case CHG_STATE_BULK:
|
||||
gpio_set_level(PIN_CHG_BULK, 1);
|
||||
//ESP_LOGI("BAT", "BULK");
|
||||
break;
|
||||
case CHG_STATE_FLOAT:
|
||||
gpio_set_level(PIN_CHG_BULK, 0);
|
||||
//ESP_LOGI("BAT", "FLOAT");
|
||||
break;
|
||||
case CHG_STATE_OFF:
|
||||
gpio_set_level(PIN_CHG_BULK, 0);
|
||||
//ESP_LOGI("BAT", "OFF");
|
||||
break;
|
||||
}
|
||||
//rtc_gpio_hold_en(PIN_CHG_BULK);
|
||||
//rtc_gpio_hold_en(PIN_CHG_DISABLE);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
bool enabled; // Auto-zero active for this channel
|
||||
float threshold_ma; // Max current to consider "zero" (mA)
|
||||
float learned_offset_mv; // Accumulated zero offset (mV)
|
||||
bool initialized; // First valid zero established
|
||||
} autozero_t;
|
||||
static autozero_t autozero[N_BRIDGES] = {0};
|
||||
|
||||
// === E-Fuse (Software Breaker) Configuration ===
|
||||
static const char* currentLimits_A[N_BRIDGES] = {
|
||||
[BRIDGE_DRIVE] = "efuse_drive_A", //40000,
|
||||
[BRIDGE_AUX] = "efuse_aux_A", // 5000,
|
||||
[BRIDGE_JACK] = "efuse_jack_A" // 10000
|
||||
};
|
||||
static const float i2t_thresholds[N_BRIDGES] = { // A^2*s (tunable per bridge if needed)
|
||||
[BRIDGE_DRIVE] = 6.0f,
|
||||
[BRIDGE_AUX] = 6.0f,
|
||||
[BRIDGE_JACK] = 6.0f
|
||||
};
|
||||
static const float i_instant[N_BRIDGES] = { // Instant trip multiplier of I_rated
|
||||
[BRIDGE_DRIVE] = 15.0f,
|
||||
[BRIDGE_AUX] = 15.0f,
|
||||
[BRIDGE_JACK] = 15.0f
|
||||
};
|
||||
static const float cool_rate[N_BRIDGES] = { // Cooling constant (1/s)
|
||||
[BRIDGE_DRIVE] = 0.008f,
|
||||
[BRIDGE_AUX] = 0.008f,
|
||||
[BRIDGE_JACK] = 0.008f
|
||||
};
|
||||
static const int32_t cooldown_ms[N_BRIDGES] = { // Auto-reset delay after trip
|
||||
[BRIDGE_DRIVE] = 5000,
|
||||
[BRIDGE_AUX] = 5000,
|
||||
[BRIDGE_JACK] = 5000
|
||||
};
|
||||
|
||||
static float efuse_heat[N_BRIDGES] = {0};
|
||||
static uint64_t efuse_trip_time[N_BRIDGES] = {0}; // Timestamp when tripped
|
||||
static bool efuse_tripped[N_BRIDGES] = {false};
|
||||
|
||||
// === ADC Handles ===
|
||||
static adc_oneshot_unit_handle_t adc1_handle = NULL;
|
||||
static adc_cali_handle_t adc_cali_handle = NULL;
|
||||
|
||||
// === EMA Filter State ===
|
||||
#define EMA_ALPHA_CURRENT 0.5f
|
||||
#define EMA_ALPHA_BATTERY 0.05f
|
||||
|
||||
static float ema_current[N_BRIDGES] = {0};
|
||||
static bool ema_init[N_BRIDGES] = {false};
|
||||
|
||||
static float ema_battery = 0.0f;
|
||||
static bool ema_battery_init = false;
|
||||
|
||||
// === Shared Volatile Outputs ===
|
||||
volatile int32_t bridgeCurrents_mA[N_BRIDGES] = {0};
|
||||
volatile int32_t batteryVoltage_mV = 0;
|
||||
|
||||
// === ADC Initialization ===
|
||||
static esp_err_t adc_init(void) {
|
||||
if (adc1_handle != NULL) {
|
||||
return ESP_OK; // Already initialized
|
||||
}
|
||||
|
||||
// ADC1 oneshot mode
|
||||
adc_oneshot_unit_init_cfg_t init_cfg = {
|
||||
.unit_id = ADC_UNIT_1,
|
||||
};
|
||||
ESP_ERROR_CHECK(adc_oneshot_new_unit(&init_cfg, &adc1_handle));
|
||||
|
||||
// Configure all channels
|
||||
adc_oneshot_chan_cfg_t chan_cfg = {
|
||||
.atten = ADC_ATTEN_DB_11,
|
||||
.bitwidth = ADC_BITWIDTH_12,
|
||||
};
|
||||
|
||||
ESP_ERROR_CHECK(adc_oneshot_config_channel(adc1_handle, PIN_V_ISENS1, &chan_cfg));
|
||||
ESP_ERROR_CHECK(adc_oneshot_config_channel(adc1_handle, PIN_V_ISENS2, &chan_cfg));
|
||||
ESP_ERROR_CHECK(adc_oneshot_config_channel(adc1_handle, PIN_V_ISENS3, &chan_cfg));
|
||||
ESP_ERROR_CHECK(adc_oneshot_config_channel(adc1_handle, PIN_V_SENS_BAT, &chan_cfg));
|
||||
|
||||
// Line fitting calibration (modern scheme)
|
||||
adc_cali_line_fitting_config_t cali_cfg = {
|
||||
.unit_id = ADC_UNIT_1,
|
||||
.atten = ADC_ATTEN_DB_11,
|
||||
.bitwidth = ADC_BITWIDTH_12,
|
||||
};
|
||||
ESP_ERROR_CHECK(adc_cali_create_scheme_line_fitting(&cali_cfg, &adc_cali_handle));
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
void autozero_enable(bridge_t bridge, bool enable) {
|
||||
if (bridge >= N_BRIDGES) return;
|
||||
autozero[bridge].enabled = enable;
|
||||
if (!enable) {
|
||||
autozero[bridge].learned_offset_mv = 0.0f;
|
||||
autozero[bridge].initialized = false;
|
||||
}
|
||||
}
|
||||
|
||||
void autozero_set_threshold(bridge_t bridge, float threshold_ma) {
|
||||
if (bridge >= N_BRIDGES) return;
|
||||
autozero[bridge].threshold_ma = fmaxf(0.0f, threshold_ma);
|
||||
}
|
||||
|
||||
float autozero_get_offset_mv(bridge_t bridge) {
|
||||
if (bridge >= N_BRIDGES) return 0.0f;
|
||||
return autozero[bridge].learned_offset_mv;
|
||||
}
|
||||
|
||||
void autozero_reset(bridge_t bridge) {
|
||||
if (bridge >= N_BRIDGES) return;
|
||||
autozero[bridge].learned_offset_mv = 0.0f;
|
||||
autozero[bridge].initialized = false;
|
||||
}
|
||||
|
||||
void autozero_reset_all(void) {
|
||||
for (uint8_t i = 0; i < N_BRIDGES; i++) {
|
||||
autozero_reset((bridge_t)i);
|
||||
}
|
||||
}
|
||||
|
||||
// === Raw Current Reading (mA) ===
|
||||
static int32_t read_bridge_current_raw(bridge_t bridge) {
|
||||
int adc_raw = 0;
|
||||
int voltage_mv = 0;
|
||||
|
||||
adc_channel_t pin;
|
||||
switch(bridge) {
|
||||
case BRIDGE_DRIVE: pin = PIN_V_ISENS1; break;
|
||||
case BRIDGE_AUX: pin = PIN_V_ISENS3; break;
|
||||
case BRIDGE_JACK: pin = PIN_V_ISENS2; break;
|
||||
default: return -42069; // lol
|
||||
}
|
||||
|
||||
if (adc_oneshot_read(adc1_handle, pin, &adc_raw) != ESP_OK) {
|
||||
return 0;
|
||||
}
|
||||
if (adc_cali_raw_to_voltage(adc_cali_handle, adc_raw, &voltage_mv) != ESP_OK) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
float current_sense_mv = (float)voltage_mv;
|
||||
autozero_t *az = &autozero[bridge];
|
||||
|
||||
// === AUTO-ZERO LEARNING PHASE ===
|
||||
if (az->enabled && get_bridge_state(bridge)==0) {
|
||||
float raw_current_ma = 0.0f;
|
||||
switch (bridge) {
|
||||
case BRIDGE_JACK:
|
||||
case BRIDGE_AUX:
|
||||
// ACS37042KLHBLT-030B3 is 30A capable and 44 mV/A
|
||||
raw_current_ma = (current_sense_mv - 1650.0f) * 1000.0f / 44.0f;
|
||||
break;
|
||||
case BRIDGE_DRIVE:
|
||||
// ACS37220LEZATR-100B3 is 100A capable and 13.2 mV/A
|
||||
raw_current_ma = (current_sense_mv - 1650.0f) * 1000.0f / 13.20f;
|
||||
break;
|
||||
}
|
||||
|
||||
if (fabsf(raw_current_ma) <= az->threshold_ma) {
|
||||
// Valid zero sample
|
||||
if (!az->initialized) {
|
||||
az->learned_offset_mv = current_sense_mv - 1650.0f;
|
||||
az->initialized = true;
|
||||
} else {
|
||||
// EMA on offset (slow adaptation)
|
||||
float alpha = 0.1f;
|
||||
az->learned_offset_mv = alpha * (current_sense_mv - 1650.0f) +
|
||||
(1.0f - alpha) * az->learned_offset_mv;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// === APPLY AUTO-ZERO OFFSET ===
|
||||
float corrected_mv = current_sense_mv - az->learned_offset_mv;
|
||||
|
||||
int32_t offset_mv = (int32_t)(corrected_mv - 1650.0f);
|
||||
int32_t current_ma = 0;
|
||||
|
||||
switch (bridge) {
|
||||
case BRIDGE_JACK:
|
||||
case BRIDGE_AUX:
|
||||
current_ma = offset_mv * 1000 / 44; // 44 mV/A
|
||||
break;
|
||||
case BRIDGE_DRIVE:
|
||||
current_ma = offset_mv * 10000 / 132; // 13.2 mV/A
|
||||
break;
|
||||
}
|
||||
|
||||
return current_ma;
|
||||
}
|
||||
|
||||
// === Raw Battery Voltage Reading (mV) ===
|
||||
static int32_t read_battery_voltage_raw(void)
|
||||
{
|
||||
int adc_raw = 0;
|
||||
int voltage_mv = 0;
|
||||
|
||||
if (adc_oneshot_read(adc1_handle, PIN_V_SENS_BAT, &adc_raw) != ESP_OK) {
|
||||
return 0;
|
||||
}
|
||||
if (adc_cali_raw_to_voltage(adc_cali_handle, adc_raw, &voltage_mv) != ESP_OK) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Voltage divider: 150kΩ to 1MΩ → gain = 1.15 → scale = 1150/150
|
||||
return (int32_t)voltage_mv * 1150 / 150;
|
||||
}
|
||||
|
||||
// === EMA Filter Update ===
|
||||
static void apply_ema(float *state, bool *init, float alpha, int32_t raw, volatile int32_t *out)
|
||||
{
|
||||
if (!*init) {
|
||||
*state = (float)raw;
|
||||
*init = true;
|
||||
} else {
|
||||
*state = alpha * (float)raw + (1.0f - alpha) * *state;
|
||||
}
|
||||
*out = (int32_t)(*state + 0.5f);
|
||||
}
|
||||
|
||||
// === Public Accessors ===
|
||||
int32_t get_bridge_mA(uint8_t bridge)
|
||||
{
|
||||
if (bridge >= N_BRIDGES) return -1;
|
||||
return (int32_t)bridgeCurrents_mA[bridge];
|
||||
}
|
||||
|
||||
int32_t get_battery_mV(void)
|
||||
{
|
||||
return (int32_t)batteryVoltage_mV;
|
||||
}
|
||||
|
||||
// === E-Fuse: Trip Logic (called every cycle) ===
|
||||
static void efuse_update(uint8_t bridge, float I, float dt, uint64_t now)
|
||||
{
|
||||
float I_rated = (float)get_param_i8(currentLimits_A[bridge]);
|
||||
float I_norm = I / I_rated;
|
||||
|
||||
// Instant trip on extreme overcurrent
|
||||
if (I_norm >= i_instant[bridge]) {
|
||||
efuse_tripped[bridge] = true;
|
||||
efuse_trip_time[bridge] = now;
|
||||
return;
|
||||
}
|
||||
|
||||
// Cooling when below threshold
|
||||
if (I_norm < 1.1f) {
|
||||
efuse_heat[bridge] -= efuse_heat[bridge] * cool_rate[bridge] * dt;
|
||||
efuse_heat[bridge] = fmaxf(0.0f, efuse_heat[bridge]);
|
||||
efuse_tripped[bridge] = false; // Auto-clear if cooled
|
||||
return;
|
||||
}
|
||||
|
||||
// Accumulate heat (I²t)
|
||||
efuse_heat[bridge] += (I_norm * I_norm) * dt;
|
||||
|
||||
if (efuse_heat[bridge] >= i2t_thresholds[bridge]) {
|
||||
efuse_tripped[bridge] = true;
|
||||
efuse_trip_time[bridge] = now;
|
||||
}
|
||||
}
|
||||
|
||||
// === E-Fuse: Auto-Reset After Cooldown ===
|
||||
static void efuse_cooldown_check(uint64_t now)
|
||||
{
|
||||
for (uint8_t i = 0; i < N_BRIDGES; i++) {
|
||||
if (efuse_tripped[i] &&
|
||||
(now - efuse_trip_time[i]) >= (cooldown_ms[i] * 1000ULL)) {
|
||||
efuse_heat[i] = 0.0f;
|
||||
efuse_tripped[i] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// === Public E-Fuse Controls ===
|
||||
void efuse_reset_all(void)
|
||||
{
|
||||
for (uint8_t i = 0; i < N_BRIDGES; i++) {
|
||||
efuse_heat[i] = 0.0f;
|
||||
efuse_tripped[i] = false;
|
||||
}
|
||||
}
|
||||
|
||||
bool efuse_is_tripped(uint8_t bridge)
|
||||
{
|
||||
if (bridge >= N_BRIDGES) return false;
|
||||
return efuse_tripped[bridge];
|
||||
}
|
||||
|
||||
|
||||
// === Power Management Task ===
|
||||
void power_mgmt_task(void *param) {
|
||||
esp_task_wdt_add(NULL);
|
||||
|
||||
/*gpio_config_t io_conf = {
|
||||
.pin_bit_mask = (1ULL << PIN_CHG_DISABLE) | (1ULL << PIN_CHG_BULK),
|
||||
.mode = GPIO_MODE_OUTPUT,
|
||||
.pull_up_en = GPIO_PULLUP_DISABLE,
|
||||
.pull_down_en = GPIO_PULLDOWN_DISABLE,
|
||||
.intr_type = GPIO_INTR_DISABLE,
|
||||
};
|
||||
gpio_config(&io_conf);*/
|
||||
|
||||
/*// Enable RTC GPIO domain (required for hold)
|
||||
rtc_gpio_init(PIN_CHG_DISABLE);
|
||||
rtc_gpio_init(PIN_CHG_BULK);
|
||||
|
||||
// Set as output
|
||||
rtc_gpio_set_direction(PIN_CHG_DISABLE, RTC_GPIO_MODE_OUTPUT_ONLY);
|
||||
rtc_gpio_set_direction(PIN_CHG_BULK, RTC_GPIO_MODE_OUTPUT_ONLY);
|
||||
|
||||
// Optional: set initial level (will be held)
|
||||
//rtc_gpio_set_level(PIN_CHG_DISABLE, 1); // e.g., start disabled
|
||||
//rtc_gpio_set_level(PIN_CHG_BULK, 0);
|
||||
|
||||
// **Critical: Enable hold function**
|
||||
rtc_gpio_hold_en(PIN_CHG_DISABLE);
|
||||
rtc_gpio_hold_en(PIN_CHG_BULK);*/
|
||||
|
||||
ESP_ERROR_CHECK(adc_init());
|
||||
|
||||
TickType_t xLastWakeTime = xTaskGetTickCount();
|
||||
const TickType_t xFrequency = pdMS_TO_TICKS(20);
|
||||
|
||||
// Optional: Enable auto-zero with default threshold
|
||||
autozero_enable(BRIDGE_DRIVE, true);
|
||||
autozero_enable(BRIDGE_AUX, true);
|
||||
autozero_enable(BRIDGE_JACK, true);
|
||||
|
||||
autozero_set_threshold(BRIDGE_DRIVE, AUTOZERO_THRESH);
|
||||
autozero_set_threshold(BRIDGE_AUX, AUTOZERO_THRESH);
|
||||
autozero_set_threshold(BRIDGE_JACK, AUTOZERO_THRESH);
|
||||
|
||||
//uint64_t last_wake_time = esp_timer_get_time();
|
||||
//const uint64_t period = 5000; // 100 us => 10kHz
|
||||
while (1) {
|
||||
vTaskDelayUntil(&xLastWakeTime, xFrequency);
|
||||
uint64_t now_us = esp_timer_get_time();
|
||||
|
||||
/*if (now - last_wake_time < period) {
|
||||
uint32_t delay_us = (period - (now - last_wake_time)) / 1000;
|
||||
if (delay_us > 0) vTaskDelay(pdMS_TO_TICKS(delay_us));
|
||||
continue;
|
||||
}
|
||||
last_wake_time = now;*/
|
||||
|
||||
// Sample currents
|
||||
for (uint8_t i = 0; i < N_BRIDGES; i++) {
|
||||
int32_t raw_ma = read_bridge_current_raw((bridge_t)i);
|
||||
apply_ema(&ema_current[i], &ema_init[i], EMA_ALPHA_CURRENT,
|
||||
raw_ma, &bridgeCurrents_mA[i]);
|
||||
|
||||
// Reset spike timer if under limit
|
||||
/*if (bridgeCurrents_mA[i] < currentLimits_mA[i]) {
|
||||
currentSpikeSafeTimes[i] = now + CURRENT_SPIKE_TIME_US;
|
||||
}*/
|
||||
|
||||
// === E-FUSE UPDATE ===
|
||||
float I = (float)bridgeCurrents_mA[i] / 1000.0f;
|
||||
float dt = 0.020f; // 20 ms task period
|
||||
efuse_update(i, I, dt, now_us);
|
||||
}
|
||||
|
||||
/*ESP_LOGI("PWR", "[ %6ld | %6ld | %6ld mA ] { %6ld mV }",
|
||||
(long)bridgeCurrents_mA[BRIDGE_DRIVE],
|
||||
(long)bridgeCurrents_mA[BRIDGE_JACK],
|
||||
(long)bridgeCurrents_mA[BRIDGE_AUX],
|
||||
(long)batteryVoltage_mV);*/
|
||||
|
||||
// Sample battery
|
||||
int32_t raw_bat = read_battery_voltage_raw();
|
||||
apply_ema(&ema_battery, &ema_battery_init, EMA_ALPHA_BATTERY,
|
||||
raw_bat, &batteryVoltage_mV);
|
||||
|
||||
|
||||
//run_charge_fsm();
|
||||
efuse_cooldown_check(now_us);
|
||||
esp_task_wdt_reset();
|
||||
}
|
||||
}
|
||||
|
||||
void start_power() {
|
||||
xTaskCreate(power_mgmt_task, "PWR", 4096, NULL, 5, NULL);
|
||||
}
|
||||
|
||||
void shutdown_power() {
|
||||
|
||||
}
|
||||
@@ -8,27 +8,22 @@
|
||||
#ifndef MAIN_POWER_MGMT_H_
|
||||
#define MAIN_POWER_MGMT_H_
|
||||
|
||||
#include "control_fsm.h"
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include "esp_err.h"
|
||||
|
||||
typedef enum {
|
||||
CHG_STATE_OFF = 0,
|
||||
CHG_STATE_FLOAT = 1,
|
||||
CHG_STATE_BULK = 2
|
||||
} charge_state_t;
|
||||
#define N_CHARGE_STATES 3
|
||||
|
||||
charge_state_t get_charging_state();
|
||||
//void efuse_reset_all(void); // Clear all trip states (manual/programmatic reset)
|
||||
bool efuse_is_tripped(bridge_t bridge); // Query if bridge is currently faulted
|
||||
|
||||
void resetBatTimers();
|
||||
float get_bridge_A(bridge_t bridge);
|
||||
float get_battery_V();
|
||||
|
||||
void efuse_reset_all(void); // Clear all trip states (manual/programmatic reset)
|
||||
bool efuse_is_tripped(uint8_t bridge); // Query if bridge is currently faulted
|
||||
void set_autozero(bridge_t bridge);
|
||||
|
||||
int32_t get_bridge_mA(uint8_t bridge);
|
||||
int32_t get_battery_mV();
|
||||
|
||||
void start_power();
|
||||
void shutdown_power();
|
||||
esp_err_t adc_init();
|
||||
esp_err_t power_init();
|
||||
esp_err_t power_stop();
|
||||
|
||||
#endif /* MAIN_POWER_MGMT_H_ */
|
||||
85
main/rf.c
85
main/rf.c
@@ -1,6 +1,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "control_fsm.h"
|
||||
#include "driver/rmt_rx.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "esp_log.h"
|
||||
@@ -14,16 +15,18 @@
|
||||
#include "driver/rmt_rx.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "esp_log.h"
|
||||
#include "rf.h"
|
||||
|
||||
#include "flash.h"
|
||||
#include "storage.h"
|
||||
|
||||
#define RF_PIN GPIO_NUM_23
|
||||
#define TAG "RF"
|
||||
|
||||
#define RF_PIN GPIO_NUM_25
|
||||
#define P_HIGH 1040
|
||||
#define P_LOW 340
|
||||
#define P_MARGIN 70
|
||||
#define P_SKIPMIN 250
|
||||
#define RF_DEBUG 0
|
||||
#define NUM_RF_BUTTONS 4
|
||||
|
||||
// Struct to hold decoded RF data
|
||||
typedef struct {
|
||||
@@ -37,6 +40,8 @@ typedef struct {
|
||||
// Global queue for passing decoded codes between tasks
|
||||
static QueueHandle_t g_code_queue = NULL;
|
||||
|
||||
int learn_flag = -1;
|
||||
|
||||
// For rmt_rx_register_event_callbacks
|
||||
static bool rfrx_done(rmt_channel_handle_t channel, const rmt_rx_done_event_data_t *edata, void *udata) {
|
||||
BaseType_t high_task_wakeup = pdFALSE;
|
||||
@@ -48,6 +53,7 @@ static bool rfrx_done(rmt_channel_handle_t channel, const rmt_rx_done_event_data
|
||||
// Task that receives and decodes RF signals
|
||||
static void rf_receiver_task(void* param) {
|
||||
esp_task_wdt_add(NULL);
|
||||
esp_log_level_set("rmt", ESP_LOG_NONE); // disable rmt messages about hw buffer too small
|
||||
const uint16_t tlow = (P_HIGH - P_LOW - (2 * P_MARGIN));
|
||||
const uint16_t thigh = (P_HIGH - P_LOW + (2 * P_MARGIN));
|
||||
|
||||
@@ -87,7 +93,7 @@ static void rf_receiver_task(void* param) {
|
||||
ESP_LOGI("RF", "RF receiver task started on core %d", xPortGetCoreID());
|
||||
|
||||
for(;;) {
|
||||
if (xQueueReceive(rx_queue, &rx_data, pdMS_TO_TICKS(1000)) == pdPASS) {
|
||||
if (xQueueReceive(rx_queue, &rx_data, pdMS_TO_TICKS(500)) == pdPASS) {
|
||||
|
||||
size_t len = rx_data.num_symbols;
|
||||
rmt_symbol_word_t *cur = rx_data.received_symbols;
|
||||
@@ -126,16 +132,44 @@ static void rf_receiver_task(void* param) {
|
||||
|
||||
// If we got a valid code, send it to processing task
|
||||
if (code) {
|
||||
rf_code_t rf_msg = {
|
||||
.code = code,
|
||||
.high_avg = high / 24,
|
||||
.low_avg = low / 24,
|
||||
.errors = err,
|
||||
.num_symbols = len
|
||||
};
|
||||
int64_t encoded = ((int64_t)len << 56) | code;
|
||||
|
||||
// Non-blocking send - if queue is full, just drop it
|
||||
xQueueSend(g_code_queue, &rf_msg, 0);
|
||||
ESP_LOGI(TAG, "GOT KEYCODE 0x%lx [%d]", (long) code, len);
|
||||
|
||||
if (learn_flag >= 0) {
|
||||
set_param(PARAM_KEYCODE_0 + learn_flag,
|
||||
(param_value_t){.i64 = encoded});
|
||||
ESP_LOGI(TAG, "LEARNED KEYCODE");
|
||||
learn_flag = -1;
|
||||
} else {
|
||||
rf_code_t rf_msg = {
|
||||
.code = code,
|
||||
.high_avg = high / 24,
|
||||
.low_avg = low / 24,
|
||||
.errors = err,
|
||||
.num_symbols = len
|
||||
};
|
||||
|
||||
// Don't do this anymore. No need to pass data between threads. Just act on it.
|
||||
// Non-blocking send - if queue is full, just drop it
|
||||
//xQueueSend(g_code_queue, &rf_msg, 0);
|
||||
|
||||
|
||||
for (uint8_t i = 0; i < NUM_RF_BUTTONS; i++) {
|
||||
int64_t match = get_param(PARAM_KEYCODE_0+i).i64;
|
||||
if (encoded == match) {
|
||||
switch (i) {
|
||||
case 0: pulseOverride(RELAY_A1); pulseOverride(RELAY_A3); break;
|
||||
case 1: pulseOverride(RELAY_B1); pulseOverride(RELAY_A3); break;
|
||||
case 2: pulseOverride(RELAY_A2); break;
|
||||
case 3: pulseOverride(RELAY_B2); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Debug output - print raw symbols
|
||||
@@ -182,33 +216,36 @@ static void rf_receiver_task(void* param) {
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
void start_rf() {
|
||||
esp_err_t rf_init() {
|
||||
g_code_queue = xQueueCreate(5, sizeof(rf_code_t));
|
||||
assert(g_code_queue);
|
||||
|
||||
xTaskCreate(rf_receiver_task, "RF", 4096, NULL, 10, NULL);
|
||||
xTaskCreate(rf_receiver_task, TAG, 4096, NULL, 10, NULL);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
esp_err_t rf_stop() { return ESP_OK; }
|
||||
|
||||
void rf_set_keycode(uint8_t index, int64_t code) {
|
||||
char key[] = "keycode0";
|
||||
key[7] = 48+index; // ASCII
|
||||
set_param(PARAM_KEYCODE_0+index, (param_value_t){.i64=code});
|
||||
}
|
||||
|
||||
ESP_LOGI("RF", "SET KEYCODE[%d] = 0x%16llx", index, code);
|
||||
|
||||
set_param_i64(key, code);
|
||||
void rf_learn_keycode(uint8_t index) {
|
||||
if (index >= 8) return;
|
||||
learn_flag = index;
|
||||
}
|
||||
void rf_cancel_learn_keycode() {
|
||||
learn_flag = -1;
|
||||
}
|
||||
|
||||
int8_t rf_get_keycode() {
|
||||
rf_code_t received_code;
|
||||
|
||||
char key[] = "keycode0";
|
||||
|
||||
if (xQueueReceive(g_code_queue, &received_code, 0) == pdPASS) {
|
||||
int64_t newcode = ((int64_t)received_code.num_symbols << 56) | received_code.code;
|
||||
|
||||
for (uint8_t i = 0; i < NUM_RF_BUTTONS; i++) {
|
||||
key[7] = 48+i; // ASCII
|
||||
if (newcode == get_param_i64(key))
|
||||
if (newcode == get_param(PARAM_KEYCODE_0+i).i64)
|
||||
return i;
|
||||
}
|
||||
ESP_LOGI("RF", "Received unknown code 0x%08lx (%d) [0x%16llx]", (unsigned long)received_code.code, received_code.num_symbols, (unsigned long long) newcode);
|
||||
|
||||
@@ -10,11 +10,12 @@
|
||||
#include "freertos/task.h"
|
||||
#include "freertos/queue.h"
|
||||
|
||||
#define NUM_RF_BUTTONS 4
|
||||
#define NUM_RF_BUTTONS 8
|
||||
|
||||
int64_t recieveKeycode();
|
||||
|
||||
void start_rf();
|
||||
esp_err_t rf_init();
|
||||
esp_err_t rf_stop();
|
||||
|
||||
void rf_set_keycode(uint8_t index, int64_t code);
|
||||
|
||||
@@ -23,4 +24,7 @@ int64_t rf_get_raw_keycode();
|
||||
|
||||
void rf_clear_queue();
|
||||
|
||||
void rf_learn_keycode(uint8_t index);
|
||||
void rf_cancel_learn_keycode();
|
||||
|
||||
#endif
|
||||
17
main/rtc.c
17
main/rtc.c
@@ -28,16 +28,13 @@
|
||||
|
||||
//#include "esp32/rtc_clk.h" // For RTC_SLOW_FREQ_32K_XTAL enum and rtc_clk_slow_freq_set()
|
||||
#include "driver/rtc_io.h" // For RTC I/O handling (optional but recommended for pin configuration)
|
||||
#include "solar.h"
|
||||
#include "storage.h"
|
||||
|
||||
#define PIN_BTN_INTERRUPT GPIO_NUM_13
|
||||
|
||||
#define POWER_INACTIVITY_TIMEOUT_MS 20000
|
||||
#define BATTERY_CHECK_INTERVAL_SEC 30
|
||||
uint64_t last_activity_tick = 0;
|
||||
|
||||
#define DEEP_SLEEP_US 30000000ULL /* 30 seconds in deep sleep */
|
||||
|
||||
// RTC_DATA_ATTR keeps this var in RTC memory; persists across sleeps (but not across boots)
|
||||
RTC_DATA_ATTR int64_t next_alarm_time_s = -1;
|
||||
RTC_DATA_ATTR bool rtc_set = false;
|
||||
@@ -45,7 +42,7 @@ bool rtc_is_set() {
|
||||
return rtc_set;
|
||||
}
|
||||
|
||||
esp_err_t start_rtc(void) {
|
||||
esp_err_t rtc_xtal_init(void) {
|
||||
/* ---- Wake sources ---- */
|
||||
esp_sleep_enable_ext0_wakeup(PIN_BTN_INTERRUPT, 0);
|
||||
gpio_set_direction(PIN_BTN_INTERRUPT, GPIO_MODE_INPUT);
|
||||
@@ -62,7 +59,7 @@ esp_err_t start_rtc(void) {
|
||||
// Select 32 kHz XTAL as slow clock source (wait for stabilization)
|
||||
//rtc_clk_slow_freq_set(RTC_SLOW_FREQ_32K_XTAL);
|
||||
// Optional: Brief delay for crystal stabilization (typically <1 ms)
|
||||
vTaskDelay(pdMS_TO_TICKS(1));
|
||||
//vTaskDelay(pdMS_TO_TICKS(1));
|
||||
|
||||
//ESP_LOGI("RTC", "Configured with external 32 kHz oscillator (freq: %d Hz)", rtc_clk_slow_freq_get_hz());
|
||||
|
||||
@@ -80,9 +77,9 @@ void reset_shutdown_timer(void)
|
||||
void enter_deep_sleep(void)
|
||||
{
|
||||
//close_current_log();
|
||||
//fsm_request(FSM_CMD_STOP);
|
||||
i2c_set_relays(0);
|
||||
//esp_sleep_enable_timer_wakeup(DEEP_SLEEP_US);
|
||||
fsm_request(FSM_CMD_STOP);
|
||||
i2c_stop();
|
||||
esp_sleep_enable_timer_wakeup(DEEP_SLEEP_US);
|
||||
esp_deep_sleep_start();
|
||||
}
|
||||
|
||||
@@ -91,7 +88,7 @@ void rtc_set_time(struct tm *tm) {
|
||||
start_new_log_file();
|
||||
struct timeval tv = { .tv_sec = mktime(tm), .tv_usec = 0 };
|
||||
settimeofday(&tv, NULL);
|
||||
resetBatTimers();
|
||||
reset_solar_fsm();
|
||||
}
|
||||
|
||||
void rtc_get_time(struct tm *tm)
|
||||
|
||||
@@ -18,16 +18,14 @@
|
||||
#include "esp_err.h"
|
||||
|
||||
|
||||
#define TRANSITION_DELAY_US 1000000
|
||||
#define OVERRIDE_PULSE_RF 160000
|
||||
#define OVERRIDE_PULSE_UX 80000
|
||||
|
||||
#define POWER_INACTIVITY_TIMEOUT_MS 180000
|
||||
#define DEEP_SLEEP_US 120000000ULL /* 120 seconds in deep sleep */
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* Public API */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
esp_err_t start_rtc();
|
||||
esp_err_t rtc_xtal_init();
|
||||
|
||||
bool rtc_is_set();
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
static const char* TAG = "SENS";
|
||||
|
||||
uint8_t sensor_pins[N_SENSORS] = {GPIO_NUM_19, GPIO_NUM_25};
|
||||
uint8_t sensor_pins[N_SENSORS] = {GPIO_NUM_27, GPIO_NUM_14};
|
||||
|
||||
volatile int32_t sensor_count[N_SENSORS] = {0};
|
||||
static volatile uint64_t sensor_last_isr_time[N_SENSORS] = {0};
|
||||
@@ -43,6 +43,7 @@ static void IRAM_ATTR sensor_isr_handler(void* arg) {
|
||||
|
||||
// Debounce task: Processes queue, updates state & count
|
||||
static void sensor_debounce_task(void* param) {
|
||||
esp_task_wdt_add(NULL);
|
||||
sensor_event_t evt;
|
||||
static uint64_t last_processed_time[N_SENSORS] = {0};
|
||||
static bool last_raw_state[N_SENSORS] = {false};
|
||||
@@ -55,8 +56,6 @@ static void sensor_debounce_task(void* param) {
|
||||
last_processed_time[i] = esp_timer_get_time();
|
||||
}
|
||||
|
||||
esp_task_wdt_add(NULL);
|
||||
|
||||
|
||||
uint8_t i = 0;
|
||||
int64_t now = -1;
|
||||
@@ -117,7 +116,7 @@ static void sensor_debounce_task(void* param) {
|
||||
}
|
||||
}
|
||||
|
||||
void start_sensors() {
|
||||
esp_err_t sensors_init() {
|
||||
gpio_config_t io_conf = {
|
||||
.pin_bit_mask = (1ULL << sensor_pins[0]) | (1ULL << sensor_pins[1]),
|
||||
.mode = GPIO_MODE_INPUT,
|
||||
@@ -130,7 +129,7 @@ void start_sensors() {
|
||||
sensor_event_queue = xQueueCreate(16, sizeof(sensor_event_t));
|
||||
if (!sensor_event_queue) {
|
||||
ESP_LOGE(TAG, "Failed to create sensor queue");
|
||||
return;
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
// Install ISR service
|
||||
@@ -141,15 +140,19 @@ void start_sensors() {
|
||||
sensor_stable_state[i] = !gpio_get_level(sensor_pins[i]);
|
||||
}
|
||||
|
||||
xTaskCreate(sensor_debounce_task, "SENS_DEBOUNCE", 3072, NULL, 6, NULL);
|
||||
xTaskCreate(sensor_debounce_task, "SENSORS", 3072, NULL, 6, NULL);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
void shutdown_sensors() {
|
||||
esp_err_t sensors_stop() {
|
||||
for (uint8_t i = 0; i < N_SENSORS; i++) {
|
||||
gpio_isr_handler_remove(sensor_pins[i]);
|
||||
}
|
||||
gpio_uninstall_isr_service();
|
||||
vQueueDelete(sensor_event_queue);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
// Public API
|
||||
|
||||
@@ -27,7 +27,7 @@ int32_t get_sensor_counter(sensor_t i);
|
||||
|
||||
bool get_sensor(sensor_t i);
|
||||
|
||||
void start_sensors();
|
||||
void shutdown_sensors();
|
||||
esp_err_t sensors_init();
|
||||
esp_err_t sensors_stop();
|
||||
|
||||
#endif /* MAIN_SENSORS_H_ */
|
||||
|
||||
91
main/solar.c
Normal file
91
main/solar.c
Normal file
@@ -0,0 +1,91 @@
|
||||
#include "solar.h"
|
||||
#include "driver/rtc_io.h"
|
||||
#include "rtc.h"
|
||||
#include "power_mgmt.h"
|
||||
#include "esp_log.h"
|
||||
#include "storage.h"
|
||||
|
||||
#define TAG "SOLAR"
|
||||
|
||||
#define PIN_CHG_BULK GPIO_NUM_26
|
||||
|
||||
typedef enum {
|
||||
CHG_STATE_FLOAT = 0,
|
||||
CHG_STATE_BULK = 1
|
||||
} charge_state_t;
|
||||
RTC_DATA_ATTR charge_state_t current_charge_state = CHG_STATE_FLOAT;
|
||||
RTC_DATA_ATTR int64_t timer;
|
||||
|
||||
esp_err_t reset_solar_fsm() {
|
||||
timer = -1;
|
||||
current_charge_state = CHG_STATE_FLOAT;
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
RTC_DATA_ATTR bool solar_needs_init = true;
|
||||
esp_err_t init_solar_gpio() {
|
||||
if (solar_needs_init) {
|
||||
rtc_gpio_init(PIN_CHG_BULK);
|
||||
rtc_gpio_set_direction(PIN_CHG_BULK, RTC_GPIO_MODE_OUTPUT_ONLY);
|
||||
solar_needs_init = false;
|
||||
}
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t run_solar_fsm() {
|
||||
init_solar_gpio();
|
||||
|
||||
int64_t now = system_rtc_get_raw_time();
|
||||
|
||||
//ESP_LOGI("BAT", "FSM STATE %d", current_charge_state);
|
||||
|
||||
float vbat = get_battery_V();
|
||||
|
||||
/*
|
||||
The state machine is simple.
|
||||
- After a period of time when battery is low, switch to bulk
|
||||
- After a period of time in bulk, switch to float
|
||||
*/
|
||||
|
||||
//if (rtc_is_set()) {
|
||||
switch(current_charge_state) {
|
||||
case CHG_STATE_BULK:
|
||||
if (now > timer+get_param(PARAM_CHG_BULK_S).i64) {
|
||||
current_charge_state = CHG_STATE_FLOAT;
|
||||
}
|
||||
|
||||
break;
|
||||
case CHG_STATE_FLOAT:
|
||||
// if we have sufficient voltage, reset the timer
|
||||
if (vbat > get_param(PARAM_CHG_LOW_V).f32) {
|
||||
timer = now;
|
||||
}
|
||||
|
||||
if (now > timer+get_param(PARAM_CHG_LOW_S).i64) {
|
||||
timer = now;
|
||||
current_charge_state = CHG_STATE_BULK;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
/*} else {
|
||||
reset_solar_fsm();
|
||||
ESP_LOGI(TAG, "RESET SOLAR FSM");
|
||||
}*/
|
||||
|
||||
rtc_gpio_hold_dis(PIN_CHG_BULK);
|
||||
switch(current_charge_state) {
|
||||
case CHG_STATE_BULK:
|
||||
rtc_gpio_set_level(PIN_CHG_BULK, 1);
|
||||
//ESP_LOGI(TAG, "BULK");
|
||||
break;
|
||||
case CHG_STATE_FLOAT:
|
||||
rtc_gpio_set_level(PIN_CHG_BULK, 0);
|
||||
//ESP_LOGI(TAG, "FLOAT");
|
||||
break;
|
||||
}
|
||||
rtc_gpio_hold_en(PIN_CHG_BULK);
|
||||
//rtc_gpio_hold_en(PIN_CHG_DISABLE);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
16
main/solar.h
Normal file
16
main/solar.h
Normal file
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* solar.h
|
||||
*
|
||||
* Created on: Dec 13, 2025
|
||||
* Author: Thad
|
||||
*/
|
||||
|
||||
#ifndef MAIN_SOLAR_H_
|
||||
#define MAIN_SOLAR_H_
|
||||
|
||||
#include "esp_err.h"
|
||||
|
||||
esp_err_t run_solar_fsm();
|
||||
esp_err_t reset_solar_fsm();
|
||||
|
||||
#endif /* MAIN_SOLAR_H_ */
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "esp_crc.h"
|
||||
#include "storage.h"
|
||||
|
||||
#define TAG "PARAMS"
|
||||
#define TAG "STORAGE"
|
||||
|
||||
// ============================================================================
|
||||
// PARAMETER TABLE GENERATION
|
||||
@@ -301,7 +301,7 @@ esp_err_t write_log(char* entry) {
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Log @ sector %lu / index %lu / offset %lu", (unsigned long) current_sector, (unsigned long) log_head_index, (unsigned long)current_offset);
|
||||
//ESP_LOGI(TAG, "Log @ sector %lu / index %lu / offset %lu", (unsigned long) current_sector, (unsigned long) log_head_index, (unsigned long)current_offset);
|
||||
|
||||
|
||||
log_head_index++;
|
||||
|
||||
@@ -67,23 +67,39 @@ typedef enum {
|
||||
PARAM_DEF(NUM_MOVES, u32, 0) \
|
||||
PARAM_DEF(MOVE_START, u32, 0) \
|
||||
PARAM_DEF(MOVE_END, u32, 0) \
|
||||
PARAM_DEF(EFUSE_1_A, u32, 40) \
|
||||
PARAM_DEF(EFUSE_2_A, u32, 10) \
|
||||
PARAM_DEF(EFUSE_3_A, u32, 10) \
|
||||
PARAM_DEF(EFUSE_4_A, u32, 10) \
|
||||
PARAM_DEF(EFUSE_1_AS, u16, 2400) \
|
||||
PARAM_DEF(EFUSE_2_AS, u16, 2400) \
|
||||
PARAM_DEF(EFUSE_3_AS, u16, 600) \
|
||||
PARAM_DEF(EFUSE_4_AS, u16, 600) \
|
||||
PARAM_DEF(DRIVE_DIST, u16, 10) \
|
||||
PARAM_DEF(DRIVE_DIST, u16, 10) /*3*/\
|
||||
PARAM_DEF(JACK_DIST, u8, 5) \
|
||||
PARAM_DEF(DRIVE_TPDF, u16, 4000) \
|
||||
PARAM_DEF(DRIVE_MSPF, u16, 600) \
|
||||
PARAM_DEF(JACK_MSPI, u16, 600) \
|
||||
PARAM_DEF(KEYCODE_0, i64, -1) \
|
||||
PARAM_DEF(KEYCODE_1, i64, -1) \
|
||||
PARAM_DEF(KEYCODE_2, i64, -1) \
|
||||
PARAM_DEF(KEYCODE_3, i64, -1)
|
||||
PARAM_DEF(JACK_MSPI, u16, 600) /*7*/\
|
||||
PARAM_DEF(KEYCODE_0, i64, 0x19000000005D0C61) \
|
||||
PARAM_DEF(KEYCODE_1, i64, 0x19000000005D0C62) \
|
||||
PARAM_DEF(KEYCODE_2, i64, 0x19000000005D0C64) \
|
||||
PARAM_DEF(KEYCODE_3, i64, 0x19000000005D0C68) /*11*/\
|
||||
PARAM_DEF(KEYCODE_4, i64, -1) \
|
||||
PARAM_DEF(KEYCODE_5, i64, -1) \
|
||||
PARAM_DEF(KEYCODE_6, i64, -1) \
|
||||
PARAM_DEF(KEYCODE_7, i64, -1) /*15*/\
|
||||
PARAM_DEF(ADC_ALPHA_BATTERY, f32, 0.02) \
|
||||
PARAM_DEF(ADC_ALPHA_ISENS, f32, 0.02) \
|
||||
PARAM_DEF(ADC_ALPHA_IAZ, f32, 0.005) \
|
||||
PARAM_DEF(ADC_DB_IAZ, f32, 5.0) /*19*/\
|
||||
PARAM_DEF(EFUSE_INOM_1, f32, 40.0) \
|
||||
PARAM_DEF(EFUSE_INOM_2, f32, 6.0) \
|
||||
PARAM_DEF(EFUSE_INOM_3, f32, 2.0) \
|
||||
PARAM_DEF(EFUSE_HEAT_THRESH, f32, 60.0) /*23*/\
|
||||
PARAM_DEF(EFUSE_KINST, f32, 4.0) \
|
||||
PARAM_DEF(EFUSE_TAUCOOL, f32, 0.2) \
|
||||
PARAM_DEF(EFUSE_TCOOL, i64, 5000000) \
|
||||
PARAM_DEF(LOW_PROTECTION_V, f32, 10.0) /*27*/\
|
||||
PARAM_DEF(LOW_PROTECTION_S, i64, 10) \
|
||||
PARAM_DEF(CHG_LOW_V, f32, 5.0) \
|
||||
PARAM_DEF(CHG_LOW_S, i64, 5.0) \
|
||||
PARAM_DEF(CHG_BULK_S, i64, 20) /*31*/\
|
||||
PARAM_DEF(RF_PULSE_LENGTH, u64, 350000) \
|
||||
|
||||
|
||||
|
||||
|
||||
// Generate enum for parameter indices
|
||||
#define PARAM_DEF(name, type, default_val) PARAM_##name,
|
||||
|
||||
@@ -2,12 +2,16 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "esp_task_wdt.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "driver/uart.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_system.h"
|
||||
#include "storage.h"
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
#include "rf.h"
|
||||
|
||||
#define TAG "UART"
|
||||
|
||||
@@ -19,6 +23,11 @@ static char cmd_buffer[CMD_MAX_LEN];
|
||||
static int cmd_pos = 0;
|
||||
static TaskHandle_t uart_task_handle = NULL;
|
||||
|
||||
// TODO: Set Time
|
||||
// TODO: Pair Remote
|
||||
// TODO: Command Move
|
||||
// TODO: Show current sensor values
|
||||
|
||||
// Parse value as either decimal or hex (0x prefix)
|
||||
static bool parse_uint64(const char *str, uint64_t *result) {
|
||||
char *endptr;
|
||||
@@ -80,7 +89,7 @@ static void print_param_value(param_idx_t id, param_value_t val) {
|
||||
|
||||
case PARAM_TYPE_i64:
|
||||
printf("%lld (0x%016llX)\n",
|
||||
(long long)val.i64, (unsigned long long)val.u64);
|
||||
(long long)val.i64, (unsigned long long)val.i64);
|
||||
break;
|
||||
|
||||
case PARAM_TYPE_f32:
|
||||
@@ -99,6 +108,54 @@ static void print_param_value(param_idx_t id, param_value_t val) {
|
||||
}
|
||||
}
|
||||
|
||||
static esp_err_t parse_param_value(const char *orig_str, param_type_e type, param_value_t *val) {
|
||||
const char *str = orig_str;
|
||||
// Skip leading whitespace
|
||||
while (isspace((unsigned char)*str)) str++;
|
||||
|
||||
// Check for negative sign on unsigned integer types
|
||||
bool is_unsigned_int = (type == PARAM_TYPE_u8 || type == PARAM_TYPE_u16 || type == PARAM_TYPE_u32 || type == PARAM_TYPE_u64);
|
||||
if (is_unsigned_int && *str == '-') {
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
char *endptr;
|
||||
errno = 0;
|
||||
|
||||
switch (type) {
|
||||
case PARAM_TYPE_u8:
|
||||
case PARAM_TYPE_u16:
|
||||
case PARAM_TYPE_u32:
|
||||
case PARAM_TYPE_u64:
|
||||
val->u64 = strtoull(str, &endptr, 0);
|
||||
break;
|
||||
|
||||
case PARAM_TYPE_i8:
|
||||
case PARAM_TYPE_i16:
|
||||
case PARAM_TYPE_i32:
|
||||
case PARAM_TYPE_i64:
|
||||
val->i64 = strtoll(str, &endptr, 0);
|
||||
break;
|
||||
|
||||
case PARAM_TYPE_f32:
|
||||
val->f32 = strtof(str, &endptr);
|
||||
break;
|
||||
|
||||
case PARAM_TYPE_f64:
|
||||
val->f64 = strtod(str, &endptr);
|
||||
break;
|
||||
|
||||
default:
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
if (errno == ERANGE || endptr == str || *endptr != '\0') {
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
// Process set parameter command: sp <id> <value>
|
||||
static void cmd_set_param(char *args) {
|
||||
char *id_str = strtok(args, " \t");
|
||||
@@ -123,17 +180,14 @@ static void cmd_set_param(char *args) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse value
|
||||
uint64_t value;
|
||||
if (!parse_uint64(val_str, &value)) {
|
||||
param_value_t param_val = {0};
|
||||
param_type_e type = get_param_type(id);
|
||||
esp_err_t parse_err = parse_param_value(val_str, type, ¶m_val);
|
||||
if (parse_err != ESP_OK) {
|
||||
printf("ERROR: Invalid value\n");
|
||||
return;
|
||||
}
|
||||
|
||||
// Set parameter (store as u64, will be cast appropriately when used)
|
||||
param_value_t param_val;
|
||||
param_val.u64 = value;
|
||||
|
||||
esp_err_t err = set_param(id, param_val);
|
||||
if (err == ESP_OK) {
|
||||
printf("OK: Parameter %u (%s) set to ",
|
||||
@@ -259,6 +313,30 @@ static void cmd_help(char *args) {
|
||||
printf("- Parameter IDs range from 0 to %d\n\n", NUM_PARAMS - 1);
|
||||
}
|
||||
|
||||
static void cmd_rf_learn(char *args) {
|
||||
char *id_str = strtok(args, " \t");
|
||||
|
||||
if (id_str == NULL) {
|
||||
rf_cancel_learn_keycode();
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse parameter ID
|
||||
uint64_t id_u64;
|
||||
if (!parse_uint64(id_str, &id_u64)) {
|
||||
printf("ERROR: Invalid parameter ID\n");
|
||||
return;
|
||||
}
|
||||
|
||||
param_idx_t id = (param_idx_t)id_u64;
|
||||
if (id < 8) {
|
||||
printf("Listening for keycode for slot %d\n", id);
|
||||
rf_learn_keycode(id);
|
||||
return;
|
||||
}
|
||||
printf("ERROR: Keycode slot index out of bounds.\n");
|
||||
}
|
||||
|
||||
// Parse and execute command
|
||||
static void process_command(char *cmd) {
|
||||
// Trim leading whitespace
|
||||
@@ -310,6 +388,8 @@ static void process_command(char *cmd) {
|
||||
cmd_list_params(cmd);
|
||||
} else if (strcmp(command, "help") == 0) {
|
||||
cmd_help(cmd);
|
||||
} else if (strcmp(command, "rfl") == 0) {
|
||||
cmd_rf_learn(cmd);
|
||||
} else {
|
||||
printf("ERROR: Unknown command '%s' (type 'help' for commands)\n", command);
|
||||
}
|
||||
@@ -317,9 +397,11 @@ static void process_command(char *cmd) {
|
||||
|
||||
// UART event task
|
||||
void uart_event_task(void *pvParameters) {
|
||||
esp_task_wdt_add(NULL);
|
||||
uint8_t data[BUF_SIZE];
|
||||
|
||||
while (1) {
|
||||
esp_task_wdt_reset();
|
||||
int len = uart_read_bytes(UART_NUM, data, BUF_SIZE - 1, 20 / portTICK_PERIOD_MS);
|
||||
|
||||
if (len > 0) {
|
||||
@@ -364,14 +446,14 @@ void uart_event_task(void *pvParameters) {
|
||||
}
|
||||
}
|
||||
|
||||
void uart_start() {
|
||||
esp_err_t uart_init() {
|
||||
// Configure UART
|
||||
uart_config_t uart_config = {
|
||||
.baud_rate = 115200,
|
||||
.data_bits = UART_DATA_8_BITS,
|
||||
.parity = UART_PARITY_DISABLE,
|
||||
.stop_bits = UART_STOP_BITS_1,
|
||||
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
|
||||
.baud_rate = 115200,
|
||||
.data_bits = UART_DATA_8_BITS,
|
||||
.parity = UART_PARITY_DISABLE,
|
||||
.stop_bits = UART_STOP_BITS_1,
|
||||
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
|
||||
.source_clk = UART_SCLK_DEFAULT,
|
||||
};
|
||||
|
||||
@@ -379,24 +461,25 @@ void uart_start() {
|
||||
ESP_ERROR_CHECK(uart_param_config(UART_NUM, &uart_config));
|
||||
|
||||
// Print startup message
|
||||
printf("\n\n");
|
||||
/*printf("\n\n");
|
||||
printf("=================================\n");
|
||||
printf(" ESP32 Parameter Manager\n");
|
||||
printf("=================================\n");
|
||||
printf("Type 'help' for available commands\n\n");
|
||||
printf("> ");
|
||||
fflush(stdout);
|
||||
fflush(stdout);*/
|
||||
|
||||
// Create UART task
|
||||
xTaskCreate(uart_event_task, "uart_event_task", 4096, NULL, 12, &uart_task_handle);
|
||||
|
||||
ESP_LOGI(TAG, "UART interface started");
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
void uart_stop() {
|
||||
esp_err_t uart_stop() {
|
||||
if (uart_task_handle == NULL) {
|
||||
ESP_LOGW(TAG, "UART task not running");
|
||||
return;
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Shutting down UART...");
|
||||
@@ -415,4 +498,6 @@ void uart_stop() {
|
||||
uart_driver_delete(UART_NUM);
|
||||
|
||||
ESP_LOGI(TAG, "UART shutdown complete");
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
@@ -8,7 +8,9 @@
|
||||
#ifndef MAIN_UART_COMMS_H_
|
||||
#define MAIN_UART_COMMS_H_
|
||||
|
||||
void uart_start();
|
||||
void uart_stop();
|
||||
#include "esp_err.h"
|
||||
|
||||
esp_err_t uart_init();
|
||||
esp_err_t uart_stop();
|
||||
|
||||
#endif /* MAIN_UART_COMMS_H_ */
|
||||
|
||||
@@ -107,7 +107,7 @@ static void deregister_device(i2c_dev_t *dev)
|
||||
}
|
||||
}
|
||||
|
||||
esp_err_t i2cdev_init(void)
|
||||
esp_err_t i2c_init(void)
|
||||
{
|
||||
ESP_LOGV(TAG, "Initializing I2C subsystem...");
|
||||
memset(active_devices, 0, sizeof(active_devices));
|
||||
|
||||
@@ -193,7 +193,7 @@ typedef struct
|
||||
*
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t i2cdev_init(void);
|
||||
esp_err_t i2c_init(void);
|
||||
|
||||
/**
|
||||
* @brief Release I2C subsystem (deletes all devices, buses, and mutexes)
|
||||
|
||||
@@ -5,4 +5,4 @@ otadata, data, ota, 0xd000, 0x2000,
|
||||
phy_init, data, phy, 0xf000, 0x1000,
|
||||
ota_0, app, ota_0, 0x10000, 2M,
|
||||
ota_1, app, ota_1, 0x210000, 2M,
|
||||
storage, data, 0x40, 0x410000, 16K,
|
||||
storage, data, 0x40, 0x410000, 4032K,
|
||||
|
Reference in New Issue
Block a user