C# Class HouseOfTheFuture.RF24Library.NRF24L01Plus

显示文件 Open project: HouseOfTheFuture/IoT-Device

Public Methods

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

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

Configure ( byte address, byte channel, NRFDataRate dataRate ) : void

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

Disable ( ) : void

Disables the module

Enable ( ) : void

Enables the module

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

GetFrequency ( ) : int

Gets the module radio frequency [MHz]

GetStatus ( ) : Status

Gets module basic status information

HandleInterrupt ( uint data1, uint data2, System.DateTime dateTime ) : void
Initialize ( SpiMode spiMode, int chipSelectPin, int chipEnablePin, int interruptPin ) : 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, Acknowledge acknowledge = Acknowledge.Yes ) : void

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

SetAddress ( AddressSlot slot, byte address ) : void

Set one of 6 available module addresses

SetChannel ( byte channel ) : void

Sets the rf channel value used by all data pipes

Private Methods

Method Description
CheckIsInitialized ( ) : void
InitSpi ( int chipSelectPin, SpiMode mode ) : Task
SetDisabled ( ) : void
SetEnabled ( ) : void
SetReceiveMode ( ) : void
SetTransmitMode ( ) : void
_irqPin_ValueChanged ( Windows.Devices.Gpio.GpioPin sender, Windows.Devices.Gpio.GpioPinValueChangedEventArgs args ) : void

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

Configure() public method

Configure the module basic settings. Module needs to be initiaized.
public Configure ( byte address, byte channel, NRFDataRate dataRate ) : 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)
dataRate NRFDataRate Data Rate to use
return void

Disable() public method

Disables the module
public Disable ( ) : void
return void

Enable() public method

Enables the module
public Enable ( ) : void
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

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

HandleInterrupt() public method

public HandleInterrupt ( uint data1, uint data2, System.DateTime dateTime ) : void
data1 uint
data2 uint
dateTime System.DateTime
return void

Initialize() public method

Initializes SPI connection and control pins
public Initialize ( SpiMode spiMode, int chipSelectPin, int chipEnablePin, int interruptPin ) : void
spiMode SpiMode
chipSelectPin int
chipEnablePin int
interruptPin int
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, Acknowledge acknowledge = Acknowledge.Yes ) : void
address byte
bytes byte
acknowledge Acknowledge
return void

SetAddress() public method

Set one of 6 available module addresses
public SetAddress ( AddressSlot slot, byte address ) : void
slot AddressSlot
address byte
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