|  | 
| #define | RFM69_SPI   hwSPI | 
|  | default SPI 
 | 
|  | 
| #define | DEFAULT_RFM69_IRQ_PIN   (2) | 
|  | DEFAULT_RFM69_IRQ_PIN. 
 | 
|  | 
| #define | DEFAULT_RFM69_CS_PIN   (SS) | 
|  | DEFAULT_RFM69_CS_PIN. 
 | 
|  | 
| #define | RFM69_SPI_DATA_ORDER   MSBFIRST | 
|  | SPI data order. 
 | 
|  | 
| #define | RFM69_SPI_DATA_MODE   SPI_MODE0 | 
|  | SPI mode. 
 | 
|  | 
| #define | RFM69_SYNCVALUE1   (0x2D) | 
|  | Make this compatible with sync1 byte of RFM12B lib. 
 | 
|  | 
| #define | RFM69_VERSION_HW | 
|  | HW version. 
 | 
|  | 
| #define | RFM69_MIN_POWER_LEVEL_DBM   ((rfm69_powerlevel_t)-2) | 
|  | min. power level, -2dBm 
 | 
|  | 
| #define | RFM69_MAX_POWER_LEVEL_DBM   ((rfm69_powerlevel_t)20) | 
|  | max. power level, +20dBm 
 | 
|  | 
| #define | RFM69_FIFO_SIZE   (0xFFu) | 
|  | Max number of bytes the Rx/Tx FIFO can hold. 
 | 
|  | 
| #define | RFM69_MAX_PACKET_LEN   static_cast<size_t>(0x40u) | 
|  | This is the maximum number of bytes that can be carried. 
 | 
|  | 
| #define | RFM69_ATC_TARGET_RANGE_DBM   (2u) | 
|  | ATC target range +/- dBm. 
 | 
|  | 
| #define | RFM69_PACKET_HEADER_VERSION   (1u) | 
|  | RFM69 packet header version. 
 | 
|  | 
| #define | RFM69_MIN_PACKET_HEADER_VERSION   (1u) | 
|  | Minimal RFM69 packet header version. 
 | 
|  | 
| #define | RFM69_RETRIES   (5u) | 
|  | Retries in case of failed transmission. 
 | 
|  | 
| #define | RFM69_RETRY_TIMEOUT_MS   (200ul) | 
|  | Timeout for ACK, adjustments needed if modem configuration changed (air time different) 
 | 
|  | 
| #define | RFM69_MODE_READY_TIMEOUT_MS   (50ul) | 
|  | Timeout for mode ready. 
 | 
|  | 
| #define | RFM69_ACK_REQUESTED   (7u) | 
|  | RFM69 header, controlFlag, bit 7. 
 | 
|  | 
| #define | RFM69_ACK_RECEIVED   (6u) | 
|  | RFM69 header, controlFlag, bit 6. 
 | 
|  | 
| #define | RFM69_ACK_RSSI_REPORT   (5u) | 
|  | RFM69 header, controlFlag, bit 5. 
 | 
|  | 
| #define | RFM69_BROADCAST_ADDRESS   (255u) | 
|  | Broadcasting address. 
 | 
|  | 
| #define | RFM69_TARGET_RSSI_DBM   (-75) | 
|  | RSSI target. 
 | 
|  | 
| #define | RFM69_HIGH_POWER_DBM   (18u) | 
|  | High power threshold, dBm. 
 | 
|  | 
| #define | MY_RFM69_TX_TIMEOUT_MS   (2*1000ul) | 
|  | Timeout for packet sent. 
 | 
|  | 
| #define | MY_RFM69_CSMA_LIMIT_DBM   (-95) | 
|  | upper RX signal sensitivity threshold in dBm for carrier sense access 
 | 
|  | 
| #define | MY_RFM69_CSMA_TIMEOUT_MS   (500ul) | 
|  | CSMA timeout. 
 | 
|  | 
| #define | RFM69_POWERUP_DELAY_MS   (100ul) | 
|  | Power up delay, allow VCC to settle, transport to become fully operational. 
 | 
|  | 
| #define | RFM69_315MHZ   (315000000ul) | 
|  | RFM69_315MHZ. 
 | 
|  | 
| #define | RFM69_433MHZ   (433920000ul) | 
|  | RFM69_433MHZ, center frequency 433.92 MHz. 
 | 
