Interface: tos.lib.serial.SendBytePacket
interface SendBytePacket
This is an interface that a serial framing protocol provides and a serial
dispatcher uses. The call sequence should be as follows:
The dispatcher should call startSend, specifying the first byte to
send. The framing protocol can then signal as many nextBytes as it
wants/needs, to spool in the bytes. It continues to do so until it receives
a sendComplete call, which will almost certainly happen within a nextByte
signal (i.e., re-entrant to the framing protocol).
This allows the framing protocol to buffer as many bytes as it needs to to meet
timing requirements, jitter, etc.
- Author:
-
Philip Levis
-
Ben Greenstein
- Date:
-
August 7 2005
Commands
command error_t completeSend()
command error_t startSend(uint8_t first_byte)
Events
event uint8_t nextByte()
event void sendCompleted(error_t error)
Commands - Details
completeSend
command error_t completeSend()
- Returns:
-
Returns an error_t code indicating whether the framer accepts
this notification (SUCCESS) or not (FAIL).
startSend
command error_t startSend(uint8_t first_byte)
- Parameters:
-
first_byte - The first byte to be transmitted.
- Returns:
-
Returns an error_t code indicating either that the framer
has the resources available to transmit the frame (SUCCESS) or
not (EBUSY).
Events - Details
nextByte
event uint8_t nextByte()
- Returns:
-
The dispatcher must return the next byte to transmit
sendCompleted
event void sendCompleted(error_t error)
- Parameters:
-
error - The framer indicates whether it has successfully
accepted the entirety of the packet from the dispatcher (SUCCESS)
or not (FAIL).