jspark311 / Arduino-ADG2128

A library for the ADG2128 analog cross-point switch.
https://hackaday.io/project/167228-adg2128-breakout
Other
1 stars 0 forks source link

An error occurred when building on the ESP32-S3 board. #2

Open nexendaniel opened 9 months ago

nexendaniel commented 9 months ago

Hello. First of all, thank you for creating this library. I am trying to connect ADG2128 on ESP32-S3.

At first, it is very difficult for me to find information about ADG2128. I am curious as to whether ADG2128 is a crosspoint switch capable of both analog and digital. Is this a chip that operates like the AD75019 or MT8816?

The issues are as follows I just installed the library, but the following error occurs when building. This error occurs in the CppPotpourri library. Please check the error code below.

Could this error be caused by using ESP32-S3? Or do I need to install additional libraries?

Processing esp32-s3-devkitc-1 (platform: espressif32; board: esp32-s3-devkitc-1; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (6.3.2) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) 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.20009.0 (2.0.9) 
 - tool-esptoolpy @ 1.40501.0 (4.5.1) 
 - tool-mkfatfs @ 2.0.1 
 - tool-mklittlefs @ 1.203.210628 (2.3) 
 - tool-mkspiffs @ 2.230.0 (2.30) 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 
 - toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ deep+, Compatibility ~ soft
Found 48 compatible libraries
Scanning dependencies...
Dependency Graph
|-- OneButton @ 2.0.3
|-- MIDI Library @ 5.0.2
|-- AsyncDelay @ 1.1.2
|-- Adafruit NeoPixel @ 1.11.0
|-- ADG2128 @ 1.0.0
|-- config
|-- eventHandler
|-- buttons
|-- fxJack
|-- midi
|-- lcd
|-- storage
|-- led
Building in release mode
Compiling .pio/build/esp32-s3-devkitc-1/src/main.cpp.o
Building .pio/build/esp32-s3-devkitc-1/bootloader.bin
Generating partitions .pio/build/esp32-s3-devkitc-1/partitions.bin
esptool.py v4.5.1
Creating esp32s3 image...
Merged 1 ELF section
Successfully created esp32s3 image.
Compiling .pio/build/esp32-s3-devkitc-1/libab0/OneButton/OneButton.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/libdd8/MIDI Library/MIDI.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib965/Adafruit NeoPixel/Adafruit_NeoPixel.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib965/Adafruit NeoPixel/esp.c.o
Compiling .pio/build/esp32-s3-devkitc-1/lib965/Adafruit NeoPixel/esp8266.c.o
Compiling .pio/build/esp32-s3-devkitc-1/lib965/Adafruit NeoPixel/kendyte_k210.c.o
Compiling .pio/build/esp32-s3-devkitc-1/lib3bc/Wire/Wire.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/AbstractPlatform.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/AsyncSequencer.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/Battery.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/BusQueue/BusQueue.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/BusQueue/I2CAdapter.cpp.o
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.cpp:7:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.cpp:7:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/BusQueue/I2CBusOp.cpp.o
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.cpp:23:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.cpp:23:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/I2CAdapter.cpp:31:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/I2CAdapter.cpp:31:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

Archiving .pio/build/esp32-s3-devkitc-1/libdd8/libMIDI Library.a
Archiving .pio/build/esp32-s3-devkitc-1/libab0/libOneButton.a
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/BusQueue/I2CDevice.cpp.o
Indexing .pio/build/esp32-s3-devkitc-1/libdd8/libMIDI Library.a
Indexing .pio/build/esp32-s3-devkitc-1/libab0/libOneButton.a
Archiving .pio/build/esp32-s3-devkitc-1/lib965/libAdafruit NeoPixel.a
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/BusQueue/SPIAdapter.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/BusQueue/SPIBusOp.cpp.o
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/I2CBusOp.cpp:22:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/I2CBusOp.cpp:22:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

Indexing .pio/build/esp32-s3-devkitc-1/lib965/libAdafruit NeoPixel.a
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/BusQueue/UARTAdapter.cpp.o
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/I2CDevice.cpp:22:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/I2CDevice.cpp:22:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

