summaryrefslogtreecommitdiff
path: root/NxWidgets
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-12-30 12:39:23 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-12-30 12:39:23 -0600
commit8ca22c23fa3fa96cf661888f6b8a104d4c1cbd1b (patch)
treeb45ebeacd667bd749ceaf1e54b1952a9747ce7ac /NxWidgets
parent740fa31fee4328e095cfb62a2a9128c858d7f062 (diff)
downloadnuttx-8ca22c23fa3fa96cf661888f6b8a104d4c1cbd1b.tar.gz
nuttx-8ca22c23fa3fa96cf661888f6b8a104d4c1cbd1b.tar.bz2
nuttx-8ca22c23fa3fa96cf661888f6b8a104d4c1cbd1b.zip
NxWM::CTouchscreen: Add CONFIG_NXWM_TOUCHSCREEN_DEVINIT to suppress attempts to initialize the touchscreen from NxWM in the kernel build
Diffstat (limited to 'NxWidgets')
-rw-r--r--NxWidgets/ChangeLog.txt7
-rw-r--r--NxWidgets/Kconfig16
-rw-r--r--NxWidgets/libnxwidgets/src/cimage.cxx2
-rw-r--r--NxWidgets/nxwm/src/ctouchscreen.cxx2
4 files changed, 27 insertions, 0 deletions
diff --git a/NxWidgets/ChangeLog.txt b/NxWidgets/ChangeLog.txt
index d29b815aa..81504c194 100644
--- a/NxWidgets/ChangeLog.txt
+++ b/NxWidgets/ChangeLog.txt
@@ -417,3 +417,10 @@
This is because in the kernel build mode, the NX server must be initialized
in kernel mode by the RTOS before applications using the server run in
user mode.
+* NxWm: Added CONFIG_NXWM_NXCONSOLE that can be used to disable the NxConsole
+ window (2013-12-30).
+* NxWm::CTouchscreen: Added CONFIG_NXWM_TOUCHSCREEN_DEVINIT that can be used
+ to suppress calls to initialize the touchscreen device from the listener
+ thread. This is necessary if the kernel mode build is used: In that case,
+ the touchscreen must be initialized in kernel space before NxWM is started
+ (2013-12-30).
diff --git a/NxWidgets/Kconfig b/NxWidgets/Kconfig
index 8399e23c4..5f956df54 100644
--- a/NxWidgets/Kconfig
+++ b/NxWidgets/Kconfig
@@ -738,6 +738,22 @@ if NXWM_TOUCHSCREEN
comment "Touchscreen device settings"
+config NXWM_TOUCHSCREEN_DEVINIT
+ bool "Touchscreen Device Initialization"
+ default y
+ depends on !NUTTX_KERNEL
+ ---help---
+ It this option is selected, then the NxWM:CTouchscreen listener
+ thread will call a function arch_tcinitialize(NXWM_TOUCHSCREEN_DEVNO)
+ in order to instantiate the touchscreen driver at path
+ NXWM_TOUCHSCREEN_DEVPATH. If NXWM_TOUCHSCREEN_DEVINIT is not
+ selected, then the NxWM:CTouchscreen listener thread will assume
+ that the driver has already been initialized at
+ NXWM_TOUCHSCREEN_DEVPATH.
+
+ NOTE that in the kernel build, all touchscreen initialize must be
+ performed in kernel logic prior to the execution of NxWM.
+
config NXWM_TOUCHSCREEN_DEVNO
int "Touchscreen Device Number"
default 0
diff --git a/NxWidgets/libnxwidgets/src/cimage.cxx b/NxWidgets/libnxwidgets/src/cimage.cxx
index b9b93ebb6..eaf4e3005 100644
--- a/NxWidgets/libnxwidgets/src/cimage.cxx
+++ b/NxWidgets/libnxwidgets/src/cimage.cxx
@@ -235,6 +235,7 @@ void CImage::drawContents(CGraphicsPort *port)
// This is the number of rows that we have to pad on the right if the display
// width is wider than the image width
+#if 0 // Not used
nxgl_coord_t nRightPad;
if (nLeftPixels >= rect.getWidth())
{
@@ -244,6 +245,7 @@ void CImage::drawContents(CGraphicsPort *port)
{
nRightPad = rect.getWidth() - nLeftPixels;
}
+#endif
// Apply the padding to the right hand side
diff --git a/NxWidgets/nxwm/src/ctouchscreen.cxx b/NxWidgets/nxwm/src/ctouchscreen.cxx
index 853132008..8bf570f74 100644
--- a/NxWidgets/nxwm/src/ctouchscreen.cxx
+++ b/NxWidgets/nxwm/src/ctouchscreen.cxx
@@ -278,6 +278,7 @@ FAR void *CTouchscreen::listener(FAR void *arg)
vdbg("Listener started\n");
+#ifdef CONFIG_NXWM_TOUCHSCREEN_DEVINIT
// Initialize the touchscreen device
int ret = arch_tcinitialize(CONFIG_NXWM_TOUCHSCREEN_DEVNO);
@@ -288,6 +289,7 @@ FAR void *CTouchscreen::listener(FAR void *arg)
sem_post(&This->m_waitSem);
return (FAR void *)0;
}
+#endif
// Open the touchscreen device that we just created.