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.


  • Mod

    Welcome to the forum @mtedds

    If you haven't already, downgrade the esp8266 board definitions to 2.6.2. See also https://forum.mysensors.org/post/113281



  • 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. ]


Log in to reply
 

Suggested Topics

  • 1
  • 10
  • 2
  • 2
  • 2
  • 198

1
Online

11.2k
Users

11.1k
Topics

112.5k
Posts