-
• #2
So actually I figured it out that I was running int he max_size of a single advertistment packet.
I instead tried to split it up into 2 advertistment packets but it was not working right. Is the below code something that should work?
NRF.setAdvertising([{0xFFFF : [buttonEpoch]},{0x180F:[batteryLevel]}]);
-
• #3
the code you have should work, but you're supplying an array with one element, so it'll only be sending one byte (0..255) worth of data.
You can do:
NRF.setAdvertising({0xFFFF : [buttonEpoch>>24,buttonEpoch>>16,buttonEpoch>>8,buttonEpoch]});
which will transmit 4 bytes that can be reconstructed into a 32 bit int. Normally you'd have
... &255
there but it's sort of implicit since only the bottom 8 bits of each element is used anyway.If you want something that looks a bit nicer you can use DataView instead of all the bit shifting too.
Trying to advertise last button press epoch time. Whenever I do something like the following:
Seems like the serviceData is only 2 bytes. Is this a known limitation of using advertising for data?
I am able to put large integers into the manufacturing data but i'm using that now and dont have enough room.