|  | 
| #define | RFM69_865MHZ   (865500000ul) | 
|  | RFM69_865MHZ, center frequency 865.5 MHz. 
 | 
|  | 
| #define | RFM69_868MHZ   (868000000ul) | 
|  | RFM69_868MHZ. 
 | 
|  | 
| #define | RFM69_915MHZ   (915000000ul) | 
|  | RFM69_915MHZ. 
 | 
|  | 
| #define | RFM69_COURSE_TEMP_COEF   (-90) | 
|  | puts the temperature reading in the ballpark, user can fine tune the returned value 
 | 
|  | 
| #define | RFM69_FXOSC   (32*1000000ul) | 
|  | OSC freq, 32MHz. 
 | 
|  | 
| #define | RFM69_FSTEP   (RFM69_FXOSC / 524288.0f) | 
|  | FXOSC / 2^19 = 32MHz / 2^19 (p13 in datasheet) 
 | 
|  | 
| #define | RFM69_getACKRequested(__value)   ((bool)bitRead(__value,RFM69_ACK_REQUESTED)) | 
|  | getACKRequested 
 | 
|  | 
| #define | RFM69_setACKRequested(__value,  __flag)   bitWrite(__value,RFM69_ACK_REQUESTED,__flag) | 
|  | setACKRequested 
 | 
|  | 
| #define | RFM69_getACKReceived(__value)   ((bool)bitRead(__value,RFM69_ACK_RECEIVED)) | 
|  | getACKReceived 
 | 
|  | 
| #define | RFM69_setACKReceived(__value,  __flag)   bitWrite(__value,RFM69_ACK_RECEIVED,__flag) | 
|  | setACKReceived 
 | 
|  | 
| #define | RFM69_setACKRSSIReport(__value,  __flag)   bitWrite(__value,RFM69_ACK_RSSI_REPORT,__flag) | 
|  | setACKRSSIReport 
 | 
|  | 
| #define | RFM69_getACKRSSIReport(__value)   ((bool)bitRead(__value,RFM69_ACK_RSSI_REPORT)) | 
|  | getACKRSSIReport 
 | 
|  | 
| #define | RFM69_READ_REGISTER   (0x7Fu) | 
|  | reading register 
 | 
|  | 
| #define | RFM69_WRITE_REGISTER   (0x80u) | 
|  | writing register 
 | 
|  | 
| #define | RFM69_CONFIG_FSK   (RFM69_DATAMODUL_DATAMODE_PACKET | RFM69_DATAMODUL_MODULATIONTYPE_FSK | RFM69_DATAMODUL_MODULATIONSHAPING_00) | 
|  | RFM69_CONFIG_FSK. 
 | 
|  | 
| #define | RFM69_CONFIG_GFSK   (RFM69_DATAMODUL_DATAMODE_PACKET | RFM69_DATAMODUL_MODULATIONTYPE_FSK | RFM69_DATAMODUL_MODULATIONSHAPING_10) | 
|  | RFM69_CONFIG_GFSK. 
 | 
|  | 
| #define | RFM69_CONFIG_OOK   (RFM69_DATAMODUL_DATAMODE_PACKET | RFM69_DATAMODUL_MODULATIONTYPE_OOK | RFM69_DATAMODUL_MODULATIONSHAPING_00) | 
|  | RFM69_CONFIG_OOK. 
 | 
|  | 
| #define | RFM69_CONFIG_NOWHITE   (RFM69_PACKET1_FORMAT_VARIABLE | RFM69_PACKET1_DCFREE_OFF | RFM69_PACKET1_CRC_ON | RFM69_PACKET1_CRCAUTOCLEAR_ON | RFM69_PACKET1_ADRSFILTERING_NODEBROADCAST) | 
|  | RFM69_CONFIG_NOWHITE. 
 | 
|  | 
| #define | RFM69_CONFIG_WHITE   (RFM69_PACKET1_FORMAT_VARIABLE | RFM69_PACKET1_DCFREE_WHITENING | RFM69_PACKET1_CRC_ON | RFM69_PACKET1_CRCAUTOCLEAR_ON | RFM69_PACKET1_ADRSFILTERING_NODEBROADCAST) | 
|  | RFM69_CONFIG_WHITE. 
 | 