Archiving .pio/build/esp32-s3-devkitc-1/lib3bc/libWire.a
Indexing .pio/build/esp32-s3-devkitc-1/lib3bc/libWire.a
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/SPIAdapter.cpp:7:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/SPIAdapter.cpp:7:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/C3PValue/C3PType.cpp.o
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/SPIBusOp.cpp:23:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/SPIBusOp.cpp:23:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/UARTAdapter.cpp:7:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/UARTAdapter.cpp:7:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/C3PValue/C3PValue.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/C3PValue/KeyValuePair.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/Console/ParsingConsole.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CppPotpourri.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CryptoBurrito/CryptoBurritoUtils.cpp.o
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/../StringBuilder.h:88,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/Identity.h:26,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/KeyValuePair.cpp:29:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/../CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/Identity.h:25,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/KeyValuePair.cpp:29:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/../EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/StringBuilder.h:88,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.cpp:22:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.cpp:21:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CryptoBurrito/Cryptographic.cpp.o
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/../StringBuilder.h:88,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/CryptoBurrito.h:25,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/CryptoBurritoUtils.cpp:22:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/Cryptographic.h:45,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/CryptoBurrito.h:24,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/CryptoBurritoUtils.cpp:22:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CryptoBurrito/Providers/Blind.cpp.o
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:92:32: error: 'Image' was not declared in this scope
 static const C3PTypeConstraint<Image*>          c3p_type_helper_image(        "IMAGE",        0,  TCode::IMAGE,          (TCODE_FLAG_VALUE_IS_POINTER));
                                ^~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:92:38: error: template argument 1 is invalid
 static const C3PTypeConstraint<Image*>          c3p_type_helper_image(        "IMAGE",        0,  TCode::IMAGE,          (TCODE_FLAG_VALUE_IS_POINTER));
                                      ^
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:92:151: error: expression list treated as compound expression in initializer [-fpermissive]
 static const C3PTypeConstraint<Image*>          c3p_type_helper_image(        "IMAGE",        0,  TCode::IMAGE,          (TCODE_FLAG_VALUE_IS_POINTER));
                                                                                                                                                       ^
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PType::_type_blind_serialize(void*, StringBuilder*, TCode)':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:350:11: error: 'cbor' has not been declared
           cbor::output_stringbuilder output(out);
           ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:351:11: error: 'cbor' has not been declared
           cbor::encoder encoder(output);
           ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:356:11: error: 'encoder' was not declared in this scope
           encoder.write_tag(C3P_CBOR_VENDOR_CODE | TcodeToInt(TCODE));
           ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:356:29: error: 'C3P_CBOR_VENDOR_CODE' was not declared in this scope
           encoder.write_tag(C3P_CBOR_VENDOR_CODE | TcodeToInt(TCODE));
                             ^~~~~~~~~~~~~~~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = signed char]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:520:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:521:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:522:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((int8_t*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = short int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:663:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:664:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:665:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((int16_t*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:807:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:808:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:810:9: error: 'encoder' was not declared in this scope
         encoder.write_int(o);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = long long int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:950:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:951:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:953:9: error: 'encoder' was not declared in this scope
         encoder.write_int(o);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = unsigned char]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1077:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1078:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1079:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((uint8_t*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = short unsigned int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1210:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1211:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1212:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((uint16_t*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = unsigned int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1349:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1350:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1351:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((uint32_t*) obj));
         ^~~~~~~
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CryptoBurrito/Providers/MbedTLS.cpp.o
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = long long unsigned int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1500:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1501:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1503:9: error: 'encoder' was not declared in this scope
         encoder.write_int(o);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = bool]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1600:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1601:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1602:9: error: 'encoder' was not declared in this scope
         encoder.write_bool(*((bool*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = float]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1688:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1689:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1691:9: error: 'encoder' was not declared in this scope
         encoder.write_float(temp);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = double]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1777:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1778:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1780:9: error: 'encoder' was not declared in this scope
         encoder.write_double(temp);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = char*]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2119:13: error: 'cbor' has not been declared
             cbor::output_stringbuilder output(out);
             ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2120:13: error: 'cbor' has not been declared
             cbor::encoder encoder(output);
             ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2121:13: error: 'encoder' was not declared in this scope
             encoder.write_string(o);
             ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = StringBuilder*]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2219:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2220:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2223:9: error: 'encoder' was not declared in this scope
         encoder.write_string((char*) o->string());
         ^~~~~~~
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CryptoBurrito/Providers/OpenSSL.cpp.o
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = Identity*]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2323:11: error: 'cbor' has not been declared
           cbor::output_stringbuilder output(out);
           ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2324:11: error: 'cbor' has not been declared
           cbor::encoder encoder(output);
           ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2325:11: error: 'encoder' was not declared in this scope
           encoder.write_tag(C3P_CBOR_VENDOR_CODE | TcodeToInt(TCODE));
           ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2325:29: error: 'C3P_CBOR_VENDOR_CODE' was not declared in this scope
           encoder.write_tag(C3P_CBOR_VENDOR_CODE | TcodeToInt(TCODE));
                             ^~~~~~~~~~~~~~~~~~~~
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/EnumeratedTypeCodes.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/Identity/Identity.cpp.o
*** [.pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/C3PValue/C3PType.cpp.o] Error 1
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/Providers/MbedTLS.cpp:28:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/Providers/../Cryptographic.h:45,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/Providers/MbedTLS.cpp:27:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/StringBuilder.h:88,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.cpp:26:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.cpp:25:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/../StringBuilder.h:88,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/Identity.h:26,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/Identity.cpp:24:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/../CppPotpourri.h:28,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/Identity.h:25,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/Identity.cpp:24:
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/Identity/../EnumeratedTypeCodes.h:50: note: this is the location of the previous definition
   #define PI 3.14159265358979323846264338327950288419716939937510

====================================================================================== [FAILED] Took 5.81 seconds ======================================================================================

 *  The terminal process "platformio 'run', '--target', 'upload', '--target', 'monitor', '--environment', 'esp32-s3-devkitc-1'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it.

I've collected only the error codes here.

Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CryptoBurrito/Providers/Blind.cpp.o
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:92:32: error: 'Image' was not declared in this scope
 static const C3PTypeConstraint<Image*>          c3p_type_helper_image(        "IMAGE",        0,  TCode::IMAGE,          (TCODE_FLAG_VALUE_IS_POINTER));
                                ^~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:92:38: error: template argument 1 is invalid
 static const C3PTypeConstraint<Image*>          c3p_type_helper_image(        "IMAGE",        0,  TCode::IMAGE,          (TCODE_FLAG_VALUE_IS_POINTER));
                                      ^
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:92:151: error: expression list treated as compound expression in initializer [-fpermissive]
 static const C3PTypeConstraint<Image*>          c3p_type_helper_image(        "IMAGE",        0,  TCode::IMAGE,          (TCODE_FLAG_VALUE_IS_POINTER));
                                                                                                                                                       ^
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PType::_type_blind_serialize(void*, StringBuilder*, TCode)':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:350:11: error: 'cbor' has not been declared
           cbor::output_stringbuilder output(out);
           ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:351:11: error: 'cbor' has not been declared
           cbor::encoder encoder(output);
           ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:356:11: error: 'encoder' was not declared in this scope
           encoder.write_tag(C3P_CBOR_VENDOR_CODE | TcodeToInt(TCODE));
           ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:356:29: error: 'C3P_CBOR_VENDOR_CODE' was not declared in this scope
           encoder.write_tag(C3P_CBOR_VENDOR_CODE | TcodeToInt(TCODE));
                             ^~~~~~~~~~~~~~~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = signed char]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:520:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:521:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:522:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((int8_t*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = short int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:663:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:664:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:665:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((int16_t*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:807:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:808:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:810:9: error: 'encoder' was not declared in this scope
         encoder.write_int(o);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = long long int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:950:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:951:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:953:9: error: 'encoder' was not declared in this scope
         encoder.write_int(o);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = unsigned char]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1077:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1078:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1079:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((uint8_t*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = short unsigned int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1210:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1211:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1212:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((uint16_t*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = unsigned int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1349:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1350:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1351:9: error: 'encoder' was not declared in this scope
         encoder.write_int(*((uint32_t*) obj));
         ^~~~~~~
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CryptoBurrito/Providers/MbedTLS.cpp.o
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = long long unsigned int]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1500:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1501:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1503:9: error: 'encoder' was not declared in this scope
         encoder.write_int(o);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = bool]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1600:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1601:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1602:9: error: 'encoder' was not declared in this scope
         encoder.write_bool(*((bool*) obj));
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = float]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1688:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1689:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1691:9: error: 'encoder' was not declared in this scope
         encoder.write_float(temp);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = double]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1777:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1778:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:1780:9: error: 'encoder' was not declared in this scope
         encoder.write_double(temp);
         ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = char*]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2119:13: error: 'cbor' has not been declared
             cbor::output_stringbuilder output(out);
             ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2120:13: error: 'cbor' has not been declared
             cbor::encoder encoder(output);
             ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2121:13: error: 'encoder' was not declared in this scope
             encoder.write_string(o);
             ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = StringBuilder*]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2219:9: error: 'cbor' has not been declared
         cbor::output_stringbuilder output(out);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2220:9: error: 'cbor' has not been declared
         cbor::encoder encoder(output);
         ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2223:9: error: 'encoder' was not declared in this scope
         encoder.write_string((char*) o->string());
         ^~~~~~~
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/CryptoBurrito/Providers/OpenSSL.cpp.o
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp: In member function 'int C3PTypeConstraint<T>::serialize(void*, StringBuilder*, TCode) [with T = Identity*]':
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2323:11: error: 'cbor' has not been declared
           cbor::output_stringbuilder output(out);
           ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2324:11: error: 'cbor' has not been declared
           cbor::encoder encoder(output);
           ^~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2325:11: error: 'encoder' was not declared in this scope
           encoder.write_tag(C3P_CBOR_VENDOR_CODE | TcodeToInt(TCODE));
           ^~~~~~~
.pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/C3PValue/C3PType.cpp:2325:29: error: 'C3P_CBOR_VENDOR_CODE' was not declared in this scope
           encoder.write_tag(C3P_CBOR_VENDOR_CODE | TcodeToInt(TCODE));
                             ^~~~~~~~~~~~~~~~~~~~
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/EnumeratedTypeCodes.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/Identity/Identity.cpp.o
*** [.pio/build/esp32-s3-devkitc-1/lib60f/CppPotpourri/C3PValue/C3PType.cpp.o] Error 1
In file included from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/PriorityQueue.h:35,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/BusQueue/BusQueue.h:29,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/AbstractPlatform.h:8,
                 from .pio/libdeps/esp32-s3-devkitc-1/CppPotpourri/src/CryptoBurrito/Providers/MbedTLS.cpp:28:
/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

Please reply.

jspark311 commented 2 months ago

My apologies for the high-latency reply. You have exposed a mistake in my pre-processor checks. I'll push a real fix for that shortly. In the meantime...

I see that you are building under an Arduino-esque environment. You might want to try using this version of the driver, which was intended for Arduino. https://github.com/jspark311/Arduino-ADG2128

It appears that you are trying to use the version of the driver that I wrote against CppPotpourri, which is faster and more flexible, but carries a great deal more complexity.

If you want to keep the driver arrangement you already have: Try setting this in your build system: #define CONFIG_C3P_CBOR 1 Or otherwise pass it into your build command with -DCONFIG_C3P_CBOR.

If that clears up some of your errors, you can probably clear up the rest by doing the same thing to the flag CONFIG_C3P_IMG_SUPPORT.

If it works, be sure that your linker was able to GC all the unused code. That is: make sure it didn't increase your build size by an unreasonable amount.

Unless you are actually using those features, you could probably also hack up the library and simply remove any lines (or source files) that break the build.

jspark311 commented 2 months ago

TL;DR

Thank you for the bug report. It is fixed in most-recent master of CppPotpourri. I will leave this issue open, in case you get further build errors.

Full explanation:

I've fixed the gaps you identified with the following commit. Judging by your build output, you have a fairly recent pull of C3P. Might be worth simply re-pulling the whole lib, but if you just want to patch what you have, these are the changes to make. https://github.com/jspark311/CppPotpourri/commit/74e0b4a65895ea1a9d0f9418be55182dafa5b459

As far as the other warning...

/Users/danielmoon/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:43: warning: "PI" redefined
 #define PI 3.1415926535897932384626433832795

...this is Arduino committing exactly the same sin (insufficient pre-proccessor guards). C3P is not at fault.

The build system is calling out this line in C3P as the definition being clobbered: https://github.com/jspark311/CppPotpourri/blob/master/src/EnumeratedTypeCodes.h#L49

Because that header has pre-processor guards (to protect against this case), I make the following inferences about your build system/project:

You can fix it a few different ways. The simplest way would be to ensure that Arduino.h is being included before anything from C3P. You can usually do this at the top of your sketch. Really, Arduino should header-guard that define in the same manner as I did. I bet they'd take a PR if you made them one. They are very easy to work with.

That said, you might also be able to drop the definition of PI in CppPotpourri/EnumeratedTypeCodes.h. The odds are low that the inclusion chain needs it defined, and if that's the case, the build warning will be resolved using the value of PI given in Arduino.h, despite the upside-down inclusion ordering.