NX console updates
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4534 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
parent
5bae5c561a
commit
7cf33ab655
|
@ -627,18 +627,20 @@ examples/nxconsole
|
|||
buffer driver for use in the test. Default: 0
|
||||
CONFIG_EXAMPLES_NXCON_DEVNO - The LCD device to select from the LCD
|
||||
driver for use in the test: Default: 0
|
||||
CONFIG_EXAMPLES_NXCON_BGCOLOR -- The color of the background. Default depends on
|
||||
CONFIG_EXAMPLES_NXCON_BPP.
|
||||
CONFIG_EXAMPLES_NXCON_WCOLOR -- The color of the window. Default depends on
|
||||
CONFIG_EXAMPLES_NXCON_BPP.
|
||||
CONFIG_EXAMPLES_NXCON_FONTID - Selects the font (see font ID numbers in
|
||||
CONFIG_EXAMPLES_NXCON_BGCOLOR -- The color of the background. Default
|
||||
Default is a darker royal blue.
|
||||
CONFIG_EXAMPLES_NXCON_WCOLOR -- The color of the window. Default is a light
|
||||
slate blue.
|
||||
CONFIG_EXAMPLES_NXCON_FONTID -- Selects the font (see font ID numbers in
|
||||
include/nuttx/nx/nxfonts.h)
|
||||
CONFIG_EXAMPLES_NXCON_FONTCOLOR -- The color of the fonts. Default depends on
|
||||
CONFIG_EXAMPLES_NXCON_BPP.
|
||||
CONFIG_EXAMPLES_NXCON_FONTCOLOR -- The color of the fonts. Default is
|
||||
black.
|
||||
CONFIG_EXAMPLES_NXCON_BPP -- Pixels per pixel to use. Valid options
|
||||
include 2, 4, 8, 16, 24, and 32. Default is 32.
|
||||
CONFIG_EXAMPLES_NXCON_TOOLBAR_HEIGHT -- The height of the toolbar.
|
||||
Default: 16
|
||||
CONFIG_EXAMPLES_NXCON_TBCOLOR -- The color of the toolbar. Default is
|
||||
a medium grey.
|
||||
CONFIG_EXAMPLES_NXCON_EXTERNINIT - The driver for the graphics device on
|
||||
this platform requires some unusual initialization. This is the
|
||||
for, for example, SPI LCD/OLED devices. If this configuration is
|
||||
|
|
|
@ -46,6 +46,8 @@
|
|||
#include <stdbool.h>
|
||||
#include <semaphore.h>
|
||||
|
||||
#include <nuttx/rgbcolors.h>
|
||||
|
||||
#include <nuttx/nx/nx.h>
|
||||
#include <nuttx/nx/nxglib.h>
|
||||
#include <nuttx/nx/nxtk.h>
|
||||
|
@ -61,6 +63,10 @@
|
|||
# error "NX is not enabled (CONFIG_NX)"
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_NXCONSOLE
|
||||
# error "NxConsole is not enabled (CONFIG_NXCONSOLE)"
|
||||
#endif
|
||||
|
||||
/* If not specified, assume that the hardware supports one video plane */
|
||||
|
||||
#if CONFIG_NX_NPLANES != 1
|
||||
|
@ -93,30 +99,42 @@
|
|||
# endif
|
||||
#endif
|
||||
|
||||
/* Background color */
|
||||
/* Background color (default is darker royal blue) */
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_NXCON_BGCOLOR
|
||||
# if CONFIG_EXAMPLES_NXCON_BPP == 24 || CONFIG_EXAMPLES_NXCON_BPP == 32
|
||||
# define CONFIG_EXAMPLES_NXCON_BGCOLOR 0x007b68ee
|
||||
# define CONFIG_EXAMPLES_NXCON_BGCOLOR RGBTO24(39, 64, 139)
|
||||
# elif CONFIG_EXAMPLES_NXCON_BPP == 16
|
||||
# define CONFIG_EXAMPLES_NXCON_BGCOLOR 0x7b5d
|
||||
# define CONFIG_EXAMPLES_NXCON_BGCOLOR RGBTO16(39, 64, 139)
|
||||
# else
|
||||
# define CONFIG_EXAMPLES_NXCON_BGCOLOR ' '
|
||||
# define CONFIG_EXAMPLES_NXCON_BGCOLOR RGBTO8(39, 64, 139)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Window color */
|
||||
/* Window color (lighter steel blue) */
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_NXCON_WCOLOR
|
||||
# if CONFIG_EXAMPLES_NXCON_BPP == 24 || CONFIG_EXAMPLES_NXCON_BPP == 32
|
||||
# define CONFIG_EXAMPLES_NXCON_WCOLOR 0x007b68ee
|
||||
# define CONFIG_EXAMPLES_NXCON_WCOLOR RGBTO24(202, 225, 255)
|
||||
# elif CONFIG_EXAMPLES_NXCON_BPP == 16
|
||||
# define CONFIG_EXAMPLES_NXCON_WCOLOR 0x7b5d
|
||||
# define CONFIG_EXAMPLES_NXCON_WCOLOR RGBTO16(202, 225, 255)
|
||||
# else
|
||||
# define CONFIG_EXAMPLES_NXCON_WCOLOR ' '
|
||||
# define CONFIG_EXAMPLES_NXCON_WCOLOR RGBTO8(202, 225, 255)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Toolbar color (medium grey) */
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_NXCON_TBCOLOR
|
||||
# if CONFIG_EXAMPLES_NX_BPP == 24 || CONFIG_EXAMPLES_NX_BPP == 32
|
||||
# define CONFIG_EXAMPLES_NXCON_TBCOLOR RGBTO24(188, 188, 188)
|
||||
# elif CONFIG_EXAMPLES_NX_BPP == 16
|
||||
# define CONFIG_EXAMPLES_NXCON_TBCOLOR RGBTO16(188, 188, 188)
|
||||
# else
|
||||
# define CONFIG_EXAMPLES_NXCON_TBCOLOR RGBTO8(188, 188, 188)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Font ID */
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_NXCON_FONTID
|
||||
|
@ -127,11 +145,11 @@
|
|||
|
||||
#ifndef CONFIG_EXAMPLES_NXCON_FONTCOLOR
|
||||
# if CONFIG_EXAMPLES_NXCON_BPP == 24 || CONFIG_EXAMPLES_NXCON_BPP == 32
|
||||
# define CONFIG_EXAMPLES_NXCON_FONTCOLOR 0x00000000
|
||||
# define CONFIG_EXAMPLES_NXCON_FONTCOLOR RGBTO24(0, 0, 0)
|
||||
# elif CONFIG_EXAMPLES_NXCON_BPP == 16
|
||||
# define CONFIG_EXAMPLES_NXCON_FONTCOLOR 0x0000
|
||||
# define CONFIG_EXAMPLES_NXCON_FONTCOLOR RGBTO16(0, 0, 0)
|
||||
# else
|
||||
# define CONFIG_EXAMPLES_NXCON_FONTCOLOR 'F'
|
||||
# define CONFIG_EXAMPLES_NXCON_FONTCOLOR RGBTO8(0, 0, 0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -490,7 +490,7 @@ int MAIN_NAME(int argc, char **argv)
|
|||
if (++ndx >= NCON_MSG_NLINES)
|
||||
{
|
||||
#ifdef CONFIG_NSH_BUILTIN_APPS
|
||||
/* If this is an NSH built-in apps, then just return after all
|
||||
/* If this is an NSH built-in app, then just return after all
|
||||
* of the lines have been presented.
|
||||
*/
|
||||
|
||||
|
|
|
@ -114,9 +114,19 @@ const struct nx_callback_s g_nxtoolcb =
|
|||
static void nxtool_redraw(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect,
|
||||
bool more, FAR void *arg)
|
||||
{
|
||||
nxgl_mxpixel_t color[CONFIG_NX_NPLANES];
|
||||
int ret;
|
||||
|
||||
gvdbg("hwnd=%p rect={(%d,%d),(%d,%d)} more=%s\n",
|
||||
hwnd, rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y,
|
||||
more ? "true" : "false");
|
||||
|
||||
color[0] = CONFIG_EXAMPLES_NXCON_TBCOLOR;
|
||||
ret = nxtk_filltoolbar(hwnd, rect, color);
|
||||
if (ret < 0)
|
||||
{
|
||||
gdbg("nxtk_filltoolbar failed: %d\n", errno);
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
|
|
@ -3353,6 +3353,8 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
|
|||
|
||||
<ul>
|
||||
<dl>
|
||||
<dt><code>CONFIG_NXCONSOLE</code>:
|
||||
<dd>Enables building of the NxConsole driver.
|
||||
<dt><code>CONFIG_NXCONSOLE_BPP</code>:
|
||||
<dd>Currently, NxConsole supports only a single pixel depth.
|
||||
This configuration setting must be provided to support that single pixel depth.
|
||||
|
|
|
@ -367,8 +367,14 @@ nx11
|
|||
examples/nxconsole
|
||||
------------------
|
||||
This configuration is also set up to use the examples/nxconsole
|
||||
test instead of examples/nx. Simply comment out the following
|
||||
in the appconfig file:
|
||||
test instead of examples/nx. To enable this configuration,
|
||||
First, select Multi-User mode as described above. Then add the
|
||||
following definitions to the defconfig file:
|
||||
|
||||
-CONFIG_NXCONSOLE=n
|
||||
+CONFIG_NXCONSOLE=y
|
||||
|
||||
Comment out the following in the appconfig file:
|
||||
|
||||
-CONFIGURED_APPS += examples/nx
|
||||
+#CONFIGURED_APPS += examples/nx
|
||||
|
|
|
@ -48,3 +48,8 @@ CONFIGURED_APPS += examples/nx
|
|||
CONFIGURED_APPS += examples/nxhello
|
||||
CONFIGURED_APPS += examples/nxlines
|
||||
CONFIGURED_APPS += examples/touchscreen
|
||||
|
||||
ifeq ($(CONFIG_NXCONSOLE),y)
|
||||
CONFIGURED_APPS += examples/nxconsole
|
||||
endif
|
||||
|
||||
|
|
|
@ -424,6 +424,8 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
#
|
||||
# NxConsole Configuration Settings:
|
||||
#
|
||||
# CONFIG_NXCONSOLE
|
||||
# Enables building of the NxConsole driver.
|
||||
# CONFIG_NXCONSOLE_BPP
|
||||
# Currently, NxConsole supports only a single pixel depth. This
|
||||
# configuration setting must be provided to support that single pixel depth.
|
||||
|
@ -452,6 +454,7 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
# 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=n
|
||||
CONFIG_NXCONSOLE_BPP=8
|
||||
# CONFIG_NXCONSOLE_NOGETRUN
|
||||
# CONFIG_NXCONSOLE_MXCHARS
|
||||
|
|
|
@ -425,6 +425,8 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
#
|
||||
# NxConsole Configuration Settings:
|
||||
#
|
||||
# CONFIG_NXCONSOLE
|
||||
# Enables building of the NxConsole driver.
|
||||
# CONFIG_NXCONSOLE_BPP
|
||||
# Currently, NxConsole supports only a single pixel depth. This
|
||||
# configuration setting must be provided to support that single pixel depth.
|
||||
|
@ -453,6 +455,7 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
# 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=n
|
||||
CONFIG_NXCONSOLE_BPP=32
|
||||
# CONFIG_NXCONSOLE_NOGETRUN
|
||||
# CONFIG_NXCONSOLE_MXCHARS
|
||||
|
|
|
@ -50,9 +50,12 @@ 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_NXCONSOLE),y)
|
||||
CONFIGURED_APPS += examples/nxconsole
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_I2C),y)
|
||||
CONFIGURED_APPS += system/i2c
|
||||
endif
|
||||
|
|
|
@ -1043,6 +1043,8 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
#
|
||||
# NxConsole Configuration Settings:
|
||||
#
|
||||
# CONFIG_NXCONSOLE
|
||||
# Enables building of the NxConsole driver.
|
||||
# CONFIG_NXCONSOLE_BPP
|
||||
# Currently, NxConsole supports only a single pixel depth. This
|
||||
# configuration setting must be provided to support that single pixel depth.
|
||||
|
@ -1071,6 +1073,7 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
# 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=n
|
||||
CONFIG_NXCONSOLE_BPP=16
|
||||
# CONFIG_NXCONSOLE_NOGETRUN
|
||||
# CONFIG_NXCONSOLE_MXCHARS
|
||||
|
|
|
@ -893,6 +893,8 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
#
|
||||
# NxConsole Configuration Settings:
|
||||
#
|
||||
# CONFIG_NXCONSOLE
|
||||
# Enables building of the NxConsole driver.
|
||||
# CONFIG_NXCONSOLE_BPP
|
||||
# Currently, NxConsole supports only a single pixel depth. This
|
||||
# configuration setting must be provided to support that single pixel depth.
|
||||
|
@ -921,6 +923,7 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
# 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=n
|
||||
CONFIG_NXCONSOLE_BPP=16
|
||||
# CONFIG_NXCONSOLE_NOGETRUN
|
||||
# CONFIG_NXCONSOLE_MXCHARS
|
||||
|
|
|
@ -892,6 +892,8 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
#
|
||||
# NxConsole Configuration Settings:
|
||||
#
|
||||
# CONFIG_NXCONSOLE
|
||||
# Enables building of the NxConsole driver.
|
||||
# CONFIG_NXCONSOLE_BPP
|
||||
# Currently, NxConsole supports only a single pixel depth. This
|
||||
# configuration setting must be provided to support that single pixel depth.
|
||||
|
@ -920,6 +922,7 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
# 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=n
|
||||
CONFIG_NXCONSOLE_BPP=16
|
||||
# CONFIG_NXCONSOLE_NOGETRUN
|
||||
# CONFIG_NXCONSOLE_MXCHARS
|
||||
|
|
|
@ -892,6 +892,8 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
#
|
||||
# NxConsole Configuration Settings:
|
||||
#
|
||||
# CONFIG_NXCONSOLE
|
||||
# Enables building of the NxConsole driver.
|
||||
# CONFIG_NXCONSOLE_BPP
|
||||
# Currently, NxConsole supports only a single pixel depth. This
|
||||
# configuration setting must be provided to support that single pixel depth.
|
||||
|
@ -920,6 +922,7 @@ CONFIG_NX_MXCLIENTMSGS=16
|
|||
# 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=n
|
||||
CONFIG_NXCONSOLE_BPP=16
|
||||
# CONFIG_NXCONSOLE_NOGETRUN
|
||||
# CONFIG_NXCONSOLE_MXCHARS
|
||||
|
|
|
@ -46,18 +46,12 @@
|
|||
# Path to example in apps/examples containing the user_start entry point
|
||||
CONFIGURED_APPS += examples/nsh
|
||||
|
||||
# Invoke the following application after NuttX starts
|
||||
#CONFIG_BUILTIN_APP_START="hello"
|
||||
|
||||
# Application Libraries
|
||||
CONFIGURED_APPS += system/readline
|
||||
CONFIGURED_APPS += nshlib
|
||||
|
||||
# Individual selection of built-in applications:
|
||||
|
||||
# Hello world provide a simple skeleton/demo application
|
||||
CONFIGURED_APPS += vsn/hello
|
||||
|
||||
# Provide poweroff command to switch off the board
|
||||
CONFIGURED_APPS += vsn/poweroff
|
||||
|
||||
|
@ -79,5 +73,3 @@ CONFIGURED_APPS += system/free
|
|||
# Provide FLASH program installation support
|
||||
CONFIGURED_APPS += system/install
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -68,9 +68,11 @@ include nxfonts/Make.defs
|
|||
DEPPATH += --dep-path nxfonts
|
||||
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxfonts}
|
||||
|
||||
ifeq ($(CONFIG_NXCONSOLE),y)
|
||||
include nxconsole/Make.defs
|
||||
DEPPATH += --dep-path nxconsole
|
||||
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxconsole}
|
||||
endif
|
||||
|
||||
ASRCS = $(NXGLIB_ASRCS) $(NXBE_ASRCS) $(NX_ASRCS) $(NXTK_ASRCS) $(NXFONTS_ASRCS) $(NXCON_ASRCS)
|
||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||
|
|
|
@ -319,6 +319,8 @@ CONFIG_NXFONT_SERIF38X49B
|
|||
|
||||
NxConsole Configuration Settings:
|
||||
|
||||
CONFIG_NXCONSOLE
|
||||
Enables building of the NxConsole driver.
|
||||
CONFIG_NXCONSOLE_BPP
|
||||
Currently, NxConsole supports only a single pixel depth. This
|
||||
configuration setting must be provided to support that single pixel depth.
|
||||
|
|
|
@ -124,6 +124,7 @@ static ssize_t nxcon_write(FAR struct file *filep, FAR const char *buffer,
|
|||
size_t buflen)
|
||||
{
|
||||
FAR struct nxcon_state_s *priv;
|
||||
ssize_t remaining;
|
||||
char ch;
|
||||
int lineheight;
|
||||
int ret;
|
||||
|
@ -145,7 +146,7 @@ static ssize_t nxcon_write(FAR struct file *filep, FAR const char *buffer,
|
|||
|
||||
lineheight = (priv->fheight + CONFIG_NXCONSOLE_LINESEPARATION);
|
||||
|
||||
while (buflen-- > 0)
|
||||
for (remaining = (ssize_t)buflen; remaining > 0; remaining--)
|
||||
{
|
||||
/* Ignore carriage returns */
|
||||
|
||||
|
@ -195,7 +196,7 @@ static ssize_t nxcon_write(FAR struct file *filep, FAR const char *buffer,
|
|||
}
|
||||
|
||||
sem_post(&priv->exclsem);
|
||||
return buflen;
|
||||
return (ssize_t)buflen;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
|
|
@ -45,9 +45,42 @@
|
|||
#include <nuttx/nx/nx.h>
|
||||
#include <nuttx/nx/nxtk.h>
|
||||
|
||||
#ifdef CONFIG_NXCONSOLE
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor definitions
|
||||
****************************************************************************/
|
||||
/* Configuration ************************************************************/
|
||||
/* CONFIG_NXCONSOLE
|
||||
* Enables building of the NxConsole driver.
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Types
|
||||
|
@ -198,4 +231,5 @@ EXTERN void nxcon_redraw(NXCONSOLE handle, FAR const struct nxgl_rect_s *rect,
|
|||
}
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_NXCONSOLE */
|
||||
#endif /* __INCLUDE_NUTTX_NX_NXCONSOLE_H */
|
||||
|
|
|
@ -122,7 +122,7 @@ ssize_t lib_fflush(FAR FILE *stream, bool bforce)
|
|||
|
||||
lib_take_semaphore(stream);
|
||||
|
||||
/* Make sure tht the buffer holds valid data */
|
||||
/* Make sure that the buffer holds valid data */
|
||||
|
||||
if (stream->fs_bufpos != stream->fs_bufstart)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue