bluepad32 icon indicating copy to clipboard operation
bluepad32 copied to clipboard

[Bug]: USB HID Report collison

Open controllercustom opened this issue 1 year ago • 7 comments

What happened?

Compiler errors when using bluepad32 with ESP32 USB HID.

Bluepad32 Version

Other

Bluepad32 version custom

Arduino esp32_bluepad32 version 4.1.0

Bluepad32 Platform

Arduino IDE

Platform version

Arduino IDE 1.8.19 on Ubuntu Linux

Controller

None

Microcontroller

ESP32-S3

Microcontroller board

Espressif ESP32-S3 DevKit-1 v 1.0

OS

Linux

Relevant log output

Arduino: 1.8.19 (Linux), Board: "ESP32S3 Dev Module, Disabled, Disabled, QIO 80MHz, 4MB (32Mb), Core 1, Core 1, USB-OTG (TinyUSB), Disabled, Disabled, Disabled, UART0 / Hardware CDC, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi), 921600, None, Disabled"











In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHID.h:22,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHIDMouse.h:23,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:3:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:87:3: error: 'HID_REPORT_TYPE_INPUT' conflicts with a previous declaration
   HID_REPORT_TYPE_INPUT,      ///< Input
   ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/btstack/src/btstack.h:62,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/uni_hid_device.h:8,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/platform/uni_platform.h:15,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/arduino_platform.h:29,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoControllerData.h:9,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoController.h:13,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoBluepad32.h:12,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/Bluepad32.h:7,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:1:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/btstack/src/btstack_hid.h:103:5: note: previous declaration 'hid_report_type_t HID_REPORT_TYPE_INPUT'
     HID_REPORT_TYPE_INPUT,
     ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHID.h:22,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHIDMouse.h:23,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:3:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:88:3: error: 'HID_REPORT_TYPE_OUTPUT' conflicts with a previous declaration
   HID_REPORT_TYPE_OUTPUT,     ///< Output
   ^~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/btstack/src/btstack.h:62,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/uni_hid_device.h:8,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/platform/uni_platform.h:15,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/arduino_platform.h:29,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoControllerData.h:9,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoController.h:13,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoBluepad32.h:12,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/Bluepad32.h:7,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:1:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/btstack/src/btstack_hid.h:104:5: note: previous declaration 'hid_report_type_t HID_REPORT_TYPE_OUTPUT'
     HID_REPORT_TYPE_OUTPUT,
     ^~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHID.h:22,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHIDMouse.h:23,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:3:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:89:3: error: 'HID_REPORT_TYPE_FEATURE' conflicts with a previous declaration
   HID_REPORT_TYPE_FEATURE     ///< Feature
   ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/btstack/src/btstack.h:62,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/uni_hid_device.h:8,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/platform/uni_platform.h:15,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/arduino_platform.h:29,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoControllerData.h:9,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoController.h:13,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoBluepad32.h:12,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/Bluepad32.h:7,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:1:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/btstack/src/btstack_hid.h:105:5: note: previous declaration 'hid_report_type_t HID_REPORT_TYPE_FEATURE'
     HID_REPORT_TYPE_FEATURE
     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHID.h:22,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHIDMouse.h:23,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:3:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:90:2: error: conflicting declaration 'typedef enum hid_report_type_t hid_report_type_t'
 }hid_report_type_t;
  ^~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/btstack/src/btstack.h:62,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/uni_hid_device.h:8,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/platform/uni_platform.h:15,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/arduino_platform.h:29,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoControllerData.h:9,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoController.h:13,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoBluepad32.h:12,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/Bluepad32.h:7,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:1:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/btstack/src/btstack_hid.h:106:3: note: previous declaration as 'typedef enum hid_report_type_t hid_report_type_t'
 } hid_report_type_t;
   ^~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoKeyboardConstants.h:10,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoController.h:15,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoBluepad32.h:12,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/Bluepad32.h:7,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:1:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/hid_usage.h:22:49: error: expected identifier before numeric constant
 #define HID_USAGE_PAGE_BUTTON                   0x09
                                                 ^~~~
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:708:3: note: in expansion of macro 'HID_USAGE_PAGE_BUTTON'
   HID_USAGE_PAGE_BUTTON          = 0x09,
   ^~~~~~~~~~~~~~~~~~~~~
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/hid_usage.h:22:49: error: expected '}' before numeric constant
 #define HID_USAGE_PAGE_BUTTON                   0x09
                                                 ^~~~
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:708:3: note: in expansion of macro 'HID_USAGE_PAGE_BUTTON'
   HID_USAGE_PAGE_BUTTON          = 0x09,
   ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHID.h:22,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHIDMouse.h:23,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:3:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:699:6: note: to match this '{'
 enum {
      ^
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoKeyboardConstants.h:10,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoController.h:15,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/ArduinoBluepad32.h:12,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32_arduino/include/Bluepad32.h:7,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:1:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/bluepad32/include/hid_usage.h:22:49: error: expected unqualified-id before numeric constant
 #define HID_USAGE_PAGE_BUTTON                   0x09
                                                 ^~~~
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:708:3: note: in expansion of macro 'HID_USAGE_PAGE_BUTTON'
   HID_USAGE_PAGE_BUTTON          = 0x09,
   ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHID.h:22,
                 from /tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHIDMouse.h:23,
                 from /home/me/Sync/bluepad32-esp32ard/examples/usbhid/usbhid.ino:3:
/tmp/autobuild_bluepad32ard_50439/arduino-1.8.19/portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/tools/sdk/esp32s3/include/arduino_tinyusb/tinyusb/src/class/hid/hid.h:1139:2: error: expected declaration before '}' token
  }
  ^