|  | 
| #define | RFM69_CONFIG_MANCHESTER   (RFM69_PACKET1_FORMAT_VARIABLE | RFM69_PACKET1_DCFREE_MANCHESTER | RFM69_PACKET1_CRC_ON | RFM69_PACKET1_CRCAUTOCLEAR_ON | RFM69_PACKET1_ADRSFILTERING_NODEBROADCAST) | 
|  | RFM69_CONFIG_MANCHESTER. 
 | 
|  | 
| #define | RFM69_RXBW_111_24_4   (RFM69_RXBW_DCCFREQ_111 | RFM69_RXBW_MANT_24 | RFM69_RXBW_EXP_4) | 
|  | RFM69_RXBW_111_24_4. 
 | 
|  | 
| #define | RFM69_RXBW_111_24_3   (RFM69_RXBW_DCCFREQ_111 | RFM69_RXBW_MANT_24 | RFM69_RXBW_EXP_3) | 
|  | RFM69_RXBW_111_24_3. 
 | 
|  | 
| #define | RFM69_RXBW_111_24_2   (RFM69_RXBW_DCCFREQ_111 | RFM69_RXBW_MANT_24 | RFM69_RXBW_EXP_2) | 
|  | RFM69_RXBW_111_24_2. 
 | 
|  | 
| #define | RFM69_RXBW_111_16_2   (RFM69_RXBW_DCCFREQ_111 | RFM69_RXBW_MANT_16 | RFM69_RXBW_EXP_2) | 
|  | RFM69_RXBW_111_16_2. 
 | 
|  | 
| #define | RFM69_RXBW_111_16_1   (RFM69_RXBW_DCCFREQ_111 | RFM69_RXBW_MANT_16 | RFM69_RXBW_EXP_1) | 
|  | RFM69_RXBW_111_16_1. 
 | 
|  | 
| #define | RFM69_RXBW_111_16_0   (RFM69_RXBW_DCCFREQ_111 | RFM69_RXBW_MANT_16 | RFM69_RXBW_EXP_0) | 
|  | RFM69_RXBW_111_16_0. 
 | 
|  | 
| #define | RFM69_RXBW_010_16_2   (RFM69_RXBW_DCCFREQ_010 | RFM69_RXBW_MANT_16 | RFM69_RXBW_EXP_2) | 
|  | RFM69_RXBW_010_16_2. 
 | 
|  | 
| #define | RFM69_FSK_BR2_FD5   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_2000, RFM69_BITRATELSB_2000, RFM69_FDEVMSB_5000, RFM69_FDEVLSB_5000, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR2_FD5. 
 | 
|  | 
| #define | RFM69_FSK_BR2_4_FD4_8   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_2400, RFM69_BITRATELSB_2400, RFM69_FDEVMSB_4800, RFM69_FDEVLSB_4800, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR2_4_FD4_8. 
 | 
|  | 
| #define | RFM69_FSK_BR4_8_FD9_6   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_4800, RFM69_BITRATELSB_4800, RFM69_FDEVMSB_9600, RFM69_FDEVLSB_9600, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR4_8_FD9_6. 
 | 
|  | 
| #define | RFM69_FSK_BR9_6_FD19_2   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_9600, RFM69_BITRATELSB_9600, RFM69_FDEVMSB_19200, RFM69_FDEVLSB_19200, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR9_6_FD19_2. 
 | 
|  | 
| #define | RFM69_FSK_BR19_2_FD38_4   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_19200, RFM69_BITRATELSB_19200, RFM69_FDEVMSB_38400, RFM69_FDEVLSB_38400, RFM69_RXBW_111_24_3, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR19_2_FD38_4. 
 | 
|  | 
| #define | RFM69_FSK_BR38_4_FD76_8   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_38400, RFM69_BITRATELSB_38400, RFM69_FDEVMSB_76800, RFM69_FDEVLSB_76800, RFM69_RXBW_111_24_2, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR38_4_FD76_8. 
 | 
|  | 
| #define | RFM69_FSK_BR55_5_FD50   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_55555, RFM69_BITRATELSB_55555, RFM69_FDEVMSB_50000, RFM69_FDEVLSB_50000, RFM69_RXBW_111_16_2, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR55_5_FD50. 
 | 
