diff --git a/ChangeLog b/ChangeLog index 6d30891af5c..e6a156b1cc7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2715,4 +2715,9 @@ * graphics/nxtk/nxtk_toolbarbounds.c: Added an interface to get the toolbar bounding box. * graphics/nxtk/nxtk_drawframe.c: Fix an error in drawing the window frame. + * NX, NxConsole: Replace CONFIG_NXCONSOLE_NOGETRUN to CONFIG_LCD_GETRUN. The + inability to read from the LCD is a property of the LCD, not of NxConsole. + Then add CONFIG_NX_WRITEONLY which is the more generic way of saying that + no NX component should try to read from the underlying graphic device (LCD + or other). diff --git a/Documentation/NXGraphicsSubsystem.html b/Documentation/NXGraphicsSubsystem.html index 857fcd1a474..2a6e88c9d28 100644 --- a/Documentation/NXGraphicsSubsystem.html +++ b/Documentation/NXGraphicsSubsystem.html @@ -12,7 +12,7 @@
Last Updated: May 4, 2012
+Last Updated: May 7, 2012
@@ -3249,6 +3249,10 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,CONFIG_NX_KBD:
CONFIG_NX_WRITEONLY:
+ CONFIG_NX_LCDDRIVER and CONFIG_LCD_NOGETRUN
+ are defined.
@@ -3364,10 +3368,6 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
Default: The smallest enabled pixel depth. (see CONFIG_NX_DISABLE_*BPP)
CONFIG_NXCONSOLE_CURSORCHAR:
CONFIG_NXCONSOLE_NOGETRUN:
- CONFIG_NXCONSOLE_MXCHARS:
CONFIG_NX_WRITEONLY:
+ Define if the underlying graphics device does not support read operations.
+ Automatically defined if CONFIG_NX_LCDDRIVER and CONFIG_LCD_NOGETRUN
+ are defined.
+ CONFIG_NX_DISABLE_1BPP, CONFIG_NX_DISABLE_2BPP,
CONFIG_NX_DISABLE_4BPP, CONFIG_NX_DISABLE_8BPP
@@ -5405,6 +5411,12 @@ build
Check the README.txt file in each board configuration directory to
see if any of these are supported by the board LCD logic.
CONFIG_LCD_NOGETRUN:
+ NX components need 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_NX_MOUSE:
Build in support for mouse input.
diff --git a/configs/sim/nx/defconfig b/configs/sim/nx/defconfig
index e34dadcd87b..87b714a94d4 100644
--- a/configs/sim/nx/defconfig
+++ b/configs/sim/nx/defconfig
@@ -430,10 +430,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -457,7 +453,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=n
CONFIG_NXCONSOLE_BPP=8
-# CONFIG_NXCONSOLE_NOGETRUN
CONFIG_NXCONSOLE_MXCHARS=256
# CONFIG_NXCONSOLE_CACHESIZE
# CONFIG_NXCONSOLE_LINESEPARATION
diff --git a/configs/sim/nx11/defconfig b/configs/sim/nx11/defconfig
index 5b23678d660..aa95af7f8d7 100644
--- a/configs/sim/nx11/defconfig
+++ b/configs/sim/nx11/defconfig
@@ -437,10 +437,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -464,7 +460,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=n
CONFIG_NXCONSOLE_BPP=32
-# CONFIG_NXCONSOLE_NOGETRUN
CONFIG_NXCONSOLE_MXCHARS=256
# CONFIG_NXCONSOLE_CACHESIZE
# CONFIG_NXCONSOLE_LINESEPARATION
diff --git a/configs/sim/nxwm/defconfig b/configs/sim/nxwm/defconfig
index 37281ec7fd3..01b152122d5 100644
--- a/configs/sim/nxwm/defconfig
+++ b/configs/sim/nxwm/defconfig
@@ -581,10 +581,6 @@ CONFIG_NXWM_UNITTEST=y
# 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
@@ -608,7 +604,6 @@ CONFIG_NXWM_UNITTEST=y
#
CONFIG_NXCONSOLE=y
CONFIG_NXCONSOLE_BPP=32
-# CONFIG_NXCONSOLE_NOGETRUN
CONFIG_NXCONSOLE_MXCHARS=256
# CONFIG_NXCONSOLE_CACHESIZE
# CONFIG_NXCONSOLE_LINESEPARATION
diff --git a/configs/stm3210e-eval/nsh2/defconfig b/configs/stm3210e-eval/nsh2/defconfig
index a71b7bad0f9..ebe8fc5be52 100644
--- a/configs/stm3210e-eval/nsh2/defconfig
+++ b/configs/stm3210e-eval/nsh2/defconfig
@@ -1062,10 +1062,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -1089,7 +1085,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=n
CONFIG_NXCONSOLE_BPP=16
-CONFIG_NXCONSOLE_NOGETRUN=y
CONFIG_NXCONSOLE_MXCHARS=256
CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_NXCONSOLE_LINESEPARATION
@@ -1098,6 +1093,10 @@ CONFIG_NXCONSOLE_CACHESIZE=32
#
# STM3210E-EVAL LCD Hardware Configuration
#
+# CONFIG_LCD_NOGETRUN
+# NX components need 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_LCD_LANDSCAPE - Define for 320x240 display "landscape"
# support. Default is this 320x240 "landscape" orientation
# (this setting is informative only... not used).
@@ -1117,6 +1116,7 @@ CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_STM32_TIM1) is not defined, then a simple on/off backlight
# is provided.
#
+CONFIG_LCD_NOGETRUN=y
CONFIG_LCD_LANDSCAPE=n
CONFIG_LCD_PORTRAIT=n
CONFIG_LCD_RPORTRAIT=y
diff --git a/configs/stm3210e-eval/nx/defconfig b/configs/stm3210e-eval/nx/defconfig
index fb45f6e763f..5488ae89106 100644
--- a/configs/stm3210e-eval/nx/defconfig
+++ b/configs/stm3210e-eval/nx/defconfig
@@ -912,10 +912,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -939,7 +935,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=n
CONFIG_NXCONSOLE_BPP=16
-CONFIG_NXCONSOLE_NOGETRUN=y
CONFIG_NXCONSOLE_MXCHARS=256
CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_NXCONSOLE_LINESEPARATION
@@ -948,6 +943,10 @@ CONFIG_NXCONSOLE_CACHESIZE=32
#
# STM3210E-EVAL LCD Hardware Configuration
#
+# CONFIG_LCD_NOGETRUN
+# NX components need 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_LCD_LANDSCAPE - Define for 320x240 display "landscape"
# support. Default is this 320x240 "landscape" orientation
# (this setting is informative only... not used).
@@ -967,6 +966,7 @@ CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_STM32_TIM1) is not defined, then a simple on/off backlight
# is provided.
#
+CONFIG_LCD_NOGETRUN=y
CONFIG_LCD_LANDSCAPE=n
CONFIG_LCD_PORTRAIT=n
CONFIG_LCD_RPORTRAIT=y
diff --git a/configs/stm3210e-eval/nxconsole/defconfig b/configs/stm3210e-eval/nxconsole/defconfig
index a767968fdeb..a84fc813444 100644
--- a/configs/stm3210e-eval/nxconsole/defconfig
+++ b/configs/stm3210e-eval/nxconsole/defconfig
@@ -920,10 +920,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -947,7 +943,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=y
CONFIG_NXCONSOLE_BPP=16
-CONFIG_NXCONSOLE_NOGETRUN=y
CONFIG_NXCONSOLE_MXCHARS=256
CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_NXCONSOLE_LINESEPARATION
@@ -956,6 +951,10 @@ CONFIG_NXCONSOLE_CACHESIZE=32
#
# STM3210E-EVAL LCD Hardware Configuration
#
+# CONFIG_LCD_NOGETRUN
+# NX components need 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_LCD_LANDSCAPE - Define for 320x240 display "landscape"
# support. Default is this 320x240 "landscape" orientation
# (this setting is informative only... not used).
@@ -975,6 +974,7 @@ CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_STM32_TIM1) is not defined, then a simple on/off backlight
# is provided.
#
+CONFIG_LCD_NOGETRUN=y
CONFIG_LCD_LANDSCAPE=y
CONFIG_LCD_PORTRAIT=n
CONFIG_LCD_RPORTRAIT=n
diff --git a/configs/stm3210e-eval/nxlines/defconfig b/configs/stm3210e-eval/nxlines/defconfig
index 3a52bc1759d..b1e4f960a87 100644
--- a/configs/stm3210e-eval/nxlines/defconfig
+++ b/configs/stm3210e-eval/nxlines/defconfig
@@ -911,10 +911,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -938,7 +934,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=n
CONFIG_NXCONSOLE_BPP=16
-CONFIG_NXCONSOLE_NOGETRUN=y
CONFIG_NXCONSOLE_MXCHARS=256
CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_NXCONSOLE_LINESEPARATION
@@ -947,6 +942,10 @@ CONFIG_NXCONSOLE_CACHESIZE=32
#
# STM3210E-EVAL LCD Hardware Configuration
#
+# CONFIG_LCD_NOGETRUN
+# NX components need 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_LCD_LANDSCAPE - Define for 320x240 display "landscape"
# support. Default is this 320x240 "landscape" orientation
# (this setting is informative only... not used).
@@ -966,6 +965,7 @@ CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_STM32_TIM1) is not defined, then a simple on/off backlight
# is provided.
#
+CONFIG_LCD_NOGETRUN=y
CONFIG_LCD_LANDSCAPE=n
CONFIG_LCD_PORTRAIT=n
CONFIG_LCD_RPORTRAIT=y
diff --git a/configs/stm3210e-eval/nxtext/defconfig b/configs/stm3210e-eval/nxtext/defconfig
index a99456351c5..097287fb472 100644
--- a/configs/stm3210e-eval/nxtext/defconfig
+++ b/configs/stm3210e-eval/nxtext/defconfig
@@ -911,10 +911,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -938,7 +934,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=n
CONFIG_NXCONSOLE_BPP=16
-CONFIG_NXCONSOLE_NOGETRUN=y
CONFIG_NXCONSOLE_MXCHARS=256
CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_NXCONSOLE_LINESEPARATION
@@ -947,6 +942,10 @@ CONFIG_NXCONSOLE_CACHESIZE=32
#
# STM3210E-EVAL LCD Hardware Configuration
#
+# CONFIG_LCD_NOGETRUN
+# NX components need 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_LCD_LANDSCAPE - Define for 320x240 display "landscape"
# support. Default is this 320x240 "landscape" orientation
# (this setting is informative only... not used).
@@ -966,6 +965,7 @@ CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_STM32_TIM1) is not defined, then a simple on/off backlight
# is provided.
#
+CONFIG_LCD_NOGETRUN=y
CONFIG_LCD_LANDSCAPE=n
CONFIG_LCD_PORTRAIT=n
CONFIG_LCD_RPORTRAIT=y
diff --git a/configs/stm3240g-eval/nsh/defconfig b/configs/stm3240g-eval/nsh/defconfig
index 025bef75271..667bc19cf92 100644
--- a/configs/stm3240g-eval/nsh/defconfig
+++ b/configs/stm3240g-eval/nsh/defconfig
@@ -1207,10 +1207,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -1234,7 +1230,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=n
CONFIG_NXCONSOLE_BPP=16
-CONFIG_NXCONSOLE_NOGETRUN=y
CONFIG_NXCONSOLE_MXCHARS=256
CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_NXCONSOLE_LINESEPARATION
@@ -1243,6 +1238,10 @@ CONFIG_NXCONSOLE_CACHESIZE=32
#
# STM3240G-EVAL LCD Hardware Configuration
#
+# CONFIG_LCD_NOGETRUN
+# NX components need 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_LCD_LANDSCAPE - Define for 320x240 display "landscape"
# support. Default is this 320x240 "landscape" orientation
# CONFIG_LCD_RLANDSCAPE - Define for 320x240 display "reverse
@@ -1257,6 +1256,7 @@ CONFIG_NXCONSOLE_CACHESIZE=32
# STM3240G-EVAL's LCD ribbon cable is at the top of the display.
# Default is 320x240 "landscape" orientation.
#
+CONFIG_LCD_NOGETRUN=y
CONFIG_LCD_LANDSCAPE=n
CONFIG_LCD_RLANDSCAPE=n
CONFIG_LCD_PORTRAIT=n
diff --git a/configs/stm3240g-eval/nxconsole/defconfig b/configs/stm3240g-eval/nxconsole/defconfig
index 57ca2b97298..68bc045fbed 100644
--- a/configs/stm3240g-eval/nxconsole/defconfig
+++ b/configs/stm3240g-eval/nxconsole/defconfig
@@ -1207,10 +1207,6 @@ CONFIG_NX_MXCLIENTMSGS=16
# 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
@@ -1234,7 +1230,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
CONFIG_NXCONSOLE=y
CONFIG_NXCONSOLE_BPP=16
-CONFIG_NXCONSOLE_NOGETRUN=y
CONFIG_NXCONSOLE_MXCHARS=256
CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_NXCONSOLE_LINESEPARATION
@@ -1243,6 +1238,10 @@ CONFIG_NXCONSOLE_CACHESIZE=32
#
# STM3240G-EVAL LCD Hardware Configuration
#
+# CONFIG_LCD_NOGETRUN
+# NX components need 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_LCD_LANDSCAPE - Define for 320x240 display "landscape"
# support. Default is this 320x240 "landscape" orientation
# (this setting is informative only... not used).
@@ -1258,6 +1257,7 @@ CONFIG_NXCONSOLE_CACHESIZE=32
# STM3240G-EVAL's LCD ribbon cable is at the top of the display.
# Default is 320x240 "landscape" orientation.
#
+CONFIG_LCD_NOGETRUN=y
CONFIG_LCD_LANDSCAPE=y
CONFIG_LCD_RLANDSCAPE=n
CONFIG_LCD_PORTRAIT=n
diff --git a/configs/stm3240g-eval/nxwm/defconfig b/configs/stm3240g-eval/nxwm/defconfig
index ed47cfe2a75..73686f67fcf 100644
--- a/configs/stm3240g-eval/nxwm/defconfig
+++ b/configs/stm3240g-eval/nxwm/defconfig
@@ -1272,10 +1272,6 @@ CONFIG_NXWM_UNITTEST=y
# 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
@@ -1299,7 +1295,6 @@ CONFIG_NXWM_UNITTEST=y
#
CONFIG_NXCONSOLE=y
CONFIG_NXCONSOLE_BPP=16
-CONFIG_NXCONSOLE_NOGETRUN=y
CONFIG_NXCONSOLE_MXCHARS=256
CONFIG_NXCONSOLE_CACHESIZE=32
# CONFIG_NXCONSOLE_LINESEPARATION
@@ -1308,6 +1303,10 @@ CONFIG_NXCONSOLE_CACHESIZE=32
#
# STM3240G-EVAL LCD Hardware Configuration
#
+# CONFIG_LCD_NOGETRUN
+# NX components need 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_LCD_LANDSCAPE - Define for 320x240 display "landscape"
# support. Default is this 320x240 "landscape" orientation
# (this setting is informative only... not used).
@@ -1323,6 +1322,7 @@ CONFIG_NXCONSOLE_CACHESIZE=32
# STM3240G-EVAL's LCD ribbon cable is at the top of the display.
# Default is 320x240 "landscape" orientation.
#
+CONFIG_LCD_NOGETRUN=y
CONFIG_LCD_LANDSCAPE=y
CONFIG_LCD_RLANDSCAPE=n
CONFIG_LCD_PORTRAIT=n
diff --git a/graphics/README.txt b/graphics/README.txt
index 3cd213247e8..180c568d8a7 100644
--- a/graphics/README.txt
+++ b/graphics/README.txt
@@ -240,6 +240,10 @@ CONFIG_NX_NPLANES
Some YUV color formats requires support for multiple planes, one for each
color component. Unless you have such special hardware, this value should be
undefined or set to 1.
+CONFIG_NX_WRITEONLY
+ Define if the underlying graphics device does not support read operations.
+ Automatically defined if CONFIG_NX_LCDDRIVER and CONFIG_LCD_NOGETRUN are
+ defined.
CONFIG_NX_DISABLE_1BPP, CONFIG_NX_DISABLE_2BPP,
CONFIG_NX_DISABLE_4BPP, CONFIG_NX_DISABLE_8BPP,
CONFIG_NX_DISABLE_16BPP, CONFIG_NX_DISABLE_24BPP, and
@@ -331,10 +335,6 @@ CONFIG_NXCONSOLE_BPP
Default: The smallest enabled pixel depth. (see CONFIG_NX_DISABLE_*BPP)
CONFIG_NXCONSOLE_CURSORCHAR
The bitmap code to use as the cursor. Default '_'
-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
diff --git a/graphics/nxconsole/nx_register.c b/graphics/nxconsole/nx_register.c
index c0097203477..8ebe0c0d5e7 100644
--- a/graphics/nxconsole/nx_register.c
+++ b/graphics/nxconsole/nx_register.c
@@ -55,7 +55,7 @@
static int nxcon_fill(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]);
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
static int nxcon_move(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
FAR const struct nxgl_point_s *offset);
@@ -73,7 +73,7 @@ static int nxcon_bitmap(FAR struct nxcon_state_s *priv,
static const struct nxcon_operations_s g_nxops =
{
nxcon_fill,
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
nxcon_move,
#endif
nxcon_bitmap
@@ -123,7 +123,7 @@ static int nxcon_fill(FAR struct nxcon_state_s *priv,
*
****************************************************************************/
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
static int nxcon_move(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
FAR const struct nxgl_point_s *offset)
diff --git a/graphics/nxconsole/nxcon_internal.h b/graphics/nxconsole/nxcon_internal.h
index 10341f0cfc4..3ca84329ba7 100644
--- a/graphics/nxconsole/nxcon_internal.h
+++ b/graphics/nxconsole/nxcon_internal.h
@@ -99,7 +99,7 @@ struct nxcon_operations_s
int (*fill)(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]);
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
int (*move)(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
FAR const struct nxgl_point_s *offset);
diff --git a/graphics/nxconsole/nxcon_scroll.c b/graphics/nxconsole/nxcon_scroll.c
index 882c99ed8ce..c1a0fec950a 100755
--- a/graphics/nxconsole/nxcon_scroll.c
+++ b/graphics/nxconsole/nxcon_scroll.c
@@ -87,7 +87,7 @@
* only.
****************************************************************************/
-#ifdef CONFIG_NXCONSOLE_NOGETRUN
+#ifdef CONFIG_NX_WRITEONLY
static inline void nxcon_movedisplay(FAR struct nxcon_state_s *priv,
int bottom, int scrollheight)
{
diff --git a/graphics/nxconsole/nxtk_register.c b/graphics/nxconsole/nxtk_register.c
index 6ea239d7422..0a11fc6cfe7 100644
--- a/graphics/nxconsole/nxtk_register.c
+++ b/graphics/nxconsole/nxtk_register.c
@@ -55,7 +55,7 @@
static int nxtkcon_fill(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]);
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
static int nxtkcon_move(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
FAR const struct nxgl_point_s *offset);
@@ -73,7 +73,7 @@ static int nxtkcon_bitmap(FAR struct nxcon_state_s *priv,
static const struct nxcon_operations_s g_nxtkops =
{
nxtkcon_fill,
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
nxtkcon_move,
#endif
nxtkcon_bitmap
@@ -123,7 +123,7 @@ static int nxtkcon_fill(FAR struct nxcon_state_s *priv,
*
****************************************************************************/
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
static int nxtkcon_move(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
FAR const struct nxgl_point_s *offset)
diff --git a/graphics/nxconsole/nxtool_register.c b/graphics/nxconsole/nxtool_register.c
index c5273d5f68d..b063d5a6131 100644
--- a/graphics/nxconsole/nxtool_register.c
+++ b/graphics/nxconsole/nxtool_register.c
@@ -55,7 +55,7 @@
static int nxtool_fill(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]);
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
static int nxtool_move(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
FAR const struct nxgl_point_s *offset);
@@ -73,7 +73,7 @@ static int nxtool_bitmap(FAR struct nxcon_state_s *priv,
static const struct nxcon_operations_s g_nxtoolops =
{
nxtool_fill,
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
nxtool_move,
#endif
nxtool_bitmap
@@ -123,7 +123,7 @@ static int nxtool_fill(FAR struct nxcon_state_s *priv,
*
****************************************************************************/
-#ifndef CONFIG_NXCONSOLE_NOGETRUN
+#ifndef CONFIG_NX_WRITEONLY
static int nxtool_move(FAR struct nxcon_state_s *priv,
FAR const struct nxgl_rect_s *rect,
FAR const struct nxgl_point_s *offset)
diff --git a/include/nuttx/nx/nx.h b/include/nuttx/nx/nx.h
index 0e908f7c516..bba098398fe 100644
--- a/include/nuttx/nx/nx.h
+++ b/include/nuttx/nx/nx.h
@@ -65,13 +65,18 @@
/****************************************************************************
* Public Types
****************************************************************************/
-
/* Configuration ************************************************************/
#ifndef CONFIG_NX_NPLANES
# define CONFIG_NX_NPLANES 1 /* Max number of color planes supported */
#endif
+/* Check if the underlying graphic device supports read operations */
+
+#if !defined(CONFIG_NX_WRITEONLY) && defined(CONFIG_NX_LCDDRIVER) && defined(CONFIG_LCD_NOGETRUN)
+# define CONFIG_NX_WRITEONLY 1
+#endif
+
/* Handles ******************************************************************/
/* The interface to the NX server is managed using a opaque handle: */
diff --git a/include/nuttx/nx/nxconsole.h b/include/nuttx/nx/nxconsole.h
index 48ac3eacd86..7b4bb5f3dff 100644
--- a/include/nuttx/nx/nxconsole.h
+++ b/include/nuttx/nx/nxconsole.h
@@ -71,10 +71,6 @@
* Default: The smallest enabled pixel depth. (see CONFIG_NX_DISABLE_*BPP)
* CONFIG_NXCONSOLE_CURSORCHAR
* The bitmap code to use as the cursor. Default '_'
- * 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