exit status 1
Error compiling for board ESP32S3 Dev Module.


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Relevant sketch

#include <Bluepad32.h>
#include "USB.h"
#include "USBHIDMouse.h"

void setup() { }
void loop() { }

controllercustom avatar Dec 06 '24 22:12 controllercustom

weird.

if you try the template project ( https://github.com/ricardoquesada/esp-idf-arduino-bluepad32-template ) , develop branch, does ti work ?

Since it uses esp-idf 5.3.2 and Arduino Core v3.1.0

ricardoquesada avatar Jan 01 '25 01:01 ricardoquesada

if you try the template project ( https://github.com/ricardoquesada/esp-idf-arduino-bluepad32-template ) , develop branch, does ti work ?

I tried the template project and set-target to esp32s3. I added some lines to sketch.cpp like this.

#include <Arduino.h>
#include <Bluepad32.h>
#include <USB.h>
#include <USBHIDMouse.h>
USBHIDMouse Mouse;
...
void setup() {
    // initialize mouse control:
    Mouse.begin();
    USB.begin();
...    

I think TinyUSB is disabled in sdkconfig so no collision errors but it says USBHIDMouse does not name a type.

$ idf.py build
Executing action: all (aliases: build)
Running ninja in directory /home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/build
Executing "ninja all"...
[4/15] Performing build step for 'bootloader'
[1/1] cd /home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/build/bootloader/esp-idf/esptool_py && /home/me/.espressif/python_env/idf4.4_py3.10_env/bin/python /home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/build/bootloader/bootloader.bin
Bootloader binary size 0x52b0 bytes. 0x2d50 bytes (35%) free.
[7/13] Building CXX object esp-idf/main/CMakeFiles/__idf_main.dir/sketch.cpp.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/sketch.cpp.obj 
/home/me/.espressif/tools/xtensa-esp32s3-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-g++ -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/build/config -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/main -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/newlib/platform_include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/freertos/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/freertos/include/esp_additions/freertos -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/freertos/port/xtensa/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/freertos/include/esp_additions -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_hw_support/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_hw_support/include/soc -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_hw_support/include/soc/esp32s3 -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_hw_support/port/esp32s3/. -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_hw_support/port/esp32s3/private_include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/heap/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/log/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/lwip/include/apps -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/lwip/include/apps/sntp -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/lwip/lwip/src/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/lwip/port/esp32/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/lwip/port/esp32/include/arch -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/soc/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/soc/esp32s3/. -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/soc/esp32s3/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/hal/esp32s3/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/hal/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/hal/platform_port/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_rom/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_rom/include/esp32s3 -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_rom/esp32s3 -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_common/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_system/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_system/port/soc -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_system/port/public_compat -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/xtensa/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/xtensa/esp32s3/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/driver/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/driver/esp32s3/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_pm/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_ringbuf/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/efuse/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/efuse/esp32s3/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/vfs/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_wifi/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_event/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_netif/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_eth/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/tcpip_adapter/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_phy/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_phy/esp32s3/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_ipc/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/app_trace/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_timer/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/bluepad32/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/nvs_flash/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/spi_flash/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/mbedtls/port/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/mbedtls/mbedtls/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/mbedtls/esp_crt_bundle/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/mbedtls/mbedtls/3rdparty/everest/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/3rd-party/bluedroid/decoder/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/3rd-party/bluedroid/encoder/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/3rd-party/hxcmod-player -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/3rd-party/hxcmod-player/mods -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/3rd-party/lc3-google/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/3rd-party/lwip/dhcp-server -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/3rd-party/md5 -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/3rd-party/yxml -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/src/classic -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/src/ble/gatt-service -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/src/ble -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/platform/embedded -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/platform/freertos -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/platform/lwip -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/btstack/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/app_update/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/bootloader_support/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/cmd_nvs_4.4 -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/console -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/cmd_system_4.4 -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/bluepad32_arduino/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/variants/esp32 -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/cores/esp32 -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/ArduinoOTA/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/AsyncUDP/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/BLE/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/BluetoothSerial/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/DNSServer/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/EEPROM/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/ESP32/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/ESPmDNS/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/Ethernet/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/FFat/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/FS/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/HTTPClient/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/HTTPUpdate/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/LittleFS/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/Insights/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/I2S/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/NetBIOS/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/Preferences/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/RainMaker/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/SD_MMC/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/SD/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/SimpleBLE/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/SPIFFS/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/SPI/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/Ticker/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/Update/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/USB/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/WebServer/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/WiFiClientSecure/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/WiFi/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/WiFiProv/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/components/arduino/libraries/Wire/src -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/mdns/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_adc_cal/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/wifi_provisioning/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/protocomm/include/common -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/protocomm/include/security -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/protocomm/include/transports -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/bt/common/osi/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/bt/include/esp32c3/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/bt/common/api/include/api -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/bt/common/btc/profile/esp/blufi/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/bt/common/btc/profile/esp/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/bt/common/hci_log/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/nghttp/port/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/nghttp/nghttp2/lib/includes -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/wpa_supplicant/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/wpa_supplicant/port/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/wpa_supplicant/esp_supplicant/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_https_ota/include -I/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf/components/esp_http_client/include -mlongcalls  -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -O2 -fmacro-prefix-map=/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project=. -fmacro-prefix-map=/home/me/Sync/bluepad32-esp-idf-arduino/esp/esp-idf=IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fno-exceptions -fno-rtti -D_GNU_SOURCE -DIDF_VER=\"v4.4.8-1-ga9d0f22193\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -DARDUINO=10812 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD=\"ESP32_DEV\" -DARDUINO_VARIANT=\"esp32\" -DESP32 -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/sketch.cpp.obj -MF esp-idf/main/CMakeFiles/__idf_main.dir/sketch.cpp.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/sketch.cpp.obj -c /home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/main/sketch.cpp
/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/main/sketch.cpp:11:1: error: 'USBHIDMouse' does not name a type
 USBHIDMouse Mouse;
 ^~~~~~~~~~~
/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/main/sketch.cpp: In function 'void setup()':
/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/main/sketch.cpp:276:5: error: 'Mouse' was not declared in this scope
     Mouse.begin();
     ^~~~~
/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/main/sketch.cpp:276:5: note: suggested alternative: 'pause'
     Mouse.begin();
     ^~~~~
     pause
/home/me/Sync/bluepad32-esp-idf-arduino/esp/my_project/main/sketch.cpp:277:5: error: 'USB' was not declared in this scope
     USB.begin();
     ^~~
ninja: build stopped: subcommand failed.
ninja failed with exit code 1

controllercustom avatar Jan 02 '25 21:01 controllercustom

What libraries are USB and USBHIDMouse ? Are they part of esp-idf ? or 3rd-party libs ?

If they are 3rd-party, you will need to add them in the CMakeLists.txt.

See: https://github.com/ricardoquesada/esp-idf-arduino-bluepad32-template/tree/develop?tab=readme-ov-file#using-3rd-party-arduino-libraries

ricardoquesada avatar Jan 02 '25 21:01 ricardoquesada

What you need to do if you use USBHID, etc...

https://docs.espressif.com/projects/arduino-esp32/en/latest/esp-idf_component.html

ricardoquesada avatar Jan 03 '25 18:01 ricardoquesada

What libraries are USB and USBHIDMouse ? Are they part of esp-idf ? or 3rd-party libs ?

USB.h and USBHIDMouse is included with the arduino-esp32 core.

./portable/packages/esp32/hardware/esp32/3.1.0/libraries/USB/src/USBHIDMouse.h
./portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/libraries/USB/src/USBHIDMouse.h
./portable/packages/esp32/hardware/esp32/3.1.0/cores/esp32/USB.h
./portable/packages/esp32-bluepad32/hardware/esp32/4.1.0/cores/esp32/USB.h
./esp/my_project/components/arduino/cores/esp32/USB.h
./esp/my_project/components/arduino/libraries/USB/src/USBHIDMouse.h

controllercustom avatar Jan 03 '25 19:01 controllercustom

OK, I will probably use Arduino IDE but patch the source file to remove the duplicate declaration. If a new version of the library is released I can reapply the patch.

controllercustom avatar Jan 03 '25 19:01 controllercustom

sure. but if you want to try the template, read the link that I sent you

ricardoquesada avatar Jan 03 '25 20:01 ricardoquesada