Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ieee802154_context Struct Reference

IEEE 802.15.4 L2 context. More...

#include <ieee802154.h>

Data Fields

uint16_t pan_id
 PAN ID.
 
uint16_t channel
 Channel Number.
 
uint16_t short_addr
 Short Address (in CPU byte order)
 
uint8_t ext_addr [8]
 Extended Address (in little endian)
 
struct net_linkaddr_storage linkaddr
 Link layer address (in big endian)
 
struct ieee802154_security_ctx sec_ctx
 Security context.
 
struct ieee802154_req_paramsscan_ctx
 Pointer to scanning parameters and results, guarded by scan_ctx_lock.
 
struct k_sem scan_ctx_lock
 Used to maintain integrity of data for all fields in this struct unless otherwise documented on field level.
 
uint8_t coord_ext_addr [8]
 Coordinator extended address.
 
uint16_t coord_short_addr
 Coordinator short address.
 
int16_t tx_power
 Transmission power in dBm.
 
enum net_l2_flags flags
 L2 flags.
 
uint8_t sequence
 Data sequence number.
 
uint8_t device_role: 2
 Device Role.
 
uint8_t ack_requested: 1
 ACK requested flag, guarded by ack_lock.
 
uint8_t ack_seq
 ACK expected sequence number, guarded by ack_lock.
 
struct k_sem ack_lock
 ACK lock, guards ack_* fields.
 
struct k_sem ctx_lock
 Context lock.
 

Detailed Description

IEEE 802.15.4 L2 context.

Field Documentation

◆ ack_lock

struct k_sem ieee802154_context::ack_lock

ACK lock, guards ack_* fields.

◆ ack_requested

uint8_t ieee802154_context::ack_requested

ACK requested flag, guarded by ack_lock.

◆ ack_seq

uint8_t ieee802154_context::ack_seq

ACK expected sequence number, guarded by ack_lock.

◆ channel

uint16_t ieee802154_context::channel

Channel Number.

The RF channel to use for all transmissions and receptions, see section 11.3, table 11-2, phyCurrentChannel. The allowable range of values is PHY dependent as defined in section 10.1.3.

in CPU byte order

◆ coord_ext_addr

uint8_t ieee802154_context::coord_ext_addr[ 8]

Coordinator extended address.

see section 8.4.3.1, table 8-94, macCoordExtendedAddress, the address of the coordinator through which the device is associated.

A value of zero indicates that a coordinator extended address is unknown (default).

in little endian

◆ coord_short_addr

uint16_t ieee802154_context::coord_short_addr

Coordinator short address.

see section 8.4.3.1, table 8-94, macCoordShortAddress, the short address assigned to the coordinator through which the device is associated.

A value of 0xfffe indicates that the coordinator is only using its extended address. A value of 0xffff indicates that this value is unknown.

in CPU byte order

◆ ctx_lock

struct k_sem ieee802154_context::ctx_lock

Context lock.

This lock guards all mutable context attributes unless otherwise mentioned on attribute level.

◆ device_role

uint8_t ieee802154_context::device_role

Device Role.

See section 6.1: A device may be operating as end device (0), coordinator (1), or PAN coordinator (2). If no device role is explicitly configured then the device will be treated as an end device.

A value of 3 is undefined.

Can be read/set via ieee802154_device_role.

◆ ext_addr

uint8_t ieee802154_context::ext_addr[ 8]

Extended Address (in little endian)

The extended address is device specific, usually permanently stored on the device and immutable.

See section 8.4.3.1, table 8-94, macExtendedAddress.

◆ flags

enum net_l2_flags ieee802154_context::flags

L2 flags.

◆ linkaddr

struct net_linkaddr_storage ieee802154_context::linkaddr

Link layer address (in big endian)

◆ pan_id

uint16_t ieee802154_context::pan_id

PAN ID.

The identifier of the PAN on which the device is operating. If this value is 0xffff, the device is not associated. See section 8.4.3.1, table 8-94, macPanId.

in CPU byte order

◆ scan_ctx

struct ieee802154_req_params* ieee802154_context::scan_ctx

Pointer to scanning parameters and results, guarded by scan_ctx_lock.

◆ scan_ctx_lock

struct k_sem ieee802154_context::scan_ctx_lock

Used to maintain integrity of data for all fields in this struct unless otherwise documented on field level.

◆ sec_ctx

struct ieee802154_security_ctx ieee802154_context::sec_ctx

Security context.

◆ sequence

uint8_t ieee802154_context::sequence

Data sequence number.

The sequence number added to the transmitted Data frame or MAC command, see section 8.4.3.1, table 8-94, macDsn.

◆ short_addr

uint16_t ieee802154_context::short_addr

Short Address (in CPU byte order)

Range:

  • 0x0000–0xfffd: associated, short address was assigned
  • 0xfffe: associated but no short address assigned
  • 0xffff: not associated (default),

See section 6.4.1, table 6-4 (Usage of the shart address) and section 8.4.3.1, table 8-94, macShortAddress.

◆ tx_power

int16_t ieee802154_context::tx_power

Transmission power in dBm.


The documentation for this struct was generated from the following file: