send(msg(double)); gives an error



  • I have defiened a MyMessage as this:

    MyMessage msgSpeed(WIND_CHILD_ID, V_WIND);
    

    Present it like this:

    present(WIND_CHILD_ID, S_WIND);
    

    And I get an error for this row since windSpeed is a double.

    send(msgSpeed.set(windSpeed));
    

    Get the error message:
    Wind:94: error: call of overloaded 'set(double&)' is ambiguous

    Is it so that I can't send anything other than an INT for windspeed?


  • Hero Member

    @Martin-Tellblom It depends on the type of the variable (windspeed) you are trying to send how you send it. sometimes you need to specify decimals. See below taken from the API

    // Setters for payload
    MyMessage& set(void* payload, uint8_t length);
    MyMessage& set(const char* value);
    MyMessage& set(uint8_t value);
    MyMessage& set(float value, uint8_t decimals);
    MyMessage& set(unsigned long value);
    MyMessage& set(long value);
    MyMessage& set(unsigned int value);
    MyMessage& set(int value);
    


  • Thank you @AWI , I missed that one.


 

326
Online

7.4k
Users

8.3k
Topics

89.7k
Posts