receiving numbers bigger than unsigned long
I know an arduino is capable of using uint16_t type variables. But how do I get them transfered within the mysensors framework? I know there are way to read int (
message.getint) and long (
message.getlong) for usage in
void receive(), but how do I receive an uint64_t number? I couldn't find a documentation about this. But as far as I read the max payload is 25 byte, so it should fit in.
You can send custom data structures using:
... and pick them up using:
Thanks a lot @hek
What do I have to write for length at
MyMessage& MyMessage::set(void* value, uint8_t length)? Is it 8 byte or 64 bit? Is MAX_PAYLOAD defined in byte or bit (or something else)?
64bit / 8 = 8 bytes length
well yeah thats obvious, my question was more about the specific syntax (but that was not very clear).
Which of the following do I have to use?
uint64_t value; send(Mymessage.set(value,8); send(Mymessage.set(value,64); send(Mymessage.set(value,8 byte); ...
uint64_t value; send(Mymessage.set(&value, sizeof(value) );