|  | 
| #define | RFM69_FSK_BR57_6_FD120   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_57600, RFM69_BITRATELSB_57600, RFM69_FDEVMSB_120000, RFM69_FDEVLSB_120000, RFM69_RXBW_111_16_1, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR57_6_FD120. 
 | 
|  | 
| #define | RFM69_FSK_BR125_FD125   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_125000, RFM69_BITRATELSB_125000, RFM69_FDEVMSB_125000, RFM69_FDEVLSB_125000, RFM69_RXBW_010_16_2, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR125_FD125. 
 | 
|  | 
| #define | RFM69_FSK_BR250_FD250   RFM69_CONFIG_FSK, RFM69_BITRATEMSB_250000, RFM69_BITRATELSB_250000, RFM69_FDEVMSB_250000, RFM69_FDEVLSB_250000, RFM69_RXBW_111_16_0, RFM69_CONFIG_WHITE | 
|  | RFM69_FSK_BR250_FD250. 
 | 
|  | 
| #define | RFM69_GFSK_BR2_FD5   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_2000, RFM69_BITRATELSB_2000, RFM69_FDEVMSB_5000, RFM69_FDEVLSB_5000, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR2_FD5. 
 | 
|  | 
| #define | RFM69_GFSK_BR2_4_FD4_8   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_2400, RFM69_BITRATELSB_2400, RFM69_FDEVMSB_4800, RFM69_FDEVLSB_4800, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR2_4_FD4_8. 
 | 
|  | 
| #define | RFM69_GFSK_BR4_8_FD9_6   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_4800, RFM69_BITRATELSB_4800, RFM69_FDEVMSB_9600, RFM69_FDEVLSB_9600, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR4_8_FD9_6. 
 | 
|  | 
| #define | RFM69_GFSK_BR9_6_FD19_2   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_9600, RFM69_BITRATELSB_9600, RFM69_FDEVMSB_19200, RFM69_FDEVLSB_19200, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR9_6_FD19_2. 
 | 
|  | 
| #define | RFM69_GFSK_BR19_2_FD38_4   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_19200, RFM69_BITRATELSB_19200, RFM69_FDEVMSB_38400, RFM69_FDEVLSB_38400, RFM69_RXBW_111_24_3, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR19_2_FD38_4. 
 | 
|  | 
| #define | RFM69_GFSK_BR38_4_FD76_8   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_38400, RFM69_BITRATELSB_38400, RFM69_FDEVMSB_76800, RFM69_FDEVLSB_76800, RFM69_RXBW_111_24_2, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR38_4_FD76_8. 
 | 
|  | 
| #define | RFM69_GFSK_BR55_5_FD50   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_55555, RFM69_BITRATELSB_55555, RFM69_FDEVMSB_50000, RFM69_FDEVLSB_50000, RFM69_RXBW_111_16_2, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR55_5_FD50. 
 | 
|  | 
| #define | RFM69_GFSK_BR57_6_FD120   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_57600, RFM69_BITRATELSB_57600, RFM69_FDEVMSB_120000, RFM69_FDEVLSB_120000, RFM69_RXBW_111_16_1, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR57_6_FD120. 
 | 
|  | 
| #define | RFM69_GFSK_BR125_FD125   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_125000, RFM69_BITRATELSB_125000, RFM69_FDEVMSB_125000, RFM69_FDEVLSB_125000, RFM69_RXBW_010_16_2, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR125_FD125. 
 | 
|  | 
| #define | RFM69_GFSK_BR250_FD250   RFM69_CONFIG_GFSK, RFM69_BITRATEMSB_250000, RFM69_BITRATELSB_250000, RFM69_FDEVMSB_250000, RFM69_FDEVLSB_250000, RFM69_RXBW_111_16_0, RFM69_CONFIG_WHITE | 
|  | RFM69_GFSK_BR250_FD250. 
 | 
|  | 
| #define | RFM69_OOK_BR2_FD5   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_2000, RFM69_BITRATELSB_2000, RFM69_FDEVMSB_5000, RFM69_FDEVLSB_5000, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR2_FD5. 
 | 
|  | 
| #define | RFM69_OOK_BR2_4_FD4_8   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_2400, RFM69_BITRATELSB_2400, RFM69_FDEVMSB_4800, RFM69_FDEVLSB_4800, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR2_4_FD4_8. 
 | 
