sonde/rf24.h
2016-04-29 11:30:56 +02:00

72 lines
1.4 KiB
C

#include "nRF24L01.h"
#include "spi.h"
#include <avr/io.h>
#include "defines.h"
#ifdef __cplusplus
extern "C"{
#endif
void rf24_init();
void rf24_configRegister(uint8_t reg, uint8_t value);
void rf24_readRegister(uint8_t reg, uint8_t * value, uint8_t len);
void rf24_writeRegister(uint8_t reg, uint8_t * value, uint8_t len);
void rf24_getData(uint8_t * data,uint8_t len);
uint8_t rf24_getDataDL(uint8_t * data,uint8_t len);
uint8_t rf24_dataReady();
uint8_t rf24_rxFifoEmpty();
void rf24_send(uint8_t * value,uint8_t len);
uint8_t rf24_isSending();
uint8_t rf24_getStatus();
void rf24_powerUpRx();
void rf24_powerUpTx();
void rf24_powerDown();
void rf24_flushRx();
void rf24_configure();
extern uint8_t rf24_CONFIG;
extern uint8_t rf24_EN_AA;
extern uint8_t rf24_EN_RXADDR;
extern uint8_t rf24_SETUP_AW;
extern uint8_t rf24_SETUP_RETR;
extern uint8_t rf24_RF_CH;
extern uint8_t rf24_RF_SETUP;
extern uint8_t rf24_FEATURE;
extern uint8_t rf24_DYNPD;
extern uint8_t rf24_RX_PW[6];
#if defined (__AVR_ATtiny84__) || defined (__AVR_ATtiny84A__)
#define CE_PIN_PORT UNDEF
#define CE_PIN_DDR UNDEF
#define CE_PIN_BIT UNDEF
#define CSN_PIN_PORT PORTB
#define CSN_PIN_DDR DDRB
#define CSN_PIN_BIT PB2
#elif defined(__AVR_ATmega32U4__)
#define CE_PIN_PORT PORTD
#define CE_PIN_DDR DDRD
#define CE_PIN_BIT PD4
#define CSN_PIN_PORT PORTC
#define CSN_PIN_DDR DDRC
#define CSN_PIN_BIT PC6
#endif
#ifdef __cplusplus
} // extern "C"
#endif