Register / Login  |  Desktop view  |  Jump to bottom of page

tcMenu Arduinio library » Update, compiler problems in MenuItemDelegate.cpp

Author: tom_tav
15/04/2022 11:27:30
After digging out my old project and updating the libs (no other code change) i get the following problem in Visual Studio w. PlatformIO


OLD VERSION - COMPILES FINE:

CONFIGURATION: https://docs.platformio.org/page/boards/atmelsam/due.html
PLATFORM: Atmel SAM (6.3.1) > Arduino Due (Programming Port)
HARDWARE: AT91SAM3X8E 84MHz, 96KB RAM, 512KB Flash
DEBUG: Current (stlink) External (atmel-ice, blackmagic, jlink, stlink)
PACKAGES:
- framework-arduino-sam 1.6.12
- framework-cmsis 1.40500.0 (4.5.0)
- framework-cmsis-atmel 1.2.2
- toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 14 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <tcMenu> 2.2.4
| |-- <IoAbstraction> 2.0.6
| | |-- <Wire> 1.0
| | |-- <TaskManagerIO> 1.3.0
|-- <TaskManagerIO> 1.3.0
|-- <IoAbstraction> 2.0.6
| |-- <Wire> 1.0
| |-- <TaskManagerIO> 1.3.0
|-- <Adafruit MPU6050> 2.0.5
| |-- <Adafruit BusIO> 1.9.3
| | |-- <Wire> 1.0
| | |-- <SPI> 1.0
| |-- <Wire> 1.0
| |-- <SPI> 1.0
| |-- <Adafruit Unified Sensor> 1.1.4
|-- <ADS1X15> 0.3.3
| |-- <Wire> 1.0
|-- <AccelStepper> 1.61.0
|-- <LiquidCrystalIO> 1.4.1
| |-- <IoAbstraction> 2.0.6
| | |-- <Wire> 1.0
| | |-- <TaskManagerIO> 1.3.0
|-- <Adafruit Unified Sensor> 1.1.4
|-- <Wire> 1.0
Building in release mode
Checking size .pio/build/project/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [========= ] 88.0% (used 86540 bytes from 98304 bytes)
Flash: [== ] 17.8% (used 93576 bytes from 524288 bytes)
============================================================================ [SUCCESS] Took 3.81 seconds ============================================================================


NEW VERSION, FAILS:

CONFIGURATION: https://docs.platformio.org/page/boards/atmelsam/due.html
PLATFORM: Atmel SAM (7.1.0) > Arduino Due (Programming Port)
HARDWARE: AT91SAM3X8E 84MHz, 96KB RAM, 512KB Flash
DEBUG: Current (atmel-ice) External (atmel-ice, blackmagic, jlink, stlink)
PACKAGES:
- framework-arduino-sam 1.6.12
- framework-cmsis 1.40500.0 (4.5.0)
- framework-cmsis-atmel 1.2.2
- toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 13 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <tcMenu> 2.2.7
| |-- <IoAbstraction> 2.2.0
| | |-- <Wire> 1.0
| | |-- <SimpleCollections> 1.2.0
| | |-- <TaskManagerIO> 1.3.2
| |-- <SimpleCollections> 1.2.0
|-- <TaskManagerIO> 1.3.2
|-- <IoAbstraction> 2.2.0
| |-- <Wire> 1.0
| |-- <SimpleCollections> 1.2.0
| |-- <TaskManagerIO> 1.3.2
|-- <Adafruit MPU6050> 2.2.0
| |-- <Adafruit BusIO> 1.11.3
| | |-- <Wire> 1.0
| | |-- <SPI> 1.0
| |-- <Wire> 1.0
| |-- <SPI> 1.0
| |-- <Adafruit Unified Sensor> 1.1.5
|-- <ADS1X15> 0.3.6
| |-- <Wire> 1.0
|-- <AccelStepper> 1.61.0
|-- <LiquidCrystalIO> 1.4.1
| |-- <IoAbstraction> 2.2.0
| | |-- <Wire> 1.0
| | |-- <SimpleCollections> 1.2.0
| | |-- <TaskManagerIO> 1.3.2
|-- <Wire> 1.0
|-- <Adafruit Unified Sensor> 1.1.5
Building in release mode

*** [.pio/build/project/lib5ad/tcMenu/extras/MenuItemDelegate.cpp.o] Error 1

ERRORS:


