Commit Graph

432 Commits

Author SHA1 Message Date
Xiang Xiao
5c80b94820 Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -06:00
Xiang Xiao
80277d1630
Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
Xiang Xiao
68951e8d72 Remove exra whitespace from files (#189)
* Remove multiple newlines at the end of files
* Remove the whitespace from the end of lines
2020-01-31 09:24:49 -06:00
Gregory Nutt
f27152a1af Fix several coding standard issues in the generic SPI LCD driver. 2020-01-28 12:00:02 -03:00
Dave Marples
e99a8d192d Generic SPI interface for controlling an LCD display 2020-01-28 11:32:35 -03:00
Xiang Xiao
9a8ff07716 Change boards/renesas/m32262f8 to boards/hc/m16c
to fix the follow error:
Refresh skp16c26/ostest
LN: include/arch/board to /workspace/mirtos/nuttx/boards/renesas/m32262f8/skp16c26/include
LN: include/arch/chip to arch/renesas/include/m32262f8
2020-01-22 20:44:18 -06:00
Xiang Xiao
6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Xiang Xiao
3bc62f1ccc Change space to tab and help to ---help--- in Kconfig files. 2019-10-05 21:39:12 -06:00
Nathan Hartman
366053e464 Fix typos, 1 in a #define, others in comments. This changes one definition: _MQ_TIMEDRECIEVE is changed to _MQ_TIMEDRECEIVE. It appears this symbol is not used anywhere. 2019-09-11 08:56:56 -06:00
Gregory Nutt
2730714774 Update more comments and README.txt files to reflect new organization of the boards/ sub-directory. 2019-08-08 09:17:04 -06:00
Gregory Nutt
240926c995 Beginning to update comments to reflect new organization of the boards/ sub-directory. 2019-08-08 08:46:54 -06:00
Gregory Nutt
615c0ea7ee Change naming configs/ to boards in comments, Documentation, etc. Still a few more to go. 2019-08-05 07:13:48 -06:00
Alin Jerpelea
a1c991d921 Merged in alinjerpelea/nuttx (pull request #963)
Move boards to boards folder

* boards: rename configs folder to boards

    This is the proposed layout after the change:

    boards: - folder containing board folders
            <board>: - name of each board
                    drivers: - extra drivers specific for platform
                    include: - header files for the boars
                    scripts: - extra scripts specific for platform
                        src: - board specific code
                      tools: - extra tools specific for platform
                    <config>: - board specific configuration(s)

    Note:
    <xxx> names are dependent on platform

    This is a logical change to aim to the arch layout but this is a
    huge change it should be done in several steps to lower the risk.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* Kconfig: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* Makefile: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* Makefile.*: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* Make.defs: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* .sh: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* .mk: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* .c & .h: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* .bat: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-05 12:04:14 +00:00
jjlange
e5dfd805e6 Merged in jjlange/nuttx/lpc40xx (pull request #946)
Add support for LPC40xx family chips

* Corrected a few peripheral definitions and pin functions for the LPC17xx family.
    Added configuration options, chip definitions, and additional pin functions for the LPC40xx family.
    Added board configurations for Embedded Artists LPC4088 Quickstart board and LPC4088 Developer's kit.  These configurations are still something of a work in progress.  In particular, the LCD functionality is untested.

* First pass rename in *.c and *.h files.

* Renamed LPC17XX to LPC17XX_40XX in config files

* Rplaced LPC17xx with LPC17xx/LPC40xx in .c files

* Replaced LPC17xx with LPC17xx/LPC40xx in .h files

* Updated some documentation

* Working on moving directories

* moved arch/arm/src/lpc17xx and arch/arm/include/lpc17xx to lpc17xx_40xx

* Renamed LPC17_* constants / configuration options to LPC17_40_*

* Updated chip family name defines

* Renamed some chip-specific files

* Updated references to renamed files

* Updated references to lpc17_ to lpc17_40_

* Renamed source files from lpc17_* to lpc17_40_*

* Clean up white space

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-11 16:50:00 +00:00
Gregory Nutt
2811a297c7 Squashed commit of the following:
drivers/lcd/tda19988.c:  Now uses the new common videomode structure of include/nuttx/video/videomode.h as do other video components.

    video/, include/nuttx/video/videomode.h:  Separate EDID and from videomode managment.  They really are separate things.
2019-07-10 09:00:17 -06:00
Gregory Nutt
b022435a97 include/nuttx/video/edid.h: Move here from include/nuttx/lcd/edid.h 2019-07-07 18:19:01 -06:00
Gregory Nutt
118d0f8f1f Trivial updates to last PR for minor issues reported by tools/nxstyle. 2019-07-03 07:44:41 -06:00
Alin Jerpelea
55a4029885 Merged in alinjerpelea/nuttx (pull request #928)
configs: spresense: add basic LCD configuration

* arch: arm: cxd56xx: add Graphics Engine

    Add driver for hardware image processor device

    to enable the hardware image processor set CXD56_GE2D=true

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: lcd: add ILI9340 LCD Single Chip Driver

    LCD Single Chip Driver, ILI9340, ILI Technology Corp.

    Required LCD driver settings:
    LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will be accepted.
    LCD_MAXPOWER should be 1:  0=off, 1=on

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: lcd: JDI LPM013M091A LCD Driver

    JDI LPM013M091A LCD Driver.

    This driver doesn't support reading data.
    Recommended to use DMA to transfer data or displayed image would be
    broken.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: add basic LCD configuration

    add basic LCD configuration for spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: add lpm013m091a LCD

    add device configuration for lpm013m091a LCD on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: add ili9340 LCD

    add device configuration for ili9340 LCD on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: add defconfig with LCD

    add defconfig with LCD for spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-03 12:24:13 +00:00
Gregory Nutt
b49be4bb20 Squashed commit of the following:
arch/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    sched/ audio/ crypto/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    Documentation/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    fs/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    graphics/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    net/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    drivers/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    include/, syscall/, wireless/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    configs/:  Remove all references to CONFIG_DISABLE_POLL.  Standard POSIX poll can no longer be disabled.
2019-05-21 18:57:54 -06:00
Gregory Nutt
04b723e447 Squashed commit of the following:
include/nuttx/nx/nxcursor.h:  Add a header file descrbing the implementation of an NX cursor interface.  There is no implementation in place yet.

    include/nuttx/video/cursor.h:  Separate out cursor definitions from fb.h.  Other graphic interfaces other than a framebuffer may support a cursor, possible a software cursor.
2019-04-06 12:18:05 -06:00
Gregory Nutt
dc8c814ca3 Squashed commit of the following:
Fixed coding standard error in several files.  Use of while( is incorrect; a space is required between while and (.  Also ran tools/nxstyle and fix thoses complaints as well in most files.

    Changes to comply with coding standard.  Mostly focused on files with missing space after keyword in if(, switch(, and for(.  Offending files also got changes to comply with tools nxstyle.  If there were logs of nxstyle complaints, the file also got a taste of tools/indent.sh.  Still need to fix occurrences of while( with missing space.  There are a lot of them.
2019-02-27 08:41:08 -06:00
Xiang Xiao
fb63c0a293 sched/signal and related changes to other OS subsystems. 2019-01-27 09:28:59 -06:00
Xiang Xiao
5e8ae23edc drivers/timers/oneshot.c: Support signal notification through SIGEV_THREAD
drivers/timers/rtc.c:  Support signal notification through SIGEV_THREAD
drivers/input/ajoystick.c:  Support signal notification through SIGEV_THREAD
drivers/input/djoystick.c:  Support signal notification through SIGEV_THREAD
drivers/input/button_upper.c:  Support signal notification through SIGEV_THREAD
drivers/sensors/zerocross.c: Support signal notification through SIGEV_THREAD
drivers/wireless/ieee802154:  Support signal notification through SIGEV_THREAD
drivers/lcd/ft80x.c: Support signal notification through SIGEV_THREAD
2019-01-27 08:53:12 -06:00
Gregory Nutt
25f6586c92 Update some input parameter descriptions. 2019-01-19 14:15:23 -06:00
Gregory Nutt
536735420b drivers/lcd/tda19988.c: Remove EDID definitions. Use definitions from new edid.h. 2019-01-15 12:48:46 -06:00
Gregory Nutt
a830d59da2 This commit brings in a complete, but untested, implementation of a driver for the TI TDA19988 HDMI Encoder. This encoder is used on the Beaglebone Black board. Since this driver is untested, it requires CONFIG_EXPERIMENTAL in the configuration.
Squashed commit of the following:

    drivers/lcd/tda19988.c:  Numerous changes for a clean compilation.

    drivers/lcd/tda19988:  Bring in the final pieces from the FreeBSD TDA19988 driver.  The driver is now code complete.

    drivers/lcd/tda19988.c:  Flesh on EDID read logic (still not complete).  Add unlink shutdown logic.

    drivers/lcd/tda19988.c:  Add logic to read one EDID block.

    drivers/lcd/tda19988.c:  Add tda19988_read_edid() interface.  Flesh read() and seek() methods.

    drivers/lcd/st7032.c:  Fix another error in seek method:  Does not account for negative offsets!

    drivers/lcd/tda19988.c:  Add basic IOCTL infrastructure to support configuratin the video mode.  Mostly just a framework for now.

    drivers/lcd/tda19988.c:  Add more register definitions.  Encode page+address in the same was as FreeBSD.

    drivers/lcd/tda19988.c:  Add support for CEC messaging.

    drivers/lcd/tda19988.c:  Implement the unlink method.  No IOCTLs defined yet.

    drivers/lcd/tda19988.c:  Add placeholders for missing character driver methods.

    drivers/lcd/tda19988.c:  Trivial interface improvement to permit reading multiple TDA19988 registers.

    drivers/lcd/tda19988.c:  Feeble start of TCA19988 drivers.  Consists of lower half interface definition and some I2C helper functions.  Nothing more.
2019-01-15 08:55:53 -06:00
Gregory Nutt
dc5d18a092 drivers/lcd/pcf8574_lcd_backpack.c: Fix seek method. Had the same problems as noted for st7032.c driver. 2019-01-14 16:38:57 -06:00
Gregory Nutt
508f90605c drivers/lcd/st7032.c: Fix another error in seek method: Does not account for negative offsets! 2019-01-14 15:56:31 -06:00
Gregory Nutt
7b95a18c91 drivers/lcd/st7032.c: Fix seek method. Was not taking into account the offset for the SEEK_END case. On errors, it was clobbering the filep->f_pos setting. 2019-01-14 15:43:31 -06:00
Anthony Merlino
67c609e343 Merged in antmerlino/nuttx/big-endian (pull request #784)
Fixes usage of CONFIG_BIG_ENDIAN; should be CONFIG_ENDIAN_BIG

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-16 20:33:54 +00:00
Alan Carvalho de Assis
c629d867e0 drivers/lcd/st7032.c: Improve ST7032 scroll-up to avoid line duplication 2018-12-04 16:20:29 -06:00
Alan Carvalho de Assis
bc9094ad27 drivers/lcd/st7032.c: Fix ST7032 scroll issue 2018-11-30 18:42:24 -06:00
Alan Carvalho de Assis
3a2a423214 drivers/lcd/Kconfig and several other places: Rename CONFIG_LCD_CONSOLE to CONFIG_SLCD_CONSOLE. The original name CONFIG_LCD_CONSOLE is incorrect because it runs on SLCD display. This patch fix it and update its dependences 2018-11-30 17:36:13 -06:00
Alan Carvalho de Assis
7e7437e54e drivers/lcd/st7032.c: Fix semaphore initialization in the ST7032 2018-11-25 15:59:51 -06:00
Alan Carvalho de Assis
ed64da90fa drivers/lcd: Add support to Alphanumeric Sitronix ST7032i display 2018-11-24 18:43:33 -06:00
Gregory Nutt
8c61c2f31b Remove trailing spaces at the end of lines. 2018-08-13 07:39:38 -06:00
Gregory Nutt
c2267a57a0 Kconfig files: Fix several errors noted by Alex Denisov in Bitbucket issue 115. 2018-08-05 10:48:02 -06:00
Gregory Nutt
10069067c1 include/nuttx/i2c/i2c_master.h: Rename I2C_M_NORESTART to I2C_M_NOSTART since it may be used in other contexts than a repeated start. Add comments to clarilfy setup for repeated start. 2018-08-03 08:51:55 -06:00
Alan Carvalho de Assis
283b73edc5 Fix lots of typos in C comments and Kconfig help text 2018-07-08 18:24:45 -06:00
Gregory Nutt
8fdbb1e0a4 Elimate use of the non-standard type systime_t and replace it the equivalent, standard type clock_t
Squashed commit of the following:

    sched:  Rename all use of system_t to clock_t.
    syscall:  Rename all use of system_t to clock_t.
    net:  Rename all use of system_t to clock_t.
    libs:  Rename all use of system_t to clock_t.
    fs:  Rename all use of system_t to clock_t.
    drivers:  Rename all use of system_t to clock_t.
    arch:  Rename all use of system_t to clock_t.
    include:  Remove definition of systime_t; rename all use of system_t to clock_t.
2018-06-16 12:16:13 -06:00
Gregory Nutt
9da3d4a2a9 drivers/lcd and configs/olimex-lpc1766stk: Remove support for the Nokia6100 LCD. That LCD uses a 9-bit SPI interface (the 9th bit being the command/data bit that is normally a discrete). That communication was never successfully integrated. I now believe that it would would require some special support from the low-level, MCU SPI driver to manage that 9th bit. The deleted code is still available in the Obsoleted repository in the nuttx/drivers/lcd, nuttx/configs/olimex-lpc1766stk, and Patches directories. 2018-05-19 16:46:21 -06:00
Gregory Nutt
b54ffe858a Standardization of some function headers. 2018-03-13 09:52:27 -06:00
Gregory Nutt
f346bb0e88 drivers/lcd/ft80x: Fix a typo that caused the driver to fail to recognize the ft801 chip version. Also update an unrelated README file. 2018-03-11 09:45:47 -06:00
Gregory Nutt
73c107e1fb Squashed commit of the following:
drviers/lcd/ft80x:  No longer depends on CONFIG_EXPERIMENTAL
    Update README.txt
2018-03-10 10:15:32 -06:00
Gregory Nutt
399b9860af Squashed commit of the following:
drivers/lcd/ft80x:  ACTIVE host command appears to be formatted differently than other host commands; Fix ROM CHIPID.  Appears to be big-ending, BCD.
    drivers/lcd/ft80x:  Fix some compile issues when debug features are enabled.
2018-03-09 12:32:59 -06:00
Gregory Nutt
8fe9e81183 drivers/lcd: Add FT80x controls for the case where the audio amplifier is controlled by FT80x GPIOs vs MCU gpios. 2018-02-27 08:45:34 -06:00
Gregory Nutt
eeb40dc600 drivers/lcd: Extend FT80x touchscreen initialization; add more touchscreen-related definitions. 2018-02-25 11:18:35 -06:00
Gregory Nutt
b2d415da79 configs/viewtool-stm32f107: Add support for FT80X initialization. Add ft80x configuration that will eventually be used for testing the ft80x if I ever receive hardware. 2018-02-24 13:11:27 -06:00
Gregory Nutt
a903572ff6 drivers/lcd: Add and IOCTL command to fade the backlight on and off. 2018-02-23 10:44:10 -06:00
Gregory Nutt
38a258bf3b drivers/ft80x: Now supports reading/writing multiple regisers with single ioctl command. 2018-02-21 11:45:34 -06:00
Gregory Nutt
02df81bc5f Squashed commit of the following:
drivers/lcd:  Add an IOcTL to FT80x driver to write to FIFO CMD RAM.
2018-02-20 15:24:52 -06:00
Gregory Nutt
237ff11db7 Squashed commit of the following:
drivers/lcd and include/nuttx/lcd:  Add FT80x support for writing to graphics memory.  Also add some definitions needed by apps/examples/ft80x for bitmap manipulation.
    drivers/lcd:  Review/update FT80x initializatin logic
2018-02-19 13:08:50 -06:00
Sebastien Lorquet
9527f849f4 drivers/lcd: Detect and handle more errors in return values within the LCD framebuffer and SSD1306 drivers 2018-02-19 07:32:44 -06:00
Gregory Nutt
2baa155791 drivers/lcd: In order to actually use the new register access IOCTL calls, need to move the register address definitions out of the private header file and into the public header file. 2018-02-18 13:45:20 -06:00
Gregory Nutt
65513d58e3 drivers/lcd: Add FT80x IOCTL commands to access individual registers. 2018-02-18 12:39:15 -06:00
Gregory Nutt
be73c65b64 drivers/lcd: Minor updates to FT80x initialization. 2018-02-18 11:04:29 -06:00
Gregory Nutt
eb3663721e Squashed commit of the following:
drivers/lcd:  Rename ft80x_base.c to just ft80x.c.  Add logic to notify FT80X clients of events via signals.
    drivers/lcd:  Trivial updates to naming.  Add some new definitions.
2018-02-17 18:30:24 -06:00
Gregory Nutt
758e94f7a7 drivers/lcd: Add FT80x interrupt framework. Interrupts are still not used by the driver. 2018-02-17 16:36:11 -06:00
Gregory Nutt
885ab75045 drivers/lcd: Add support for creating display lists incrementally. 2018-02-17 14:48:18 -06:00
Gregory Nutt
e4292dced8 drivers/lcd: Add unlink support to the FT80x driver. 2018-02-17 13:01:06 -06:00
Gregory Nutt
6a405ead67 This commit adds a barbones FTDI FT80x driver. It is untested (I don't even have hardware yet and, hence, it is marked as EXPERIMENTAL
Squashed commit of the following:

    drivers/lcd:  Finishes off basic FT80X.  Still missing some niceties.
    drivers/lcd: Rethink FT80X display list interface.
    drivers/lcd:  More FT800x display list logic.  Still not complete.
    drivers/lcd:  Add some basic FT80x initialization logic.
    drivers/lcd:  Add ft80x display list IOCTL framework.  Still missing low level display list operations.
    drivers/lcd:  FT80x driver cannot be a standard LCD driver but must, instead, be a custom character driver.
    drivers/lcd:  Add FT800 co-processor commands and display list helpers.
    drivers/lcd:  Add SPI interface and framework for the initialization and the basic LCD driver.
    drivers/lcd:  Add beginnings of some FT80x implementation.
    drivers/lcd:  Add definitions for the FTDI FT801 part
    include/nuttx/lcd/ft800.h:  Add initial FT800 interface definition.
    drivers/lcd:  Add ft800 header file.
2018-02-17 11:59:07 -06:00
Gregory Nutt
3dfb5e962b Fix a few typos 2018-02-15 10:43:05 -06:00
Gregory Nutt
46e5f292dd drivers/lcd: lcd_framebuffer.c does not need to include board-specific board.h. 2018-02-15 09:20:20 -06:00
Gregory Nutt
4a36c946e1 Trivial update to some comments. 2018-02-12 14:46:40 -06:00
Alan Carvalho de Assis
1247828e74 drivers/lcd: Fix the default I2C address of SSD1306 OLED display (7- vs 8-bit addressing) 2018-02-11 16:56:20 -06:00
Gregory Nutt
8f8ee5009d Update some C comments. 2018-02-10 17:05:25 -06:00
Gregory Nutt
642d7e3ce2 Squashed commit of the following:
configs/flipnclick-pic32mz:  Add an nxlines configuration for use in testing the custom HiletGo Click board.
    arch/mips/src/pic32mz:  Correct some SPI-related typos.  configs/flipnclick-pic32mz: Finishes integration of HiletGo OLED. drivers/lcd:  Finish support for HiletGo OLED.
    drivers/lcd:  Add configuration support for HiletGo OLED.  configs/flipnclick-pic32mz:  Add board support for HiletGo OLED.
2018-02-10 09:43:12 -06:00
Gregory Nutt
7cf88d7dbd Make sure that labeling is used consistently in all function headers. 2018-02-01 10:00:02 -06:00
Gregory Nutt
54f43ea1f1 Fix typos in Kconfig files: LCD_PACKEDMSFIRST, not LCD_PACKEDFIRST. 2017-11-26 07:57:17 -06:00
Gregory Nutt
c2c2c4f111 drivers/lcd: Make LCD driver configuration indepently selected from NX graphics configuration. This makes things awkward and loses some error checking but is a necessary step in order to make LCD drivers usable when the NX graphics system is disabled. 2017-11-25 13:13:30 -06:00
Gregory Nutt
3657723208 drivers/lcd: Add support for external LCD initialization required by some board logic. configs/zpa214xpa: Tried to get the LCD working again unsuccessfully. Too much bit rot I suppose. 2017-11-25 11:41:21 -06:00
Gregory Nutt
84de1fed9b Fix previous commit: In calculating the length of a run, the width has to be updated AFTER the start X position has been modified. 2017-11-22 06:13:56 -06:00
Gregory Nutt
9a4c3bbe99 drivers/lcd_framebuffer.c: If BPP is less then 8, then we need to byte-align the update region. 2017-11-22 05:35:33 -06:00
Alan Carvalho de Assis
7c5f329294 drivers/lcd/max7219.c: Add support for MAX7219 vertically organized display. 2017-11-07 13:20:03 -06:00
Gregory Nutt
205fe8053f Kconfigs: Add CONFIG_LCD_UPDATE that works like CONFIG_NX_UPDATE but can be enabled without enabling the graphics subsystem. 2017-11-04 14:08:21 -06:00
Alan Carvalho de Assis
829e6520e3 drivers/lcd/max7219.c: Add support to MAX7219 LED Matrix as LCD interface 2017-11-04 07:54:48 -06:00
Gregory Nutt
936df1bcb5 Adds new OS internal functions nxsig_sleep() and nxsig_usleep. These differ from the standard sleep() and usleep() in that (1) they don't cause cancellation points, and (2) don't set the errno variable (if applicable). All calls to sleep() and usleep() changed to calls to nxsig_sleep() and nxsig_usleep().
Squashed commit of the following:

    Change all calls to usleep() in the OS proper to calls to nxsig_usleep()

    sched/signal:  Add a new OS internal function nxsig_usleep() that is functionally equivalent to usleep() but does not cause a cancellaption point and does not modify the errno variable.

    sched/signal:  Add a new OS internal function nxsig_sleep() that is functionally equivalent to sleep() but does not cause a cancellaption point.
2017-10-06 10:15:01 -06:00
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
8394f9b60f Squashed commit of the following:
configs/z80sim and xtrs:  Serial driver lower halfs ioctl methods should return a negated errno value, not set the errno variable.

    drivers/wireless:  CC1101 driver not permitted to set errno.

    drivers/sensors:  LIS331DL driver not permitted to set errno.

    drivers/lcd: ILI9341 initialize method not permitted to set errno,

    drivers/serial: 16550 UART driver IOCTL method must not set errno; it must return a negated errno value.
2017-09-30 12:59:33 -06:00
Gregory Nutt
cfd44639b2 Fix some cosmetic stuff in the framebuffer character driver and in the LCD framebuffer driver front-end. 2017-09-17 13:48:10 -06:00
Gregory Nutt
0b8730fb8b Squashed commit of the following:
configs/stm3210e-eval: Bring in new stm32_appinit.c, add board_initialize(), add support for FB character driver.
    configs/stm3210e-eval: Rename stm32_appinit.c to stm32_bringup.c so that the start up logic is compatible with other, new boards.
2017-09-17 13:17:06 -06:00
Gregory Nutt
a9c054237a drivers/lcd: Add suppose for a generic front-end that will convert any LCD driver into a framebuffer driver. 2017-09-17 10:39:23 -06:00
Jussi Kivilinna
a099506b1b drivers/lcd: ssd1306: separate lcd_dev_s setup to separate object. g_oleddev takes 1 KiB because framebuffer and was allocated to .data section because of lcd_dev_s function pointer setup. Move lcd_dev_s setup out, so that g_oleddev goes to .bss and avoid wasting ROM. 2017-08-22 08:46:00 -06:00
ussi Kivilinna
89cc4741ac drivers/lcd: ssd1306: fix memory corruption caused by ssd1306_getrun(). ssd1306_getrun was writing one extra byte (with value 0) past target buffer when pixlen is multiple of 8. When pixlen was not multiple of 8, last byte of buffer was fully cleared, instead of modifying only the (pixlen % 8) bits of last byte. 2017-08-22 08:42:40 -06:00
Jussi Kivilinna
3dfeb9e59f drivers/lcd: ssd1306: add support for board power control. ThingseeOne has regulator for controlling display power on/off. Patch adds support for board based power control to SSD1306 driver. 2017-08-22 08:40:27 -06:00
Jussi Kivilinna
310a29227a drivers/lcd: add DD-12864WO-4A/SSD1309 support to SSD1306 driver 2017-08-22 08:32:52 -06:00
Gregory Nutt
95e20afcd2 drivers/: Remove dangling space at the end of lines. 2017-06-28 13:17:17 -06:00
Alan Carvalho de Assis
96e1a80f99 Replace the structure initializer with C89 style 2017-05-26 11:36:36 -03:00
Alan Carvalho de Assis
8df5c29857 Add driver for Nokia 5110 (Philips PCD8544) 2017-05-26 10:53:13 -03:00
Gregory Nutt
e9a5477506 Add an instance argument to the SPIDEV definitions. 2017-04-29 12:26:52 -06:00
Gregory Nutt
d5207efb5a Be consistent... Use Name: consistent in function headers vs Function: 2017-04-21 16:33:14 -06:00
Gregory Nutt
6c4dac459a lcd/: PCF8574 backpack logic needs to include poll.h CONFIG_DISABLE_POLL is not set. 2017-03-27 12:28:34 -06:00
Masayuki Ishikawa
e336d24898 drivers/lcd/st7565.c: Use ST7565_POWERCTRL_INT instead of ST7565_POWERCTRL_BRF 2017-03-22 08:21:22 +09:00
Masayuki Ishikawa
591f91ebd3 drivers/lcd/st7565.c: Extend to include support for the AQM_1248A 2017-03-21 15:30:23 +09:00
no1wudi
5528b2836c fixed the debug method selection of ssd1306 2017-03-07 19:49:18 +08:00
Mark Schulte
28226198a7 memlcd: Mark Schulte <mark@mjs.pw> 2017-03-01 08:52:58 -06:00
Gregory Nutt
0df1c556dc drivers/lcd: ssd1306_configspi() must have global scope. 2017-02-09 07:45:25 -06:00
Gregory Nutt
d9e040d76b Remove all Calypso board configurations 2016-12-13 18:24:49 -06:00
Gong Darcy
44b7975a5e SSD1306: Fix errors in SPI mode configuration 2016-12-04 10:07:46 -06:00
Alpo Leinonen
7d5173ca09 USB host composite: Several syntactic errors fixed 2016-08-29 07:53:57 -06:00
Gregory Nutt
32ebeb15b4 Trivial changes from review of PR 115 2016-08-14 13:47:07 -06:00
Gregory Nutt
ade02a513b Merged in v01d/nuttx/ssd1306-128 (pull request #115) 2016-08-14 13:42:24 -06:00
v01d
943c853939 semantic changes 2016-08-14 16:23:13 -03:00
v01d
02a7fd2430 Make OLED 132x64 use 128x64 for the time being 2016-08-14 14:54:58 -03:00
Gregory Nutt
4b582f0ae9 Fix some comments 2016-08-14 07:16:18 -06:00
Gregory Nutt
e963e8d879 Changes from review of PR 112 2016-08-13 16:53:23 -06:00
Gregory Nutt
72a2fed1d0 Merged in v01d/nuttx/ssd1306_fixes (pull request #112)
SH1106 0.96 OLED module support (SSD1306 compatible) + I2C fixes
2016-08-13 16:33:28 -06:00
v01d
21e930cdba SH1106 0.96 OLED module support (SSD1306 compatible) + I2C fixes 2016-08-13 19:20:20 -03:00
Gregory Nutt
caea59b340 SPI bit order: Add configuration setting to indicate if an architecture-specif SPI implementation does or does not support LSB bit order. 2016-08-08 12:21:20 -06:00
Gregory Nutt
6df28bc74e Make bit-order SPI H/W feature configurable for better error detection 2016-08-08 11:54:13 -06:00
Gregory Nutt
21859af6d9 Add check of return value in drivers affected by last change: Report the error on a failure to set the bit order. 2016-08-08 08:40:37 -06:00
Gregory Nutt
7d4cb73bd6 STM32 and EFM32 SPI drivers adopted an incompatible conventions somewhere along the line. The set the number of bits to negative when calling SPI_SETBITS which had the magical side-effect of setting LSB first order of bit transmission. This is not only a hokey way to pass control information but is supported by no other SPI drivers.
This change three things:  (1) It adds HWFEAT_LSBFIRST as a new H/W feature.  (2) It changes the implementations of SPI_SETBITS in the STM32 and EFM32 derivers so that negated bit numbers are simply errors and it adds the SPI_HWFEATURES method that can set the LSB bit order, and (3) It changes all calls with negative number of bits from all drivers: The number of bits is now always positive and SPI_HWFEATUREs is called with HWFEAT_LSBFIRST to set the bit order.
2016-08-08 08:28:13 -06:00
Gregory Nutt
2a751068e6 Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err(). 2016-06-20 12:44:38 -06:00
Gregory Nutt
0c8c7fecf0 Add _ to the beginning of all debug macros to avoid name collisions 2016-06-16 12:33:32 -06:00
Gregory Nutt
24c51ec1ff Centralize definitions associated with CONFIG_DEBUG_LCD 2016-06-15 11:40:33 -06:00
Gregory Nutt
0665c7e06c drivers/: Change some nerr() ERRORS to ninfo() and nwarn() WARNINGS. 2016-06-12 09:26:12 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2 Rename *lldbg to *llerr 2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9 Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO 2016-06-11 11:50:18 -06:00
Gregory Nutt
d76d889efd Restore FLASH_ERASALL in configurations where it was previously selected 2016-06-03 09:10:21 -06:00
Pierre-noel Bouteville
7e2aed942a Correct conditioinal compilation in ST7565 driver 2016-06-03 08:42:32 -06:00
Gregory Nutt
22044edd12 Merged in ziggurat29/nuttx/stm32l4_i2c_lcd_mjkdz_001 (pull request #35)
correct bugs and add enhancements to pcf8574 lcd backpack driver
2016-05-29 14:02:39 -06:00
ziggurat29
bb7a579681 fleshed out rest of fileops interface; read now takes into consideration current file position (so the display can be read in multiple operations, and indiate EOF correctly), seek (really just to facilitate rewind), and unlink (to facilitate dropping from system at runtime). 2016-05-29 14:53:37 -05:00
ziggurat29
4643fcdfd8 correct logic hazard in latch and load nybble; was transitioning control lines at the same time as enable, causing spurious behaviour on less-tolerant displays
improve timing parameters in init sequences for better display compatibility

correct (row,col) -> address calculation; affects 4-line displays

update comments in header and readme
2016-05-29 11:09:00 -05:00
Gregory Nutt
1571575d54 Perhaps this is a little clearer 2016-05-26 13:44:10 -06:00
Gregory Nutt
e57a6d14c3 lcd/Kconfig, Make.defs: Remove dependency of CONFIG_LCD_NXDRIVER for building non-graphic, SLCD drivers. 2016-05-26 07:21:14 -06:00
Gregory Nutt
d58e4acf17 Remove whitespace from the end of lines 2016-05-25 08:48:55 -06:00
Gregory Nutt
51504a032e Oops... forgot to add PCF8574 LCD Backpack files before doing the commit. 2016-05-25 08:48:54 -06:00
Dave
dc1c27cee7 * This driver supports the 'I2C lcd backpack' design that is based on the PCF8574 io expander. There's a myriad of different vendors of such, but they are principally the same, save wiring and minor features like jumpers for I2C addresses. This driver supports known and unknown variants.
*  The interface board supports HD44780-based LCD modules up to 4x32, and this driver accommodates all those formats.
2016-05-25 08:06:32 -06:00
Gregory Nutt
69ce24c70c I2C: Remove the setfrequency method from the interface 2016-02-01 16:31:13 -06:00
Gregory Nutt
6ad641888b Add I2C frequency to the i2c_msg_s structure 2016-02-01 14:17:20 -06:00
Gregory Nutt
f9053182d3 I2C: Remove setaddress method 2016-02-01 12:14:31 -06:00
Gregory Nutt
3a781a2d3f Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s. 2016-01-30 08:36:47 -06:00
Gregory Nutt
ceb415204e Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h 2016-01-30 08:00:16 -06:00
Gregory Nutt
31cf7e0900 Fix missing semicolon 2016-01-23 21:21:15 -06:00
Gregory Nutt
d87f7e99d2 NOkia LCD needs to initialize SPI before using it 2016-01-23 19:45:30 -06:00
Gregory Nutt
7ee6c5bcfc Minor clean-up for last big commit 2016-01-23 19:18:55 -06:00
Gregory Nutt
7edf921c5e Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law 2016-01-23 18:54:36 -06:00
Gregory Nutt
f6e49caba8 All SPI-based device drivers needs to call SPI_HWFEATURES() with zero in order to co-exist with drivers that use H/W features 2016-01-23 16:18:13 -06:00
Marco Krahl
b1b97e89c8 drivers/lcd/ili9432.c: Fixed errors in orientation. Portrait, RPortrait, and RLandscript should work correly now. They were displayed mirrored. From Marco Krahl 2015-11-25 13:01:37 -06:00
Gregory Nutt
cf14f8d1b5 drivers/: Fixes to spacing and alignement 2015-10-10 10:41:00 -06:00
Pierre-noel Bouteville
59e5e2f5cc drivers/lcd/st7565.c: Extend to include support for the ERC12864-3. From Pierre-noel Bouteville 2015-10-07 14:30:08 -06:00
Gregory Nutt
af086c40ff Remove dangling whitespace 2015-10-04 15:28:54 -06:00
Gregory Nutt
0b12dbf95d Fix some spacing problems 2015-10-04 15:04:00 -06:00
Gregory Nutt
16b32bbadd Standardize the width of all comment boxes in C files 2015-10-03 07:25:53 -06:00
Gregory Nutt
ac394041bf Standardize nameing of the pre-processor definitiongs group header 2015-10-02 14:17:29 -06:00
Gregory Nutt
bb595777fd Eliminate warnings 2015-09-08 10:21:19 -06:00
Paul A. Patience
c080146748 SSD1351 driver: add 8-bit parallel interface 2015-09-06 13:28:28 -04:00
Gregory Nutt
9c66bde5b0 Fix typo in pre-processor command noted by Pierre-noel Bouteville. Also move # of pre-processior command to column 1 2015-09-05 09:10:48 -06:00
Paul A. Patience
01b68e90d0 Add SSD1351 OLED controller support 2015-08-28 18:37:01 -04:00
Alan Carvalho de Assis
d7d15072c4 Updated SSD1306 driver 2015-07-15 13:28:31 -06:00
Gregory Nutt
8580d37352 SSD1306: Rename ssd1306_helpers.h to ssd1306.h. Move all SSD1306 driver definitions from ssd1306_base.c to ssd1306.h 2015-07-15 11:46:28 -06:00
Alan Carvalho de Assis
a3e24a0b6c Modify the SSD1306 LCD driver to support either the SPI or I2C interface. From Alan Carvalho de Assis, 2015-07-15 11:21:54 -06:00
Gregory Nutt
342f5fe33d Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
8ab4ea531e Update README 2015-04-24 07:48:53 -06:00
Gregory Nutt
a8a3790139 RA8875 LCD driver contributed by Marten Svanfeldt 2015-04-24 07:46:03 -06:00
Gregory Nutt
e4d2822af8 Make some file section headers more consistent with standard 2015-04-08 07:15:32 -06:00
Gregory Nutt
e9e386ac6e Add ILI9488 header file 2015-04-03 07:12:11 -06:00
Gregory Nutt
e7470e0834 Update dates in all skeleton files 2015-02-13 06:13:34 -06:00
Gregory Nutt
2994448d85 More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs. 2014-11-25 13:15:09 -06:00
Gregory Nutt
8d00912207 Add mirror (x/y) and inverse video (black<->white) options to the ST7565 LCD driver. From Pierre-noel Bouteville. 2014-11-15 06:43:12 -06:00
Gregory Nutt
e03c764d92 I don't think that the net_route function has ever worked correctly. The source ip was updated in the match struct instead of the route ip. From Brennan Ashton. 2014-11-14 16:45:25 -06:00
Gregory Nutt
ca15802ae5 Trival fix to comment 2014-11-14 10:58:13 -06:00
Gregory Nutt
9f3d4b30fb Add st7565.c to build 2014-11-14 06:55:16 -06:00
Gregory Nutt
3576e249b5 Add driver for ST7565 that works with NHD‐C12864KGZ display. From Pierre-noel Bouteville. 2014-11-13 16:03:52 -06:00
Gregory Nutt
fa3753c466 rivers: enable usage of ili9341
This enables build and configuration of the ili9341 lcd interface driver.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:27:56 -06:00
Gregory Nutt
beff697bc7 drivers: implements lcd interface for ili9341
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>
2014-10-20 15:19:43 -06:00
Gregory Nutt
d7d759f7a7 Update everything under nuttx/drivers to use the corrected syslog interfaces 2014-10-08 10:18:58 -06:00
Gregory Nutt
cf242fbeb4 SAM4E-EK: Add ILI9341-based LCD driver 2014-08-20 11:45:01 -06:00
Gregory Nutt
2abe0dd6dd Change all variadic macros to C99 style 2014-05-22 09:01:51 -06:00
Gregory Nutt
f58767ce79 MIO183QT-9A LCD driver updated to support reading from the LCD. From Toby Duckwork 2014-04-16 12:17:35 -06:00
Gregory Nutt
3a1324741a More trailing whilespace removal 2014-04-13 14:32:20 -06:00
Gregory Nutt
494387b33b Make sure that there is one space after for 2014-04-12 13:28:22 -06:00
Gregory Nutt
4d25119e62 Fix various typos in comments. From Alan Carvalho de Assis 2014-04-06 09:02:02 -06:00
Gregory Nutt
cbdc9155ab SAMA5: Add support for DBGU. Xplained board now uses DBGU for the serial console 2014-04-01 11:24:15 -06:00
Gregory Nutt
a37c158659 Add missing MIO283QT-9A to the drivers/lcd/Kconfig 2014-03-27 07:38:02 -06:00
Gregory Nutt
86d7618733 configs/skp16c26/ostest: Configuration converted to use the kconfig-frontends tools 2014-03-06 08:28:49 -06:00
Gregory Nutt
9fd85aec9e configs/olimex-lpc1766stk/nx converted to use the kconfig-frontends 2014-03-02 12:26:52 -06:00
Gregory Nutt
077b211456 Bug fix for the MIO283QT-9A driver from Toby Duckwork 2014-02-19 10:57:32 -06:00
Gregory Nutt
91b002a043 Many changes to reduce complaints from CppCheck. Several latent bugs fixes, but probably some new typos introduced 2014-02-10 18:08:49 -06:00
Gregory Nutt
8ef272911e Update comments in file headers 2014-02-10 13:58:08 -06:00
Gregory Nutt
a9b01d5824 Support for the MIO283QT9A LCD from Toby Duckworth 2014-02-10 12:26:08 -06:00
Gregory Nutt
0d6a046e67 Add support for Sharp Memory LCD on the Maple board 2013-12-23 16:47:31 -06:00
Gregory Nutt
45d2bf2554 Support for Sharp Memory LCD. From Librae 2013-12-23 16:03:54 -06:00
Gregory Nutt
e282aad903 Move include/nuttx/fb.h to include/nuttx/video/fb.h 2013-12-10 09:23:54 -06:00
Gregory Nutt
bc46b447dc Fix all occurrences of "the the" in documentation and comments 2013-08-27 09:40:19 -06:00
Gregory Nutt
09faaccc02 Created new directories to hold SPI-related files 2013-07-01 08:11:54 -06:00
Gregory Nutt
3d975e0a08 Fix UG-2832HSWEG04 landscape. Add reverse landscape support to UG_2864AMBAG01 and UG-9964HSWAG01. Fixe NXHELLO default colors for 1-bit mono modes 2013-06-24 12:37:02 -06:00
Gregory Nutt
d971650440 Fix UG-2832HSWEG04 configuration values 2013-06-23 15:17:22 -06:00
Gregory Nutt
d11050e978 Add support for the UG-2843HHSWEG04 OLED and for the SAM4L Xplained Pro OLED module that uses that OLED. 2013-06-23 14:39:56 -06:00
Gregory Nutt
f2cb0540a5 Verified the sure-pic32mx/usbnsh configuration 2013-05-27 14:10:34 -06:00
Gregory Nutt
b97a816998 The SLCD driver is now fully functional for Sure PIC32MX board 2013-05-27 11:39:13 -06:00
Gregory Nutt
157789e373 Rename SLCD geometry tructure to attributes; Move MAX contrast to attributes. Add attribute and ioctl commands to get and set SLCD brightness 2013-05-27 07:26:59 -06:00
Gregory Nutt
a3c1949963 Converted configs/pcblogic-pic32mx configurations to use kconfig-frontends. Re-organization of files in configs/pcblogic-pic32mx/src 2013-05-25 11:53:49 -06:00
Gregory Nutt
b80707ea78 Add support for R61505U LCD controller on HY-mini STM32v board 2013-05-16 14:06:16 -06:00
Gregory Nutt
88c0911fb1 Various changes and bigfixes for problems detected by CppCheck 2013-05-09 14:23:34 -06:00