|  | 
| #define | RFM69_OOK_BR4_8_FD9_6   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_4800, RFM69_BITRATELSB_4800, RFM69_FDEVMSB_9600, RFM69_FDEVLSB_9600, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR4_8_FD9_6. 
 | 
|  | 
| #define | RFM69_OOK_BR9_6_FD19_2   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_9600, RFM69_BITRATELSB_9600, RFM69_FDEVMSB_19200, RFM69_FDEVLSB_19200, RFM69_RXBW_111_24_4, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR9_6_FD19_2. 
 | 
|  | 
| #define | RFM69_OOK_BR19_2_FD38_4   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_19200, RFM69_BITRATELSB_19200, RFM69_FDEVMSB_38400, RFM69_FDEVLSB_38400, RFM69_RXBW_111_24_3, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR19_2_FD38_4. 
 | 
|  | 
| #define | RFM69_OOK_BR38_4_FD76_8   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_38400, RFM69_BITRATELSB_38400, RFM69_FDEVMSB_76800, RFM69_FDEVLSB_76800, RFM69_RXBW_111_24_2, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR38_4_FD76_8. 
 | 
|  | 
| #define | RFM69_OOK_BR55_5_FD50   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_55555, RFM69_BITRATELSB_55555, RFM69_FDEVMSB_50000, RFM69_FDEVLSB_50000, RFM69_RXBW_111_16_2, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR55_5_FD50. 
 | 
|  | 
| #define | RFM69_OOK_BR57_6_FD120   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_57600, RFM69_BITRATELSB_57600, RFM69_FDEVMSB_120000, RFM69_FDEVLSB_120000, RFM69_RXBW_111_16_1, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR57_6_FD120. 
 | 
|  | 
| #define | RFM69_OOK_BR125_FD125   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_125000, RFM69_BITRATELSB_125000, RFM69_FDEVMSB_125000, RFM69_FDEVLSB_125000, RFM69_RXBW_010_16_2, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR125_FD125. 
 | 
|  | 
| #define | RFM69_OOK_BR250_FD250   RFM69_CONFIG_OOK, RFM69_BITRATEMSB_250000, RFM69_BITRATELSB_250000, RFM69_FDEVMSB_250000, RFM69_FDEVLSB_250000, RFM69_RXBW_111_16_0, RFM69_CONFIG_WHITE | 
|  | RFM69_OOK_BR250_FD250. 
 | 
|  | 
| #define | MY_RFM69_MODEM_CONFIGURATION   RFM69_FSK_BR55_5_FD50 | 
|  | default setting, RFM69_FSK_BR55_5_FD50 
 | 
|  | 
| #define | RFM69_HEADER_LEN   sizeof(rfm69_header_t) | 
|  | Size header inside payload. 
 | 
|  | 
| #define | RFM69_MAX_PAYLOAD_LEN   (RFM69_MAX_PACKET_LEN - RFM69_HEADER_LEN) | 
|  | Max payload length. 
 | 
|  | 
| #define | LOCAL   static | 
|  | static 
 | 
|  | 
|  | 
| LOCAL void | RFM69_handler (void) | 
|  | RFM69_handler. 
 | 
|  | 
| LOCAL void | RFM69_clearFIFO (void) | 
|  | Clear flags and FIFO. 
 | 
|  | 
| LOCAL bool | RFM69_channelFree (void) | 
|  | Check for channel activity.  More... 
 | 
|  | 
| LOCAL void | RFM69_interruptHandling (void) | 
|  | RFM69_interruptHandling. 
 | 
|  | 
| LOCAL bool | RFM69_initialise (const uint32_t frequencyHz) | 
|  | Initialise the driver transport hardware and software.  More... 
 | 
|  | 
| LOCAL void | RFM69_setAddress (const uint8_t addr) | 
|  | Set the driver/node address.  More... 
 | 
|  | 
| LOCAL uint8_t | RFM69_getAddress (void) | 
|  | Get driver/node address.  More... 
 | 
|  | 
| LOCAL bool | RFM69_available (void) | 
|  | Tests whether a new message is available.  More... 
 | 
|  | 
| LOCAL uint8_t | RFM69_receive (uint8_t *buf, const uint8_t maxBufSize) | 
|  | If a valid message is received, copy it to buf and return length. 0 byte messages are permitted.  More... 
 | 
