Skip to content

USB Host Shield Library fails to compile using 2.4.0 #4154

Closed
@gdsports

Description

@gdsports

Basic Infos

USB Host Shield Library 2.0 compiles using 2.3.0 but fails to 2.4.0.

Hardware

Hardware: Any
Core Version: 2.4.0 and git master

Description

The USB Host Shield Library 2.0 example board_qc.ino compiles using 2.3.0 but fails using 2.4.0. Other examples fail to compile in the same way.

The problem started with the same commit as in #4096.

Settings in IDE

Module: NodeMCU 1.0
default values

Debug Messages

Arduino: 1.8.5 (Linux), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, 4M (1M SPIFFS), v2 Prebuilt (MSS=536), Disabled, None, 115200"

Build options changed, rebuilding all
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp: In member function 'void PS4Parser::Parse(uint8_t, uint8_t*)':
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:87:105: error: no matching function for call to 'min(uint8_t, unsigned int)'
                         memcpy(&ps4Data, buf + 1, min((uint8_t)(len - 1), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:87:105: note: candidates are:
In file included from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/algorithm:62:0,
                 from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/cores/esp8266/Arduino.h:239,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/version_helper.h:24,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/settings.h:87,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/Usb.h:27,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.h:21,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:18:
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:4226:5: note:   template argument deduction/substitution failed:
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:87:105: note:   mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'
                         memcpy(&ps4Data, buf + 1, min((uint8_t)(len - 1), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
In file included from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/algorithm:62:0,
                 from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/cores/esp8266/Arduino.h:239,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/version_helper.h:24,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/settings.h:87,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/Usb.h:27,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.h:21,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:18:
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
     min(initializer_list<_Tp> __l)
     ^
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:4221:5: note:   template argument deduction/substitution failed:
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:87:105: note:   mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'
                         memcpy(&ps4Data, buf + 1, min((uint8_t)(len - 1), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
In file included from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/algorithm:61:0,
                 from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/cores/esp8266/Arduino.h:239,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/version_helper.h:24,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/settings.h:87,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/Usb.h:27,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.h:21,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:18:
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:239:5: note:   template argument deduction/substitution failed:
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:87:105: note:   deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'unsigned int')
                         memcpy(&ps4Data, buf + 1, min((uint8_t)(len - 1), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
In file included from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/algorithm:61:0,
                 from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/cores/esp8266/Arduino.h:239,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/version_helper.h:24,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/settings.h:87,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/Usb.h:27,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.h:21,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:18:
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
     min(const _Tp& __a, const _Tp& __b)
     ^
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:193:5: note:   template argument deduction/substitution failed:
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:87:105: note:   deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'unsigned int')
                         memcpy(&ps4Data, buf + 1, min((uint8_t)(len - 1), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:96:105: error: no matching function for call to 'min(uint8_t, unsigned int)'
                         memcpy(&ps4Data, buf + 3, min((uint8_t)(len - 3), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:96:105: note: candidates are:
In file included from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/algorithm:62:0,
                 from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/cores/esp8266/Arduino.h:239,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/version_helper.h:24,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/settings.h:87,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/Usb.h:27,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.h:21,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:18:
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:4226:5: note:   template argument deduction/substitution failed:
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:96:105: note:   mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'
                         memcpy(&ps4Data, buf + 3, min((uint8_t)(len - 3), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
In file included from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/algorithm:62:0,
                 from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/cores/esp8266/Arduino.h:239,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/version_helper.h:24,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/settings.h:87,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/Usb.h:27,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.h:21,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:18:
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
     min(initializer_list<_Tp> __l)
     ^
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algo.h:4221:5: note:   template argument deduction/substitution failed:
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:96:105: note:   mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'
                         memcpy(&ps4Data, buf + 3, min((uint8_t)(len - 3), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
In file included from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/algorithm:61:0,
                 from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/cores/esp8266/Arduino.h:239,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/version_helper.h:24,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/settings.h:87,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/Usb.h:27,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.h:21,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:18:
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:239:5: note:   template argument deduction/substitution failed:
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:96:105: note:   deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'unsigned int')
                         memcpy(&ps4Data, buf + 3, min((uint8_t)(len - 3), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
In file included from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/algorithm:61:0,
                 from /home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/cores/esp8266/Arduino.h:239,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/version_helper.h:24,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/settings.h:87,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/Usb.h:27,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.h:21,
                 from /home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:18:
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
     min(const _Tp& __a, const _Tp& __b)
     ^
/home/me/ardtmp/arduino-1.8.5-git/hardware/esp8266com/esp8266/tools/xtensa-lx106-elf/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:193:5: note:   template argument deduction/substitution failed:
/home/me/ardtmp/arduino-1.8.5-git/portable/sketchbook/libraries/USB_Host_Shield_Library_2.0/PS4Parser.cpp:96:105: note:   deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'unsigned int')
                         memcpy(&ps4Data, buf + 3, min((uint8_t)(len - 3), MFK_CASTUINT8T sizeof(ps4Data)));
                                                                                                         ^
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions