nRF905 Radio Library for Arduino  4.0
Classes | Macros | Enumerations
nRF905.h File Reference
#include <Arduino.h>
#include <SPI.h>
#include <stdint.h>
#include "nRF905_config.h"

Go to the source code of this file.

Classes

class  nRF905
 

Macros

#define NRF905_MAX_PAYLOAD   32
 Maximum payload size. More...
 
#define NRF905_REGISTER_COUNT   10
 Configuration register count. More...
 
#define NRF905_DEFAULT_RXADDR   0xE7E7E7E7
 Default receive address. More...
 
#define NRF905_DEFAULT_TXADDR   0xE7E7E7E7
 Default transmit/destination address. More...
 
#define NRF905_PIN_UNUSED   255
 Mark a pin as not used or not connected. More...
 
#define NRF905_CALC_CHANNEL(f, b)   ((((f) / (1 + (b>>1))) - 422400000UL) / 100000UL)
 Workout channel from frequency & band. More...
 

Enumerations

enum  nRF905_nextmode_t { NRF905_NEXTMODE_STANDBY, NRF905_NEXTMODE_RX, NRF905_NEXTMODE_TX }
 Available modes after transmission complete. More...
 
enum  nRF905_mode_t {
  NRF905_MODE_POWERDOWN, NRF905_MODE_STANDBY, NRF905_MODE_RX, NRF905_MODE_TX,
  NRF905_MODE_ACTIVE
}
 Current radio mode. More...
 
enum  nRF905_band_t { NRF905_BAND_433 = 0x00, NRF905_BAND_868 = 0x02, NRF905_BAND_915 = 0x02 }
 Frequency bands. More...
 
enum  nRF905_pwr_t { NRF905_PWR_n10 = 0x00, NRF905_PWR_n2 = 0x04, NRF905_PWR_6 = 0x08, NRF905_PWR_10 = 0x0C }
 Output power (n means negative, n10 = -10). More...
 
enum  nRF905_outclk_t {
  NRF905_OUTCLK_DISABLE = 0x00, NRF905_OUTCLK_4MHZ = 0x04, NRF905_OUTCLK_2MHZ = 0x05, NRF905_OUTCLK_1MHZ = 0x06,
  NRF905_OUTCLK_500KHZ = 0x07
}
 Output a clock signal on pin 3 of IC. More...
 
enum  nRF905_crc_t { NRF905_CRC_DISABLE = 0x00, NRF905_CRC_8 = 0x40, NRF905_CRC_16 = 0xC0 }
 CRC Checksum. More...
 

Macro Definition Documentation

◆ NRF905_MAX_PAYLOAD

#define NRF905_MAX_PAYLOAD   32

Maximum payload size.

◆ NRF905_REGISTER_COUNT

#define NRF905_REGISTER_COUNT   10

Configuration register count.

◆ NRF905_DEFAULT_RXADDR

#define NRF905_DEFAULT_RXADDR   0xE7E7E7E7

Default receive address.

◆ NRF905_DEFAULT_TXADDR

#define NRF905_DEFAULT_TXADDR   0xE7E7E7E7

Default transmit/destination address.

◆ NRF905_PIN_UNUSED

#define NRF905_PIN_UNUSED   255

Mark a pin as not used or not connected.

◆ NRF905_CALC_CHANNEL

#define NRF905_CALC_CHANNEL (   f,
 
)    ((((f) / (1 + (b>>1))) - 422400000UL) / 100000UL)

Workout channel from frequency & band.

Enumeration Type Documentation

◆ nRF905_nextmode_t

Available modes after transmission complete.

Enumerator
NRF905_NEXTMODE_STANDBY 

Standby mode.

NRF905_NEXTMODE_RX 

Receive mode.

NRF905_NEXTMODE_TX 

Transmit mode (will auto-retransmit if enabled, otherwise will transmit a carrier wave with no data)

◆ nRF905_mode_t

Current radio mode.

Enumerator
NRF905_MODE_POWERDOWN 

Power-down mode.

NRF905_MODE_STANDBY 

Standby mode.

NRF905_MODE_RX 

Receive mode.

NRF905_MODE_TX 

Transmit mode.

NRF905_MODE_ACTIVE 

Receive or transmit mode (when unable to tell due to the tx pin being unused, hardwired to VCC (TX) or GND (RX))

◆ nRF905_band_t

Frequency bands.

Enumerator
NRF905_BAND_433 

433MHz band

NRF905_BAND_868 

868/915MHz band

NRF905_BAND_915 

868/915MHz band

◆ nRF905_pwr_t

Output power (n means negative, n10 = -10).

Enumerator
NRF905_PWR_n10 

-10dBm = 100uW

NRF905_PWR_n2 

-2dBm = 631uW

NRF905_PWR_6 

6dBm = 4mW

NRF905_PWR_10 

10dBm = 10mW

◆ nRF905_outclk_t

Output a clock signal on pin 3 of IC.

Enumerator
NRF905_OUTCLK_DISABLE 

Disable output clock.

NRF905_OUTCLK_4MHZ 

4MHz clock

NRF905_OUTCLK_2MHZ 

2MHz clock

NRF905_OUTCLK_1MHZ 

1MHz clock

NRF905_OUTCLK_500KHZ 

500KHz clock (default)

◆ nRF905_crc_t

CRC Checksum.

The CRC is calculated across the address (SYNC word) and payload

Enumerator
NRF905_CRC_DISABLE 

Disable CRC.

NRF905_CRC_8 

8bit CRC (Don't know what algorithm is used for this one)

NRF905_CRC_16 

16bit CRC (CRC16-CCITT-FALSE (0xFFFF))