nuttx/drivers/wireless/spirit/drivers/Kconfig
Nathan Hartman 6057960331 Fix mistakes in comments and docs
* drivers/wireless/bluetooth/bt_null.c: Fix misleading comment

* drivers/wireless/spirit/Kconfig: Fix incorrect word (absolution).

* drivers/wireless/spirit/drivers/Kconfig: Fix wrong name (TMicro->STMicro)

* drivers/wireless/spirit/drivers/spirit_netdev.c: Fix wrong word
  (verify->very).

* drivers/wireless/spirit/drivers/spirit_netdev.c: Fix double "the" and typo.

* include/nuttx/net/radiodev.h: Fix various typos and errors.
2022-06-27 11:30:53 +08:00

108 lines
3.7 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config SPIRIT_NETDEV
bool "STMicro Spirit1-based Network Driver"
default n
select WL_SPIRIT
select ARCH_HAVE_NETDEV_STATISTICS
---help---
This selection enables support for the STMicro Spirit1-based device.
This configuration generates an IEEE802.15.4 work-alike radio device that
works with the 6LoWPAN stack.
if SPIRIT_NETDEV
config SPIRIT_PKTLEN
int "Fixed packet length"
default 96
range 1 96 if !SPIRIT_FIFOS
range 1 65535 if SPIRIT_FIFOS
---help---
Fixed pkt sizes are used. This setting describes that fixed packet
size.
This comment exists in the STMicro Spirit driver. I have not
experienced this myself, but this is something you should be aware
of: "Sometimes Spirit1 seems to NOT deliver (correctly) the
'IRQ_RX_DATA_READY' event for packets which have a length which is
close to a multiple of RX FIFO size. Furthermore, in these cases
also the content delivery seems to be compromised as well as the
generation of RX/TX FIFO errors. This can be avoided by reducing
the maximum packet length to a value which is lower than the RX FIFO
size."
config SPIRIT_FIFOS
bool "FIFO Watermarks"
default n
depends on EXPERIMENTAL
---help---
The Spirit hardware can provided interrupts when indicate when the
RX or TX FIFOs are almost full or empty. This is useful for
supporting very large packets, larger than the FIFO size. The RX/TX
FIFO size is 96 bytes. If the packet size is significantly less than
96 bytes, this feature is not needed. It is required for packet sizes
greater than 96 bytes and if it is not selected, there may be
occurrences of RX FIFO errors if the packet size is less than but close
to 96.
This comment exists in the STMicro Spirit driver. I have not
experienced this myself, but this is something you should be aware
of: "Sometimes Spirit1 seems to NOT deliver (correctly) the
'IRQ_RX_DATA_READY' event for packets which have a length which is
close to a multiple of RX FIFO size. Furthermore, in these cases
also the content delivery seems to be compromised as well as the
generation of RX/TX FIFO errors. This can be avoided by reducing
the maximum packet length to a value which is lower than the RX FIFO
size."
From my reading, the only known work-around is to reduce the maximum
packet size so that it is smaller than 96. Hence, this option is
conditioned on EXPERIMENTAL.
config SPIRIT_PROMISICUOUS
bool "Promiscuous mode"
default n
---help---
Disables all address filtering. Otherwise, filtering the node
address will be supported.
config SPIRIT_MULTICAST
bool "Multicast address filter"
default n
depends on !SPIRIT_PROMISICUOUS
---help---
Enables address filtering for the multicast address 0xee.
config SPIRIT_BROADCAST
bool "Broadcast address filter"
default n
depends on !SPIRIT_PROMISICUOUS
---help---
Enables address filtering for the broadcast address 0xff.
config SPIRIT_CRCDISABLE
bool "Disable CRC"
default n
---help---
Disables CRC calculation and filtering. Default is enabled.
Errata: "Using the STack packet format and no CRC field, the
reading from RX FIFO to the last received byte, is not possible. ..."
Workaround: "By configuring the packet handler with at least one byte
of CRC, the problem is solved. If the CRC is not required in the
application, configure one byte of CRC in the receiver only, to read
the payload correctly from RX FIFO."
config SPIRIT_HUBNODE
hex "Address of hub node"
default 0x34
depends on NET_STAR
---help---
Provides the "well known" address of the hub node in the
star configuration.
endif # SPIRIT_NETDEV