View Source Nrf24 (nrf24 v1.0.0)

Library for trasmitting and receiveing data with nRF24L01+ transciever.

It works, by default, in ShockBurst mode with ACK (auto acknowledgement) and CRC check enabled. However it can be configured to disable both.

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor.

nRF24L01+ GenServer start_link options

Link to this section Types

@type init_options() :: [
  name: GenServer.name(),
  ce_pin: integer(),
  csn_pin: integer(),
  channel: integer(),
  crc_length: 0 | 1 | 2,
  speed: :low | :medium | :hi,
  pipes: [
    [
      pipe_no: integer(),
      address: integer(),
      payload_size: integer(),
      auto_ack: boolean()
    ]
  ]
]

Link to this section Functions

Returns a specification to start this module under a supervisor.

See Supervisor.

@spec start_link(init_options()) :: GenServer.on_start()

nRF24L01+ GenServer start_link options

  • :name - GenServer nome
  • :bus_name - SPI bus name (e.g. "spidev0.0", "spidev1.0", default: "spidev0.0")
  • :ce_pin - Rasbperry PI pin to which transciever's CE pin is connected
  • :csn_pin - Rasbperry PI pin to which transciever's CSN pin is connected
  • :channel - Frequency channel on which transciever will operate (default: 0x4c)
  • :crc_length - CRC length for transmitted data verification (values: 1, 2, default: 2)
  • :speed - Data transfer speed (values: low, med, high, default: med)

Data speed values:

  • :low - 250Kbp
  • :medium - 1Mbps
  • :high - 2Mbps

Pipe configuration options:

  • :pipe_no - Pipe number (values 0 to 5)
  • :address - For pipes 0 and 1 5-byte address and for other single byte address
  • :payload_size - Size of data that will be received through the pipe
  • :auto_ack - Turning auto-acknowledge on or off for the pipe (default: true)

If pipes configuration is missing, default, factory set, valuse will be used.