Right now the frame size can not be bigger than the payload size. This may cause problems.
For example, if we deploy a mote without any network module (or with 4G or Iridium) it will save frames up to 255 bytes long. If then we attach an XBee module it won't be able to send the saved frames, because the payload is only 73 bytes.
This task is to:
Set the frame size to 255 bytes, always. This can be more than the payload size (XBee) or less (Iridium).
When sending, if a frame is larger than the frame size, then split it, and send the fragments. Move to the next frame in the queue only when we've received the ack for the last fragment.
With this change we will loss a bit of network efficiency with the XBee, because if we send a fragment successfully but not the whole frame, then we will send the first fragment again next time.
Right now the frame size can not be bigger than the payload size. This may cause problems.
For example, if we deploy a mote without any network module (or with 4G or Iridium) it will save frames up to 255 bytes long. If then we attach an XBee module it won't be able to send the saved frames, because the payload is only 73 bytes.
This task is to:
Set the frame size to 255 bytes, always. This can be more than the payload size (XBee) or less (Iridium).
When sending, if a frame is larger than the frame size, then split it, and send the fragments. Move to the next frame in the queue only when we've received the ack for the last fragment.
With this change we will loss a bit of network efficiency with the XBee, because if we send a fragment successfully but not the whole frame, then we will send the first fragment again next time.