pyrorf/rf24.h
2019-09-10 00:46:03 +02:00

79 lines
1.4 KiB
C

#include <stdint.h>
#include <stdlib.h>
#ifndef RF24_h
#define RF24_h
#include "nRF24L01.h"
void rf24_write_lreg(const uint8_t reg, const uint8_t * val, size_t len);
void rf24_write_reg(const uint8_t reg, const uint8_t val);
uint8_t rf24_read_reg(const uint8_t reg);
void rf24_update_fifo_status();
void rf24_update_status();
extern uint8_t rf24_status;
extern uint8_t rf24_fifo;
void rf24_setup();
void rf24_init();
void rf24_RXMode();
void rf24_Off();
int rf24_receive(uint8_t * buffer);
/*
void rf24_RXMode();
void rf24_TXMode();
int rf24_send(uint8_t * buffer, int len);
int rf24_waitforTX();
*/
#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 PORTB
#define CE_PIN_DDR DDRB
#define CE_PIN_BIT PB4
#define CSN_PIN_PORT PORTB
#define CSN_PIN_DDR DDRB
#define CSN_PIN_BIT PB5
#elif defined(__AVR_ATmega32A__)
// CARTE PYRORF
#define CE_PIN_PORT PORTB
#define CE_PIN_DDR DDRB
#define CE_PIN_BIT PB0
#define CSN_PIN_PORT PORTB
#define CSN_PIN_DDR DDRB
#define CSN_PIN_BIT PB1
#elif defined(__AVR_ATmega2560__)
// ARDUINO MEGA
#define CE_PIN_PORT PORTL
#define CE_PIN_DDR DDRL
#define CE_PIN_BIT PL0
#define CSN_PIN_PORT PORTL
#define CSN_PIN_DDR DDRL
#define CSN_PIN_BIT PL1
#endif
#endif