Build failures 'SemaphoreHandle_t' does not name a type

I'm guessing this is due to the boad api changes over time but I'm getting error: 'SemaphoreHandle_t' does not name a type. when trying to build. I also found that the AsyncElegantOTA library has been deprecated for ElegantOTA - I'm not sure if any code changes are required to move to this library?

Hrmm...good point. Since my device works pretty well there was not much need to keep track of lib updates. But I'll check if switching ota lib could be done without too much effort.

Thanks that would be great!
Peter
On Sat, 30 Nov 2024 at 18:34, Andreas @.***> wrote:

Hrmm...good point. Since my device works pretty well there was not much
need to keep track of lib updates. But I'll check if switching ota lib
could be done without too much effort.
—
Reply to this email directly, view it on GitHub
https://github.com/lefty01/ESP32_TTGO_FTMS/issues/36#issuecomment-2509135880,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP3U5UFFN2QV2NCUPUYOIT2DIAMFAVCNFSM6AAAAABSYOR2EOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBZGEZTKOBYGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

It’s the TTGO T-Display  esp32 , not home at the moment but just tried to
build from the pio build menu.
On Mon, 2 Dec 2024 at 19:25, Andreas @.***> wrote:

for which board are you compiling? what is your pio run command look like?
—
Reply to this email directly, view it on GitHub
https://github.com/lefty01/ESP32_TTGO_FTMS/issues/36#issuecomment-2512554332,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP3U5UU6T26222F6AZYJGT2DSX2PAVCNFSM6AAAAABSYOR2EOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMJSGU2TIMZTGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

I tried switching to ElegantOTA here
https://github.com/lefty01/ESP32_TTGO_FTMS/tree/libupdate_dev
for me I think the targets are at least compiling. maybe you could try checkout that branch.
but you probably need to remove .pio completly (at least libdeps)
there's some issue with ESPAsyncWebServer-esphome vs ESPAsyncWebServer (not sure why we had -esphome version in the first place maybe I wanted homeassitant mqtt config or something like that???) if ESPAsyncWebServer-esphome is used then I think ESPAsyncWebServer is still downloaded as dependency and that cause error that some stuff is defined twice.
but I have not flashed anything and therefore not tested ota or if it works at all
Environment                  Status    Duration
---------------------------  --------  ------------
ESP32_TTGO_DISPLAY           SUCCESS   00:00:32.024
ESP32_TTGO_DISPLAY_SSL       SUCCESS   00:00:32.767
ESP32_WT32-SC01              SUCCESS   00:00:32.779
ESP32_WT32-SC01_OLD_TFT_GUI  SUCCESS   00:00:25.911
ESP32_TTGO_T4                SUCCESS   00:00:49.079
ESP32_WROOMD_HEADLESS        SUCCESS   00:00:18.313

if you see the SemaphoreHandle_t build error can you paste the complete compile output?

I'm not sure if I have something wrong on my machine, but this is the output of just trying to build the ESP32_TTGO_DISPLAY target. building in vscode on macos Sequoia 15.0.1, 3.7 GHz 6-Core Intel Core i5

Executing task: platformio run --environment ESP32_TTGO_DISPLAY

Processing ESP32_TTGO_DISPLAY (platform: espressif32; board: esp32dev; framework: arduino)
Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (2023.12.10) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:

