Loading...
Searching...
No Matches
KW2x radio-driver

Device driver for the NXP CR20A and KW2xD radios. More...

Detailed Description

Device driver for the NXP CR20A and KW2xD radios.

Modules

 CR20A and KW2xD radio driver compile configuration
 

Files

file  kw2xrf.h
 Interface definition for the kw2xrf driver.
 
file  kw2xrf_getset.h
 get/set interfaces for kw2xrf driver
 
file  kw2xrf_intern.h
 Internal function interfaces for kw2xrf driver.
 
file  kw2xrf_netdev.h
 Netdev interface for kw2xrf driver.
 
file  kw2xrf_params.h
 Default configuration for the KW2XRF driver.
 
file  kw2xrf_reg.h
 Register and command definitions for the MKW2XD Modem.
 
file  kw2xrf_spi.h
 Definition of KW2XRF SPI functions.
 
file  kw2xrf_tm.h
 Testing interfaces for kw2xrf driver.
 

Data Structures

struct  kw2xrf_params
 Struct holding all params needed for device initialization. More...
 
struct  kw2xrf_t
 Device descriptor for KW2XRF radio devices. More...
 

Macros

#define KW2XRF_MAX_PKT_LENGTH   (IEEE802154_FRAME_LEN_MAX)
 Maximum packet length.
 
#define KW2XRF_DEFAULT_TX_POWER   (CONFIG_IEEE802154_DEFAULT_TXPOWER)
 Default TX_POWER in dbm used after initialization.
 
#define KW2XDRF_OUTPUT_POWER_MAX   (8)
 Maximum output power of the kw2x device in dBm.
 
#define KW2XDRF_OUTPUT_POWER_MIN   (-35)
 Minimum output power of the kw2x device in dBm.
 

Typedefs

typedef struct kw2xrf_params kw2xrf_params_t
 Struct holding all params needed for device initialization.
 

Functions

int kw2xrf_init (kw2xrf_t *dev, const kw2xrf_params_t *params, ieee802154_dev_t *hal, gpio_cb_t cb, void *ctx)
 Initialize the given KW2XRF device.
 
void kw2xrf_reset_phy (kw2xrf_t *dev)
 Configure radio with default values.
 
void kw2xrf_radio_hal_irq_handler (void *dev)
 IRQ Handler for the KW2XRF device.
 

Allowed range of channels

#define KW2XRF_MIN_CHANNEL   (11U)
 
#define KW2XRF_MAX_CHANNEL   (26U)
 
#define KW2XRF_OPT_SRC_ADDR_LONG   (NETDEV_IEEE802154_SRC_MODE_LONG)
 Internal device option flags.
 
#define KW2XRF_OPT_RAWDUMP   (NETDEV_IEEE802154_RAW)
 legacy define
 
#define KW2XRF_OPT_ACK_REQ   (NETDEV_IEEE802154_ACK_REQ)
 legacy define
 
#define KW2XRF_OPT_AUTOCCA   (0x0100)
 CCA before TX active.
 
#define KW2XRF_OPT_PROMISCUOUS   (0x0200)
 promiscuous mode active
 
#define KW2XRF_OPT_PRELOADING   (0x0400)
 preloading enabled
 
#define KW2XRF_OPT_AUTOACK   (0x8000)
 enable automatically ACK for incommint packet
 

Macro Definition Documentation

◆ KW2XDRF_OUTPUT_POWER_MAX

#define KW2XDRF_OUTPUT_POWER_MAX   (8)

Maximum output power of the kw2x device in dBm.

Definition at line 76 of file kw2xrf.h.

◆ KW2XDRF_OUTPUT_POWER_MIN

#define KW2XDRF_OUTPUT_POWER_MIN   (-35)

Minimum output power of the kw2x device in dBm.

Definition at line 81 of file kw2xrf.h.

◆ KW2XRF_DEFAULT_TX_POWER

#define KW2XRF_DEFAULT_TX_POWER   (CONFIG_IEEE802154_DEFAULT_TXPOWER)

Default TX_POWER in dbm used after initialization.

Definition at line 71 of file kw2xrf.h.

◆ KW2XRF_MAX_CHANNEL

#define KW2XRF_MAX_CHANNEL   (26U)

Definition at line 65 of file kw2xrf.h.

◆ KW2XRF_MAX_PKT_LENGTH

#define KW2XRF_MAX_PKT_LENGTH   (IEEE802154_FRAME_LEN_MAX)

Maximum packet length.

Definition at line 44 of file kw2xrf.h.

◆ KW2XRF_MIN_CHANNEL

#define KW2XRF_MIN_CHANNEL   (11U)

Definition at line 64 of file kw2xrf.h.

◆ KW2XRF_OPT_ACK_REQ

#define KW2XRF_OPT_ACK_REQ   (NETDEV_IEEE802154_ACK_REQ)

legacy define

Definition at line 93 of file kw2xrf.h.

◆ KW2XRF_OPT_AUTOACK

#define KW2XRF_OPT_AUTOACK   (0x8000)

enable automatically ACK for incommint packet

Definition at line 100 of file kw2xrf.h.

◆ KW2XRF_OPT_AUTOCCA

#define KW2XRF_OPT_AUTOCCA   (0x0100)

CCA before TX active.

Definition at line 95 of file kw2xrf.h.

◆ KW2XRF_OPT_PRELOADING

#define KW2XRF_OPT_PRELOADING   (0x0400)

preloading enabled

Definition at line 98 of file kw2xrf.h.

◆ KW2XRF_OPT_PROMISCUOUS

#define KW2XRF_OPT_PROMISCUOUS   (0x0200)

promiscuous mode active

Definition at line 97 of file kw2xrf.h.

◆ KW2XRF_OPT_RAWDUMP

#define KW2XRF_OPT_RAWDUMP   (NETDEV_IEEE802154_RAW)

legacy define

Definition at line 92 of file kw2xrf.h.

◆ KW2XRF_OPT_SRC_ADDR_LONG

#define KW2XRF_OPT_SRC_ADDR_LONG   (NETDEV_IEEE802154_SRC_MODE_LONG)

Internal device option flags.

0x00ff is reserved for general IEEE 802.15.4 flags (see netdev_ieee802154_t) legacy define

Definition at line 91 of file kw2xrf.h.

Function Documentation

◆ kw2xrf_init()

int kw2xrf_init ( kw2xrf_t dev,
const kw2xrf_params_t params,
ieee802154_dev_t hal,
gpio_cb_t  cb,
void *  ctx 
)

Initialize the given KW2XRF device.

Parameters
[out]devdevice descriptor
[in]paramsparameters for device initialization
[in]halpointer to IEEE 802.15.4 Radio HAL descriptor
[in]cbisr callback
[in]ctxcontext pointer handed to isr
Returns
0 on success
<0 on error

◆ kw2xrf_radio_hal_irq_handler()

void kw2xrf_radio_hal_irq_handler ( void *  dev)

IRQ Handler for the KW2XRF device.

Parameters
[in]devpointer to the IEEE 802.15.4 Radio HAL descriptor

◆ kw2xrf_reset_phy()

void kw2xrf_reset_phy ( kw2xrf_t dev)

Configure radio with default values.

Parameters
[in]devdevice to reset