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>
This implements the lcd interface to displaying data on the lcd display powered
by the ili9341 lcd driver.
This driver implements all methods defined in the lcd_dev_s structure except
getcontrast and setcontrast. They are not supported by the hardware.
Furthermore the driver allows to use multiple displays powered by the ili9342 IC
with only one driver instance. So it is theoretically possible to support more
than one connected ili9341 lcd display. The displays can be configured
independently. Currently two lcd devices supported. This should be enough for
now. Read the corresponding code section of how to add more devices if
neccessary.
The following settings are configurable:
1. Pixel format
Define the pixel format of the connected display. Currently only
RGB-565 supported.
2. Orientation
Define the orientation of the display. This can be portrait or
landscape and reversed values.
1. Write only
The driver allows to disable any getrun method if not neccessary to
reduce code size. This is done by enable CONFIG_LCD_NOGETRUN in the nuttx
configuration.
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>