On Apr 24, 2006, at 10:07 AM, David Gay wrote:
It's historical. The original TinyOS motes had a radio that was controlled by software at the bit level, and somebody (Jason?) found that 36 bytes/packet was a good place to be (maximise throughput, minimise chance of packets getting lost because of software timing glitches). That was 30 bytes of payload, 4 bytes of header, and 2 bytes of CRC. Packets were always 36 bytes. Then someone added variable-length packets, adding 1 byte (the length...) to the header. Hence 29 bytes of payload. Still later, someone added the option for a different payload length, but the default is 29. At this point it's still 29 bytes because: - nobody has bothered to change the default - it avoids the message buffers taking too much RAM
Furthermore, bandwidth is not usually the critical metric for low- power embedded wireless nodes that have a <1% duty cycle. There are of course situations where it's important, but the assumption is that in those cases you can increase the payload size. Ehile telosB motes and their derivatives have 10K, not all MCUs do, and precluding TinyOS from running on a microcontroller that isn't the biggest you can buy would be a bad idea.
Phil _______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
