22754053e8
drivers/wireless: Adds XBee S2C (802.15.4 firmware) support. XBee driver emulates mac802154 interface * drivers/wireless/xbee: Adds xbee_netdev. Very similar to mac802154_netdev * configs/same70-xplained: Starts adding support for XBee radio * drivers/wireless/ieee802154/xbee: More structuring of XBee driver * drivers/wireless/ieee802154/xbee: More Xbee work. Starts adding support on Clicker2 * drivers/wireless/ieee802154/xbee: More XBee MAC code * configs/clicker2-stm32: More work to add XBee radio support * drivers/wireless/ieee802154/xbee: Most of driver is now structured. No build errors * configs/clicker2-stm32: Adjustments to XBee click module support * drivers/xbee: Changes md_ prefix to xd_ prefix for xbeenet_driver_s fields * drivers/xbee: XBee network device now passes MAC events via IOCTL * drivers/xbee: Support querying device for parameters, setting parameters, and structures association/startpan logic * configs/clicker2-stm32: Fixes Xbee lower half ATTN poll logic * drivers/xbee: Removes dependce on CONFIG_IEEE802154_NETDEV * drivers/xbee: Supports MAC RESET.request primitive * drivers/xbee: Exposes generic AT query to the rest of driver * drivers/xbee: Sets local values when writing setting change to Xbee device * drivers/xbee: Finish association logic * drivers/xbee: Adds xbee_get_mhrlen( ) allocating enough space for API frame header to frame * drivers/xbee: Finishes transmit/receive logic * drivers/xbee: Fixes xbee_netdev to match logic in mac802154_netdev.c * drivers/xbee: Rearranges logic to prevent a loop condition where recursion could potentially occur to the point of deadlocking the system Approved-by: Gregory Nutt <gnutt@nuttx.org>
78 lines
2.6 KiB
Plaintext
78 lines
2.6 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
if IEEE802154_XBEE
|
|
|
|
config IEEE802154_XBEE_FREQUENCY
|
|
int "SPI Frequency for XBee Radio"
|
|
default 2000000
|
|
---help---
|
|
SPI SLCK frequency in Hz
|
|
|
|
config XBEE_NETDEV_RECVRPRIO
|
|
int "Priority of frame receiver registerd with the MAC layer"
|
|
default 1
|
|
---help---
|
|
When the MAC layer receives an incoming data frame, it passes the frame
|
|
to registered receivers, in order of receiver priority, until one of the
|
|
receivers claim the frame.
|
|
|
|
An example case would be when 6LoWPAN and the MAC character driver are
|
|
enabled. Both have receivers registered with the MAC. The 6LoWPAN layer
|
|
should get assigned a higher priority than the character driver. In this
|
|
case, the 6LoWPAN receiver will receive the frame first. If the frame is
|
|
a 6LoWPAN frame, it will claim the frame and the MAC will not pass the
|
|
frame to any additional receivers. If it does not claim the frame, the
|
|
MAC layer will call the next highest priority receiver, in this case,
|
|
the MAC character driver (which should always be lowest priority since
|
|
it is a "catch-all" type receiver).
|
|
|
|
choice
|
|
prompt "Work queue"
|
|
default XBEE_NETDEV_LPWORK if SCHED_LPWORK
|
|
default XBEE_NETDEV_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
|
|
depends on SCHED_WORKQUEUE
|
|
---help---
|
|
Work queue support is required to use the XBee MAC network
|
|
driver.
|
|
|
|
WARNING!! The IEEE802.15.4 network device must never run on the same
|
|
work queue as does the IEEE 802.15.4 MAC. That configuration will
|
|
cause deadlocks: The network logic may be blocked on the work queue
|
|
waiting on resources that can only be freed by the MAC logic but the
|
|
MAC is unable to run because the work queue is blocked. The
|
|
recommended configuration is: Network on the LP work queue; MAC on HP
|
|
work queue. Blocking on the HP work queue is a very bad thing in
|
|
any case.
|
|
|
|
config XBEE_NETDEV_HPWORK
|
|
bool "High priority"
|
|
depends on SCHED_HPWORK
|
|
|
|
config XBEE_NETDEV_LPWORK
|
|
bool "Low priority"
|
|
depends on SCHED_LPWORK
|
|
|
|
endchoice # Work queue
|
|
|
|
config XBEE_NNOTIF
|
|
int "Number or notification structures"
|
|
default 3
|
|
---help---
|
|
Configured number of notification strucures Default: 3
|
|
|
|
When various MAC management events occur, the MAC notifies the registered
|
|
receiver with an allocated notification structure indicating the event. The
|
|
events are primitives such as Association Indication etc.
|
|
|
|
config XBEE_LOCK_VERBOSE
|
|
bool "Verbose logging related to XBee driver lock management"
|
|
default n
|
|
depends on DEBUG_WIRELESS_INFO
|
|
---help---
|
|
Enable verbose logging of XBee lock management. Default: false
|
|
|
|
endif # IEEE802154_XBEE
|