C# Class Gralin.NETMF.Nordic.NRF24L01Plus

Driver class for Nordic nRF24L01+ tranceiver
显示文件 Open project: GerardSoleCa/IOSharp-netmf-Linux Class Usage Examples

Public Properties

Property Type Description
_def_rx_addr_p0 byte[]
_def_rx_addr_p1 byte[]
_def_rx_addr_p2 byte[]
_def_rx_addr_p3 byte[]
_def_rx_addr_p4 byte[]
_def_rx_addr_p5 byte[]
slot AddressSlot[]

Public Methods

Method Description
Configure ( byte address, byte channel ) : void

Configure the module basic settings. Module needs to be initiaized.

Disable ( ) : void

Disables the module

DisableAA ( AddressSlot s ) : void

Disables the auto-auknowledge for a specific module address slot

DisableRX ( AddressSlot s ) : void

Disables a specific module address slot for reception

Enable ( ) : void

Enables the module

EnableAA ( AddressSlot s ) : void

Enables the auto-auknowledge for a specific module address slot

EnableRX ( AddressSlot s ) : void

Enables a specific module address slot for reception

Execute ( byte command, byte addres, byte data ) : byte[]

Executes a command in NRF24L01+ (for details see module datasheet)

GetAddress ( AddressSlot slot, int width ) : byte[]

Read 1 of 6 available module addresses

GetChannel ( ) : byte

Reads the current rf channel value set in module

GetDefaultAddress ( AddressSlot s ) : byte[]
GetFrequency ( ) : int

Gets the module radio frequency [MHz]

GetStatus ( ) : Status

Gets module basic status information

Initialize ( DriverExpand.SPI spi, DriverExpand.OutputPort chipEnablePin, InterruptPort interruptPort ) : void

Initializes SPI connection and control pins

NRF24L01Plus ( ) : System
SendTo ( byte address, byte bytes, int timeout ) : bool

Sends bytes to given address This is a blocking method that returns true if data was received by the recipient or false if timeout occured.

SendTo ( byte address, byte bytes ) : void

Send bytes to given address This is a non blocking method.

SetAddress ( AddressSlot s, byte address, bool EN_AA ) : void

Set one of 6 available module addresses and enables it when in RX mode, sets also auto-ack if EN_AA is true

SetChannel ( byte channel ) : void

Sets the rf channel value used by all data pipes

SetFixedPayload ( int size ) : void

Sets fixed payload paquets of size bytes weitdh.

SetToDefaultAddress ( AddressSlot s ) : void

Set one of 6 available module addresses to its default value and disables it

Private Methods

Method Description
CheckIsInitialized ( ) : void
HandleInterrupt ( uint data1, uint data2, System.DateTime dateTime ) : void

returns the first free pipe loacted or 9 if there are not free pipes available

SetDisabled ( ) : void
SetEnabled ( ) : void
SetReceiveMode ( ) : void
SetTransmitMode ( ) : void
equals ( byte a1, byte a2 ) : bool

Method Details

Configure() public method

Configure the module basic settings. Module needs to be initiaized.
public Configure ( byte address, byte channel ) : void
address byte RF address (3-5 bytes). The width of this address determins the width of all addresses used for sending/receiving.
channel byte RF channel (0-127)
return void

Disable() public method

Disables the module
public Disable ( ) : void
return void

DisableAA() public method

Disables the auto-auknowledge for a specific module address slot
public DisableAA ( AddressSlot s ) : void
s AddressSlot
return void

DisableRX() public method

Disables a specific module address slot for reception
public DisableRX ( AddressSlot s ) : void
s AddressSlot
return void

Enable() public method

Enables the module
public Enable ( ) : void
return void

EnableAA() public method

Enables the auto-auknowledge for a specific module address slot
public EnableAA ( AddressSlot s ) : void
s AddressSlot
return void

EnableRX() public method

Enables a specific module address slot for reception
public EnableRX ( AddressSlot s ) : void
s AddressSlot
return void

Execute() public method

Executes a command in NRF24L01+ (for details see module datasheet)
public Execute ( byte command, byte addres, byte data ) : byte[]
command byte Command
addres byte Register to write to
data byte Data to write
return byte[]

GetAddress() public method

Read 1 of 6 available module addresses
public GetAddress ( AddressSlot slot, int width ) : byte[]
slot AddressSlot
width int
return byte[]

GetChannel() public method

Reads the current rf channel value set in module
public GetChannel ( ) : byte
return byte

GetDefaultAddress() public method

public GetDefaultAddress ( AddressSlot s ) : byte[]
s AddressSlot
return byte[]

GetFrequency() public method

Gets the module radio frequency [MHz]
public GetFrequency ( ) : int
return int

GetStatus() public method

Gets module basic status information
public GetStatus ( ) : Status
return Status

Initialize() public method

Initializes SPI connection and control pins
public Initialize ( DriverExpand.SPI spi, DriverExpand.OutputPort chipEnablePin, InterruptPort interruptPort ) : void
spi DriverExpand.SPI
chipEnablePin DriverExpand.OutputPort
interruptPort Microsoft.SPOT.Hardware.InterruptPort
return void

NRF24L01Plus() public method

public NRF24L01Plus ( ) : System
return System

SendTo() public method

Sends bytes to given address This is a blocking method that returns true if data was received by the recipient or false if timeout occured.
public SendTo ( byte address, byte bytes, int timeout ) : bool
address byte
bytes byte
timeout int
return bool

SendTo() public method

Send bytes to given address This is a non blocking method.
public SendTo ( byte address, byte bytes ) : void
address byte
bytes byte
return void

SetAddress() public method

Set one of 6 available module addresses and enables it when in RX mode, sets also auto-ack if EN_AA is true
public SetAddress ( AddressSlot s, byte address, bool EN_AA ) : void
s AddressSlot
address byte
EN_AA bool
return void

SetChannel() public method

Sets the rf channel value used by all data pipes
public SetChannel ( byte channel ) : void
channel byte 7 bit channel value
return void

SetFixedPayload() public method

Sets fixed payload paquets of size bytes weitdh.
public SetFixedPayload ( int size ) : void
size int
return void

SetToDefaultAddress() public method

Set one of 6 available module addresses to its default value and disables it
public SetToDefaultAddress ( AddressSlot s ) : void
s AddressSlot
return void

Property Details

_def_rx_addr_p0 public_oe property

public byte[] _def_rx_addr_p0
return byte[]

_def_rx_addr_p1 public_oe property

public byte[] _def_rx_addr_p1
return byte[]

_def_rx_addr_p2 public_oe property

public byte[] _def_rx_addr_p2
return byte[]

_def_rx_addr_p3 public_oe property

public byte[] _def_rx_addr_p3
return byte[]

_def_rx_addr_p4 public_oe property

public byte[] _def_rx_addr_p4
return byte[]

_def_rx_addr_p5 public_oe property

public byte[] _def_rx_addr_p5
return byte[]

slot public_oe property

public AddressSlot[] slot
return AddressSlot[]