examples/nx: The NX example no longer supports single user mode.
This commit is contained in:
parent
8af55bbdcc
commit
273dd9dd3f
@ -1072,10 +1072,6 @@ examples/nx
|
||||
|
||||
CONFIG_NSH_BUILTIN_APPS -- Build the NX example as a "built-in"
|
||||
that can be executed from the NSH command line
|
||||
CONFIG_EXAMPLES_NX_VPLANE -- The plane to select from the frame-
|
||||
buffer driver for use in the test. Default: 0
|
||||
CONFIG_EXAMPLES_NX_DEVNO - The LCD device to select from the LCD
|
||||
driver for use in the test: Default: 0
|
||||
CONFIG_EXAMPLES_NX_BGCOLOR -- The color of the background. Default depends on
|
||||
CONFIG_EXAMPLES_NX_BPP.
|
||||
CONFIG_EXAMPLES_NX_COLOR1 -- The color of window 1. Default depends on
|
||||
@ -1108,10 +1104,8 @@ examples/nx
|
||||
CONFIG_BOARDCTL_GRAPHICS=y so that the boardctl() interface
|
||||
will be available in order to access this function.
|
||||
|
||||
This test can be performed with either the single-user version of
|
||||
NX or with the multiple user version of NX selected with CONFIG_NX_MULTIUSER.
|
||||
If CONFIG_NX_MULTIUSER is defined, then the following configuration
|
||||
options also apply:
|
||||
This test requires the multiple user vrsion of NX selected with
|
||||
CONFIG_NX_MULTIUSER. Then the following configuration options also apply:
|
||||
|
||||
CONFIG_EXAMPLES_NX_STACKSIZE -- The stacksize to use when creating
|
||||
the NX server. Default 2048
|
||||
@ -1122,8 +1116,8 @@ examples/nx
|
||||
CONFIG_EXAMPLES_NX_NOTIFYSIGNO -- The signal number to use with
|
||||
nx_eventnotify(). Default: 4
|
||||
|
||||
If CONFIG_NX_MULTIUSER is defined, then the example also expects the
|
||||
following settings and will generate an error if they are not as expected:
|
||||
The example also has the following settings and will generate an error
|
||||
if they are not as expected:
|
||||
|
||||
CONFIG_DISABLE_MQUEUE=n
|
||||
CONFIG_DISABLE_SIGNALS=n
|
||||
|
@ -6,27 +6,12 @@
|
||||
config EXAMPLES_NX
|
||||
bool "NX graphics example"
|
||||
default n
|
||||
depends on NX_MULTIUSER
|
||||
---help---
|
||||
Enable the NX graphics example
|
||||
|
||||
if EXAMPLES_NX
|
||||
|
||||
config EXAMPLES_NX_VPLANE
|
||||
int "Video Plane"
|
||||
default 0
|
||||
depends on !NX_MULTIUSER
|
||||
---help---
|
||||
The plane to select from the framebuffer driver for use in the test.
|
||||
Default: 0
|
||||
|
||||
config EXAMPLES_NX_DEVNO
|
||||
int "Video Device Number"
|
||||
default 0
|
||||
depends on !NX_MULTIUSER
|
||||
---help---
|
||||
The LCD device to select from the LCD driver for use in the test:
|
||||
Default: 0
|
||||
|
||||
config EXAMPLES_NX_DEFAULT_COLORS
|
||||
bool "Use Default Colors"
|
||||
default y
|
||||
@ -96,7 +81,7 @@ config EXAMPLES_NX_EXTERNINIT
|
||||
default n
|
||||
depends on LIB_BOARDCTL
|
||||
select BOARDCTL_GRAPHICS
|
||||
select NXSTART_EXTERNINIT if NX_MULTIUSER
|
||||
select NXSTART_EXTERNINIT
|
||||
---help---
|
||||
The driver for the graphics device on this platform requires some
|
||||
unusual initialization. This is the for, for example, SPI LCD/OLED
|
||||
@ -113,8 +98,7 @@ config EXAMPLES_NX_EXTERNINIT
|
||||
CONFIG_BOARDCTL_GRAPHICS=y so that the boardctl() interface
|
||||
will be available in order to access this function.
|
||||
|
||||
if NX_MULTIUSER
|
||||
comment "Multi-User Configuration Options"
|
||||
comment "NX Server Options"
|
||||
|
||||
config EXAMPLES_NX_STACKSIZE
|
||||
int "NX Server Stack Size"
|
||||
@ -147,4 +131,3 @@ config EXAMPLES_NX_NOTIFYSIGNO
|
||||
The signal number to use with nx_eventnotify(). Default: 4
|
||||
|
||||
endif
|
||||
endif
|
||||
|
@ -296,7 +296,6 @@ static void nxeg_tbmousein(NXEGWINDOW hwnd, FAR const struct nxgl_point_s *pos,
|
||||
* Name: nx_listenerthread
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_NX_MULTIUSER
|
||||
FAR void *nx_listenerthread(FAR void *arg)
|
||||
{
|
||||
int ret;
|
||||
@ -334,4 +333,3 @@ FAR void *nx_listenerthread(FAR void *arg)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -126,34 +126,34 @@
|
||||
# define CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT 16
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NX_MULTIUSER
|
||||
# ifdef CONFIG_DISABLE_MQUEUE
|
||||
# error "The multi-threaded example requires MQ support (CONFIG_DISABLE_MQUEUE=n)"
|
||||
# endif
|
||||
# ifdef CONFIG_DISABLE_SIGNALS
|
||||
# error "This example requires signal support (CONFIG_DISABLE_SIGNALS=n)"
|
||||
# endif
|
||||
# ifdef CONFIG_DISABLE_PTHREAD
|
||||
# error "This example requires pthread support (CONFIG_DISABLE_PTHREAD=n)"
|
||||
# endif
|
||||
# ifndef CONFIG_NX_BLOCKING
|
||||
# error "This example depends on CONFIG_NX_BLOCKING"
|
||||
# endif
|
||||
# ifndef CONFIG_EXAMPLES_NX_STACKSIZE
|
||||
# define CONFIG_EXAMPLES_NX_STACKSIZE 2048
|
||||
# endif
|
||||
# ifndef CONFIG_EXAMPLES_NX_LISTENERPRIO
|
||||
# define CONFIG_EXAMPLES_NX_LISTENERPRIO 100
|
||||
# endif
|
||||
# ifndef CONFIG_EXAMPLES_NX_CLIENTPRIO
|
||||
# define CONFIG_EXAMPLES_NX_CLIENTPRIO 100
|
||||
# endif
|
||||
# ifndef CONFIG_EXAMPLES_NX_SERVERPRIO
|
||||
# define CONFIG_EXAMPLES_NX_SERVERPRIO 120
|
||||
# endif
|
||||
# ifndef CONFIG_EXAMPLES_NX_NOTIFYSIGNO
|
||||
# define CONFIG_EXAMPLES_NX_NOTIFYSIGNO 4
|
||||
# endif
|
||||
/* NX Server Options */
|
||||
|
||||
#ifdef CONFIG_DISABLE_MQUEUE
|
||||
# error "The multi-threaded example requires MQ support (CONFIG_DISABLE_MQUEUE=n)"
|
||||
#endif
|
||||
#ifdef CONFIG_DISABLE_SIGNALS
|
||||
# error "This example requires signal support (CONFIG_DISABLE_SIGNALS=n)"
|
||||
#endif
|
||||
#ifdef CONFIG_DISABLE_PTHREAD
|
||||
# error "This example requires pthread support (CONFIG_DISABLE_PTHREAD=n)"
|
||||
#endif
|
||||
#ifndef CONFIG_NX_BLOCKING
|
||||
# error "This example depends on CONFIG_NX_BLOCKING"
|
||||
#endif
|
||||
#ifndef CONFIG_EXAMPLES_NX_STACKSIZE
|
||||
# define CONFIG_EXAMPLES_NX_STACKSIZE 2048
|
||||
#endif
|
||||
#ifndef CONFIG_EXAMPLES_NX_LISTENERPRIO
|
||||
# define CONFIG_EXAMPLES_NX_LISTENERPRIO 100
|
||||
#endif
|
||||
#ifndef CONFIG_EXAMPLES_NX_CLIENTPRIO
|
||||
# define CONFIG_EXAMPLES_NX_CLIENTPRIO 100
|
||||
#endif
|
||||
#ifndef CONFIG_EXAMPLES_NX_SERVERPRIO
|
||||
# define CONFIG_EXAMPLES_NX_SERVERPRIO 120
|
||||
#endif
|
||||
#ifndef CONFIG_EXAMPLES_NX_NOTIFYSIGNO
|
||||
# define CONFIG_EXAMPLES_NX_NOTIFYSIGNO 4
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS
|
||||
@ -259,9 +259,7 @@ extern nxgl_coord_t g_xres;
|
||||
extern nxgl_coord_t g_yres;
|
||||
|
||||
extern bool b_haveresolution;
|
||||
#ifdef CONFIG_NX_MULTIUSER
|
||||
extern bool g_connected;
|
||||
#endif
|
||||
extern sem_t g_semevent;
|
||||
|
||||
/* Colors used to fill window 1 & 2 */
|
||||
@ -276,9 +274,7 @@ extern nxgl_mxpixel_t g_tbcolor[CONFIG_NX_NPLANES];
|
||||
* Public Function Prototypes
|
||||
****************************************************************************/
|
||||
|
||||
#if defined(CONFIG_NX) && defined(CONFIG_NX_MULTIUSER)
|
||||
FAR void *nx_listenerthread(FAR void *arg);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NX_KBD
|
||||
void nxeg_kbdin(NXWINDOW hwnd, uint8_t nch, const uint8_t *ch, FAR void *arg);
|
||||
|
@ -119,9 +119,7 @@ nxgl_coord_t g_xres;
|
||||
nxgl_coord_t g_yres;
|
||||
|
||||
bool b_haveresolution = false;
|
||||
#ifdef CONFIG_NX_MULTIUSER
|
||||
bool g_connected = false;
|
||||
#endif
|
||||
sem_t g_semevent = {0};
|
||||
|
||||
/* Colors used to fill window 1 & 2 */
|
||||
@ -412,129 +410,27 @@ static inline int nxeg_raise(NXEGWINDOW hwnd)
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: nxeg_suinitialize
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef CONFIG_NX_MULTIUSER
|
||||
static inline int nxeg_suinitialize(void)
|
||||
{
|
||||
FAR NX_DRIVERTYPE *dev;
|
||||
int ret;
|
||||
|
||||
#if defined(CONFIG_EXAMPLES_NX_EXTERNINIT)
|
||||
struct boardioc_graphics_s devinfo;
|
||||
|
||||
/* Use external graphics driver initialization */
|
||||
|
||||
printf("nxeg_initialize: Initializing external graphics device\n");
|
||||
|
||||
devinfo.devno = CONFIG_EXAMPLES_NX_DEVNO;
|
||||
devinfo.dev = NULL;
|
||||
|
||||
ret = boardctl(BOARDIOC_GRAPHICS_SETUP, (uintptr_t)&devinfo);
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("nxeg_initialize: boardctl failed, devno=%d: %d\n",
|
||||
CONFIG_EXAMPLES_NX_DEVNO, errno);
|
||||
g_exitcode = NXEXIT_EXTINITIALIZE;
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
dev = devinfo.dev;
|
||||
|
||||
#elif defined(CONFIG_NX_LCDDRIVER)
|
||||
/* Initialize the LCD device */
|
||||
|
||||
printf("nxeg_initialize: Initializing LCD\n");
|
||||
ret = board_lcd_initialize();
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("nxeg_initialize: board_lcd_initialize failed: %d\n", -ret);
|
||||
g_exitcode = NXEXIT_LCDINITIALIZE;
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
/* Get the device instance */
|
||||
|
||||
dev = board_lcd_getdev(CONFIG_EXAMPLES_NX_DEVNO);
|
||||
if (!dev)
|
||||
{
|
||||
printf("nxeg_initialize: board_lcd_getdev failed, devno=%d\n",
|
||||
CONFIG_EXAMPLES_NX_DEVNO);
|
||||
g_exitcode = NXEXIT_LCDGETDEV;
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
/* Turn the LCD on at 75% power */
|
||||
|
||||
(void)dev->setpower(dev, ((3*CONFIG_LCD_MAXPOWER + 3)/4));
|
||||
|
||||
#else
|
||||
/* Initialize the frame buffer device */
|
||||
|
||||
printf("nxeg_initialize: Initializing framebuffer\n");
|
||||
|
||||
ret = up_fbinitialize(0);
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("nxeg_initialize: up_fbinitialize failed: %d\n", -ret);
|
||||
|
||||
g_exitcode = NXEXIT_FBINITIALIZE;
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
dev = up_fbgetvplane(0, CONFIG_EXAMPLES_NX_VPLANE);
|
||||
if (!dev)
|
||||
{
|
||||
printf("nxeg_initialize: up_fbgetvplane failed, vplane=%d\n",
|
||||
CONFIG_EXAMPLES_NX_VPLANE);
|
||||
|
||||
g_exitcode = NXEXIT_FBGETVPLANE;
|
||||
return ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Then open NX */
|
||||
|
||||
printf("nxeg_initialize: Open NX\n");
|
||||
|
||||
g_hnx = nx_open(dev);
|
||||
if (!g_hnx)
|
||||
{
|
||||
printf("nxeg_suinitialize: nx_open failed: %d\n", errno);
|
||||
|
||||
g_exitcode = NXEXIT_NXOPEN;
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_VNCSERVER
|
||||
/* Setup the VNC server to support keyboard/mouse inputs */
|
||||
|
||||
ret = vnc_default_fbinitialize(0, g_hnx);
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("vnc_default_fbinitialize failed: %d\n", ret);
|
||||
nx_close(g_hnx);
|
||||
g_exitcode = NXEXIT_FBINITIALIZE;
|
||||
return ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: nxeg_initialize
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_NX_MULTIUSER
|
||||
static inline int nxeg_muinitialize(void)
|
||||
static int nxeg_initialize(void)
|
||||
{
|
||||
struct sched_param param;
|
||||
pthread_t thread;
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
/* Initialize window colors */
|
||||
|
||||
for (i = 0; i < CONFIG_NX_NPLANES; i++)
|
||||
{
|
||||
g_color1[i] = CONFIG_EXAMPLES_NX_COLOR1;
|
||||
g_color2[i] = CONFIG_EXAMPLES_NX_COLOR2;
|
||||
#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS
|
||||
g_tbcolor[i] = CONFIG_EXAMPLES_NX_TBCOLOR;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Set the client task priority */
|
||||
|
||||
@ -614,33 +510,6 @@ static inline int nxeg_muinitialize(void)
|
||||
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: nxeg_initialize
|
||||
****************************************************************************/
|
||||
|
||||
static int nxeg_initialize(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* Initialize window colors */
|
||||
|
||||
for (i = 0; i < CONFIG_NX_NPLANES; i++)
|
||||
{
|
||||
g_color1[i] = CONFIG_EXAMPLES_NX_COLOR1;
|
||||
g_color2[i] = CONFIG_EXAMPLES_NX_COLOR2;
|
||||
#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS
|
||||
g_tbcolor[i] = CONFIG_EXAMPLES_NX_TBCOLOR;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NX_MULTIUSER
|
||||
return nxeg_muinitialize();
|
||||
#else
|
||||
return nxeg_suinitialize();
|
||||
#endif
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -921,17 +790,11 @@ errout_with_hwnd1:
|
||||
(void)nxeg_closewindow(hwnd1, &g_wstate[0]);
|
||||
|
||||
errout_with_nx:
|
||||
#ifdef CONFIG_NX_MULTIUSER
|
||||
/* Disconnect from the server */
|
||||
|
||||
printf("nx_main: Disconnect from the server\n");
|
||||
nx_disconnect(g_hnx);
|
||||
#else
|
||||
/* Close the window */
|
||||
|
||||
printf("nx_main: Close NX\n");
|
||||
nx_close(g_hnx);
|
||||
#endif
|
||||
errout:
|
||||
return g_exitcode;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user