|  | 
| LOCAL bool | RFM69_sendFrame (rfm69_packet_t *packet, const bool increaseSequenceCounter=true) | 
|  | RFM69_sendFrame.  More... 
 | 
|  | 
| LOCAL bool | RFM69_send (const uint8_t recipient, uint8_t *data, const uint8_t len, const rfm69_controlFlags_t flags, const bool increaseSequenceCounter=true) | 
|  | RFM69_send.  More... 
 | 
|  | 
| LOCAL void | RFM69_setFrequency (const uint32_t frequencyHz) | 
|  | Sets the transmitter and receiver center frequency.  More... 
 | 
|  | 
| LOCAL bool | RFM69_setTxPowerLevel (rfm69_powerlevel_t newPowerLevel) | 
|  | Sets the transmitter power output level, and configures the transmitter pin.  More... 
 | 
|  | 
| LOCAL rfm69_powerlevel_t | RFM69_getTxPowerLevel (void) | 
|  | Reports the transmitter power output level in dBm.  More... 
 | 
|  | 
| LOCAL uint8_t | RFM69_getTxPowerPercent (void) | 
|  | Reports the transmitter power output level in percents.  More... 
 | 
|  | 
| LOCAL bool | RFM69_sleep (void) | 
|  | Sets the radio into low-power sleep mode.  More... 
 | 
|  | 
| LOCAL bool | RFM69_standBy (void) | 
|  | Sets the radio to standby mode.  More... 
 | 
|  | 
| LOCAL void | RFM69_powerDown (void) | 
|  | Power down radio (HW) 
 | 
|  | 
| LOCAL void | RFM69_powerUp (void) | 
|  | Power up radio (HW) 
 | 
|  | 
| LOCAL void | RFM69_sendACK (const uint8_t recipient, const rfm69_sequenceNumber_t sequenceNumber, const rfm69_RSSI_t RSSI) | 
|  | RFM69_sendACK.  More... 
 | 
|  | 
| LOCAL bool | RFM69_sendWithRetry (const uint8_t recipient, const void *buffer, const uint8_t bufferSize, const bool noACK) | 
|  | RFM69_sendWithRetry.  More... 
 | 
|  | 
| LOCAL bool | RFM69_setRadioMode (const rfm69_radio_mode_t newRadioMode) | 
|  | RFM69_setRadioMode.  More... 
 | 
|  | 
| LOCAL void | RFM69_interruptHandler (void) | 
|  | Low level interrupt handler. 
 | 
|  | 
| LOCAL int16_t | RFM69_getSendingRSSI (void) | 
|  | RFM69_getSendingRSSI.  More... 
 | 
|  | 
| LOCAL int16_t | RFM69_getReceivingRSSI (void) | 
|  | RFM69_getReceivingRSSI.  More... 
 | 
|  | 
| LOCAL bool | RFM69_executeATC (const rfm69_RSSI_t currentRSSI, const rfm69_RSSI_t targetRSSI) | 
|  | RFM69_executeATC.  More... 
 | 
|  | 
| LOCAL void | RFM69_setConfiguration (void) | 
|  | RFM69_setConfiguration Set general radio register configuration TODO temp use setmodemregisters. 
 | 
|  | 
| LOCAL bool | RFM69_isModeReady (void) | 
|  | RFM69_isModeReady.  More... 
 | 
|  | 
| LOCAL bool | RFM69_sanityCheck (void) | 
|  | RFM69_sanityCheck detect HW defect, configuration errors or interrupted SPI line.  More... 
 | 
|  | 
| LOCAL void | RFM69_encrypt (const char *key) | 
|  | RFM69_encrypt Set encryption mode.  More... 
 | 
|  | 
| LOCAL void | RFM69_setHighPowerRegs (const bool onOff) | 
|  | RFM69_setHighPowerRegs.  More... 
 | 
|  | 
| LOCAL rfm69_RSSI_t | RFM69_readRSSI (const bool forceTrigger=false) | 
|  | RFM69_readRSSI.  More... 
 | 
|  | 
| LOCAL void | RFM69_ATCmode (const bool onOff, const int16_t targetRSSI=RFM69_TARGET_RSSI_DBM) | 
|  | RFM69_ATCmode.  More... 
 | 
|  | 
| LOCAL void | RFM69_readAllRegs (void) | 
|  | RFM69_readAllRegs Read and display all RFM69 register contents.  More... 
 | 
|  |