diff --git a/apps/examples/nxconsole/nxcon_internal.h b/apps/examples/nxconsole/nxcon_internal.h index a4bcd851b7..5aaabfe97e 100644 --- a/apps/examples/nxconsole/nxcon_internal.h +++ b/apps/examples/nxconsole/nxcon_internal.h @@ -71,8 +71,26 @@ # define CONFIG_EXAMPLES_NXCON_VPLANE 0 #endif +/* Pixel depth. If non provided, pick the smallest enabled pixel depth */ + #ifndef CONFIG_EXAMPLES_NXCON_BPP -# define CONFIG_EXAMPLES_NXCON_BPP 32 +# if !defined(CONFIG_NX_DISABLE_1BPP) +# define CONFIG_EXAMPLES_NXCON_BPP 1 +# elif !defined(CONFIG_NX_DISABLE_2BPP) +# define CONFIG_EXAMPLES_NXCON_BPP 2 +# elif !defined(CONFIG_NX_DISABLE_4BPP) +# define CONFIG_EXAMPLES_NXCON_BPP 4 +# elif !defined(CONFIG_NX_DISABLE_8BPP) +# define CONFIG_EXAMPLES_NXCON_BPP 8 +# elif !defined(CONFIG_NX_DISABLE_16BPP) +# define CONFIG_EXAMPLES_NXCON_BPP 16 +//#elif !defined(CONFIG_NX_DISABLE_24BPP) +//# define CONFIG_NXCONSOLE_BPP 24 +# elif !defined(CONFIG_NX_DISABLE_32BPP) +# define CONFIG_EXAMPLES_NXCON_BPP 32 +# else +# error "No pixel depth provided" +# endif #endif /* Background color */ diff --git a/apps/examples/nxconsole/nxcon_main.c b/apps/examples/nxconsole/nxcon_main.c index cc83aac169..96f6567046 100644 --- a/apps/examples/nxconsole/nxcon_main.c +++ b/apps/examples/nxconsole/nxcon_main.c @@ -356,7 +356,7 @@ int MAIN_NAME(int argc, char **argv) /* Create a window */ message(MAIN_NAME_STRING ": Create window\n"); - g_nxcon_vars.hwnd = nxtk_openwindow(&g_nxcon_vars.hnx, &g_nxconcb, NULL); + g_nxcon_vars.hwnd = nxtk_openwindow(g_nxcon_vars.hnx, &g_nxconcb, NULL); if (!g_nxcon_vars.hwnd) { message(MAIN_NAME_STRING ": nxtk_openwindow failed: %d\n", errno); @@ -432,10 +432,10 @@ int MAIN_NAME(int argc, char **argv) /* Open the driver */ - fd = open(CONFIG_EXAMPLES_NXCON_DEVNAME, O_RDONLY); + fd = open(CONFIG_EXAMPLES_NXCON_DEVNAME, O_WRONLY); if (fd < 0) { - message(MAIN_NAME_STRING ": open %d read-only failed: %d\n", + message(MAIN_NAME_STRING ": open %s read-only failed: %d\n", CONFIG_EXAMPLES_NXCON_DEVNAME, errno); goto errout_with_driver; } diff --git a/apps/examples/nxconsole/nxcon_wndo.c b/apps/examples/nxconsole/nxcon_wndo.c index b052af0d2b..6fadda866e 100644 --- a/apps/examples/nxconsole/nxcon_wndo.c +++ b/apps/examples/nxconsole/nxcon_wndo.c @@ -119,9 +119,14 @@ static void nxwndo_redraw(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, hwnd, rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y, more ? "true" : "false"); - /* Inform the NX console of the redraw request */ + /* Don't attempt to redraw if the driver has not yet been opened */ - nxcon_redraw(g_nxcon_vars.hdrvr, rect, more); + if (g_nxcon_vars.hdrvr) + { + /* Inform the NX console of the redraw request */ + + nxcon_redraw(g_nxcon_vars.hdrvr, rect, more); + } } /**************************************************************************** diff --git a/nuttx/arch/arm/src/stm32/stm32_i2c.c b/nuttx/arch/arm/src/stm32/stm32_i2c.c index 11e6767aec..1865cd8149 100644 --- a/nuttx/arch/arm/src/stm32/stm32_i2c.c +++ b/nuttx/arch/arm/src/stm32/stm32_i2c.c @@ -1069,7 +1069,7 @@ static int stm32_i2c_isr(struct stm32_i2c_priv_s *priv) { stm32_i2c_modifyreg(priv, STM32_I2C_CR1_OFFSET, I2C_CR1_ACK, 0); } - priv->dnct--; + priv->dcnt--; } } diff --git a/nuttx/configs/sim/nx/defconfig b/nuttx/configs/sim/nx/defconfig index b301f869b7..fcac93e098 100644 --- a/nuttx/configs/sim/nx/defconfig +++ b/nuttx/configs/sim/nx/defconfig @@ -621,6 +621,7 @@ CONFIG_EXAMPLES_NXLINES_EXTERNINIT=n # # Settings for examples/mount +# CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0" #CONFIG_EXAMPLES_MOUNT_NSECTORS=2048 #CONFIG_EXAMPLES_MOUNT_SECTORSIZE=512 diff --git a/nuttx/configs/stm3210e-eval/nsh2/appconfig b/nuttx/configs/stm3210e-eval/nsh2/appconfig index ba078d58a2..de15b0ddfd 100644 --- a/nuttx/configs/stm3210e-eval/nsh2/appconfig +++ b/nuttx/configs/stm3210e-eval/nsh2/appconfig @@ -43,9 +43,14 @@ CONFIGURED_APPS += system/readline CONFIGURED_APPS += nshlib # The NX and NXHELLO examples configured as an NX built-in commands +# Various NX tests can be supported, simply comment-out examples/nx and +# uncomment the test you wish to perform CONFIGURED_APPS += examples/nx CONFIGURED_APPS += examples/nxhello +#CONFIGURED_APPS += examples/nxlines +#CONFIGURED_APPS += examples/nxtext +#CONFIGURED_APPS += examples/nxconsole CONFIGURED_APPS += examples/usbstorage ifeq ($(CONFIG_I2C),y) diff --git a/nuttx/configs/stm3210e-eval/nsh2/defconfig b/nuttx/configs/stm3210e-eval/nsh2/defconfig index 5174d51015..09a701b8df 100644 --- a/nuttx/configs/stm3210e-eval/nsh2/defconfig +++ b/nuttx/configs/stm3210e-eval/nsh2/defconfig @@ -1040,6 +1040,45 @@ CONFIG_NX_BLOCKING=y CONFIG_NX_MXSERVERMSGS=32 CONFIG_NX_MXCLIENTMSGS=16 +# +# NxConsole Configuration Settings: +# +# CONFIG_NXCONSOLE_BPP +# Currently, NxConsole supports only a single pixel depth. This +# configuration setting must be provided to support that single pixel depth. +# Default: The smallest enabled pixel depth. (see CONFIG_NX_DISABLE_*BPP) +# CONFIG_NXCONSOLE_NOGETRUN +# NxConsole needs to know if it can read from the LCD or not. If reading +# from the LCD is supported, then NxConsole can do more efficient +# scrolling. Default: Supported +# CONFIG_NXCONSOLE_MXCHARS +# NxConsole needs to remember every character written to the console so +# that it can redraw the window. This setting determines the size of some +# internal memory allocations used to hold the character data. Default: 128. +# CONFIG_NXCONSOLE_FONTCACHE +# If this setting is defined, then caching of fonts will be supported by +# NxConsole. Each font must be rendered from the tiny font storage format +# to the full display size and pixel depth. If this setting is defined, then +# the more recently used font glyphs will be retained in a cache of size +# CONFIG_NXCONSOLE_CACHESIZE. Default: No font caching. +# CONFIG_NXCONSOLE_CACHESIZE +# If CONFIG_NXCONSOLE_FONTCACHE, then this setting will control the size +# of the font cache (in number of glyphs). Default: 16. +# CONFIG_NXCONSOLE_LINESEPARATION +# This the space (in rows) between each row of test. Default: 2 +# CONFIG_NXCONSOLE_NOWRAP +# By default, lines will wrap when the test reaches the right hand side +# of the window. This setting can be defining to change this behavior so +# that the text is simply truncated until a new line is encountered. +# +CONFIG_NXCONSOLE_BPP=16 +# CONFIG_NXCONSOLE_NOGETRUN +# CONFIG_NXCONSOLE_MXCHARS +# CONFIG_NXCONSOLE_FONTCACHE +# CONFIG_NXCONSOLE_CACHESIZE +# CONFIG_NXCONSOLE_LINESEPARATION +# CONFIG_NXCONSOLE_NOWRAP + # # STM3210E-EVAL LCD Hardware Configuration # diff --git a/nuttx/configs/stm3210e-eval/nx/appconfig b/nuttx/configs/stm3210e-eval/nx/appconfig index 07fed473b1..7f660642c1 100644 --- a/nuttx/configs/stm3210e-eval/nx/appconfig +++ b/nuttx/configs/stm3210e-eval/nx/appconfig @@ -1,8 +1,8 @@ ############################################################################ # configs/stm3210e-eval/nx/appconfig # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -34,6 +34,12 @@ ############################################################################ # Path to example in apps/examples containing the user_start entry point +# Various NX tests can be supported, simply comment-out examples/nx and +# uncomment the test you wish to perform CONFIGURED_APPS += examples/nx +#CONFIGURED_APPS += examples/nxhello +#CONFIGURED_APPS += examples/nxlines +#CONFIGURED_APPS += examples/nxtext +#CONFIGURED_APPS += examples/nxconsole diff --git a/nuttx/configs/stm3210e-eval/nx/defconfig b/nuttx/configs/stm3210e-eval/nx/defconfig index 823d67a5a8..7532dab55c 100644 --- a/nuttx/configs/stm3210e-eval/nx/defconfig +++ b/nuttx/configs/stm3210e-eval/nx/defconfig @@ -890,6 +890,45 @@ CONFIG_NX_BLOCKING=y CONFIG_NX_MXSERVERMSGS=32 CONFIG_NX_MXCLIENTMSGS=16 +# +# NxConsole Configuration Settings: +# +# CONFIG_NXCONSOLE_BPP +# Currently, NxConsole supports only a single pixel depth. This +# configuration setting must be provided to support that single pixel depth. +# Default: The smallest enabled pixel depth. (see CONFIG_NX_DISABLE_*BPP) +# CONFIG_NXCONSOLE_NOGETRUN +# NxConsole needs to know if it can read from the LCD or not. If reading +# from the LCD is supported, then NxConsole can do more efficient +# scrolling. Default: Supported +# CONFIG_NXCONSOLE_MXCHARS +# NxConsole needs to remember every character written to the console so +# that it can redraw the window. This setting determines the size of some +# internal memory allocations used to hold the character data. Default: 128. +# CONFIG_NXCONSOLE_FONTCACHE +# If this setting is defined, then caching of fonts will be supported by +# NxConsole. Each font must be rendered from the tiny font storage format +# to the full display size and pixel depth. If this setting is defined, then +# the more recently used font glyphs will be retained in a cache of size +# CONFIG_NXCONSOLE_CACHESIZE. Default: No font caching. +# CONFIG_NXCONSOLE_CACHESIZE +# If CONFIG_NXCONSOLE_FONTCACHE, then this setting will control the size +# of the font cache (in number of glyphs). Default: 16. +# CONFIG_NXCONSOLE_LINESEPARATION +# This the space (in rows) between each row of test. Default: 2 +# CONFIG_NXCONSOLE_NOWRAP +# By default, lines will wrap when the test reaches the right hand side +# of the window. This setting can be defining to change this behavior so +# that the text is simply truncated until a new line is encountered. +# +CONFIG_NXCONSOLE_BPP=16 +# CONFIG_NXCONSOLE_NOGETRUN +# CONFIG_NXCONSOLE_MXCHARS +# CONFIG_NXCONSOLE_FONTCACHE +# CONFIG_NXCONSOLE_CACHESIZE +# CONFIG_NXCONSOLE_LINESEPARATION +# CONFIG_NXCONSOLE_NOWRAP + # # STM3210E-EVAL LCD Hardware Configuration # diff --git a/nuttx/configs/stm3210e-eval/nxlines/appconfig b/nuttx/configs/stm3210e-eval/nxlines/appconfig index c763064470..0446d56cb5 100644 --- a/nuttx/configs/stm3210e-eval/nxlines/appconfig +++ b/nuttx/configs/stm3210e-eval/nxlines/appconfig @@ -34,6 +34,11 @@ ############################################################################ # Path to example in apps/examples containing the user_start entry point +# Various NX tests can be supported, simply comment-out examples/nx and +# uncomment the test you wish to perform +#CONFIGURED_APPS += examples/nx +#CONFIGURED_APPS += examples/nxhello CONFIGURED_APPS += examples/nxlines - +#CONFIGURED_APPS += examples/nxtext +#CONFIGURED_APPS += examples/nxconsole diff --git a/nuttx/configs/stm3210e-eval/nxlines/defconfig b/nuttx/configs/stm3210e-eval/nxlines/defconfig index f457cccbc3..7f912995fa 100644 --- a/nuttx/configs/stm3210e-eval/nxlines/defconfig +++ b/nuttx/configs/stm3210e-eval/nxlines/defconfig @@ -889,6 +889,45 @@ CONFIG_NX_BLOCKING=y CONFIG_NX_MXSERVERMSGS=32 CONFIG_NX_MXCLIENTMSGS=16 +# +# NxConsole Configuration Settings: +# +# CONFIG_NXCONSOLE_BPP +# Currently, NxConsole supports only a single pixel depth. This +# configuration setting must be provided to support that single pixel depth. +# Default: The smallest enabled pixel depth. (see CONFIG_NX_DISABLE_*BPP) +# CONFIG_NXCONSOLE_NOGETRUN +# NxConsole needs to know if it can read from the LCD or not. If reading +# from the LCD is supported, then NxConsole can do more efficient +# scrolling. Default: Supported +# CONFIG_NXCONSOLE_MXCHARS +# NxConsole needs to remember every character written to the console so +# that it can redraw the window. This setting determines the size of some +# internal memory allocations used to hold the character data. Default: 128. +# CONFIG_NXCONSOLE_FONTCACHE +# If this setting is defined, then caching of fonts will be supported by +# NxConsole. Each font must be rendered from the tiny font storage format +# to the full display size and pixel depth. If this setting is defined, then +# the more recently used font glyphs will be retained in a cache of size +# CONFIG_NXCONSOLE_CACHESIZE. Default: No font caching. +# CONFIG_NXCONSOLE_CACHESIZE +# If CONFIG_NXCONSOLE_FONTCACHE, then this setting will control the size +# of the font cache (in number of glyphs). Default: 16. +# CONFIG_NXCONSOLE_LINESEPARATION +# This the space (in rows) between each row of test. Default: 2 +# CONFIG_NXCONSOLE_NOWRAP +# By default, lines will wrap when the test reaches the right hand side +# of the window. This setting can be defining to change this behavior so +# that the text is simply truncated until a new line is encountered. +# +CONFIG_NXCONSOLE_BPP=16 +# CONFIG_NXCONSOLE_NOGETRUN +# CONFIG_NXCONSOLE_MXCHARS +# CONFIG_NXCONSOLE_FONTCACHE +# CONFIG_NXCONSOLE_CACHESIZE +# CONFIG_NXCONSOLE_LINESEPARATION +# CONFIG_NXCONSOLE_NOWRAP + # # STM3210E-EVAL LCD Hardware Configuration # diff --git a/nuttx/configs/stm3210e-eval/nxtext/appconfig b/nuttx/configs/stm3210e-eval/nxtext/appconfig index 73e9154eca..6c0928885b 100644 --- a/nuttx/configs/stm3210e-eval/nxtext/appconfig +++ b/nuttx/configs/stm3210e-eval/nxtext/appconfig @@ -34,6 +34,12 @@ ############################################################################ # Path to example in apps/examples containing the user_start entry point +# Various NX tests can be supported, simply comment-out examples/nx and +# uncomment the test you wish to perform +#CONFIGURED_APPS += examples/nx +#CONFIGURED_APPS += examples/nxhello +#CONFIGURED_APPS += examples/nxlines CONFIGURED_APPS += examples/nxtext +#CONFIGURED_APPS += examples/nxconsole diff --git a/nuttx/configs/stm3210e-eval/nxtext/defconfig b/nuttx/configs/stm3210e-eval/nxtext/defconfig index b52c387d9a..07a97e2c89 100644 --- a/nuttx/configs/stm3210e-eval/nxtext/defconfig +++ b/nuttx/configs/stm3210e-eval/nxtext/defconfig @@ -889,6 +889,45 @@ CONFIG_NX_BLOCKING=y CONFIG_NX_MXSERVERMSGS=32 CONFIG_NX_MXCLIENTMSGS=16 +# +# NxConsole Configuration Settings: +# +# CONFIG_NXCONSOLE_BPP +# Currently, NxConsole supports only a single pixel depth. This +# configuration setting must be provided to support that single pixel depth. +# Default: The smallest enabled pixel depth. (see CONFIG_NX_DISABLE_*BPP) +# CONFIG_NXCONSOLE_NOGETRUN +# NxConsole needs to know if it can read from the LCD or not. If reading +# from the LCD is supported, then NxConsole can do more efficient +# scrolling. Default: Supported +# CONFIG_NXCONSOLE_MXCHARS +# NxConsole needs to remember every character written to the console so +# that it can redraw the window. This setting determines the size of some +# internal memory allocations used to hold the character data. Default: 128. +# CONFIG_NXCONSOLE_FONTCACHE +# If this setting is defined, then caching of fonts will be supported by +# NxConsole. Each font must be rendered from the tiny font storage format +# to the full display size and pixel depth. If this setting is defined, then +# the more recently used font glyphs will be retained in a cache of size +# CONFIG_NXCONSOLE_CACHESIZE. Default: No font caching. +# CONFIG_NXCONSOLE_CACHESIZE +# If CONFIG_NXCONSOLE_FONTCACHE, then this setting will control the size +# of the font cache (in number of glyphs). Default: 16. +# CONFIG_NXCONSOLE_LINESEPARATION +# This the space (in rows) between each row of test. Default: 2 +# CONFIG_NXCONSOLE_NOWRAP +# By default, lines will wrap when the test reaches the right hand side +# of the window. This setting can be defining to change this behavior so +# that the text is simply truncated until a new line is encountered. +# +CONFIG_NXCONSOLE_BPP=16 +# CONFIG_NXCONSOLE_NOGETRUN +# CONFIG_NXCONSOLE_MXCHARS +# CONFIG_NXCONSOLE_FONTCACHE +# CONFIG_NXCONSOLE_CACHESIZE +# CONFIG_NXCONSOLE_LINESEPARATION +# CONFIG_NXCONSOLE_NOWRAP + # # STM3210E-EVAL LCD Hardware Configuration # diff --git a/nuttx/graphics/nxbe/nxbe_redrawbelow.c b/nuttx/graphics/nxbe/nxbe_redrawbelow.c index 2716a26bf4..c795e5fed3 100644 --- a/nuttx/graphics/nxbe/nxbe_redrawbelow.c +++ b/nuttx/graphics/nxbe/nxbe_redrawbelow.c @@ -1,8 +1,8 @@ /**************************************************************************** * graphics/nxbe/nxbe_redraw.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/nuttx/graphics/nxconsole/nxcon_driver.c b/nuttx/graphics/nxconsole/nxcon_driver.c index 60ed3242a2..dc7d5f3530 100755 --- a/nuttx/graphics/nxconsole/nxcon_driver.c +++ b/nuttx/graphics/nxconsole/nxcon_driver.c @@ -104,9 +104,9 @@ static int nxcon_open(FAR struct file *filep) /* Verify that the driver is opened for write-only access */ - if ((filep->f_oflags & O_WROK) != 0) + if ((filep->f_oflags & O_RDOK) != 0) { - gdbg("Attempted open with write access\n"); + gdbg("Attempted open with read access\n"); return -EACCES; } diff --git a/nuttx/graphics/nxsu/nx_openwindow.c b/nuttx/graphics/nxsu/nx_openwindow.c index 57b47251b7..64f4ed76dd 100644 --- a/nuttx/graphics/nxsu/nx_openwindow.c +++ b/nuttx/graphics/nxsu/nx_openwindow.c @@ -1,8 +1,8 @@ /**************************************************************************** * graphics/nxsu/nx_openwindow.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/nuttx/graphics/nxsu/nx_setposition.c b/nuttx/graphics/nxsu/nx_setposition.c index fc6d5bdc31..ed0e5e3f47 100644 --- a/nuttx/graphics/nxsu/nx_setposition.c +++ b/nuttx/graphics/nxsu/nx_setposition.c @@ -1,8 +1,8 @@ /**************************************************************************** * graphics/nxsu/nx_setposition.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/nuttx/graphics/nxsu/nxsu_constructwindow.c b/nuttx/graphics/nxsu/nxsu_constructwindow.c index 8ad8030052..f812b3f839 100644 --- a/nuttx/graphics/nxsu/nxsu_constructwindow.c +++ b/nuttx/graphics/nxsu/nxsu_constructwindow.c @@ -1,8 +1,8 @@ /**************************************************************************** * graphics/nxsu/nx_openwindow.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -125,7 +125,7 @@ int nxfe_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, wnd->cb = cb; wnd->arg = arg; - /* Insert the new window at the top on the display. topwind is + /* Insert the new window at the top on the display. topwnd is * never NULL (it may point only at the background window, however) */ diff --git a/nuttx/graphics/nxtk/nxtk_internal.h b/nuttx/graphics/nxtk/nxtk_internal.h index f76304b782..5351048cff 100644 --- a/nuttx/graphics/nxtk/nxtk_internal.h +++ b/nuttx/graphics/nxtk/nxtk_internal.h @@ -1,8 +1,8 @@ /**************************************************************************** * graphics/nxtk/nxtk_internal.h * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2008-2009, 2011-1021 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/nuttx/graphics/nxtk/nxtk_setposition.c b/nuttx/graphics/nxtk/nxtk_setposition.c index 3c744112bb..2a2a60665b 100644 --- a/nuttx/graphics/nxtk/nxtk_setposition.c +++ b/nuttx/graphics/nxtk/nxtk_setposition.c @@ -1,8 +1,8 @@ /**************************************************************************** * graphics/nxtk/nxtk_setposition.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions