jacobez
Joined: Mar 21, 2021
Messages: 10
Offline
|
Hi Dave,
Thanks for the note.
I've upgraded the Designer and built a basic menu for a DFR board installed on a Mega 2560 to test. I do however keep on getting the below error & even rolled back the tcMenu library to 2.4.
What could be the issue?
"C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp: In member function 'void MenuManager::performDirectionMove(bool)': C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp:57:78: error: no matching function for call to 'SwitchInput::changeEncoderPrecision(int, int&, int, bool)' isWrapAroundEncoder(editableItem)); ^ In file included from C:\..\Arduino\libraries\IoAbstraction\src/IoAbstraction.h:306:0, from C:\..\Arduino\libraries\tcMenu\src\tcMenu.h:9, from C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp:7: C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:553:7: note: candidate: void SwitchInput::changeEncoderPrecision(uint16_t, uint16_t) void changeEncoderPrecision(uint16_t precision, uint16_t currentValue) { changeEncoderPrecision(0, precision, currentValue, false, 1); } ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:553:7: note: candidate expects 2 arguments, 4 provided C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:563:10: note: candidate: void SwitchInput::changeEncoderPrecision(uint8_t, uint16_t, uint16_t) void changeEncoderPrecision(uint8_t slot, uint16_t precision, uint16_t currentValue) { changeEncoderPrecision(slot, precision, currentValue, false, 1); } ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:563:10: note: candidate expects 3 arguments, 4 provided C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:575:7: note: candidate: void SwitchInput::changeEncoderPrecision(uint8_t, uint16_t, uint16_t, bool, int) void changeEncoderPrecision(uint8_t slot, uint16_t precision, uint16_t currentValue, bool rollover, int step); ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:575:7: note: candidate expects 5 arguments, 4 provided C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp: In member function 'void MenuManager::stopEditingCurrentItem(bool)': C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp:206:78: error: no matching function for call to 'SwitchInput::changeEncoderPrecision(int, int&, int, bool)' isWrapAroundEncoder(editableItem)); ^ In file included from C:\..\Arduino\libraries\IoAbstraction\src/IoAbstraction.h:306:0, from C:\..\Arduino\libraries\tcMenu\src\tcMenu.h:9, from C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp:7: C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:553:7: note: candidate: void SwitchInput::changeEncoderPrecision(uint16_t, uint16_t) void changeEncoderPrecision(uint16_t precision, uint16_t currentValue) { changeEncoderPrecision(0, precision, currentValue, false, 1); } ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:553:7: note: candidate expects 2 arguments, 4 provided C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:563:10: note: candidate: void SwitchInput::changeEncoderPrecision(uint8_t, uint16_t, uint16_t) void changeEncoderPrecision(uint8_t slot, uint16_t precision, uint16_t currentValue) { changeEncoderPrecision(slot, precision, currentValue, false, 1); } ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:563:10: note: candidate expects 3 arguments, 4 provided C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:575:7: note: candidate: void SwitchInput::changeEncoderPrecision(uint8_t, uint16_t, uint16_t, bool, int) void changeEncoderPrecision(uint8_t slot, uint16_t precision, uint16_t currentValue, bool rollover, int step); ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:575:7: note: candidate expects 5 arguments, 4 provided C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp: In member function 'void MenuManager::setupForEditing(MenuItem*)': C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp:302:75: error: no matching function for call to 'SwitchInput::changeEncoderPrecision(int, uint16_t, int, bool)' isWrapAroundEncoder(currentEditor)); ^ In file included from C:\..\Arduino\libraries\IoAbstraction\src/IoAbstraction.h:306:0, from C:\..\Arduino\libraries\tcMenu\src\tcMenu.h:9, from C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp:7: C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:553:7: note: candidate: void SwitchInput::changeEncoderPrecision(uint16_t, uint16_t) void changeEncoderPrecision(uint16_t precision, uint16_t currentValue) { changeEncoderPrecision(0, precision, currentValue, false, 1); } ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:553:7: note: candidate expects 2 arguments, 4 provided C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:563:10: note: candidate: void SwitchInput::changeEncoderPrecision(uint8_t, uint16_t, uint16_t) void changeEncoderPrecision(uint8_t slot, uint16_t precision, uint16_t currentValue) { changeEncoderPrecision(slot, precision, currentValue, false, 1); } ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:563:10: note: candidate expects 3 arguments, 4 provided C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:575:7: note: candidate: void SwitchInput::changeEncoderPrecision(uint8_t, uint16_t, uint16_t, bool, int) void changeEncoderPrecision(uint8_t slot, uint16_t precision, uint16_t currentValue, bool rollover, int step); ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:575:7: note: candidate expects 5 arguments, 4 provided C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp:309:107: error: no matching function for call to 'SwitchInput::changeEncoderPrecision(int, int&, int, menuid_t)' switches.changeEncoderPrecision(0, range, editableItem->getPartValueAsInt(), editableItem->getId()); ^ In file included from C:\..\Arduino\libraries\IoAbstraction\src/IoAbstraction.h:306:0, from C:\..\Arduino\libraries\tcMenu\src\tcMenu.h:9, from C:\..\Arduino\libraries\tcMenu\src\tcMenu.cpp:7: C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:553:7: note: candidate: void SwitchInput::changeEncoderPrecision(uint16_t, uint16_t) void changeEncoderPrecision(uint16_t precision, uint16_t currentValue) { changeEncoderPrecision(0, precision, currentValue, false, 1); } ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:553:7: note: candidate expects 2 arguments, 4 provided C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:563:10: note: candidate: void SwitchInput::changeEncoderPrecision(uint8_t, uint16_t, uint16_t) void changeEncoderPrecision(uint8_t slot, uint16_t precision, uint16_t currentValue) { changeEncoderPrecision(slot, precision, currentValue, false, 1); } ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:563:10: note: candidate expects 3 arguments, 4 provided C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:575:7: note: candidate: void SwitchInput::changeEncoderPrecision(uint8_t, uint16_t, uint16_t, bool, int) void changeEncoderPrecision(uint8_t slot, uint16_t precision, uint16_t currentValue, bool rollover, int step); ^~~~~~~~~~~~~~~~~~~~~~ C:\..\Arduino\libraries\IoAbstraction\src/SwitchInput.h:575:7: note: candidate expects 5 arguments, 4 provided
Filename |
JBtcMenuTestDFRobot.zip |
Download
|
Description |
No description given |
Filesize |
7 Kbytes
|
Downloaded: |
113 time(s) |
|
jacobez
Joined: Mar 21, 2021
Messages: 10
Offline
|
Thanks Dave,
I've done so, but now get the following error with the exact same file after regenerating the code on the Designer.
C:\ARDTemp\libraries\IoAbstraction\TextUtilities.cpp.o (symbol from plugin): In function `appendChar(char*, char, int)': (.text+0x0): multiple definition of `appendChar(char*, char, int)' C:\ARDTemp\libraries\tcMenu\tcUtil.cpp.o (symbol from plugin).text+0x0): first defined here C:\ARDTemp\libraries\IoAbstraction\TextUtilities.cpp.o (symbol from plugin): In function `appendChar(char*, char, int)': (.text+0x0): multiple definition of `dpToDivisor(int)' C:\ARDTemp\libraries\tcMenu\tcUtil.cpp.o (symbol from plugin).text+0x0): first defined here C:\ARDTemp\libraries\IoAbstraction\TextUtilities.cpp.o (symbol from plugin): In function `appendChar(char*, char, int)': (.text+0x0): multiple definition of `valueToSignificantPlaces(unsigned long, bool)' C:\ARDTemp\libraries\tcMenu\tcUtil.cpp.o (symbol from plugin).text+0x0): first defined here C:\ARDTemp\libraries\IoAbstraction\TextUtilities.cpp.o (symbol from plugin): In function `appendChar(char*, char, int)': (.text+0x0): multiple definition of `fastltoa_mv(char*, long, long, char, int)' C:\ARDTemp\libraries\tcMenu\tcUtil.cpp.o (symbol from plugin).text+0x0): first defined here C:\ARDTemp\libraries\IoAbstraction\TextUtilities.cpp.o (symbol from plugin): In function `appendChar(char*, char, int)': (.text+0x0): multiple definition of `ltoaClrBuff(char*, long, unsigned char, char, int)' C:\ARDTemp\libraries\tcMenu\tcUtil.cpp.o (symbol from plugin).text+0x0): first defined here C:\ARDTemp\libraries\IoAbstraction\TextUtilities.cpp.o (symbol from plugin): In function `appendChar(char*, char, int)': (.text+0x0): multiple definition of `fastltoa(char*, long, unsigned char, char, int)' C:\ARDTemp\libraries\tcMenu\tcUtil.cpp.o (symbol from plugin).text+0x0): first defined here C:\ARDTemp\libraries\IoAbstraction\TextUtilities.cpp.o (symbol from plugin): In function `appendChar(char*, char, int)': (.text+0x0): multiple definition of `fastftoa(char*, float, int, int)' C:\ARDTemp\libraries\tcMenu\tcUtil.cpp.o (symbol from plugin).text+0x0): first defined here collect2.exe: error: ld returned 1 exit status
|