myrobotlab not wurky for me

Arduino: 1.8.11 (Windows 10), Board: "Arduino Uno"
 
In file included from sketch\LinkedList.h:72:0,
 
                 from sketch\MrlComm.cpp:10:
 
sketch\LinkedList.cpp: In instantiation of 'LinkedList<T>::~LinkedList() [with T = Device*]':
 
sketch\MrlComm.cpp:29:18:   required from here
 
sketch\LinkedList.cpp:21:13: warning: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 
   while(root!=false) {
 
         ~~~~^~~~~~~
 
sketch\LinkedList.cpp: In instantiation of 'LinkedList<T>::~LinkedList() [with T = Pin*]':
 
sketch\MrlComm.cpp:29:18:   required from here
 
sketch\LinkedList.cpp:21:13: warning: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 
sketch\LinkedList.cpp: In instantiation of 'ListNode<T>* LinkedList<T>::getNode(int) [with T = Device*]':
 
sketch\LinkedList.cpp:182:29:   required from 'T LinkedList<T>::get(int) [with T = Device*]'
 
sketch\MrlComm.cpp:228:38:   required from here
 
LinkedList.cpp:53:10: error: cannot convert 'bool' to 'ListNode<Device*>*' in return
 
   return false;
 
          ^~~~~
 
sketch\LinkedList.cpp: In instantiation of 'ListNode<T>* LinkedList<T>::getNode(int) [with T = Pin*]':
 
sketch\LinkedList.cpp:170:29:   required from 'T LinkedList<T>::remove(int) [with T = Pin*]'
 
sketch\MrlComm.cpp:297:24:   required from here
 
LinkedList.cpp:53:10: error: cannot convert 'bool' to 'ListNode<Pin*>*' in return
 
exit status 1
cannot convert 'bool' to 'ListNode<Device*>*' in return
 
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
kwatters's picture

Newer versions of Arduino IDE are more strict

So, as it turns out later versions of the Arduino IDE are a bit more strict about certain syntax. 

In previous versions  ( version 1.6.8 for example.)  you could get away with saying "return false" as meaning the same thing as "return 0" or "return NULL"...

Newer versions of the Arduino IDE no longer allow this syntax.  (admittedly, it's probably a good thing ..) anyway...  

The fix is as follows:

On line 53 of LinkedList.cpp , please change the line from

return false;

to 

return NULL;

 

This fix / change was already done on the develop branch... for reference it's here:

https://github.com/MyRobotLab/myrobotlab/blob/develop/src/main/resources/resource/Arduino/MrlComm/LinkedList.cpp#L53

 

 

Sashi DaSage's picture

Thank You for this update!

Thank You for this update!

Ray.Edgley's picture

Windows Version of Arduino IDE

Hello,
I noticed when compiling the Marlin Firmware in the Arduino IDE, if you have the version thats installed from the Microsoft App Store, the compile files with various libraries not found..
However, if you download the version for the Arduino site and install it instead, the compiles work fine.
The software can be found at https://www.arduino.cc/en/Main/Software

On the right side of thelist choose the top option, Windows Installer, for Windows XP and up

That version works well on Windows 10.

Hope that helps.

Ray