8 enum { F_EXT = -6, F_STR, F_8, F_4, F_2, F_1 };
11 uint8_t txbase, txfill, txfields, txPending;
13 uint8_t rxpos, rxfield, ackHead, ackData;
15 void initBuf(uint8_t base);
16 void addToBuf(uint8_t type,
const void *ptr, uint8_t len);
19 RF12 () : txPending (0), ackHead (0) { initBuf(0); }
21 RF12& put(
const void*,
char);
22 RF12&
get(
void*, char);
23 uint8_t read() {
char v;
get(&v, F_1);
return v; }
25 RF12& operator<< (
char v) {
return put(&v, F_1); }
26 RF12& operator<< (
unsigned char v) {
return put(&v, F_1); }
27 RF12& operator<< (
int v) {
return put(&v, F_2); }
28 RF12& operator<< (
unsigned v) {
return put(&v, F_2); }
29 RF12& operator<< (
long v) {
return put(&v, F_4); }
30 RF12& operator<< (
unsigned long v) {
return put(&v, F_4); }
31 RF12& operator<< (
long long v) {
return put(&v, F_8); }
32 RF12& operator<< (
unsigned long long v) {
return put(&v, F_8); }
33 RF12& operator<< (
float v) {
return put(&v, F_4); }
34 RF12& operator<< (
double v) {
return put(&v, F_8); }
35 RF12& operator<< (
const char* v) {
return put(v, F_STR); }
36 RF12& operator<< (
const unsigned char* v) {
return put(v, F_STR); }
39 uint8_t ready()
const {
return txfill <=
sizeof txbuf - 72; }
43 RF12& operator>> (
char& v) {
return get(&v, F_1); }
44 RF12& operator>> (
unsigned char& v) {
return get(&v, F_1); }
45 RF12& operator>> (
int& v) {
return get(&v, F_2); }
46 RF12& operator>> (
unsigned& v) {
return get(&v, F_2); }
47 RF12& operator>> (
long& v) {
return get(&v, F_4); }
48 RF12& operator>> (
unsigned long& v) {
return get(&v, F_4); }
49 RF12& operator>> (
long long& v) {
return get(&v, F_8); }
50 RF12& operator>> (
unsigned long long& v) {
return get(&v, F_8); }
51 RF12& operator>> (
float& v) {
return get(&v, F_4); }
52 RF12& operator>> (
double& v) {
return get(&v, F_8); }
53 RF12& operator>> (
char* v) {
return get(v, F_STR); }
54 RF12& operator>> (
unsigned char* v) {
return get(v, F_STR); }
59 void to(uint8_t node) {}
60 uint8_t from() {
return 0; }
The millisecond timer can be used for timeouts up to 60000 milliseconds.
Definition: Ports.h:313
This class is NOT the RF12 driver. It provides a way to construct packets.
Definition: RF12sio.h:7