framework-arduinoespressif32 @ 3.0.0
tool-cmake @ 3.21.3
tool-esptoolpy @ 1.40700.0+dev4 (4.7.0)
tool-mklittlefs @ 3.2.0
tool-mkspiffs @ 2.230.0 (2.30)
tool-ninja @ 1.9.0
tool-riscv32-esp-elf-gdb @ 12.1.0+20221002
tool-xtensa-esp-elf-gdb @ 12.1.0+20221002
toolchain-esp32ulp @ 1.23500.220830 (2.35.0)
toolchain-xtensa-esp32 @ 12.2.0+20230208
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies...
Dependency Graph
|-- NimBLE-Arduino @ 1.4.3
|-- PubSubClient @ 2.8.0
|-- ArduinoJson @ 6.21.5
|-- Button2 @ 2.3.3
|-- Time @ 1.6.1
|-- MPU6050_light @ 1.1.0
|-- ESPAsyncWiFiManager @ 0.31.0+sha.3b9a58a
|-- ElegantOTA @ 3.1.6
|-- LovyanGFX @ 1.2.0
|-- lvgl @ 8.4.0
|-- ESPAsyncWebServer @ 3.3.23
|-- AsyncTCP @ 3.2.14
|-- LittleFS @ 2.0.0
|-- Preferences @ 2.0.0
|-- SPI @ 2.0.0
|-- Wire @ 2.0.0
|-- DNSServer @ 2.0.0
|-- WiFi @ 2.0.0
Building in release mode
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/Fonts/IPA/lgfx_font_japan.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/Fonts/efont/lgfx_efont_cn.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/Fonts/efont/lgfx_efont_ja.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/Fonts/efont/lgfx_efont_kr.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/Fonts/efont/lgfx_efont_tw.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/utility/lgfx_miniz.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/utility/lgfx_pngle.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/utility/lgfx_qoi.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/utility/lgfx_qrcode.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/utility/lgfx_tjpgd.c.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/LGFXBase.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/LGFX_Button.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/LGFX_Sprite.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/lgfx_fonts.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/misc/DividedFrameBuffer.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/misc/SpriteBuffer.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/misc/common_function.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/misc/pixelcopy.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_Device.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_FlexibleFrameBuffer.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_FrameBufferBase.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_GDEW0154M09.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_HUB75.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_HasBuffer.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_ILI9225.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_IT8951.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_LCD.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_M5HDMI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_M5UnitGLASS.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_M5UnitLCD.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_NT35510.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_RA8875.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_RM68120.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_SSD1306.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_SSD1327.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_SSD1331.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_SSD1351.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/panel/Panel_SSD1963.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/arduino_default/Bus_SPI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/arduino_default/Bus_Stream.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/arduino_default/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32/Bus_HUB75.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32/Bus_I2C.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32/Bus_Parallel8.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32/Bus_SPI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32/Light_PWM.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32/Panel_CVBS.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32c3/Bus_Parallel8.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32s2/Bus_Parallel16.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32s2/Bus_Parallel8.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32s3/Bus_Parallel16.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32s3/Bus_Parallel8.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32s3/Bus_RGB.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp32s3/Panel_RGB.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp8266/Bus_I2C.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp8266/Bus_SPI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/esp8266/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/framebuffer/Panel_fb.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/framebuffer/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/opencv/Panel_OpenCV.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/opencv/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/rp2040/Bus_I2C.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/rp2040/Bus_SPI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/rp2040/Light_PWM.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/rp2040/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/samd21/Bus_I2C.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/samd21/Bus_SPI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/samd21/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/samd51/Bus_I2C.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/samd51/Bus_SPI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/samd51/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/sdl/Panel_sdl.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/sdl/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/spresense/Bus_SPI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/spresense/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/stm32/Bus_SPI.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/platforms/stm32/common.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_CST816S.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_FT5x06.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_GSLx680.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_GT911.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_NS2009.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_RA8875.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_STMPE610.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_TT21xxx.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib62e/LovyanGFX/lgfx/v1/touch/Touch_XPT2046.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/src/ESP32_TTGO_FTMS.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/src/config.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/src/display.cpp.o
src/ESP32_TTGO_FTMS.cpp:66:2: warning: #warning todo cs:putback gfxlogtext [-Wcpp]
66 | #warning todo cs:putback gfxlogtext
|  ^~~~~~~
Compiling .pio/build/ESP32_TTGO_DISPLAY/src/gui-LVGL.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/src/gui-tft.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/src/hardware.cpp.o
In file included from src/display.cpp:2:
include/common.h:75:6: error: variable or field 'logText' declared void
75 | void logText(std::string text);
|      ^~~~~~~
include/common.h:75:19: error: 'string' is not a member of 'std'
75 | void logText(std::string text);
|                   ^~~~~~
include/common.h:1:1: note: 'std::string' is defined in header ''; did you forget to '#include '?
+++ |+#include
1 | #ifndef ESP32_TTGO_FTMS_H
src/ESP32_TTGO_FTMS.cpp: In function 'void speedUp()':
src/ESP32_TTGO_FTMS.cpp:113:5: error: 'handleEvent' was not declared in this scope
113 |     handleEvent(EventType::TREADMILL_SPEED_UP);
|     ^~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void speedDown()':
src/ESP32_TTGO_FTMS.cpp:128:5: error: 'handleEvent' was not declared in this scope
128 |     handleEvent(EventType::TREADMILL_SPEED_DOWN);
|     ^~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void inclineUp()':
src/ESP32_TTGO_FTMS.cpp:143:5: error: 'handleEvent' was not declared in this scope
143 |     handleEvent(EventType::TREADMILL_INC_UP);
|     ^~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void inclineDown()':
src/ESP32_TTGO_FTMS.cpp:160:5: error: 'handleEvent' was not declared in this scope
160 |     handleEvent(EventType::TREADMILL_INC_DOWN);
|     ^~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void showInfo()':
src/ESP32_TTGO_FTMS.cpp:213:50: error: 'GPIOExtender' was not declared in this scope
213 |              String(" GPIOExtender(AW9523): ") + GPIOExtender.isAvailable() + String("\n");
|                                                  ^~~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void setup()':
src/ESP32_TTGO_FTMS.cpp:237:3: error: 'initButton' was not declared in this scope; did you mean 'initMqtt'?
237 |   initButton();
|   ^~~~~~~~~~
|   initMqtt
src/ESP32_TTGO_FTMS.cpp:240:3: error: 'initHardware' was not declared in this scope; did you mean 'MockHardware'?
240 |   initHardware();
|   ^~~~~~~~~~~~
|   MockHardware
src/ESP32_TTGO_FTMS.cpp: In function 'void loop()':
src/ESP32_TTGO_FTMS.cpp:261:3: error: 'loopHandleHardware' was not declared in this scope
261 |   loopHandleHardware();
|   ^~~~~~~~~~~~~~~~~~
src/hardware.cpp:249:2: warning: #warning todo cs: add gxloop handler again. [-Wcpp]
249 | #warning todo cs: add gxloop handler again.
|  ^~~~~~~
src/hardware.cpp:406:2: warning: #warning check out if this must be here ****************** [-Wcpp]
406 | #warning check out if this must be here ******************
|  ^~~~~~~
src/hardware.cpp:416:2: warning: #warning cs todo remove this [-Wcpp]
416 | #warning cs todo remove this
|  ^~~~~~~
src/hardware.cpp:448:2: warning: #warning remove this constant to some config/file [-Wcpp]
448 | #warning remove this constant to some config/file
|  ^~~~~~~
src/hardware.cpp:604:2: warning: #warning Remove delay and schedule last part later in some way and go back to "main" loop mode. [-Wcpp]
604 | #warning Remove delay and schedule last part later in some way and go back to "main" loop mode.
|  ^~~~~~~
src/hardware.cpp:620:2: warning: #warning Remove delay and schedule last part later in some way and go back to "main" loop mode. [-Wcpp]
620 | #warning Remove delay and schedule last part later in some way and go back to "main" loop mode.
|  ^~~~~~~
src/ESP32_TTGO_FTMS.cpp:262:3: error: 'loopHandleButton' was not declared in this scope; did you mean 'loopHandleBLE'?
262 |   loopHandleButton();
|   ^~~~~~~~~~~~~~~~
|   loopHandleBLE
src/ESP32_TTGO_FTMS.cpp:268:7: error: 'timer_tick' was not declared in this scope; did you mean 'timer_t'?
268 |   if (timer_tick == true) {
|       ^~~~~~~~~~
|       timer_t
src/ESP32_TTGO_FTMS.cpp:274:17: error: 'getIncline' was not declared in this scope; did you mean 'readIncline'?
274 |       incline = getIncline(); // sets global 'angle' and 'incline' variable
|                 ^~~~~~~~~~
|                 readIncline
src/ESP32_TTGO_FTMS.cpp:289:21: error: 'calculateRPM' was not declared in this scope
289 |         float rpm = calculateRPM();
|                     ^~~~~~~~~~~~
Compiling .pio/build/ESP32_TTGO_DISPLAY/src/net-control.cpp.o
src/ESP32_TTGO_FTMS.cpp:292:25: error: 'workoutDistance' was not declared in this scope
292 |         totalDistance = workoutDistance / 1000;   // conv mm to meter
|                         ^~~~~~~~~~~~~~~
Building .pio/build/ESP32_TTGO_DISPLAY/bootloader.bin
esptool.py v4.7-dev
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Generating partitions .pio/build/ESP32_TTGO_DISPLAY/partitions.bin
*** [.pio/build/ESP32_TTGO_DISPLAY/src/ESP32_TTGO_FTMS.cpp.o] Error 1
*** [.pio/build/ESP32_TTGO_DISPLAY/src/display.cpp.o] Error 1
In file included from src/gui-LVGL.cpp:3:
include/common.h:75:6: error: variable or field 'logText' declared void
75 | void logText(std::string text);
|      ^~~~~~~
include/common.h:75:19: error: 'string' is not a member of 'std'
75 | void logText(std::string text);
|                   ^~~~~~
include/common.h:14:1: note: 'std::string' is defined in header ''; did you forget to '#include '?
13 | #include <Arduino.h>
+++ |+#include
14 |
In file included from src/hardware.cpp:28:
include/common.h:75:6: error: variable or field 'logText' declared void
75 | void logText(std::string text);
|      ^~~~~~~
include/common.h:75:19: error: 'string' is not a member of 'std'
75 | void logText(std::string text);
|                   ^~~~~~
include/common.h:1:1: note: 'std::string' is defined in header ''; did you forget to '#include '?
+++ |+#include
1 | #ifndef ESP32_TTGO_FTMS_H
In file included from .pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/NimBLEDevice.h:18,
from src/net-control.cpp:26:
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:154: warning: "CONFIG_BT_NIMBLE_ROLE_CENTRAL" redefined
154 | #define CONFIG_BT_NIMBLE_ROLE_CENTRAL
|
In file included from /Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/include/newlib/platform_include/assert.h:12,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/sys-include/sys/reent.h:503,
from /Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/include/newlib/platform_include/sys/reent.h:9,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/sys-include/wchar.h:6,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/12.2.0/cwchar:44,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/12.2.0/bits/postypes.h:40,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/12.2.0/iosfwd:40,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/12.2.0/ios:38,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/12.2.0/ostream:38,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/12.2.0/bits/unique_ptr.h:41,
from /Users/userx/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/12.2.0/memory:76,
from /Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/libraries/FS/src/FS.h:24,
from /Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/libraries/LittleFS/src/LittleFS.h:17,
from src/net-control.cpp:7:
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:314: note: this is the location of the previous definition
314 | #define CONFIG_BT_NIMBLE_ROLE_CENTRAL 1
|
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:158: warning: "CONFIG_BT_NIMBLE_ROLE_OBSERVER" redefined
158 | #define CONFIG_BT_NIMBLE_ROLE_OBSERVER
|
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:317: note: this is the location of the previous definition
317 | #define CONFIG_BT_NIMBLE_ROLE_OBSERVER 1
|
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:162: warning: "CONFIG_BT_NIMBLE_ROLE_PERIPHERAL" redefined
162 | #define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL
|
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:315: note: this is the location of the previous definition
315 | #define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL 1
|
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:166: warning: "CONFIG_BT_NIMBLE_ROLE_BROADCASTER" redefined
166 | #define CONFIG_BT_NIMBLE_ROLE_BROADCASTER
|
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:316: note: this is the location of the previous definition
316 | #define CONFIG_BT_NIMBLE_ROLE_BROADCASTER 1
|
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:234: warning: "CONFIG_BT_NIMBLE_ACL_BUF_COUNT" redefined
234 | #define CONFIG_BT_NIMBLE_ACL_BUF_COUNT 12
|
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:783: note: this is the location of the previous definition
783 | #define CONFIG_BT_NIMBLE_ACL_BUF_COUNT CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT
|
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:237: warning: "CONFIG_BT_NIMBLE_ACL_BUF_SIZE" redefined
237 | #define CONFIG_BT_NIMBLE_ACL_BUF_SIZE 255
|
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:784: note: this is the location of the previous definition
784 | #define CONFIG_BT_NIMBLE_ACL_BUF_SIZE CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE
|
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:243: warning: "CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE" redefined
243 | #  define CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE 70
|
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:785: note: this is the location of the previous definition
785 | #define CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE
|
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:247: warning: "CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT" redefined
247 | #define CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT 30
|
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:786: note: this is the location of the previous definition
786 | #define CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT
|
.pio/libdeps/ESP32_TTGO_DISPLAY/NimBLE-Arduino/src/nimconfig.h:250: warning: "CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT" redefined
250 | #define CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT 8
|
/Users/userx/.platformio/packages/framework-arduinoespressif32@src-cdf0adb896be2b73de7b8a8d60c8dc56/tools/esp32-arduino-libs/esp32/dio_qspi/include/sdkconfig.h:787: note: this is the location of the previous definition
787 | #define CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT
|
src/hardware.cpp:122:1: error: 'GPIOExtenderAW9523' does not name a type
122 | GPIOExtenderAW9523 GPIOExtender(I2C_0);
| ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'void reedSwitch_ISR()':
src/hardware.cpp:319:5: warning: '++' expression of 'volatile'-qualified type is deprecated [-Wvolatile]
319 |     revCount++;
|     ^~~~~~~~
src/hardware.cpp:320:21: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
320 |     workoutDistance += configTreadmill.belt_distance;
|     ^~~~~~~~~~~~~~~~
src/hardware.cpp:321:25: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
321 |     accumulatorInterval += test_elapsed;
|     ^
src/hardware.cpp: In function 'void loopHandleHardware()':
src/hardware.cpp:432:3: error: 'GPIOExtender' was not declared in this scope
432 |   GPIOExtender.scanButtons();
|   ^~~~~~
src/hardware.cpp:456:27: warning: using value of simple assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
456 |       t1_valid = t2_valid = false;
|                  ~^
src/hardware.cpp: In function 'void handleEvent(EventType)':
src/hardware.cpp:474:7: error: 'GPIOExtender' was not declared in this scope
474 |   if (GPIOExtender.pressEvent(event)) return;
|       ^~~~~~~~~~
src/hardware.cpp: In function 'void initGPIOExtender()':
src/hardware.cpp:503:11: error: 'GPIOExtender' was not declared in this scope; did you mean 'initGPIOExtender'?
503 |   while (!GPIOExtender.begin())
|           ^~~~~~~~~~~~
|           initGPIOExtender
src/hardware.cpp: At global scope:
src/hardware.cpp:512:6: error: 'GPIOExtenderAW9523' has not been declared
512 | void GPIOExtenderAW9523::scanButtons(void)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'void scanButtons()':
src/hardware.cpp:514:7: error: 'enabled' was not declared in this scope
514 |   if (enabled) {
|       ^~~~~~~
src/hardware.cpp:516:21: error: 'getPins' was not declared in this scope
516 |     uint16_t pins = getPins();
|                     ^~~~~~~
src/hardware.cpp:523:17: error: 'AW9523_KEY_UP' was not declared in this scope
523 |     if ((keys & AW9523_KEY_UP) && AW9523_KEY_UP) {
|                 ^~~~~~~~~~~~~
src/hardware.cpp:528:17: error: 'AW9523_KEY_LEFT' was not declared in this scope
528 |     if ((keys & AW9523_KEY_LEFT) && AW9523_KEY_LEFT) {
|                 ^~~~~~~~~~~~~~~
src/hardware.cpp:533:17: error: 'AW9523_KEY_DOWN' was not declared in this scope
533 |     if ((keys & AW9523_KEY_DOWN) && AW9523_KEY_DOWN) {
|                 ^~~~~~~~~~~~~~~
src/hardware.cpp:538:17: error: 'AW9523_KEY_RIGHT' was not declared in this scope
538 |     if ((keys & AW9523_KEY_RIGHT) && AW9523_KEY_RIGHT) {
|                 ^~~~~~~~~~~~~~~~
*** [.pio/build/ESP32_TTGO_DISPLAY/src/gui-LVGL.cpp.o] Error 1
src/hardware.cpp:543:17: error: 'AW9523_KEY_OK' was not declared in this scope
543 |     if ((keys & AW9523_KEY_OK) && AW9523_KEY_OK) {
|                 ^~~~~~~~~~~~~
src/hardware.cpp:548:17: error: 'AW9523_KEY_BACK' was not declared in this scope
548 |     if ((keys & AW9523_KEY_BACK) && AW9523_KEY_BACK) {
|                 ^~~~~~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:560:6: error: 'GPIOExtenderAW9523' has not been declared
560 | void GPIOExtenderAW9523::logPins(void)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'void logPins()':
src/hardware.cpp:562:7: error: 'enabled' was not declared in this scope
562 |   if (enabled) {
|       ^~~~~~~
src/hardware.cpp:563:28: error: 'INPUT_PORT0' was not declared in this scope
563 |       uint8_t port0 = read(INPUT_PORT0);
|                            ^~~~~~~~~~~
src/hardware.cpp:564:28: error: 'INPUT_PORT1' was not declared in this scope
564 |       uint8_t port1 = read(INPUT_PORT1);
|                            ^~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:570:6: error: 'GPIOExtenderAW9523' has not been declared
570 | bool GPIOExtenderAW9523::pressEvent(EventType eventButton)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool pressEvent(EventType)':
src/hardware.cpp:573:7: error: 'enabled' was not declared in this scope
573 |   if (enabled) {
|       ^~~~~~~
src/hardware.cpp:578:52: error: 'AW9523_TREADMILL_START' was not declared in this scope
578 |       case EventType::TREADMILL_START:      line = AW9523_TREADMILL_START; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:579:52: error: 'AW9523_TREADMILL_SPEED_DOWN' was not declared in this scope
579 |       case EventType::TREADMILL_SPEED_DOWN: line = AW9523_TREADMILL_SPEED_DOWN; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:580:52: error: 'AW9523_TREADMILL_INC_DOWN' was not declared in this scope
580 |       case EventType::TREADMILL_INC_DOWN:   line = AW9523_TREADMILL_INC_DOWN; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:581:52: error: 'AW9523_TREADMILL_STOP' was not declared in this scope
581 |       case EventType::TREADMILL_STOP:       line = AW9523_TREADMILL_STOP; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:582:52: error: 'AW9523_TREADMILL_SPEED_UP' was not declared in this scope
582 |       case EventType::TREADMILL_SPEED_UP:   line = AW9523_TREADMILL_SPEED_UP; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:583:52: error: 'AW9523_TREADMILL_INC_UP' was not declared in this scope
583 |       case EventType::TREADMILL_INC_UP:     line = AW9523_TREADMILL_INC_UP; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:600:18: error: 'CONFIG_PORT0' was not declared in this scope
600 |       if (!write(CONFIG_PORT0,~port0Bit)) return false; //0-output 1-input
|                  ^~~~~~~~~~~~
src/hardware.cpp:602:18: error: 'OUTPUT_PORT0' was not declared in this scope
602 |       if (!write(OUTPUT_PORT0,~port0Bit)) return false; //0-low 1-high
|                  ^~~~~~~~~~~~
src/hardware.cpp:605:13: error: 'TREADMILL_BUTTON_PRESS_SIGNAL_TIME_MS' was not declared in this scope
605 |       delay(TREADMILL_BUTTON_PRESS_SIGNAL_TIME_MS);
|             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:608:18: error: 'OUTPUT_PORT0' was not declared in this scope
608 |       if (!write(OUTPUT_PORT0,0xff)) return false; //0-low 1-high
|                  ^~~~~~~~~~~~
src/hardware.cpp:610:18: error: 'CONFIG_PORT0' was not declared in this scope
610 |       if (!write(CONFIG_PORT0,0xff)) return false; //0-output 1-input
|                  ^~~~~~~~~~~~
src/hardware.cpp:616:18: error: 'CONFIG_PORT1' was not declared in this scope
616 |       if (!write(CONFIG_PORT1,~port1Bit)) return false; //0-output 1-input
|                  ^~~~~~~~~~~~
src/hardware.cpp:618:18: error: 'OUTPUT_PORT1' was not declared in this scope
618 |       if (!write(OUTPUT_PORT1,~port1Bit)) return false; //0-low 1-high
|                  ^~~~~~~~~~~~
src/hardware.cpp:621:13: error: 'TREADMILL_BUTTON_PRESS_SIGNAL_TIME_MS' was not declared in this scope
621 |       delay(TREADMILL_BUTTON_PRESS_SIGNAL_TIME_MS);
|             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:624:18: error: 'OUTPUT_PORT1' was not declared in this scope
624 |       if (!write(OUTPUT_PORT1,0xff)) return false; //0-low 1-high
|                  ^~~~~~~~~~~~
src/hardware.cpp:626:18: error: 'CONFIG_PORT1' was not declared in this scope
626 |       if (!write(CONFIG_PORT1,0xff)) return false; //0-output 1-input
|                  ^~~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:633:9: error: 'GPIOExtenderAW9523' has not been declared
633 | uint8_t GPIOExtenderAW9523::read(uint8_t reg, bool i2cHandled)
|         ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'uint8_t read(uint8_t, bool)':
src/hardware.cpp:640:3: error: 'wire' was not declared in this scope; did you mean 'Wire'?
640 |   wire->beginTransmission(AW9523_ADDR);
|   ^~~~
|   Wire
src/hardware.cpp:640:27: error: 'AW9523_ADDR' was not declared in this scope
640 |   wire->beginTransmission(AW9523_ADDR);
|                           ^~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:652:9: error: 'GPIOExtenderAW9523' has not been declared
652 | uint8_t GPIOExtenderAW9523::read(uint8_t reg)
|         ^~~~~~~~~~~~~~~~~~
src/hardware.cpp:657:6: error: 'GPIOExtenderAW9523' has not been declared
657 | bool GPIOExtenderAW9523::write(uint8_t reg, uint8_t data)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool write(uint8_t, uint8_t)':
src/hardware.cpp:662:3: error: 'wire' was not declared in this scope; did you mean 'Wire'?
662 |   wire->beginTransmission(AW9523_ADDR);
|   ^~~~
|   Wire
src/hardware.cpp:662:27: error: 'AW9523_ADDR' was not declared in this scope
662 |   wire->beginTransmission(AW9523_ADDR);
|                           ^~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:674:6: error: 'GPIOExtenderAW9523' has not been declared
674 | bool GPIOExtenderAW9523::begin()
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool begin()':
src/hardware.cpp:676:3: error: 'enabled' was not declared in this scope
676 |   enabled = false;
|   ^~~~~~~
src/hardware.cpp:677:3: error: 'isInterrupted' was not declared in this scope; did you mean 'noInterrupts'?
677 |   isInterrupted = false;
|   ^~~~~~~~~~~~~
|   noInterrupts
src/hardware.cpp:678:21: error: 'ID' was not declared in this scope; did you mean 'id'?
678 |   uint8_t id = read(ID);
|                     ^~
|                     id
src/hardware.cpp:681:13: error: 'ID_AW9523' was not declared in this scope
681 |   if (id != ID_AW9523) {
|             ^~~~~~~~~
src/hardware.cpp:685:14: error: 'OUTPUT_PORT0' was not declared in this scope
685 |   if (!write(OUTPUT_PORT0,0xff)) return false; //0-low 1-high
|              ^~~~~~~~~~~~
src/hardware.cpp:686:14: error: 'OUTPUT_PORT1' was not declared in this scope
686 |   if (!write(OUTPUT_PORT1,0xff)) return false; //0-low 1-high
|              ^~~~~~~~~~~~
src/hardware.cpp:689:14: error: 'CONFIG_PORT0' was not declared in this scope
689 |   if (!write(CONFIG_PORT0,0xff)) return false; //0-output 1-input
|              ^~~~~~~~~~~~
src/hardware.cpp:690:14: error: 'CONFIG_PORT1' was not declared in this scope
690 |   if (!write(CONFIG_PORT1,0xff)) return false; //0-output 1-input
|              ^~~~~~~~~~~~
src/hardware.cpp:692:14: error: 'CTL' was not declared in this scope
692 |   if (!write(CTL,0x08)) return false; //0000x000  0-Open Drain 1-Push-Pull
|              ^~~
src/hardware.cpp:694:14: error: 'INT_PORT0' was not declared in this scope
694 |   if (!write(INT_PORT0,0xff)) return false; //0-enable 1-disable
|              ^~~~~~~~~
src/hardware.cpp:695:14: error: 'INT_PORT1' was not declared in this scope
695 |   if (!write(INT_PORT1,0xff)) return false; //0-enable 1-disable
|              ^~~~~~~~~
src/hardware.cpp:697:14: error: 'LED_MODE_SWITCH0' was not declared in this scope
697 |   if (!write(LED_MODE_SWITCH0,0xff)) return false; //0-LED mode 1-GPIO mode
|              ^~~~~~~~~~~~~~~~
src/hardware.cpp:698:14: error: 'LED_MODE_SWITCH1' was not declared in this scope
698 |   if (!write(LED_MODE_SWITCH1,0xff)) return false; //0-LED mode 1-GPIO mode
|              ^~~~~~~~~~~~~~~~
src/hardware.cpp:700:3: error: 'getPins' was not declared in this scope
700 |   getPins();
|   ^~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:704:6: error: 'GPIOExtenderAW9523' has not been declared
704 | bool GPIOExtenderAW9523::isAvailable()
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool isAvailable()':
src/hardware.cpp:706:10: error: 'enabled' was not declared in this scope
706 |   return enabled;
|          ^~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:709:10: error: 'GPIOExtenderAW9523' has not been declared
709 | uint16_t GPIOExtenderAW9523::getPins(void)
|          ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'uint16_t getPins()':
src/hardware.cpp:711:7: error: 'enabled' was not declared in this scope
711 |   if (enabled) {
|       ^~~~~~~
src/hardware.cpp:712:5: error: 'isInterrupted' was not declared in this scope; did you mean 'noInterrupts'?
712 |     isInterrupted = false;
|     ^~~~~~~~~~~~~
|     noInterrupts
src/hardware.cpp:717:26: error: 'INPUT_PORT0' was not declared in this scope
717 |     uint8_t port0 = read(INPUT_PORT0,true);
|                          ^~~~~~~~~~~
src/hardware.cpp:718:26: error: 'INPUT_PORT1' was not declared in this scope
718 |     uint8_t port1 = read(INPUT_PORT1,true);
|                          ^~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:726:6: error: 'GPIOExtenderAW9523' has not been declared
726 | bool GPIOExtenderAW9523::checkInterrupt(void)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool checkInterrupt()':
src/hardware.cpp:728:11: error: 'enabled' was not declared in this scope
728 |   return (enabled && isInterrupted);
|           ^~~~~~~
src/hardware.cpp:728:22: error: 'isInterrupted' was not declared in this scope; did you mean 'noInterrupts'?
728 |   return (enabled && isInterrupted);
|                      ^~~~~~~~~~~~~
|                      noInterrupts
src/net-control.cpp: In function 'void setupDeviceID()':
src/net-control.cpp:166:3: error: 'esp_efuse_mac_get_default' was not declared in this scope
166 |   esp_efuse_mac_get_default(macAddr);
|   ^~~~~~~~~~~~~~~~~~~~~~~~~
src/net-control.cpp: In function 'bool mqttConnect()':
src/net-control.cpp:422:65: error: 'reset_reason' was not declared in this scope; did you mean 'esp_reset_reason'?
422 |     rc |= client.publish(getTopic(MQTT_TOPIC_RST), getRstReason(reset_reason), true);
|                                                                 ^~~~~~~~~~~~
|                                                                 esp_reset_reason
src/net-control.cpp:422:52: error: 'getRstReason' was not declared in this scope
422 |     rc |= client.publish(getTopic(MQTT_TOPIC_RST), getRstReason(reset_reason), true);
|                                                    ^~~~~~~~~~~~
src/net-control.cpp: In function 'String processor(const String&)':
src/net-control.cpp:461:25: error: 'reset_reason' was not declared in this scope; did you mean 'esp_reset_reason'?
461 |     return getRstReason(reset_reason);
|                         ^~~~~~~~~~~~
|                         esp_reset_reason
src/net-control.cpp:461:12: error: 'getRstReason' was not declared in this scope
461 |     return getRstReason(reset_reason);
|            ^~~~~~~~~~~~
*** [.pio/build/ESP32_TTGO_DISPLAY/src/hardware.cpp.o] Error 1
*** [.pio/build/ESP32_TTGO_DISPLAY/src/net-control.cpp.o] Error 1
=========================================================================================================================== [FAILED] Took 30.42 seconds ===========================================================================================================================

Environment         Status    Duration

ESP32_TTGO_DISPLAY  FAILED    00:00:30.420
====================================================================================================================== 1 failed, 0 succeeded in 00:00:30.420 ======================================================================================================================

The terminal process "platformio 'run', '--environment', 'ESP32_TTGO_DISPLAY'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.

indeed strange ...
let me for comparison paste beginning of my output that show some difference in pio related version (looks deps pkgs are same version numbers which makes sense )
$ platformio run --environment ESP32_TTGO_DISPLAY
Processing ESP32_TTGO_DISPLAY (platform: espressif32; board: esp32dev; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tool Manager: Installing platformio/framework-arduinoespressif32 @ ~3.20017.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager<EMAIL_ADDRESS>has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (6.9.0) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.20017.0 (2.0.17)
 - tool-esptoolpy @ 1.40501.0 (4.5.1)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 45 compatible libraries
Scanning dependencies...
Dependency Graph
|-- NimBLE-Arduino @ 1.4.3
|-- PubSubClient @ 2.8.0
|-- ArduinoJson @ 6.21.5
|-- Button2 @ 2.3.3
|-- Time @ 1.6.1
|-- MPU6050_light @ 1.1.0
|-- ESPAsyncWiFiManager @ 0.31.0+sha.3b9a58a
|-- ElegantOTA @ 3.1.6
|-- LovyanGFX @ 1.2.0
|-- lvgl @ 8.4.0
|-- ESPAsyncWebServer @ 3.3.23
|-- AsyncTCP @ 3.2.14
|-- LittleFS @ 2.0.0
|-- Preferences @ 2.0.0
|-- SPI @ 2.0.0
|-- Wire @ 2.0.0
|-- WiFiClientSecure @ 2.0.0

|-- DNSServer @ 2.0.0
|-- WiFi @ 2.0.0
Building in release mode

are you able to run without vscode, or from cmdline check the version:
$ pio  --version
PlatformIO Core, version 6.1.15
al@fedora:~/Development/github.com/lefty01/ESP32_TTGO_FTMS (lefty01)(libupdate_dev) [20:52:42]
$ pio  upgrade
Please wait while upgrading PlatformIO Core ...
[notice] A new release of pip is available: 24.2 -> 24.3.1
[notice] To update, run: python -m pip install --upgrade pip
PlatformIO has been successfully upgraded to 6.1.16

did I quick test  based on the first error
compiling this with: ~/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-g++ (8.4.0) without the Arduino.h
gives the same error
//#include <Arduino.h>

void logText(String text);
void logText(std::string text);

int main(void)
{
}

test.C:4:14: error: variable or field 'logText' declared void
void logText(String text);
^~~~~~
test.C:4:14: error: 'String' was not declared in this scope
test.C:5:19: error: variable or field 'logText' declared void
void logText(std::string text);
^~~~~~
test.C:5:19: error: 'string' is not a member of 'std'
test.C:5:19: note: 'std::string' is defined in header ''; did you forget to '#include '?
test.C:1:1:
+#include
//#include <Arduino.h>
test.C:5:19:
void logText(std::string text);
^~~~~~
including the Arduino.h seems to resolve this ...
need to think about it, I guess I had seen issues like this before

somehow the toolchains behave a bit different.
I had commented the sting.h include  as I thought it might not be needed ... now uncommted again can you do a git pull on the branch and re-try ?
diff --git a/include/config.h b/include/config.h
index 04ee29f..2b53fe7 100644
--- a/include/config.h
+++ b/include/config.h
@@ -3,7 +3,7 @@

 #include <Arduino.h>   //  for string type
 //#warning fix include error for string type remove arduino (use std:string?? it might be faster)
-//#include <string.h>
+#include <string.h>

Failed again,
Processing ESP32_TTGO_DISPLAY (platform: espressif32; board: esp32dev; framework: arduino)
Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (2023.12.10) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:

framework-arduinoespressif32 @ 3.0.0
tool-cmake @ 3.21.3
tool-esptoolpy @ 1.40700.0+dev4 (4.7.0)
tool-mklittlefs @ 3.2.0
tool-mkspiffs @ 2.230.0 (2.30)
tool-ninja @ 1.9.0
tool-riscv32-esp-elf-gdb @ 12.1.0+20221002
tool-xtensa-esp-elf-gdb @ 12.1.0+20221002
toolchain-esp32ulp @ 1.23500.220830 (2.35.0)
toolchain-xtensa-esp32 @ 12.2.0+20230208
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies...
 [-Wcpp]
249 | #warning todo cs: add gxloop handler again.
|  ^~~~~~~
src/hardware.cpp:406:2: warning: #warning check out if this must be here ****************** [-Wcpp]
406 | #warning check out if this must be here ******************
|  ^~~~~~~
src/hardware.cpp:416:2: warning: #warning cs todo remove this [-Wcpp]
416 | #warning cs todo remove this
|  ^~~~~~~
src/hardware.cpp:448:2: warning: #warning remove this constant to some config/file [-Wcpp]
448 | #warning remove this constant to some config/file
|  ^~~~~~~
src/hardware.cpp:604:2: warning: #warning Remove delay and schedule last part later in some way and go back to "main" loop mode. [-Wcpp]
604 | #warning Remove delay and schedule last part later in some way and go back to "main" loop mode.
|  ^~~~~~~
src/hardware.cpp:620:2: warning: #warning Remove delay and schedule last part later in some way and go back to "main" loop mode. [-Wcpp]
620 | #warning Remove delay and schedule last part later in some way and go back to "main" loop mode.
|  ^~~~~~~
In file included from src/display.cpp:2:
include/common.h:75:6: error: variable or field 'logText' declared void
75 | void logText(std::string text);
|      ^~~~~~~
include/common.h:75:19: error: 'string' is not a member of 'std'
75 | void logText(std::string text);
|                   ^~~~~~
include/common.h:1:1: note: 'std::string' is defined in header ''; did you forget to '#include '?
+++ |+#include
1 | #ifndef ESP32_TTGO_FTMS_H
In file included from src/hardware.cpp:28:
include/common.h:75:6: error: variable or field 'logText' declared void
75 | void logText(std::string text);
|      ^~~~~~~
include/common.h:75:19: error: 'string' is not a member of 'std'
75 | void logText(std::string text);
|                   ^~~~~~
include/common.h:1:1: note: 'std::string' is defined in header ''; did you forget to '#include '?
+++ |+#include
1 | #ifndef ESP32_TTGO_FTMS_H
src/net-control.cpp:23:10: fatal error: wifi_mqtt_creds.h: No such file or directory

Looking for wifi_mqtt_creds.h dependency? Check our library registry!

CLI  > platformio lib search "header:wifi_mqtt_creds.h"
Web  > https://registry.platformio.org/search?q=header:wifi_mqtt_creds.h

23 | #include "wifi_mqtt_creds.h"
|          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pio/build/ESP32_TTGO_DISPLAY/src/net-control.cpp.o] Error 1
esptool.py v4.7-dev
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
In file included from src/gui-LVGL.cpp:3:
include/common.h:75:6: error: variable or field 'logText' declared void
75 | void logText(std::string text);
|      ^~~~~~~
include/common.h:75:19: error: 'string' is not a member of 'std'
75 | void logText(std::string text);
|                   ^~~~~~
include/common.h:14:1: note: 'std::string' is defined in header ''; did you forget to '#include '?
13 | #include <Arduino.h>
+++ |+#include
14 |
src/ESP32_TTGO_FTMS.cpp: In function 'void speedUp()':
src/ESP32_TTGO_FTMS.cpp:113:5: error: 'handleEvent' was not declared in this scope
113 |     handleEvent(EventType::TREADMILL_SPEED_UP);
|     ^~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void speedDown()':
src/ESP32_TTGO_FTMS.cpp:128:5: error: 'handleEvent' was not declared in this scope
128 |     handleEvent(EventType::TREADMILL_SPEED_DOWN);
|     ^~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void inclineUp()':
src/ESP32_TTGO_FTMS.cpp:143:5: error: 'handleEvent' was not declared in this scope
143 |     handleEvent(EventType::TREADMILL_INC_UP);
|     ^~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void inclineDown()':
src/ESP32_TTGO_FTMS.cpp:160:5: error: 'handleEvent' was not declared in this scope
160 |     handleEvent(EventType::TREADMILL_INC_DOWN);
|     ^~~~~~~~~~~
src/hardware.cpp:122:1: error: 'GPIOExtenderAW9523' does not name a type
122 | GPIOExtenderAW9523 GPIOExtender(I2C_0);
| ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'void reedSwitch_ISR()':
src/hardware.cpp:319:5: warning: '++' expression of 'volatile'-qualified type is deprecated [-Wvolatile]
319 |     revCount++;
|     ^~~~~~~~
src/hardware.cpp:320:21: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
320 |     workoutDistance += configTreadmill.belt_distance;
|     ^~~~~~~~~~~~~~~~
src/hardware.cpp:321:25: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
321 |     accumulatorInterval += test_elapsed;
|     ^
src/ESP32_TTGO_FTMS.cpp: In function 'void showInfo()':
src/ESP32_TTGO_FTMS.cpp:213:50: error: 'GPIOExtender' was not declared in this scope
213 |              String(" GPIOExtender(AW9523): ") + GPIOExtender.isAvailable() + String("\n");
|                                                  ^~~~~~
src/ESP32_TTGO_FTMS.cpp: In function 'void setup()':
src/ESP32_TTGO_FTMS.cpp:237:3: error: 'initButton' was not declared in this scope; did you mean 'initMqtt'?
237 |   initButton();
|   ^~~~~~~~~~
|   initMqtt
src/hardware.cpp: In function 'void loopHandleHardware()':
src/hardware.cpp:432:3: error: 'GPIOExtender' was not declared in this scope
432 |   GPIOExtender.scanButtons();
|   ^~~~~~~~~~~~
src/hardware.cpp:456:27: warning: using value of simple assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
456 |       t1_valid = t2_valid = false;
|                  ~^
src/ESP32_TTGO_FTMS.cpp:240:3: error: 'initHardware' was not declared in this scope; did you mean 'MockHardware'?
240 |   initHardware();
|   ^~~~~~~~~~
|   MockHardware
src/hardware.cpp: In function 'void handleEvent(EventType)':
src/hardware.cpp:474:7: error: 'GPIOExtender' was not declared in this scope
474 |   if (GPIOExtender.pressEvent(event)) return;
|       ^~~~~~~~~~~~
*** [.pio/build/ESP32_TTGO_DISPLAY/src/display.cpp.o] Error 1
src/ESP32_TTGO_FTMS.cpp: In function 'void loop()':
src/ESP32_TTGO_FTMS.cpp:261:3: error: 'loopHandleHardware' was not declared in this scope
261 |   loopHandleHardware();
|   ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'void initGPIOExtender()':
src/hardware.cpp:503:11: error: 'GPIOExtender' was not declared in this scope; did you mean 'initGPIOExtender'?
503 |   while (!GPIOExtender.begin())
|           ^~~~~~~~~~~~
|           initGPIOExtender
src/hardware.cpp: At global scope:
src/hardware.cpp:512:6: error: 'GPIOExtenderAW9523' has not been declared
512 | void GPIOExtenderAW9523::scanButtons(void)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'void scanButtons()':
src/hardware.cpp:514:7: error: 'enabled' was not declared in this scope
514 |   if (enabled) {
|       ^~~~~~~
src/hardware.cpp:516:21: error: 'getPins' was not declared in this scope
516 |     uint16_t pins = getPins();
|                     ^~~~~~~
src/ESP32_TTGO_FTMS.cpp:262:3: error: 'loopHandleButton' was not declared in this scope; did you mean 'loopHandleBLE'?
262 |   loopHandleButton();
|   ^~~~~~~~~~~~~~~~
|   loopHandleBLE
src/ESP32_TTGO_FTMS.cpp:268:7: error: 'timer_tick' was not declared in this scope; did you mean 'timer_t'?
268 |   if (timer_tick == true) {
|       ^~~~~~~~~~
|       timer_t
src/ESP32_TTGO_FTMS.cpp:274:17: error: 'getIncline' was not declared in this scope; did you mean 'readIncline'?
274 |       incline = getIncline(); // sets global 'angle' and 'incline' variable
|                 ^~~~~~~~~~
|                 readIncline
src/hardware.cpp:523:17: error: 'AW9523_KEY_UP' was not declared in this scope
523 |     if ((keys & AW9523_KEY_UP) && AW9523_KEY_UP) {
|                 ^~~~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp:289:21: error: 'calculateRPM' was not declared in this scope
289 |         float rpm = calculateRPM();
|                     ^~~~~~~~~~~~
src/hardware.cpp:528:17: error: 'AW9523_KEY_LEFT' was not declared in this scope
528 |     if ((keys & AW9523_KEY_LEFT) && AW9523_KEY_LEFT) {
|                 ^~~~~~~~~~~~~~~
src/ESP32_TTGO_FTMS.cpp:292:25: error: 'workoutDistance' was not declared in this scope
292 |         totalDistance = workoutDistance / 1000;   // conv mm to meter
|                         ^~~~~~~~~~~~~~~
src/hardware.cpp:533:17: error: 'AW9523_KEY_DOWN' was not declared in this scope
533 |     if ((keys & AW9523_KEY_DOWN) && AW9523_KEY_DOWN) {
|                 ^~~~~~~~~~~~~~~
src/hardware.cpp:538:17: error: 'AW9523_KEY_RIGHT' was not declared in this scope
538 |     if ((keys & AW9523_KEY_RIGHT) && AW9523_KEY_RIGHT) {
|                 ^~~~~~~~~~~~~~~~
src/hardware.cpp:543:17: error: 'AW9523_KEY_OK' was not declared in this scope
543 |     if ((keys & AW9523_KEY_OK) && AW9523_KEY_OK) {
|                 ^~~~~~~~~~~~~
src/hardware.cpp:548:17: error: 'AW9523_KEY_BACK' was not declared in this scope
548 |     if ((keys & AW9523_KEY_BACK) && AW9523_KEY_BACK) {
|                 ^~~~~~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:560:6: error: 'GPIOExtenderAW9523' has not been declared
560 | void GPIOExtenderAW9523::logPins(void)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'void logPins()':
src/hardware.cpp:562:7: error: 'enabled' was not declared in this scope
562 |   if (enabled) {
|       ^~~~~~~
src/hardware.cpp:563:28: error: 'INPUT_PORT0' was not declared in this scope
563 |       uint8_t port0 = read(INPUT_PORT0);
|                            ^~~~~~~~~~~
src/hardware.cpp:564:28: error: 'INPUT_PORT1' was not declared in this scope
564 |       uint8_t port1 = read(INPUT_PORT1);
|                            ^~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:570:6: error: 'GPIOExtenderAW9523' has not been declared
570 | bool GPIOExtenderAW9523::pressEvent(EventType eventButton)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool pressEvent(EventType)':
src/hardware.cpp:573:7: error: 'enabled' was not declared in this scope
573 |   if (enabled) {
|       ^~~~~~~
*** [.pio/build/ESP32_TTGO_DISPLAY/src/ESP32_TTGO_FTMS.cpp.o] Error 1
*** [.pio/build/ESP32_TTGO_DISPLAY/src/gui-LVGL.cpp.o] Error 1
src/hardware.cpp:578:52: error: 'AW9523_TREADMILL_START' was not declared in this scope
578 |       case EventType::TREADMILL_START:      line = AW9523_TREADMILL_START; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:579:52: error: 'AW9523_TREADMILL_SPEED_DOWN' was not declared in this scope
579 |       case EventType::TREADMILL_SPEED_DOWN: line = AW9523_TREADMILL_SPEED_DOWN; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:580:52: error: 'AW9523_TREADMILL_INC_DOWN' was not declared in this scope
580 |       case EventType::TREADMILL_INC_DOWN:   line = AW9523_TREADMILL_INC_DOWN; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:581:52: error: 'AW9523_TREADMILL_STOP' was not declared in this scope
581 |       case EventType::TREADMILL_STOP:       line = AW9523_TREADMILL_STOP; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:582:52: error: 'AW9523_TREADMILL_SPEED_UP' was not declared in this scope
582 |       case EventType::TREADMILL_SPEED_UP:   line = AW9523_TREADMILL_SPEED_UP; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:583:52: error: 'AW9523_TREADMILL_INC_UP' was not declared in this scope
583 |       case EventType::TREADMILL_INC_UP:     line = AW9523_TREADMILL_INC_UP; break;
|                                                    ^~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:600:18: error: 'CONFIG_PORT0' was not declared in this scope
600 |       if (!write(CONFIG_PORT0,~port0Bit)) return false; //0-output 1-input
|                  ^~~~~~~~~~~~
src/hardware.cpp:602:18: error: 'OUTPUT_PORT0' was not declared in this scope
602 |       if (!write(OUTPUT_PORT0,~port0Bit)) return false; //0-low 1-high
|                  ^~~~~~~~~~~~
src/hardware.cpp:605:13: error: 'TREADMILL_BUTTON_PRESS_SIGNAL_TIME_MS' was not declared in this scope
605 |       delay(TREADMILL_BUTTON_PRESS_SIGNAL_TIME_MS);
|             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:608:18: error: 'OUTPUT_PORT0' was not declared in this scope
608 |       if (!write(OUTPUT_PORT0,0xff)) return false; //0-low 1-high
|                  ^~~~~~~~~~~~
src/hardware.cpp:610:18: error: 'CONFIG_PORT0' was not declared in this scope
610 |       if (!write(CONFIG_PORT0,0xff)) return false; //0-output 1-input
|                  ^~~~~~~~~~~~
src/hardware.cpp:616:18: error: 'CONFIG_PORT1' was not declared in this scope
616 |       if (!write(CONFIG_PORT1,~port1Bit)) return false; //0-output 1-input
|                  ^~~~~~~~~~~~
src/hardware.cpp:618:18: error: 'OUTPUT_PORT1' was not declared in this scope
618 |       if (!write(OUTPUT_PORT1,~port1Bit)) return false; //0-low 1-high
|                  ^~~~~~~~~~~~
src/hardware.cpp:621:13: error: 'TREADMILL_BUTTON_PRESS_SIGNAL_TIME_MS' was not declared in this scope
621 |       delay(TREADMILL_BUTTON_PRESS_SIGNAL_TIME_MS);
|             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hardware.cpp:624:18: error: 'OUTPUT_PORT1' was not declared in this scope
624 |       if (!write(OUTPUT_PORT1,0xff)) return false; //0-low 1-high
|                  ^~~~~~~~~~~~
src/hardware.cpp:626:18: error: 'CONFIG_PORT1' was not declared in this scope
626 |       if (!write(CONFIG_PORT1,0xff)) return false; //0-output 1-input
|                  ^~~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:633:9: error: 'GPIOExtenderAW9523' has not been declared
633 | uint8_t GPIOExtenderAW9523::read(uint8_t reg, bool i2cHandled)
|         ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'uint8_t read(uint8_t, bool)':
src/hardware.cpp:640:3: error: 'wire' was not declared in this scope; did you mean 'Wire'?
640 |   wire->beginTransmission(AW9523_ADDR);
|   ^~~~
|   Wire
src/hardware.cpp:640:27: error: 'AW9523_ADDR' was not declared in this scope
640 |   wire->beginTransmission(AW9523_ADDR);
|                           ^~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:652:9: error: 'GPIOExtenderAW9523' has not been declared
652 | uint8_t GPIOExtenderAW9523::read(uint8_t reg)
|         ^~~~~~~~~~~~~~~~~~
src/hardware.cpp:657:6: error: 'GPIOExtenderAW9523' has not been declared
657 | bool GPIOExtenderAW9523::write(uint8_t reg, uint8_t data)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool write(uint8_t, uint8_t)':
src/hardware.cpp:662:3: error: 'wire' was not declared in this scope; did you mean 'Wire'?
662 |   wire->beginTransmission(AW9523_ADDR);
|   ^~~~
|   Wire
src/hardware.cpp:662:27: error: 'AW9523_ADDR' was not declared in this scope
662 |   wire->beginTransmission(AW9523_ADDR);
|                           ^~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:674:6: error: 'GPIOExtenderAW9523' has not been declared
674 | bool GPIOExtenderAW9523::begin()
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool begin()':
src/hardware.cpp:676:3: error: 'enabled' was not declared in this scope
676 |   enabled = false;
|   ^~~~~~~
src/hardware.cpp:677:3: error: 'isInterrupted' was not declared in this scope; did you mean 'noInterrupts'?
677 |   isInterrupted = false;
|   ^~~~~~~~~~~~~
|   noInterrupts
src/hardware.cpp:678:21: error: 'ID' was not declared in this scope; did you mean 'id'?
678 |   uint8_t id = read(ID);
|                     ^~
|                     id
src/hardware.cpp:681:13: error: 'ID_AW9523' was not declared in this scope
681 |   if (id != ID_AW9523) {
|             ^~~~~~~~~
src/hardware.cpp:685:14: error: 'OUTPUT_PORT0' was not declared in this scope
685 |   if (!write(OUTPUT_PORT0,0xff)) return false; //0-low 1-high
|              ^~~~~~~~~~~~
src/hardware.cpp:686:14: error: 'OUTPUT_PORT1' was not declared in this scope
686 |   if (!write(OUTPUT_PORT1,0xff)) return false; //0-low 1-high
|              ^~~~~~~~~~~~
src/hardware.cpp:689:14: error: 'CONFIG_PORT0' was not declared in this scope
689 |   if (!write(CONFIG_PORT0,0xff)) return false; //0-output 1-input
|              ^~~~~~~~~~~~
src/hardware.cpp:690:14: error: 'CONFIG_PORT1' was not declared in this scope
690 |   if (!write(CONFIG_PORT1,0xff)) return false; //0-output 1-input
|              ^~~~~~~~~~~~
src/hardware.cpp:692:14: error: 'CTL' was not declared in this scope
692 |   if (!write(CTL,0x08)) return false; //0000x000  0-Open Drain 1-Push-Pull
|              ^~~
src/hardware.cpp:694:14: error: 'INT_PORT0' was not declared in this scope
694 |   if (!write(INT_PORT0,0xff)) return false; //0-enable 1-disable
|              ^~~~~~~~~
src/hardware.cpp:695:14: error: 'INT_PORT1' was not declared in this scope
695 |   if (!write(INT_PORT1,0xff)) return false; //0-enable 1-disable
|              ^~~~~~~~~
src/hardware.cpp:697:14: error: 'LED_MODE_SWITCH0' was not declared in this scope
697 |   if (!write(LED_MODE_SWITCH0,0xff)) return false; //0-LED mode 1-GPIO mode
|              ^~~~~~~~~~~~~~~~
src/hardware.cpp:698:14: error: 'LED_MODE_SWITCH1' was not declared in this scope
698 |   if (!write(LED_MODE_SWITCH1,0xff)) return false; //0-LED mode 1-GPIO mode
|              ^~~~~~~~~~~~~~~~
src/hardware.cpp:700:3: error: 'getPins' was not declared in this scope
700 |   getPins();
|   ^~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:704:6: error: 'GPIOExtenderAW9523' has not been declared
704 | bool GPIOExtenderAW9523::isAvailable()
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool isAvailable()':
src/hardware.cpp:706:10: error: 'enabled' was not declared in this scope
706 |   return enabled;
|          ^~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:709:10: error: 'GPIOExtenderAW9523' has not been declared
709 | uint16_t GPIOExtenderAW9523::getPins(void)
|          ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'uint16_t getPins()':
src/hardware.cpp:711:7: error: 'enabled' was not declared in this scope
711 |   if (enabled) {
|       ^~~~~~~
src/hardware.cpp:712:5: error: 'isInterrupted' was not declared in this scope; did you mean 'noInterrupts'?
712 |     isInterrupted = false;
|     ^~~~~~~~~~~~~
|     noInterrupts
src/hardware.cpp:717:26: error: 'INPUT_PORT0' was not declared in this scope
717 |     uint8_t port0 = read(INPUT_PORT0,true);
|                          ^~~~~~~~~~~
src/hardware.cpp:718:26: error: 'INPUT_PORT1' was not declared in this scope
718 |     uint8_t port1 = read(INPUT_PORT1,true);
|                          ^~~~~~~~~~~
src/hardware.cpp: At global scope:
src/hardware.cpp:726:6: error: 'GPIOExtenderAW9523' has not been declared
726 | bool GPIOExtenderAW9523::checkInterrupt(void)
|      ^~~~~~~~~~~~~~~~~~
src/hardware.cpp: In function 'bool checkInterrupt()':
src/hardware.cpp:728:11: error: 'enabled' was not declared in this scope
728 |   return (enabled && isInterrupted);
|           ^~~~~~~
src/hardware.cpp:728:22: error: 'isInterrupted' was not declared in this scope; did you mean 'noInterrupts'?
728 |   return (enabled && isInterrupted);
|                      ^~~~~~~~~~~~~
|                      noInterrupts
*** [.pio/build/ESP32_TTGO_DISPLAY/src/hardware.cpp.o] Error 1
================================================================================= [FAILED] Took 11.61 seconds =================================================================================
Environment         Status    Duration

ESP32_TTGO_DISPLAY  FAILED    00:00:11.608
============================================================================ 1 failed, 0 succeeded in 00:00:11.608 ============================================================================

The terminal process "platformio 'run', '--environment', 'ESP32_TTGO_DISPLAY'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.

not sure why mine would behave differently?

I had little more time ... now my compile fails as well after changing from NimBLE-Arduino to esp-nimble-cpp (that was some suggestion somewhere ;) )
for me looks like this now
Building in release mode
Compiling .pio/build/ESP32_TTGO_DISPLAY/src/net-control.cpp.o
Compiling .pio/build/ESP32_TTGO_DISPLAY/libcb3/esp-nimble-cpp/NimBLEUtils.cpp.o
Archiving .pio/build/ESP32_TTGO_DISPLAY/libb48/libButton2.a
Indexing .pio/build/ESP32_TTGO_DISPLAY/libb48/libButton2.a
Archiving .pio/build/ESP32_TTGO_DISPLAY/lib6ab/libTime.a
Indexing .pio/build/ESP32_TTGO_DISPLAY/lib6ab/libTime.a
Archiving .pio/build/ESP32_TTGO_DISPLAY/libabc/libWire.a
Indexing .pio/build/ESP32_TTGO_DISPLAY/libabc/libWire.a
Archiving .pio/build/ESP32_TTGO_DISPLAY/liba74/libMPU6050_light.a
.pio/libdeps/ESP32_TTGO_DISPLAY/esp-nimble-cpp/src/NimBLEUtils.cpp:31:43: error: 'CONFIG_NIMBLE_CPP_FREERTOS_TASK_BLOCK_BIT' was not declared in this scope
   31 | constexpr uint32_t TASK_BLOCK_BIT = (1 << CONFIG_NIMBLE_CPP_FREERTOS_TASK_BLOCK_BIT);
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Indexing .pio/build/ESP32_TTGO_DISPLAY/liba74/libMPU6050_light.a
Compiling .pio/build/ESP32_TTGO_DISPLAY/lib521/AsyncUDP/AsyncUDP.cpp.o
*** [.pio/build/ESP32_TTGO_DISPLAY/libcb3/esp-nimble-cpp/NimBLEUtils.cpp.o] Error 1
src/net-control.cpp: In function 'void setupDeviceID()':
src/net-control.cpp:166:3: error: 'esp_efuse_mac_get_default' was not declared in this scope
  166 |   esp_efuse_mac_get_default(macAddr);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
src/net-control.cpp: In function 'void initBLE()':
src/net-control.cpp:198:17: error: 'class NimBLEAdvertising' has no member named 'setScanResponse'; did you mean 'setScanResponseData'?
  198 |   pAdvertising->setScanResponse(true);
      |                 ^~~~~~~~~~~~~~~
      |                 setScanResponseData
*** [.pio/build/ESP32_TTGO_DISPLAY/src/net-control.cpp.o] Error 1
======================================================================================== [FAILED] Took 6.13 seconds ========================================================================================

will need some more time on this later ... sorry not much help so far

That’s no problem at all, thanks for looking in to it.
Merry Christmas!
On Fri, 13 Dec 2024 at 10:44, Andreas @.***> wrote:

will need some more time on this later ... sorry not much help so far
—
Reply to this email directly, view it on GitHub
https://github.com/lefty01/ESP32_TTGO_FTMS/issues/36#issuecomment-2541145166,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP3U5XWVYKI7VFVAXS2ROT2FK3CHAVCNFSM6AAAAABSYOR2EOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNBRGE2DKMJWGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Adding new members for Paras DAO

Can’t add new members but have already voted and approved and awaiting a notification for over a week, this happened in the middle of us transferring our a DAO to updated version. Please help, we tried to appoint everybody to the council group.

We are creating live experiences related to art , we have a private grant , we really need help adding members, all who help will get free nfts from us and invitations to our real world activities like art critiques, fashion and graduation birthday wedding funeral deliverances services and games all on NEAR and on the Paras marketplace


config: sync-freelist being ignored

Fixes #5519. This pr adds the isSet function to ValidateConfig which makes it possible to check whether a option has been set by the config file or by a flag. It does this by forwarding both parsing objects to ValidateConfig. isSet is then used to override cfg.DB.Bolt.NoFreelistSync in case sync-freelist is set.
I believe isSet can be used as a safety measure/improve further validation of the config setting validation in ValidteConifg.
Also, renamed the variable name of cfg.DB.Bolt.SyncFreelist to cfg.DB.Bolt.NoFreelistSync which makes it less confusing.

Wait before reviewing this. Found an small error.

@bhandras Cool. I'll pull from upstream and make sure everything works.

Rebased.

Ping @Roasbeef


Fix bad var echoing introduced by #5135

Can one of the admins verify this patch?

@tensorflow-jenkins test this please.

Thank you for the fix, @villasv


Proposal: remove default translation comments from strings template

@AliSoftware @MrAlek
I'd like to propose something that is the total opposite of https://github.com/AliSoftware/SwiftGen/issues/58: removing doc comments from the strings template.
My main issue with it is that every time I modify the translation of a key, it modifies the generated strings enum. This clutters the diff and my app needs to recompile – which is a practical issue with swift as the compiler is rather slow.
The argument for adding translation comments in https://github.com/AliSoftware/SwiftGen/issues/58 was it was nice to command+click and see the actual default translation. I fail to see how that is useful – the key should be descriptive enough that you'd know what the string is meant for. I personally never search for a key to find out its translation because frankly it shouldn't matter what it translates to, what matter is what it describes, and that's the role of the key.
I ended up creating a template that is the exact same one that swiftgen provides, minus the comment, which prevents me from getting all the new template updates. What I would propose is to either remove the comment altogether, or at the very least make it opt-in.
How does that sound? Thanks!

Personally I like having the comments there as reference since it's a bit of a pain to look up the corresponding key in the strings files manually, but my workflow is different as well. I rarely change any strings after I've implemented them in the app.
I can understand your recompiling pain, but isn't that an effect of incremental compilation temporarily being broken in Xcode 8.1? The entire app shouldn't have to recompile because of a documentation change in one file, this is noted as fixed in the Xcode 8.2 beta 2 release notes.

Xcode will not rebuild an entire target when only small changes have occurred. (28892475)

In my opinion it is valuable to have auto-generated documentation for the enum cases. It's up to @AliSoftware to decide what should be included in the default template. Either way we can both use custom templates to fit our needs.

I prefer having comments as well but can understand your need. If you want we could include your template as strings-no-comments.stencil in the next release. It will not be the default one but you'll be able to use -t no-comments at least.

@MrAlek @AliSoftware Thanks for following up! I think having an extra official template without comments is a good compromise here. I'm gonna go ahead and PR it. Thanks again!


Support for Israel(Tel Aviv) Region "il-central-1"

The solution deployment is failing in Israel(Tel Aviv) Region "il-central-1"
Version: v2.7.0
Additional context
Resource handler returned message: "Your access has been denied by S3, please make sure your request credentials have permission to GetObject for control-tower-cfct-assets-prod-il-central-1/customizations-for-aws-control-tower/v2.7.0/custom-control-tower-state-machine.zip. S3 Error Code: AccessDenied. S3 Error Message: Access Denied (Service: Lambda, Status Code: 403, Request ID: 6097d934-f2ca-4141-bcdb-56777103a12a)" (RequestToken: 50ea6444-36d1-f368-a73c-026d03f58809, HandlerErrorCode: AccessDenied)

Hi @veltz-avi,
As indicated in the Control Tower limitations page, CFCT is currently not supported in the Tel Aviv il-central-1 region.
I've added this request to the backlog item for supporting CFCT in il-central-1.

With release v2.7.2, CfCT is supported in the Tel Aviv il-central-1 region.


HADOOP-19276. Create hadoop-runner based on JDK 17

What changes were proposed in this pull request?
Publish another version of hadoop-runner image with JDK 17 instead of JDK 11. It can be used for testing JDK 17 runtime compatibility.
(Creating as a draft, because the change shouldn't be merged to the Java 11-specific branch, rather pushed directly as a new branch.)
https://issues.apache.org/jira/browse/HADOOP-19276
How was this patch tested?
Built locally, verified Java version:
$ docker build -t apache/hadoop-runner:dev --no-cache .
...

$ docker run -it --rm apache/hadoop-runner:dev java -version
openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment Temurin-17.0.11+9 (build 17.0.11+9)
OpenJDK 64-Bit Server VM Temurin-17.0.11+9 (build 17.0.11+9, mixed mode, sharing)

I agree, needs to be separate
I would like to move hadoop trunk to java11+ ASAP. which would let us drop the java8 run, just do java11 + 17.

This seems to drop JAVA-11 in favour of JAVA-17, If I am catching it right? Wouldn't it make sense to have JAVA-17 without dropping JAVA-11?

@ayushtkn PR is created only to show the diff from Java 11-based branch.  If approved, I'll push to a new branch docker-hadoop-runner-jdk17-u2204 to create a separate image with Java 17.  That's why the PR is draft, to avoid getting it merged.

I just got confused with the description in the JIRA, instead, so I thought you want to replace it :-)

Sorry about that, updated the description.

@ayushtkn I think we should

move trunk to java 11 only
plan for a 3.5.0 release in december/january, RCs starting nov as the "java11 release" + hbase 2 ATS, plus some changes in s3a create/rename behaviour which may require third party stores to add some new options unless they support the S3 conditional put
also lets us declare 3.3.x EOL.

trunk would be moving to JDK-17 I believe next month, the only major roadblock was jersey & I see there was a green build on that PR 2 days back (it broke 1 or 2 tests in attempt to fix checkstyle later)
https://github.com/apache/hadoop/pull/7046#issuecomment-2360877162
So, we might move to JDK-17 directly, I think this thread even intended to do so: https://lists.apache.org/thread/fbcdfzjtj77x7hf8znjj598hrt34j6xz


Fix eeglab reader when reading overlapping epochs with duplicated events

In rare cases when two consecutive epochs are overlapping (just by chance) some of the events could be duplicated across these epochs. Then ev_idx (see the code) would be increased by too much leading to bad latencies and sometimes also to an indexing error.
Example 1
It's easier to explain this using an example. Let's suppose we have epochs A and B, but they are ovelapping so that one of the events (event y) is present in both epochs:
epoch A contains:
event x at latency 0, event y at latency 223

epoch B contains:
event y at latency 0

(note: the latencies above are within-epoch with 0 referring to time 0 - this is how EEG.epoch stores them)
Current implementation of the eeglab epoch reader does not assume duplicated events, so it just counts the occurrences of events and in this case even though there are 2 events in total the code would try to look at a third event in EEG.event structure. This leads to an indexing error.
I fix it by using the urevent field of the event which contains unique event identifiers.
Example 2
Now lets add epoch C, with two additional events - z and q:
epoch A contains:
event x at latency 0, event y at latency 223

epoch B contains:
event y at latency 0

epoch C contains:
event z at latency -100, event q at latency 0

(note: the latencies above are within-epoch with 0 referring to time 0 - this is how EEG.epoch stores them)
Now, even though event y is duplicated, we don't get an indexing error. This is because when looking at epoch B, mne reader thinks it is seeing the third event, but we have four events in total (so no indexing error). Then when looking at epoch C, there are two events, mne reader considers only the first one for storing the EEG.event latency, which it assumes to be the fourth event. We have four unique events in total so still no indexing error.
However, when taking the latency from EEG.event in epoch B it takes the latency of event z, not y and for epoch C it takes the latency of event g, not z.
Taking the latencies of different events is not a big problem as these latencies are taken from EEG.event which for epoched data stores the latency of the events with respect to the epoched concatenated data (so I don't think anyone actually relies on these valuese).
Which latencies we should take
I also changed the code to take the latency of epoch-centering event, not the first one. This is not important to the fix so I can revert this if you prefer it stayed as it was. However I'd argue for saving the latencies of epoch-centering event (the one with respect to which the epoching was done) as this is what mne does in other cases. Additionally the latencies should be taken with respect to the raw data (EEG.urevent.latency), not epoched-concatenated data (EEG.event.latency) - as this is the convention in mne events array. But this is a separate issue, maybe not worth changing. :)

(redo of #6051)

any chance to update a test to avoid breaking this in the future?
@jona-sassenhagen @cbrnr any opinion on this one?

@agramfort Sure, I can add a test.

yes, we should add a test

Is not the events that overlap, but the epochs.
Yes, sorry for the confusing typo in the commit message.

@mmagnuski once you update whats_new I'm +1

@massich No, I'll add a test before that. :) Sorry for delays, I'll try to find some time today or tomorrow in the evening.

Woo, I forgot the test. YES please add them.

I have to put this on hold because it seems it might have been error on my part - by default eeglab epoching duplicates events both in EEG.epoch and EEG.event. I have an old, faster version of eeglab epoching and it seems not to duplicate the EEG.event element, which leads to the error when reading epochs in mne. So the behavior I describe in the first post here does not seem to be the default of eeglab.


Incorrect example link

The referenced quick start template does not contain an example of an NSG for Bastion.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ffdc927a-882a-bb53-e6ec-0a18d71c3bec
Version Independent ID: dbdb4fc7-a55e-b025-8ad3-18ffbe21eb66
Content: Troubleshoot Azure Bastion
Content Source: articles/bastion/troubleshoot.md
Service: bastion
GitHub Login: @charwen
Microsoft Alias: charwen

@Hindy-UK, Thanks for the question! We are taking a look into this and will get back to you soon.

@Hindy-UK , Appreciate your patience. The reference template will deploy Azure Bastion in a new or existing Azure Virtual Network, along with dependent resources such as the AzureBastionSubnet, Public Ip Address for Azure Bastion, and Network Security Group rules. Could you please give a try again?

@Hindy-UK , Yes, NSG's were not deployed as part of template deployment. We will check and update accordingly.

@Hindy-UK , Here is the template carrying NSG rules. We are in process of updating the docs and it would take some time for the changes to get reflect over the doc.


Configuring  Default servers

Though we have specified to use the Custom Server Names starting with WLS_*, Along with them WDT also creating the default servers
How can we update WDT to not created these default servers

osb_server1
7003

osb_server1

osb_server1
date time cs-method ctx-ecid ctx-rid cs-uri sc-status bytes
extended

30
0

osb_server1

defaultCoherenceCluster

soa_server1
7004

soa_server1

soa_server1
date time cs-method ctx-ecid ctx-rid cs-uri sc-status bytes
extended

30
0

soa_server1

@hxd868 The servers are defines in the soa/osb domain extension templates (i.e., if you wrote your own WLST scripts to create the domain, you would also see these servers created) so the only thing you can do is tell WDT to delete them by doing something like this in your model file:
topology:
    Server:
        '!osb_server1':
        '!soa_server1':
        WLS_osb1:
            ...
        WLS_soa1:
            ...


Detect navigation change in SPFX Application customizer

Category

[ ] Question
[ ] Typo
[X] Bug
[ ] Additional article idea

Expected or Desired Behavior
I have a SPFX customizer that displays a banner in the topPlaceholder. When the page loads, if it's a list, then it performs a calculation and then displays the banner.
When I move from one library to another, because the page isn't performing a full load, I found out I need use the navigatedEvent. This fires when the navigation changes.
However, I need to display the banner differently depending on what folder I'm in within a single document library. When navigating from one folder to another in a document library the navigatedEvent doesn't seem to fire, even though I am navigating to a different location.
Is this a bug with the navigatedEvent, or should I be using a different event?
Observed Behavior
When navigating from one folder to another, the navigatedEvent doesn't fire.
Steps to Reproduce
Have the following code running on a document libraries. Have a document library with folders. View the debug console of the browser. If you navigate between the folders, you will discover that the renderControl doesn't fire again. It only fires on changes between libraries (if deployed to app catalog, not running through debug localhost session)
` public onInit(): Promise {
this.context.application.navigatedEvent.add(this,  this.renderControl);
return Promise.resolve();
}
private renderControl(){

console.log("Rendering control');
Log.info(LOG_SOURCE, Available placeholders: ${this.context.placeholderProvider.placeholderNames.map(name => PlaceholderName[name]).join(', ')});
//handling the top placeholder
if(!this._topPlaceholder){
  this._topPlaceholder = this.context.placeholderProvider.tryCreateContent(
      PlaceholderName.Top,
      {onDispose: this._onDispose});

  if(!this._topPlaceholder){
    console.error(`The expected placholder (Top) was not found.`);
    return;
  }
}

if(this._topPlaceholder.domElement){
    const element : React.ReactElement<IInfoBarMainProps> = React.createElement(
      MainBar,{
            context: this.context
      }
    );
    ReactDom.render(element, this._topPlaceholder.domElement);
}

}
private _onDispose(){
Log.info(LOG_SOURCE, [IInfoBarApplicationCustomizer._onDispose] Disposed custom top placeholders);
}`
Is there a different event I should be using? Also, if I navigated inside a folder, is there a way to work out which folder with a URL?

@pmatthews05 we are working on providing a solution to provide folder information in page context when navigate into a folder, and fire the navigation event.

We have now changed our eventing model related on fix with #1042. This should be solving this issue as well, so closing this. If you still have issues around this, please do let us know. Thx.

I am still facing this issue.  When navigating from one folder to another, the navigatedEvent doesn't fire.

I am still facing this issue, Kindly check #4557


Support to unicode characters

I notice that fonts supports only 256 characters.
It would be great to support unicode.

Is there  Hebrew support in jsPDF?

@bgb0349 AFAIK, yes. You need to load a font supporting Hebrew characters, though. See the readme for details.

Thanks

Hi, thank you about your comment, I have a problem with the export. I need to export html to pdf but not as image, the client
wants to be able to remark a word and copy it, so addImage method or using htmlCanvas is not good for me.
I saw that there is a method that call fromHtml, but when I'm trying to use it i get error that this method is not defined, What is the options that I have?

@bgb0349 Use the html function. You can easily add fonts with the options.fontFaces parameter.

I will try that, Thank you.


bug: content jumps when starting ion-refresher on iOS

Ionic version:
[x] 4.x
I'm submitting a ...
[x] bug report
[ ] feature request
Current behavior:
When starting a pull to refresh on iOS, the content makes a little "jump" before the refresher is activated [See video: https://trello-attachments.s3.amazonaws.com/54308dfb59159a4c354acea4/5d4f7dc1dd180f14d67595e4/0654f0e619cbd093ae6fcf7efe7e706a/video.mov].
Expected behavior:
Smooth transition without the jump.
Steps to reproduce:

Insert an ion-refresher in a page with content in it.
Build on iOS Device or Simulator.
Start pulling to refresh slowly.
See that the content makes a little jump before the refresher appears

Other information:
It probably happens because the movement starts as a bounce and only after that becomes a pull-to-refresh.
Ionic info:
Ionic:

   Ionic CLI                     : 5.2.5 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.8.0
   @angular-devkit/build-angular : 0.801.3
   @angular-devkit/schematics    : 8.1.3
   @angular/cli                  : 8.1.3
   @ionic/angular-toolkit        : 2.0.0

Cordova:

   Cordova CLI       : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms : ios 4.5.5
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 5 other plugins)

Utility:

   cordova-res : not installed
   native-run  : not installed

System:

   Android SDK Tools : 26.1.1 (/Users/breno/Library/Android/sdk/)
   NodeJS            : v10.16.3 (/usr/local/bin/node)
   npm               : 6.9.0
   OS                : macOS Mojave
   Xcode             : Xcode 10.3 Build version 10G8

Yes same comportement here and also reproductible on ios with command:
ion serve --devapp

I had the same problem

Thanks for the issue. I will look into what may be the cause of this behavior.

Thanks for the issue. I will look into what may be the cause of this behavior.

Is there any progress

Having the same issue. Any workaround?

Has the investigation begun

There is some progress? I encountered the same problem

Having the same issue :(

I'm also having issues with iOS ion-refresher. here's another video link
I've edited some of the available properties but I haven't been able to fix. I'm in the process of upgrading from v3 to v5 and this is an element that seems to have taken a step back (same implementation on my v3 codebase)

Ye, see the same annoying glitch on iOS :((

Thanks for the issue. Is this still an issue with the latest version of Ionic Framework? If so, please provide a repo with the code required to reproduce this issue.

The refresher works a bit better if you avoid using the translucent property, which is set by default on the Tabs starter template. It's not perfect but it's significantly better.


Updates from rspec-dev (2015-01-01)

These are some updates, generated from rspec-dev's rake tasks.

Closing, as nothing is changing for rspec-rails.


Roll Flutter Engine from e9a44820f302 to 685bae34c84e (2 revisions)

https://github.com/flutter/engine/compare/e9a44820f302...685bae34c84e
2024-11-11<EMAIL_ADDRESS>Roll Dart SDK from cde0e0dc084a to 4ea43aa234a4 (1 revision) (flutter/engine#56502)
2024-11-11<EMAIL_ADDRESS>Roll Skia from 676b3b1a41be to 261316c10484 (1 revision) (flutter/engine#56503)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Phase 1 implementation of new problems specifications

Related to issue #18.

This has a lot more commits than the new problem specification.
Did you sync with the upstream master and branch off of that?

Yes I did sync and then branched off


Pass the current shell width to rustc

Use the feature introduced in https://github.com/rust-lang/rust/pull/63402/

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @ehuss (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Thanks!  I believe -Z flags only work on nightly, right?  So this will likely need a corresponding -Z flag in cargo.  Those flags are defined in the CliUnstable struct. That module contains all the documentation for how to add it.  Additionally -Z help is in cli.rs and finally the docs are in unstable.md.
Also, assuming this flag should be passed to all invocations, I think it would probably go somewhere like add_error_format_and_color.  That will get passed to both rustc and rustdoc (it looks like it should be supported in rustdoc?).
This will also need a small test.
This probably won't work well on Windows as-is, because we don't have a good way to detect the window size on mintty/cygwin-style terminals, and it is hard-coded to 60.  We may need to special-case the value there with a different hard-coded version, since I would assume 60-column errors will look very poor.

I'd also actually expect that rustc itself would determine the terminal width. One thing we realized with Cargo is that terminal widths can change over time, and especially because rustc can take awhile it may change from rustc process start to when an error is actually emitted. In that sense it may be best if Cargo/rustc just share the same code for calculating the terminal width?

I'd also actually expect that rustc itself would determine the terminal width.

@alexcrichton I would prefer that too, but it seems to me that the way that cargo invokes rustc makes it so that rustc no longer can query the terminal width.

One thing we realized with Cargo is that terminal widths can change over time, and especially because rustc can take awhile it may change from rustc process start to when an error is actually emitted. In that sense it may be best if Cargo/rustc just share the same code for calculating the terminal width?

That makes sense to me, but keep in mind that cargo is more likely to hit bad graphical glitches due to the live progress bar. We're also not redrawing the buffer during reflows in rustc. Handling this sounds to me like a good idea, but I would rather land this as quickly as possible to start getting real world feedback before landing it on stable.
@ehuss makes sense. I'll keep looking. I'd be ok with this not being stabilized in the next cargo, but once it is I would like to have it be opt-out, not opt-in.

This probably won't work well on Windows as-is, because we don't have a good way to detect the window size on mintty/cygwin-style terminals, and it is hard-coded to 60.

Would it be ok to change the function to return Option and do unwrap_or(60) where needed and not pass the flag for this when it's None?

Oh right yeah, we don't actually give rustc the terminal! In that case this seems fine to experiment with.

:umbrella: The latest upstream changes (presumably #7216) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #7450) made this pull request unmergeable. Please resolve the merge conflicts.

Ping @estebank, is it correct that this is blocked on adding terminal-width support to the JSON rendered field?  Let me know if you have any questions or need any help.

@ehuss I think that might be the case, I'll try to take some time this weekend to get this fixed on both ends.

I've submitted #8427 which completes this work following some recent changes to rustc.


How to specify which GPUs to be used?

If I have multiple GPUs (say, 0, 1, 2, 3 ...7), how to specify gpu (0 and 1) to be used in llama_cpp ?

Here is the API reference: https://llama-cpp-python.readthedocs.io/en/latest/api-reference/
Use parameters main_gpu (e.g. 0) and tensor_split, which expects a list of floats, e.g. [0.5, 0.5].
As far as I know you should leave more free VRAM inside the main gpu. But you better test it yourself and look how performance changes.

Hi, Tks for your response.
I tried tensor_split=[0, 0.5, 0.5, 0, 0, 0, 0, 0],  but it showed:
CUDA error 400 at /tmp/pip-install-dzjp3z67/llama-cpp-python_c604e76d007247ec89d6ef4b668a462a/vendor/llama.cpp/ggml-cuda.cu:6389: invalid resource handle
current device: 0
+---------------------------------------------------------------------------------------+ | Processes:                                                                            | |  GPU   GI   CI        PID   Type   Process name                            GPU Memory | |        ID   ID                                                             Usage      | |=======================================================================================| |    0   N/A  N/A     24411      C   python                                     3820MiB | |    1   N/A  N/A     24411      C   python                                     4014MiB | |    2   N/A  N/A     24411      C   python                                     4014MiB | |    3   N/A  N/A     24411      C   python                                      268MiB | |    4   N/A  N/A     24411      C   python                                      168MiB | |    5   N/A  N/A     24411      C   python                                      168MiB | |    6   N/A  N/A     24411      C   python                                      168MiB | |    7   N/A  N/A     24411      C   python                                      168MiB | +---------------------------------------------------------------------------------------+


Add X-Sentry-Event-Id on error

This would allow to use Sentry's Users Feedback feature in API only
Elixir applications. Rest of changes will also allow to catch event
content in API after it was sent, so for example we could display
error ID on staging for QA.

The problem is that everything is connected. It is kind of holistic PR that need to change dialyzer specs (this also helped me with finding some bugs in app that was introduced by my change). So with exception to some whitespaces it would be really hard to separate all changes.

I understand, but I would prefer that the primary feature being added be in good shape with tests covering it before other changes are added and reviewed.
The Plug.Conn being modified in Sentry.Plug is not used to send a response.  Unless a response is sent within Sentry.Plug after the header is added (which would break things like Phoenix's error handling views), I don't think there is a way for this to work.  Because of that, I think tests need to be added before other changes are made so we can verify whether it's possible to accomplish this feature 🙂

@hauleth I appreciate the effort for this PR, but will unfortunately be closing it if we cannot find a solution to the above problems 😕

@mitchellhenke I will split it up into separate PRs and I will try to find a way to provide such feature.


Only the first material widget inside a column casts shadow

Steps to Reproduce
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: double.infinity,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: [
          Material(
            elevation: 20,
            child: Container(
              color: Colors.grey,
              width: 100,
              height: 100,
            ),
          ),
          Material(
            elevation: 20,
            child: Container(
              color: Colors.grey,
              width: 100,
              height: 100,
            ),
          ),
        ]
      ),
    );
  }
}

Hi @fctorial, the shadows are casted by both Materials, the second one just isn't visible because of how your layout is.
If you should modify your code like so
class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.white,
      width: double.infinity,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Material(
            elevation: 20,
            child: Container(
              color: Colors.grey,
              width: 100,
              height: 100,
            ),
          ),
          const SizedBox(height: 20),
          Material(
            elevation: 20,
            child: Container(
              color: Colors.grey,
              width: 100,
              height: 100,
            ),
          ),
        ],
      ),
    );
  }
}

Below is what you'll see

Closing as this is not an issue.
If you believe it is, kindly leave a comment explaining why and I will reopen.
Thank you


feat: error if pipeline file is in a safeds.xy package

Closes #671
Summary of Changes
Show an error if a pipeline file is in a safeds.xy package.

:tada: This PR is included in version 0.2.0 :tada:
The release is available on:

Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


Update for 1.1.0 release

This backports
https://github.com/code-ready/crc/commit/95966a959fa739826f8a75e619098487cf1e097e
to the master branch.

retest this please

retest this please


can't add composer packet

I trying add composer packet
https://github.com/raveren/kint/
with
composer require raveren/kint
and I already enable in application/config/config.php
with
$config['composer_autoload'] = TRUE;
but when I load the application this composer packet aren't work and another packet I add on from composer, any suggestion or idea ?
and downloaded packet not in
/application/vendor
but in main folder,
i made solution this
https://github.com/JasonBaier/ci3-fire-starter/pull/32
maybe you have another good solution

CI 3 is supposed to have this handled in the $config['composer_autoload'] setting (https://www.codeigniter.com/user_guide/general/autoloader.html). I believe the article you referenced applies only to CI 2 or older. Closing.