[{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "C/C++",
"code": "413",
"severity": 8,
"message": "no suitable conversion function from \"lambda []int (MenuItem *item, bool flg)->int\" to \"tccore::MenuItemDelegate::ItemDelegateFn\" exists",
"source": "C/C++",
"startLineNumber": 22,
"startColumn": 16,
"endLineNumber": 22,
"endColumn": 16
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "cpp",
"severity": 8,
"message": "invalid user-defined conversion from 'tccore::MenuItemDelegate::setReadOnly(bool)::<lambda(MenuItem*, bool)>' to 'tccore::MenuItemDelegate::ItemDelegateFn {aka bool (*)(MenuItem*, bool)}' [-fpermissive]",
"startLineNumber": 25,
"startColumn": 11,
"endLineNumber": 25,
"endColumn": 11
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "C/C++",
"code": "413",
"severity": 8,
"message": "no suitable conversion function from \"lambda []int (MenuItem *item, bool flg)->int\" to \"tccore::MenuItemDelegate::ItemDelegateFn\" exists",
"source": "C/C++",
"startLineNumber": 30,
"startColumn": 16,
"endLineNumber": 30,
"endColumn": 16
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "cpp",
"severity": 8,
"message": "invalid user-defined conversion from 'tccore::MenuItemDelegate::setLocalOnly(bool)::<lambda(MenuItem*, bool)>' to 'tccore::MenuItemDelegate::ItemDelegateFn {aka bool (*)(MenuItem*, bool)}' [-fpermissive]",
"startLineNumber": 33,
"startColumn": 15,
"endLineNumber": 33,
"endColumn": 15
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "C/C++",
"code": "413",
"severity": 8,
"message": "no suitable conversion function from \"lambda []int (MenuItem *item, bool flg)->int\" to \"tccore::MenuItemDelegate::ItemDelegateFn\" exists",
"source": "C/C++",
"startLineNumber": 38,
"startColumn": 16,
"endLineNumber": 38,
"endColumn": 16
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "cpp",
"severity": 8,
"message": "invalid user-defined conversion from 'tccore::MenuItemDelegate::setVisible(bool)::<lambda(MenuItem*, bool)>' to 'tccore::MenuItemDelegate::ItemDelegateFn {aka bool (*)(MenuItem*, bool)}' [-fpermissive]",
"startLineNumber": 41,
"startColumn": 15,
"endLineNumber": 41,
"endColumn": 15
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "C/C++",
"code": "413",
"severity": 8,
"message": "no suitable conversion function from \"lambda []int (MenuItem *item, bool flg)->int\" to \"tccore::MenuItemDelegate::ItemDelegateFn\" exists",
"source": "C/C++",
"startLineNumber": 45,
"startColumn": 16,
"endLineNumber": 45,
"endColumn": 16
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "cpp",
"severity": 8,
"message": "invalid user-defined conversion from 'tccore::MenuItemDelegate::setChangedAndRemoteSend()::<lambda(MenuItem*, bool)>' to 'tccore::MenuItemDelegate::ItemDelegateFn {aka bool (*)(MenuItem*, bool)}' [-fpermissive]",
"startLineNumber": 49,
"startColumn": 15,
"endLineNumber": 49,
"endColumn": 15
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "C/C++",
"code": "413",
"severity": 8,
"message": "no suitable conversion function from \"lambda []int (MenuItem *item, bool flg)->int\" to \"tccore::MenuItemDelegate::ItemDelegateFn\" exists",
"source": "C/C++",
"startLineNumber": 53,
"startColumn": 16,
"endLineNumber": 53,
"endColumn": 16
},{
"resource": "/Users/.pio/libdeps/project/tcMenu/src/extras/MenuItemDelegate.cpp",
"owner": "cpp",
"severity": 8,
"message": "invalid user-defined conversion from 'tccore::MenuItemDelegate::setChangedOnly()::<lambda(MenuItem*, bool)>' to 'tccore::MenuItemDelegate::ItemDelegateFn {aka bool (*)(MenuItem*, bool)}' [-fpermissive]",
"startLineNumber": 56,
"startColumn": 15,
"endLineNumber": 56,
"endColumn": 15
}]

Author: davetcc
16/04/2022 07:09:11
Unfortunately, we don't have any SAM boards to test with. However, as luck would have it the problem is with compile.

Please can you provide an isolated example for platformIO with a platformio.ini and sketch file that recreates this, so I can load it and try compilation.

Many thanks

Author: tom_tav
16/04/2022 07:54:24
Thanks Dave!


How to send?

Author: davetcc
16/04/2022 14:07:14
You should be able to attach a sample platformio.ini and sketch in a zip here, if not feel free to raise an issue on github for tcMenuLib and attach it there: https://github.com/davetcc/tcMenuLib

Author: tom_tav
19/04/2022 09:29:02
Ok for you if i send it to you by email (i still have your address)? Its the zip of the cleaned up project, there could be still some personal data inside, so i would prefer not to post it in public smilie

Author: davetcc
19/04/2022 12:32:21
Yep just send me the platformio.ini settings by any means in that case. I just need the overall settings that you’re using.




Register / Login  |  Desktop view  |  Jump to top of page