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 @@

NX Graphics Subsystem

-

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,
Build in support for mouse input.
CONFIG_NX_KBD:
Build in support of keypad/keyboard input. +
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. @@ -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:
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 internal memory allocations used to hold the character data. diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index 23c4126790a..4c3e93a6acf 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -5371,6 +5371,12 @@ build 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 @@ -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