drivers/wireless/ieee802154/Make.defs
Changes to the build infrastructure to include the mrf24j40 driver
include/nuttx/spi/spi.h
Define a IEEE SPI device
include/nuttx/wireless/ieee802154/ieee802154_radio.h
This file defines the API of a IEEE 802.15.4 radio device, to be used by the future common MAC 802.15.4 layer
drivers/wireless/ieee802154/mrf24j40.c
drivers/wireless/ieee802154/mrf24j40.h
The main MRF24J40 IEEE 802.15.4 radio driver
include/nuttx/wireless/ieee802154/mrf24j40.h
This file allows instanciation of the MRF24j40 driver from board configurations
03/11: CC3000 driver was getting stuck at recv() when remote host closed connection and application tried to read data from remotely shutdown socket. This patch adds proper handling for remotely closed socket event.
07/11: Socket state initialization was done in 'register', while it should be initialized in 'open' and deinitialized in 'close'. Old way caused problems when device is closed, power-cycled and then reopened as old socket state was left enabled.
08/11: Select thread was getting stuck after 'close, power-cycle, reopen', since selectsem was not properly setup and cleaned up.
09/11 'maxFD' was not properly reset in select worker and not checked for before calling cc3000_select().
10/11: After wlan_stop()/cc3000_close(), irqsem was left with count '-1'. Therefore on next wlan_start()/cc3000_open(), initial value for irqsem was wrong. Additional repeated wlan_start()/wlan_stop() decreased irqsem value further. Obviously this causes driver not to function correctly and freeze.
Patch moves initialization and destruction of waitsem, irqsem and readysem to cc3000_open/cc3000_close.
All are: Signed-off-by: Jussi Kivilinna <jussi.kivilinna@haltian.com>