89 #define RFM73_LIB_VERSION "V1.04 (2013-06-14)" 94 #define RFM73_MAX_PACKET_LEN 32 112 #define RFM73_CMD_R_RX_PAYLOAD 0x61 115 #define RFM73_CMD_W_TX_PAYLOAD 0xA0 118 #define RFM73_CMD_FLUSH_TX 0xE1 121 #define RFM73_CMD_FLUSH_RX 0xE2 124 #define RFM73_CMD_REUSE_TX_PL 0xE3 127 #define RFM73_CMD_W_TX_PAYLOAD_NOACK 0xB0 130 #define RFM73_CMD_W_ACK_PAYLOAD 0xA8 133 #define RFM73_CMD_ACTIVATE 0x50 136 #define RFM73_CMD_R_RX_PL_WID 0x60 139 #define RFM73_CMD_NOP 0xFF 158 #define RFM73_REG_CONFIG 0x00 170 #define RFM73_REG_EN_AA 0x01 182 #define RFM73_REG_EN_RXADDR 0x02 189 #define RFM73_REG_SETUP_AW 0x03 196 #define RFM73_REG_SETUP_RETR 0x04 201 #define RFM73_REG_RF_CH 0x05 212 #define RFM73_REG_RF_SETUP 0x06 231 #define RFM73_REG_STATUS 0x07 244 #define RFM73_REG_OBSERVE_TX 0x08 251 #define RFM73_REG_CD 0x09 258 #define RFM73_REG_RX_ADDR_P0 0x0A 265 #define RFM73_REG_RX_ADDR_P1 0x0B 272 #define RFM73_REG_RX_ADDR_P2 0x0C 279 #define RFM73_REG_RX_ADDR_P3 0x0D 286 #define RFM73_REG_RX_ADDR_P4 0x0E 293 #define RFM73_REG_RX_ADDR_P5 0x0F 300 #define RFM73_REG_TX_ADDR 0x10 306 #define RFM73_REG_RX_PW_P0 0x11 312 #define RFM73_REG_RX_PW_P1 0x12 318 #define RFM73_REG_RX_PW_P2 0x13 324 #define RFM73_REG_RX_PW_P3 0x14 330 #define RFM73_REG_RX_PW_P4 0x15 336 #define RFM73_REG_RX_PW_P5 0x16 348 #define RFM73_REG_FIFO_STATUS 0x17 362 #define RFM73_REG_DYNPD 0x1C 371 #define RFM73_REG_FEATURE 0x1D 431 const unsigned char buf[],
695 const unsigned char buf[],
714 const unsigned char buf[],
755 unsigned char * pipe,
757 unsigned char * length
unsigned char rfm73_is_present(void)
report whether the rfm73 module is present
Definition: rfm73.c:527
void rfm73_pipe_enable(unsigned char d, unsigned char enabled)
enables or disables a pipe
Definition: rfm73.c:689
unsigned char rfm73_receive_fifo_empty(void)
report whether the receive fifo is empty
Definition: rfm73.c:646
unsigned char rfm73_receive_next_length(void)
get payload length of the next message in receive FIFO
Definition: rfm73.c:777
void rfm73_transmit_message(const unsigned char buf[], unsigned char length)
transmit a message
Definition: rfm73.c:752
void rfm73_channel_payload_size(unsigned char n, unsigned char size)
set the payload size for pipe n
Definition: rfm73.c:737
void rfm73_mode_transmit(void)
switch the rfm73 to transmit mode
Definition: rfm73.c:555
void rfm73_address_length(unsigned char len)
set the rfm73 address length
Definition: rfm73.c:630
void rfm73_buffer_read(unsigned char reg, unsigned char buf[], unsigned char length)
read a multi-byte command or register
Definition: rfm73.c:427
unsigned char rfm73_transmit_fifo_full(void)
report whether the transmit fifo is full
Definition: rfm73.c:640
unsigned char rfm73_buffer[RFM73_MAX_PACKET_LEN]
type of rfm73 (transmit or receive) buffer
Definition: rfm73.h:99
void rfm73_receive_address_p1(const unsigned char address[5])
set the rfm73 pipe 1 address
Definition: rfm73.c:656
unsigned char rfm73_lost_packets_count(void)
read rfm73 lost packets count
Definition: rfm73.c:672
#define RFM73_MAX_PACKET_LEN
maximum number of data bytes in a (received or transmitted) rfm73 packet
Definition: rfm73.h:94
unsigned char rfm73_receive(unsigned char *pipe, unsigned char buf[], unsigned char *length)
(try to) receive a message
Definition: rfm73.c:781
void rfm73_channel(unsigned char ch)
set the rfm73 channel frequency
Definition: rfm73.c:590
void rfm73_crc_length(unsigned char len)
set the rfm73 CRC length
Definition: rfm73.c:610
void rfm73_register_write(unsigned char reg, unsigned char val)
write a single-byte command or register
Definition: rfm73.c:405
void rfm73_mode_standby(void)
switch the rfm73 to standby mode
Definition: rfm73.c:574
void rfm73_mode_powerdown(void)
switch the rfm73 to power down mode
Definition: rfm73.c:582
void rfm73_transmit_address(const unsigned char address[])
set the rfm73 transmit address
Definition: rfm73.c:664
void rfm73_lost_packets_reset(void)
reset rfm73 lost packets count
Definition: rfm73.c:702
void rfm73_air_data_rate(unsigned char rate)
set the rfm73 air data rate (baudrate)
Definition: rfm73.c:595
void rfm73_transmit_message_once(const unsigned char buf[], unsigned char length)
transmit a message once
Definition: rfm73.c:762
unsigned char rfm73_retransmit_count(void)
read rfm73 retransmit count
Definition: rfm73.c:668
void rfm73_mode_receive(void)
switch the rfm73 to receive mode
Definition: rfm73.c:536
void rfm73_lna_low(void)
set the rfm73 lna gain to low
Definition: rfm73.c:718
void rfm73_power(unsigned char level)
set the rfm73 transmit power
Definition: rfm73.c:724
unsigned char rfm73_register_read(unsigned char reg)
read a single-byte command or register
Definition: rfm73.c:415
void rfm73_retransmit_delay_attempts(unsigned char d, unsigned char n)
set the retransmission delay and number of attempts
Definition: rfm73.c:707
void rfm73_init(void)
initialize the library and the rfm73 module
Definition: rfm73.c:796
void rfm73_buffer_write(char reg, const unsigned char buf[], unsigned char length)
write a multi-byte command or register
Definition: rfm73.c:444
unsigned char rfm73_receive_next_pipe(void)
get pipe number of the next message in receive FIFO
Definition: rfm73.c:772
void rfm73_receive_address_p0(const unsigned char address[5])
set the rfm73 pipe 0 address
Definition: rfm73.c:652
void rfm73_pipe_autoack(unsigned char pipe, unsigned char enabled)
enables or disables the autoack on a pipe
Definition: rfm73.c:676
void rfm73_receive_address_pn(unsigned char channel, unsigned char address)
set the rfm73 pipe n (2..5) address
Definition: rfm73.c:660
void rfm73_lna_high(void)
set the rfm73 lna gain to high
Definition: rfm73.c:712