Compilation failure
-
Hi - I've been using MySensors for a while and have a growing HA capability now with my own controller and also Home Assistant.
I use NodeMCU ESP8266s for everything - basically, every node is a WiFi, MQTT Gateway. That all works fine.
This weekend, I came to build another node but it will no longer compile. I have spent many hours tearing down and re-installing the Arduino IDE but it continues to fail with the same error:<pre>
In file included from c:\Users\mark\Documents\Arduino\libraries\MySensors/MySensors.h:441,
from C:\Users\mark\AppData\Local\Temp.arduinoIDE-unsaved2023015-9648-6o2zl8.84f1\GatewayESP8266\GatewayESP8266.ino:114:
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'bool can_yield()':
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:95:9: error: 'cont_can_yield' was not declared in this scope; did you mean 'can_yield'?
95 | return cont_can_yield(g_pcont);
| ^~~~~~~~~~~~~~
| can_yield
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'void esp_yield_within_cont()':
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:101:2: error: 'cont_yield' was not declared in this scope; did you mean 'can_yield'?
101 | cont_yield(g_pcont);
| ^~~~~~~~~~
| can_yield
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'void loop_task(ETSEvent*)':
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:199:26: error: invalid operands of types 'void' and 'int' to binary 'operator!='
199 | if (cont_check(g_pcont) != 0) {
| ~~~~~~~~~~~~~~~~~~~ ^~ ~
| | |
| void int
</pre>
The above is the basic ESP8266 Gateway with no sensors and the RF removed - so as basic as it can be!I have tried all sorts of ways to hack it to bring the cont.h code in but I cannot get it to work.
Any help would be really appreciated as this is really critical for my home network. If I can't sort this out I will have to completely rebuild the whole system using something else - and I'm not even sure what that might be! My controller is now a couple of thousand lines of code and I have some home-grown integrations to Shelly devices and a heat pump...
Thanks,
Mark.
-
Hi - I've been using MySensors for a while and have a growing HA capability now with my own controller and also Home Assistant.
I use NodeMCU ESP8266s for everything - basically, every node is a WiFi, MQTT Gateway. That all works fine.
This weekend, I came to build another node but it will no longer compile. I have spent many hours tearing down and re-installing the Arduino IDE but it continues to fail with the same error:<pre>
In file included from c:\Users\mark\Documents\Arduino\libraries\MySensors/MySensors.h:441,
from C:\Users\mark\AppData\Local\Temp.arduinoIDE-unsaved2023015-9648-6o2zl8.84f1\GatewayESP8266\GatewayESP8266.ino:114:
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'bool can_yield()':
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:95:9: error: 'cont_can_yield' was not declared in this scope; did you mean 'can_yield'?
95 | return cont_can_yield(g_pcont);
| ^~~~~~~~~~~~~~
| can_yield
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'void esp_yield_within_cont()':
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:101:2: error: 'cont_yield' was not declared in this scope; did you mean 'can_yield'?
101 | cont_yield(g_pcont);
| ^~~~~~~~~~
| can_yield
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'void loop_task(ETSEvent*)':
c:\Users\mark\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:199:26: error: invalid operands of types 'void' and 'int' to binary 'operator!='
199 | if (cont_check(g_pcont) != 0) {
| ~~~~~~~~~~~~~~~~~~~ ^~ ~
| | |
| void int
</pre>
The above is the basic ESP8266 Gateway with no sensors and the RF removed - so as basic as it can be!I have tried all sorts of ways to hack it to bring the cont.h code in but I cannot get it to work.
Any help would be really appreciated as this is really critical for my home network. If I can't sort this out I will have to completely rebuild the whole system using something else - and I'm not even sure what that might be! My controller is now a couple of thousand lines of code and I have some home-grown integrations to Shelly devices and a heat pump...
Thanks,
Mark.
-
Wow - given the age of the most recent messages on here, I wondered if I would get a response.
Many thanks for responding so quickly and my problem is resolved.
[ Note I now also have PlatformIO installed and that compiled the sketch at the first attempt. I can't work out which version of the board it is using, as it uses different naming conventions, but I think it is the most recent. ]
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login