uru-card icon indicating copy to clipboard operation
uru-card copied to clipboard

throws errors

Open RakibRyan opened this issue 1 year ago • 19 comments

ryan@STARFORGED:~/uru-card-fido2-authenticator$ platformio run --target upload Processing esp32dev (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 (6.5.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.20014.231204 (2.0.14)
  • 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-xtensa-esp32 @ 8.4.0+2021r2-patch5 LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 41 compatible libraries Scanning dependencies... Dependency Graph |-- YACL @ 1.0.3 |-- Crypto @ 0.4.0 |-- micro-ecc @ 1.0.0 |-- Adafruit BusIO @ 1.15.0 |-- Adafruit SSD1306 @ 2.5.9 |-- Adafruit MPR121 @ 1.1.3 |-- SparkFun ATECCX08a Arduino Library @ 1.3.1+sha.71c6c3c |-- ESP32 BLE Arduino @ 2.0.0 |-- Adafruit GFX Library @ 1.11.9 |-- Wire @ 2.0.0 Building in release mode Compiling .pio/build/esp32dev/src/ble/device.cpp.o Compiling .pio/build/esp32dev/src/ctap/clientpin.cpp.o Compiling .pio/build/esp32dev/src/ctap/common.cpp.o Compiling .pio/build/esp32dev/src/ctap/ctap.cpp.o Compiling .pio/build/esp32dev/src/ctap/getassertion.cpp.o Compiling .pio/build/esp32dev/src/ctap/getinfo.cpp.o Compiling .pio/build/esp32dev/src/ctap/makecredential.cpp.o Compiling .pio/build/esp32dev/src/ctap/reset.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/authenticator.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/clientpin.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/common.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/getassertion.cpp.o In file included from src/ctap/clientpin.cpp:8: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ src/ble/device.cpp: In function 'void BLE::init()': src/ble/device.cpp:13:26: error: 'DEVICE_NAME' was not declared in this scope #define GATT_DEVICE_NAME DEVICE_NAME ^~~~~~~~~~~ src/ble/device.cpp:26:25: note: in expansion of macro 'GATT_DEVICE_NAME' BLEDevice::init(GATT_DEVICE_NAME); ^~~~~~~~~~~~~~~~ src/ble/device.cpp:13:26: note: suggested alternative: 'GATT_DEVICE_NAME' #define GATT_DEVICE_NAME DEVICE_NAME ^~~~~~~~~~~ src/ble/device.cpp:26:25: note: in expansion of macro 'GATT_DEVICE_NAME' BLEDevice::init(GATT_DEVICE_NAME); ^~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ In file included from src/ctap/common.cpp:5: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH In file included from src/ctap/ctap.cpp:5: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ *** [.pio/build/esp32dev/src/ble/device.cpp.o] Error 1 include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ In file included from src/ctap/getassertion.cpp:7: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ In file included from src/ctap/getinfo.cpp:7: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ In file included from include/fido2/authenticator/authenticator.h:7, from src/ctap/makecredential.cpp:7: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ In file included from src/ctap/reset.cpp:5: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ In file included from include/fido2/authenticator/authenticator.h:7, from src/fido2/authenticator/authenticator.cpp:5: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ In file included from include/fido2/authenticator/authenticator.h:7, from src/fido2/authenticator/clientpin.cpp:3: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ In file included from include/fido2/authenticator/authenticator.h:7, from src/fido2/authenticator/common.cpp:3: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ src/ctap/getassertion.cpp: In function 'FIDO2::CTAP::Status FIDO2::CTAP::Request::parseAllowList(CBOR&, FIDO2::CTAP::Request::GetAssertion*)': src/ctap/getassertion.cpp:52:81: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope if(!cborId.is_bytestring() || cborId.get_bytestring_len() > CREDENTIAL_ID_LENGTH) ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ src/ctap/getassertion.cpp:52:81: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' if(!cborId.is_bytestring() || cborId.get_bytestring_len() > CREDENTIAL_ID_LENGTH) ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH src/ctap/getassertion.cpp:57:60: error: request for member 'value' in 'cd.std::unique_ptrFIDO2::CTAP::PublicKeyCredentialDescriptor::operator->()->FIDO2::CTAP::PublicKeyCredentialDescriptor::credentialId', which is of non-class type 'int' cborId.get_bytestring(cd->credentialId.value); ^~~~~ *** [.pio/build/esp32dev/src/ctap/ctap.cpp.o] Error 1 *** [.pio/build/esp32dev/src/ctap/common.cpp.o] Error 1 include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ src/ctap/makecredential.cpp: In function 'FIDO2::CTAP::Status FIDO2::CTAP::Request::parseExcludeList(CBOR&, FIDO2::CTAP::Request::MakeCredential*)': src/ctap/makecredential.cpp:113:70: error: request for member 'maxLength' in 'credDescriptor.FIDO2::CTAP::PublicKeyCredentialDescriptor::credentialId', which is of non-class type 'int' if (length > credDescriptor.credentialId.maxLength) ^~~~~~~~~ src/ctap/makecredential.cpp:117:57: error: request for member 'alloc' in 'credDescriptor.FIDO2::CTAP::PublicKeyCredentialDescriptor::credentialId', which is of non-class type 'int' credDescriptor.credentialId.alloc(length); ^~~~~ src/ctap/makecredential.cpp:118:78: error: request for member 'value' in 'credDescriptor.FIDO2::CTAP::PublicKeyCredentialDescriptor::credentialId', which is of non-class type 'int' value.get_bytestring(credDescriptor.credentialId.value); ^~~~~ src/ctap/makecredential.cpp:130:82: error: request for member 'length' in 'credDescriptor.FIDO2::CTAP::PublicKeyCredentialDescriptor::credentialId', which is of non-class type 'int' if (credDescriptor.type == "" || credDescriptor.credentialId.length == 0) ^~~~~~ *** [.pio/build/esp32dev/src/ctap/clientpin.cpp.o] Error 1 In file included from include/fido2/authenticator/authenticator.h:7, from src/fido2/authenticator/getassertion.cpp:3: include/fido2/ctap/ctap.h:128:34: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ include/fido2/ctap/ctap.h:128:34: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' uint8_t credentialId[CREDENTIAL_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:25: error: 'CREDENTIAL_ID_LENGTH' was not declared in this scope FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ *** [.pio/build/esp32dev/src/ctap/reset.cpp.o] Error 1 include/fido2/ctap/ctap.h:159:25: note: suggested alternative: 'CTAP1_ERR_INVALID_LENGTH' FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^~~~~~~~~~~~~~~~~~~~ CTAP1_ERR_INVALID_LENGTH include/fido2/ctap/ctap.h:159:45: error: template argument 1 is invalid FixedBuffer<CREDENTIAL_ID_LENGTH> credentialId; ^ *** [.pio/build/esp32dev/src/ctap/getinfo.cpp.o] Error 1 *** [.pio/build/esp32dev/src/fido2/authenticator/authenticator.cpp.o] Error 1 *** [.pio/build/esp32dev/src/fido2/authenticator/common.cpp.o] Error 1 *** [.pio/build/esp32dev/src/ctap/getassertion.cpp.o] Error 1 *** [.pio/build/esp32dev/src/ctap/makecredential.cpp.o] Error 1 *** [.pio/build/esp32dev/src/fido2/authenticator/clientpin.cpp.o] Error 1 *** [.pio/build/esp32dev/src/fido2/authenticator/getassertion.cpp.o] Error 1 ======================================================================================================== [FAILED] Took 2.00 seconds ======================================================================================================== ryan@STARFORGED:~/uru-card-fido2-authenticator$

RakibRyan avatar Mar 14 '24 17:03 RakibRyan

You need to copy the file include/config.h.example to include/config.h and set configuration values appropriate for your project.

snakeye avatar Mar 15 '24 10:03 snakeye

I set these in include/config.h file #define DEVICE_NAME "URU Card" #define FIDO2_CONTROL_POINT_LENGTH 64 #define FIDO2_MAX_MSG_SIZE 2048 #define CREDENTIAL_ID_LENGTH 32

it gave me this error

ryan@STARFORGED:~/uru-card$ pio run -t upload -t monitor Processing esp32dev (platform: espressif32; board: esp32dev; framework: arduino)

Library Manager: Installing git+https://[email protected]/sparkfun/SparkFun_ATECCX08a_Arduino_Library git version 2.34.1 Cloning into '/home/ryan/.platformio/.cache/tmp/pkg-installing-j74bf_f2'... remote: Enumerating objects: 30, done. remote: Counting objects: 100% (30/30), done. remote: Compressing objects: 100% (24/24), done. remote: Total 30 (delta 7), reused 15 (delta 0), pack-reused 0 Receiving objects: 100% (30/30), 33.47 KiB | 544.00 KiB/s, done. Resolving deltas: 100% (7/7), done. Library Manager: SparkFun ATECCX08a Arduino [email protected]+sha.71c6c3c 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.5.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.20014.231204 (2.0.14)
  • 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-xtensa-esp32 @ 8.4.0+2021r2-patch5 LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Library Manager: Installing YACL Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Library Manager: [email protected] has been installed! Library Manager: Installing Crypto Library Manager: Warning! More than one package has been found by Crypto requirements: Library Manager: - rweather/[email protected] Library Manager: - intrbiz/[email protected] Library Manager: - operatorfoundation/[email protected] Library Manager: - mbed-feb11/[email protected]+sha.f04410cef037 Library Manager: - mbed-geremia/[email protected]+sha.4399e2e6260b Library Manager: Please specify detailed REQUIREMENTS using package owner and version (shown above) to avoid name conflicts Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Library Manager: [email protected] has been installed! Library Manager: Installing micro-ecc Library Manager: Warning! More than one package has been found by micro-ecc requirements: Library Manager: - kmackay/[email protected] Library Manager: - chstauss/[email protected] Library Manager: Please specify detailed REQUIREMENTS using package owner and version (shown above) to avoid name conflicts Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Library Manager: [email protected] has been installed! Library Manager: Installing Adafruit BusIO Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Library Manager: Adafruit [email protected] has been installed! Library Manager: Installing Adafruit SSD1306 Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Library Manager: Adafruit [email protected] has been installed! Library Manager: Resolving dependencies... Library Manager: Installing Adafruit GFX Library Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Library Manager: Adafruit GFX [email protected] has been installed! Library Manager: Resolving dependencies... Library Manager: Installing Adafruit MPR121 Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Library Manager: Adafruit [email protected] has been installed! Library Manager: Resolving dependencies... Found 41 compatible libraries Scanning dependencies... Dependency Graph |-- YACL @ 1.0.3 |-- Crypto @ 0.4.0 |-- micro-ecc @ 1.0.0 |-- Adafruit BusIO @ 1.15.0 |-- Adafruit SSD1306 @ 2.5.9 |-- Adafruit MPR121 @ 1.1.3 |-- SparkFun ATECCX08a Arduino Library @ 1.3.1+sha.71c6c3c |-- ESP32 BLE Arduino @ 2.0.0 |-- Adafruit GFX Library @ 1.11.9 |-- Wire @ 2.0.0 Building in release mode Compiling .pio/build/esp32dev/src/ble/device.cpp.o Compiling .pio/build/esp32dev/src/ble/security.cpp.o Compiling .pio/build/esp32dev/src/cred-storage/storage.cpp.o Compiling .pio/build/esp32dev/src/crypto/ecdsa.cpp.o Compiling .pio/build/esp32dev/src/crypto/hardware/ateccX08a.cpp.o Compiling .pio/build/esp32dev/src/crypto/software/crypto.cpp.o Compiling .pio/build/esp32dev/src/crypto/software/ecdsa.cpp.o Compiling .pio/build/esp32dev/src/crypto/software/sha256.cpp.o Compiling .pio/build/esp32dev/src/ctap/clientpin.cpp.o Compiling .pio/build/esp32dev/src/ctap/common.cpp.o Compiling .pio/build/esp32dev/src/ctap/ctap.cpp.o Compiling .pio/build/esp32dev/src/ctap/getassertion.cpp.o Compiling .pio/build/esp32dev/src/ctap/getinfo.cpp.o Compiling .pio/build/esp32dev/src/ctap/makecredential.cpp.o Compiling .pio/build/esp32dev/src/ctap/reset.cpp.o Compiling .pio/build/esp32dev/src/display/display.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/authenticator.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/clientpin.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/common.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/getassertion.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/getinfo.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/makecredential.cpp.o Compiling .pio/build/esp32dev/src/fido2/authenticator/reset.cpp.o Compiling .pio/build/esp32dev/src/fido2/transport/ble/buffer.cpp.o Compiling .pio/build/esp32dev/src/fido2/transport/ble/keepalive.cpp.o Compiling .pio/build/esp32dev/src/fido2/transport/ble/service.cpp.o Compiling .pio/build/esp32dev/src/fido2/uuid.cpp.o Compiling .pio/build/esp32dev/src/keyboard/keyboard.cpp.o Compiling .pio/build/esp32dev/src/main.cpp.o Compiling .pio/build/esp32dev/src/util/util.cpp.o Building .pio/build/esp32dev/bootloader.bin Generating partitions .pio/build/esp32dev/partitions.bin Compiling .pio/build/esp32dev/libecf/YACL/CBOR.cpp.o Compiling .pio/build/esp32dev/libecf/YACL/CBORArray.cpp.o Compiling .pio/build/esp32dev/libecf/YACL/CBORPair.cpp.o esptool.py v4.5.1 Creating esp32 image... Merged 1 ELF section Successfully created esp32 image. Compiling .pio/build/esp32dev/lib11c/Crypto/AES128.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/AES192.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/AES256.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/AESCommon.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/AESEsp32.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/AuthenticatedCipher.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/BLAKE2b.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/BLAKE2s.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/BigNumberUtil.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/BlockCipher.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/CTR.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/ChaCha.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/ChaChaPoly.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/Cipher.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/Crypto.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/Curve25519.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/EAX.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/Ed25519.cpp.o Archiving .pio/build/esp32dev/libecf/libYACL.a Indexing .pio/build/esp32dev/libecf/libYACL.a Compiling .pio/build/esp32dev/lib11c/Crypto/GCM.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/GF128.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/GHASH.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/HKDF.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/Hash.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/KeccakCore.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/NoiseSource.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/OMAC.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/P521.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/Poly1305.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/RNG.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/SHA224.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/SHA256.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/SHA3.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/SHA384.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/SHA512.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/SHAKE.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/XOF.cpp.o Compiling .pio/build/esp32dev/lib11c/Crypto/XTS.cpp.o Compiling .pio/build/esp32dev/libbf8/micro-ecc/uECC.c.o Compiling .pio/build/esp32dev/lib661/Wire/Wire.cpp.o Compiling .pio/build/esp32dev/lib238/SPI/SPI.cpp.o Compiling .pio/build/esp32dev/liba75/Adafruit BusIO/Adafruit_BusIO_Register.cpp.o Compiling .pio/build/esp32dev/liba75/Adafruit BusIO/Adafruit_I2CDevice.cpp.o Compiling .pio/build/esp32dev/liba75/Adafruit BusIO/Adafruit_SPIDevice.cpp.o Compiling .pio/build/esp32dev/libbb7/Adafruit GFX Library/Adafruit_GFX.cpp.o Compiling .pio/build/esp32dev/libbb7/Adafruit GFX Library/Adafruit_GrayOLED.cpp.o Compiling .pio/build/esp32dev/libbb7/Adafruit GFX Library/Adafruit_SPITFT.cpp.o Compiling .pio/build/esp32dev/libbb7/Adafruit GFX Library/glcdfont.c.o Compiling .pio/build/esp32dev/libf2b/Adafruit SSD1306/Adafruit_SSD1306.cpp.o Archiving .pio/build/esp32dev/lib238/libSPI.a Indexing .pio/build/esp32dev/lib238/libSPI.a Archiving .pio/build/esp32dev/lib661/libWire.a Archiving .pio/build/esp32dev/libbf8/libmicro-ecc.a Archiving .pio/build/esp32dev/lib11c/libCrypto.a Indexing .pio/build/esp32dev/lib661/libWire.a Indexing .pio/build/esp32dev/libbf8/libmicro-ecc.a Indexing .pio/build/esp32dev/lib11c/libCrypto.a Compiling .pio/build/esp32dev/lib04d/Adafruit MPR121/Adafruit_MPR121.cpp.o Compiling .pio/build/esp32dev/lib48e/SparkFun ATECCX08a Arduino Library/SparkFun_ATECCX08a_Arduino_Library.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLE2902.cpp.o Archiving .pio/build/esp32dev/liba75/libAdafruit BusIO.a Compiling .pio/build/esp32dev/libf14/BLE/BLE2904.cpp.o Indexing .pio/build/esp32dev/liba75/libAdafruit BusIO.a Compiling .pio/build/esp32dev/libf14/BLE/BLEAddress.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEAdvertisedDevice.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEAdvertising.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEBeacon.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLECharacteristic.cpp.o Archiving .pio/build/esp32dev/libf2b/libAdafruit SSD1306.a Compiling .pio/build/esp32dev/libf14/BLE/BLECharacteristicMap.cpp.o Indexing .pio/build/esp32dev/libf2b/libAdafruit SSD1306.a Archiving .pio/build/esp32dev/lib04d/libAdafruit MPR121.a Indexing .pio/build/esp32dev/lib04d/libAdafruit MPR121.a Compiling .pio/build/esp32dev/libf14/BLE/BLEClient.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEDescriptor.cpp.o Archiving .pio/build/esp32dev/libbb7/libAdafruit GFX Library.a Indexing .pio/build/esp32dev/libbb7/libAdafruit GFX Library.a Compiling .pio/build/esp32dev/libf14/BLE/BLEDescriptorMap.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEDevice.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEEddystoneTLM.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEEddystoneURL.cpp.o Archiving .pio/build/esp32dev/lib48e/libSparkFun ATECCX08a Arduino Library.a Indexing .pio/build/esp32dev/lib48e/libSparkFun ATECCX08a Arduino Library.a Compiling .pio/build/esp32dev/libf14/BLE/BLEExceptions.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEHIDDevice.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLERemoteCharacteristic.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLERemoteDescriptor.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLERemoteService.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEScan.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLESecurity.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEServer.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEService.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEServiceMap.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEUUID.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEUtils.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/BLEValue.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/FreeRTOS.cpp.o Compiling .pio/build/esp32dev/libf14/BLE/GeneralUtils.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/Esp.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/FirmwareMSC.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/FunctionalInterrupt.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/HWCDC.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/HardwareSerial.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/IPAddress.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/IPv6Address.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/MD5Builder.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/Print.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/Stream.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/StreamString.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/Tone.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/USB.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/USBCDC.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/USBMSC.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/WMath.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/WString.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/base64.cpp.o Archiving .pio/build/esp32dev/libf14/libBLE.a Indexing .pio/build/esp32dev/libf14/libBLE.a Compiling .pio/build/esp32dev/FrameworkArduino/cbuf.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-adc.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-bt.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-cpu.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-dac.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-gpio.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-i2c-slave.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-i2c.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-ledc.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-matrix.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-misc.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-psram.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-rgb-led.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-rmt.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-sigmadelta.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-spi.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-time.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-timer.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-tinyusb.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-touch.c.o Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-uart.c.o Compiling .pio/build/esp32dev/FrameworkArduino/firmware_msc_fat.c.o Compiling .pio/build/esp32dev/FrameworkArduino/libb64/cdecode.c.o Compiling .pio/build/esp32dev/FrameworkArduino/libb64/cencode.c.o Compiling .pio/build/esp32dev/FrameworkArduino/main.cpp.o Compiling .pio/build/esp32dev/FrameworkArduino/stdlib_noniso.c.o

/home/ryan/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c: In function 'uartSetPins': /home/ryan/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:153:9: warning: 'return' with no value, in function returning non-void return; ^~~~~~ /home/ryan/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:149:6: note: declared here bool uartSetPins(uint8_t uart_num, int8_t rxPin, int8_t txPin, int8_t ctsPin, int8_t rtsPin) ^~~~~~~~~~~ Compiling .pio/build/esp32dev/FrameworkArduino/wiring_pulse.c.o Compiling .pio/build/esp32dev/FrameworkArduino/wiring_shift.c.o Archiving .pio/build/esp32dev/libFrameworkArduino.a Indexing .pio/build/esp32dev/libFrameworkArduino.a Linking .pio/build/esp32dev/firmware.elf /home/ryan/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/esp32dev/src/ble/device.cpp.o:(.literal._ZN3BLE6Server9onConnectEP9BLEServer+0x8): undefined reference to Display::showText(char const*)' /home/ryan/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/esp32dev/src/ble/device.cpp.o: in function BLE::Server::onConnect(BLEServer*)': /home/ryan/uru-card/src/ble/device.cpp:72: undefined reference to Display::showText(char const*)' /home/ryan/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/esp32dev/src/fido2/authenticator/makecredential.cpp.o: in function FIDO2::Authenticator::serialDumpRequest(FIDO2::CTAP::Request::MakeCredential const*)': /home/ryan/uru-card/src/fido2/authenticator/makecredential.cpp:52: undefined reference to Display::showText(char const*)' /home/ryan/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/esp32dev/src/fido2/authenticator/makecredential.cpp.o: in function FIDO2::Authenticator::processRequest(FIDO2::CTAP::Request::MakeCredential const*, std::unique_ptr<FIDO2::CTAP::Command, std::default_deleteFIDO2::CTAP::Command >&)': /home/ryan/uru-card/src/fido2/authenticator/makecredential.cpp:149: undefined reference to Display::showText(char const*)' /home/ryan/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/ryan/uru-card/src/fido2/authenticator/makecredential.cpp:153: undefined reference to Display::showText(char const*)' /home/ryan/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/esp32dev/src/fido2/authenticator/makecredential.cpp.o:/home/ryan/uru-card/src/fido2/authenticator/makecredential.cpp:157: more undefined references to `Display::showText(char const*)' follow collect2: error: ld returned 1 exit status *** [.pio/build/esp32dev/firmware.elf] Error 1 ================================================================================================ [FAILED] Took 30.79 seconds ================================================================================================ ryan@STARFORGED:~/uru-card$

RakibRyan avatar Mar 15 '24 14:03 RakibRyan

Apparently, you need to define the constant DISPLAY_ENABLED in your config.h file.

See the implementation in file https://github.com/uru-card/uru-card/blob/master/src/display/display.cpp

snakeye avatar Mar 15 '24 15:03 snakeye

it seems i need to define upload port somehwere. how do I get the uplaoad port info? And where do I place it?

Linking .pio/build/esp32dev/firmware.elf
Retrieving maximum program size .pio/build/esp32dev/firmware.elf
Checking size .pio/build/esp32dev/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]  12.4% (used 40752 bytes from 327680 bytes)
Flash: [========= ]  90.1% (used 1181217 bytes from 1310720 bytes)
Building .pio/build/esp32dev/firmware.bin
esptool.py v4.5.1
Creating esp32 image...
Merged 26 ELF sections
Successfully created esp32 image.
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-bridge, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...

Warning! Please install `99-platformio-udev.rules`. 
More details: https://docs.platformio.org/en/latest/core/installation/udev-rules.html

Error: Please specify `upload_port` for environment or use global `--upload-port` option.
For some development platforms it can be a USB flash drive (i.e. /media/<user>/<device name>)
*** [upload] Explicit exit, status 1

RakibRyan avatar Mar 15 '24 15:03 RakibRyan

Follow the PlatformIO documentation on how to select upload port: https://docs.platformio.org/en/latest/projectconf/sections/env/options/upload/upload_port.html

snakeye avatar Mar 16 '24 16:03 snakeye

gives me this error. I checked the port from esp32 flash download tool. in the ini file I tried upload_port = COM[345] upload_port = COM[4] upload_port = COM4 still shows the same. so I tried pio device list It didn't return anything. the esp flash tool does detect it though


Compiling .pio/build/esp32dev/FrameworkArduino/stdlib_noniso.c.o
/home/ryan/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c: In function 'uartSetPins':
/home/ryan/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:153:9: warning: 'return' with no value, in function returning non-void
Compiling .pio/build/esp32dev/FrameworkArduino/wiring_pulse.c.o
         return;
         ^~~~~~
/home/ryan/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:149:6: note: declared here
 bool uartSetPins(uint8_t uart_num, int8_t rxPin, int8_t txPin, int8_t ctsPin, int8_t rtsPin)
      ^~~~~~~~~~~
Compiling .pio/build/esp32dev/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/esp32dev/libFrameworkArduino.a
Indexing .pio/build/esp32dev/libFrameworkArduino.a
Linking .pio/build/esp32dev/firmware.elf
Retrieving maximum program size .pio/build/esp32dev/firmware.elf
Checking size .pio/build/esp32dev/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]  12.4% (used 40752 bytes from 327680 bytes)
Flash: [========= ]  90.1% (used 1181217 bytes from 1310720 bytes)
Building .pio/build/esp32dev/firmware.bin
esptool.py v4.5.1
Creating esp32 image...
Merged 26 ELF sections
Successfully created esp32 image.
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-bridge, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Error: Please specify `upload_port` for environment or use global `--upload-port` option.
For some development platforms it can be a USB flash drive (i.e. /media/<user>/<device name>)
*** [upload] Explicit exit, status 1

RakibRyan avatar Mar 19 '24 00:03 RakibRyan

The configuration looks correct, but I have no Windows machine to confirm. Did you try to use Linux for uploading the firmware?

snakeye avatar Mar 19 '24 14:03 snakeye

I am actually using ubuntu through wsl2 via vscode remote connection. should I give it a try on linux?

RakibRyan avatar Mar 19 '24 15:03 RakibRyan

I worked on this project on Linux only and it's hard for me to answer any Windows-specific questions.

snakeye avatar Mar 19 '24 15:03 snakeye

any specific version of linux I should try it on? and would virtual machine be adequate or do I need a seperate install?

RakibRyan avatar Mar 19 '24 17:03 RakibRyan

I am using Ubuntu. However, I am sure the problem is not with the operating system you are using but with some settings. I suggest you to look through the PlatformIO documentation on how to set up it for your system.

snakeye avatar Mar 20 '24 08:03 snakeye

I installed linux mint. A fresh install. I installed platformio. Used the platformio build option and gave me this log ` * Executing task: platformio run --environment esp32dev

Processing esp32dev (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 (6.5.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.20014.231204 (2.0.14)
  • 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 41 compatible libraries Scanning dependencies... Dependency Graph |-- YACL @ 1.0.3 |-- Crypto @ 0.4.0 |-- micro-ecc @ 1.0.0 |-- Adafruit BusIO @ 1.15.0 |-- Adafruit SSD1306 @ 2.5.9 |-- Adafruit MPR121 @ 1.1.3 |-- SparkFun ATECCX08a Arduino Library @ 1.3.1+sha.71c6c3c |-- ESP32 BLE Arduino @ 2.0.0 |-- Adafruit GFX Library @ 1.11.9 |-- Wire @ 2.0.0 Building in release mode Retrieving maximum program size .pio/build/esp32dev/firmware.elf Checking size .pio/build/esp32dev/firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [= ] 12.4% (used 40752 bytes from 327680 bytes) Flash: [========= ] 90.1% (used 1181217 bytes from 1310720 bytes) ==================================================================================================================== [SUCCESS] Took 2.78 seconds ====================================================================================================================
  • Terminal will be reused by tasks, press any key to close it. However I get this **error** * Executing task: platformio run --target upload --target monitor --environment esp32dev

Processing esp32dev (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 (6.5.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.20014.231204 (2.0.14)
  • 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-xtensa-esp32 @ 8.4.0+2021r2-patch5 LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 41 compatible libraries Scanning dependencies... Dependency Graph |-- YACL @ 1.0.3 |-- Crypto @ 0.4.0 |-- micro-ecc @ 1.0.0 |-- Adafruit BusIO @ 1.15.0 |-- Adafruit SSD1306 @ 2.5.9 |-- Adafruit MPR121 @ 1.1.3 |-- SparkFun ATECCX08a Arduino Library @ 1.3.1+sha.71c6c3c |-- ESP32 BLE Arduino @ 2.0.0 |-- Adafruit GFX Library @ 1.11.9 |-- Wire @ 2.0.0 Building in release mode Retrieving maximum program size .pio/build/esp32dev/firmware.elf Checking size .pio/build/esp32dev/firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [= ] 12.4% (used 40752 bytes from 327680 bytes) Flash: [========= ] 90.1% (used 1181217 bytes from 1310720 bytes) Configuring upload protocol... AVAILABLE: cmsis-dap, esp-bridge, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa CURRENT: upload_protocol = esptool Looking for upload port...

Warning! Your /etc/udev/rules.d/99-platformio-udev.rules are outdated. Please update or reinstall them. More details: https://docs.platformio.org/en/latest/core/installation/udev-rules.html

Error: Please specify upload_port for environment or use global --upload-port option. For some development platforms it can be a USB flash drive (i.e. /media//) *** [upload] Explicit exit, status 1 ===================================================================================================================== [FAILED] Took 4.82 seconds =====================================================================================================================

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

Note: I have This board : https://store.roboticsbd.com/arduino-bangladesh/2266-esp32-dev-board-ch340-usb-c-robotics-bangladesh.html

RakibRyan avatar Mar 23 '24 18:03 RakibRyan

How do you connect the device to the computer?

snakeye avatar Mar 23 '24 20:03 snakeye

through my phone's charger cable.

RakibRyan avatar Mar 23 '24 21:03 RakibRyan

Are you using the device with the serial programmer?

snakeye avatar Mar 24 '24 06:03 snakeye

I'm not sure what that means. Can you define a task that I can use to check what u meant?

RakibRyan avatar Mar 24 '24 06:03 RakibRyan

To program an ESP32 microcontroller you need some kind of programmer device. It can be either built-in if you are using a developer board like ESP32 DevKit or you need to use an external one in case you have built the URU Card device - it does not have a programmer on board.

If it does not help you could check your electrical connections - the programmer device should have power and data lines connected.

From the software side it should be visible as a device in the file system, use the command ls /dev/tty* to list all the serial adapters. The output of the command should change if you connect and disconnect the devices.

To check the functionality further use commands lsusb and dmesg - they provide information about connected devices and possible debug information. Refer to the retrospective documentation on these commands.

In general, this issue is not related to the URU Card firmware but rather to programmer connection and configuration. Refer to the following documentation:

  • https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/index.html
  • https://docs.espressif.com/projects/esptool/en/latest/esp32/
  • https://docs.espressif.com/projects/esptool/en/latest/esp32/advanced-topics/boot-mode-selection.html
  • https://docs.platformio.org/en/latest/projectconf/sections/env/options/upload/upload_port.html

snakeye avatar Mar 24 '24 09:03 snakeye

I was able to upload the file. The issue was with ch340 driver. Just wanted to make sure everything looks ok. And How do I actually go on to using it?

`Processing esp32dev (platform: espressif32; board: esp32dev; framework: arduino)

Tool Manager: Installing platformio/tool-mkspiffs @ ~2.230.0 Downloading [####################################] 100% Unpacking [####################################] 100% Tool Manager: [email protected] has been installed! Tool Manager: Installing platformio/tool-mklittlefs @ ~1.203.0 Downloading [####################################] 100% Unpacking [####################################] 100% Tool Manager: [email protected] has been installed! Tool Manager: Installing platformio/tool-mkfatfs @ ~2.0.0 Downloading [####################################] 100% Unpacking [####################################] 100% Tool Manager: [email protected] 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.5.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.20014.231204 (2.0.14)
  • 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-xtensa-esp32 @ 8.4.0+2021r2-patch5 LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 41 compatible libraries Scanning dependencies... Dependency Graph |-- YACL @ 1.0.3 |-- Crypto @ 0.4.0 |-- micro-ecc @ 1.0.0 |-- Adafruit BusIO @ 1.15.0 |-- Adafruit SSD1306 @ 2.5.9 |-- Adafruit MPR121 @ 1.1.3 |-- SparkFun ATECCX08a Arduino Library @ 1.3.1+sha.71c6c3c |-- ESP32 BLE Arduino @ 2.0.0 |-- Adafruit GFX Library @ 1.11.9 |-- Wire @ 2.0.0 Building in release mode Retrieving maximum program size .pio\build\esp32dev\firmware.elf Checking size .pio\build\esp32dev\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [= ] 12.4% (used 40752 bytes from 327680 bytes) Flash: [========= ] 90.1% (used 1181345 bytes from 1310720 bytes) Configuring upload protocol... AVAILABLE: cmsis-dap, esp-bridge, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa CURRENT: upload_protocol = esptool Looking for upload port... Auto-detected: COM4 Uploading .pio\build\esp32dev\firmware.bin esptool.py v4.5.1 Serial port COM4 Connecting.... Chip is ESP32-D0WD-V3 (revision v3.0) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: b8:d6:1a:5b:7b:34 Uploading stub... Running stub... Stub running... Changing baud rate to 460800 Changed. Configuring flash size... Flash will be erased from 0x00001000 to 0x00005fff... Flash will be erased from 0x00008000 to 0x00008fff... Flash will be erased from 0x0000e000 to 0x0000ffff... Flash will be erased from 0x00010000 to 0x00131fff... Compressed 17536 bytes to 12202... Writing at 0x00001000... (100 %) Wrote 17536 bytes (12202 compressed) at 0x00001000 in 0.6 seconds (effective 232.9 kbit/s)... Hash of data verified. Compressed 3072 bytes to 146... Writing at 0x00008000... (100 %) Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.1 seconds (effective 345.5 kbit/s)... Hash of data verified. Compressed 8192 bytes to 47... Writing at 0x0000e000... (100 %) Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 689.6 kbit/s)... Hash of data verified. Compressed 1187648 bytes to 745285... Writing at 0x00010000... (2 %) Writing at 0x0001b110... (4 %) Writing at 0x00026a63... (6 %) Writing at 0x000324cc... (8 %) Writing at 0x0003f8f2... (10 %) Writing at 0x00045e7b... (13 %) Writing at 0x0004b8de... (15 %) Writing at 0x000517c3... (17 %) Writing at 0x000570ef... (19 %) Writing at 0x0005c632... (21 %) Writing at 0x00061cc9... (23 %) Writing at 0x00067c0b... (26 %) Writing at 0x0006d61e... (28 %) Writing at 0x00072c9e... (30 %) Writing at 0x00078127... (32 %) Writing at 0x0007d560... (34 %) Writing at 0x00083dd6... (36 %) Writing at 0x000891e0... (39 %) Writing at 0x0008ebf1... (41 %) Writing at 0x00094853... (43 %) Writing at 0x0009a3dc... (45 %) Writing at 0x0009f91b... (47 %) Writing at 0x000a5454... (50 %) Writing at 0x000aab95... (52 %) Writing at 0x000b03f7... (54 %) Writing at 0x000b632a... (56 %) Writing at 0x000bc3b4... (58 %) Writing at 0x000c2a1b... (60 %) Writing at 0x000c8a05... (63 %) Writing at 0x000ce513... (65 %) Writing at 0x000d3985... (67 %) Writing at 0x000d913c... (69 %) Writing at 0x000dec55... (71 %) Writing at 0x000e4af1... (73 %) Writing at 0x000eae47... (76 %) Writing at 0x000f0c36... (78 %) Writing at 0x000f6618... (80 %) Writing at 0x000fbf03... (82 %) Writing at 0x0010165a... (84 %) Writing at 0x0010a6d9... (86 %) Writing at 0x00110dbc... (89 %) Writing at 0x00118dbc... (91 %) Writing at 0x0011e71a... (93 %) Writing at 0x001241cf... (95 %) Writing at 0x001299bd... (97 %) Writing at 0x0012f27d... (100 %) Wrote 1187648 bytes (745285 compressed) at 0x00010000 in 17.0 seconds (effective 560.2 kbit/s)... Hash of data verified.

Leaving... Hard resetting via RTS pin... --- Terminal on COM4 | 115200 8-N-1 --- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at https://bit.ly/pio-monitor-filters --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13232 load:0x40080400,len:3028 entry 0x400805e4 ! MPR121 not found FIDO2 Authenticator Power Up procedure `

RakibRyan avatar Mar 28 '24 06:03 RakibRyan

I did not touch the code in the last few years, but back then it was possible to create a new user and pass the authentication on the website https://webauthn.me/

Hopefully this basic functionality still works.

snakeye avatar Apr 05 '24 05:04 snakeye