7 #ifndef RF22ReliableDatagram_h
8 #define RF22ReliableDatagram_h
10 #include <RF22Datagram.h>
13 #define RF22_FLAGS_ACK 0x80
49 RF22ReliableDatagram(uint8_t thisAddress = 0, uint8_t slaveSelectPin = SS, uint8_t interrupt = 0);
73 boolean sendtoWait(uint8_t* buf, uint8_t len, uint8_t address);
93 boolean recvfromAck(uint8_t* buf, uint8_t* len, uint8_t* from = NULL, uint8_t* to = NULL, uint8_t*
id = NULL, uint8_t* flags = NULL);
108 boolean recvfromAckTimeout(uint8_t* buf, uint8_t* len, uint16_t timeout, uint8_t* from = NULL, uint8_t* to = NULL, uint8_t*
id = NULL, uint8_t* flags = NULL);
127 uint16_t _retransmissions;
131 uint8_t _lastSequenceNumber;
145 uint8_t _seenIds[256];
void acknowledge(uint8_t id, uint8_t from)
Definition: RF22ReliableDatagram.cpp:150
boolean sendtoWait(uint8_t *buf, uint8_t len, uint8_t address)
Definition: RF22ReliableDatagram.cpp:42
RF22ReliableDatagram(uint8_t thisAddress=0, uint8_t slaveSelectPin=SS, uint8_t interrupt=0)
Definition: RF22ReliableDatagram.cpp:19
uint16_t retransmissions()
Definition: RF22ReliableDatagram.cpp:145
boolean recvfromAck(uint8_t *buf, uint8_t *len, uint8_t *from=NULL, uint8_t *to=NULL, uint8_t *id=NULL, uint8_t *flags=NULL)
Definition: RF22ReliableDatagram.cpp:100
void setRetries(uint8_t retries)
Definition: RF22ReliableDatagram.cpp:36
void setTimeout(uint16_t timeout)
Definition: RF22ReliableDatagram.cpp:30
RF22 subclass for addressed, unreliable messages.
Definition: RF22Datagram.h:22
boolean recvfromAckTimeout(uint8_t *buf, uint8_t *len, uint16_t timeout, uint8_t *from=NULL, uint8_t *to=NULL, uint8_t *id=NULL, uint8_t *flags=NULL)
Definition: RF22ReliableDatagram.cpp:136
RF22 subclass for sending addressed, acknowledged, retransmitted datagrams.
Definition: RF22ReliableDatagram.h:41