From 87d335b92ab7580fdd0aef729646c8c2131b3ec8 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 27 May 2013 11:39:13 -0600 Subject: The SLCD driver is now fully functional for Sure PIC32MX board --- apps/ChangeLog.txt | 8 +++++--- apps/examples/slcd/slcd_main.c | 22 +++++++++++++++++++++- 2 files changed, 26 insertions(+), 4 deletions(-) (limited to 'apps') diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt index 910cd113e..4680ab194 100644 --- a/apps/ChangeLog.txt +++ b/apps/ChangeLog.txt @@ -85,7 +85,7 @@ * apps/examples/usbstorage: Can now be built as two NSH "built-in" commands: 'msconn' will connect the USB mass storage device; 'msdis' will disconnect the USB storage device. - * apps/examples/nx*: All NX header files moved from nuttx/include/nuttx to + * apps/examples/nx*: All NX header files moved from nuttx/include/nuttx to nuttx/include/nuttx/nx. * apps/examples/usbstorage: Added instrumentation to monitor memory usage to check for memory leaks in the USB storage driver. @@ -116,7 +116,7 @@ * apps/examples/lcdrw: Add a test to verify if you can or can or read data from an LCD correctly. * apps/examples/usbterm: A USB terminal example.. more of a USB chat or - serial bridge: Data received on local console echoed via USB serial; + serial bridge: Data received on local console echoed via USB serial; data received on USB serial is echoed on the local console. * apps/examples/touchscreen: Add a simple, generic test for any touschscreen driver. @@ -301,7 +301,7 @@ moved from apps/netutils/webserver/makefsdata to nuttx/tools/mkfsdata.pl (Part of a larger change submitted by Max Holtzberg). * apps/netutils/webserver, apps/examples/uip, and apps/include/netutils/httpd.h: - The "canned" version of the uIP web servers content that was at + The "canned" version of the uIP web servers content that was at netutils/webserver/httpd_fsdata.c has been replaced with a dynamically built configuration located at apps/examples/uip (Contributed by Max Holtzberg). @@ -564,3 +564,5 @@ segment LCDs (2013-5-24). * apps/examples/slcd: Extend SLCD test to handle multi-line displays (2013-5-26). + * apps/examples/slcd: This test now sets the SLCD brightness level to + the mid-point as part of its initialization (2013-5-27). diff --git a/apps/examples/slcd/slcd_main.c b/apps/examples/slcd/slcd_main.c index e7f0ff00f..ecdd4a2b2 100644 --- a/apps/examples/slcd/slcd_main.c +++ b/apps/examples/slcd/slcd_main.c @@ -279,6 +279,8 @@ int slcd_main(int argc, char *argv[]) if (!priv->initialized) { + unsigned long brightness; + /* Initialize the output stream */ memset(priv, 0, sizeof(struct slcd_test_s)); @@ -296,8 +298,11 @@ int slcd_main(int argc, char *argv[]) goto errout_with_fd; } - printf("Geometry rows: %d columns: %d nbars: %d\n", + printf("Attributes:\n"); + printf(" rows: %d columns: %d nbars: %d\n", priv->attr.nrows, priv->attr.ncolumns, priv->attr.nbars); + printf(" max contrast: %d max brightness: %d\n", + priv->attr.maxcontrast, priv->attr.maxbrightness); /* Home the cursor and clear the display */ @@ -305,6 +310,21 @@ int slcd_main(int argc, char *argv[]) slcd_encode(SLCDCODE_CLEAR, 0, &priv->stream); slcd_flush(&priv->stream); + /* Set the brightness to the mid value */ + + brightness = ((unsigned long)priv->attr.maxbrightness + 1) >> 1; + printf("Set brightness to %ld\n", brightness); + + ret = ioctl(fd, SLCDIOC_SETBRIGHTNESS, brightness); + if (ret < 0) + { + /* Report the ioctl failure, but do not error out. Some SLCDs + * do not support brightness settings. + */ + + printf("ioctl(SLCDIOC_GETATTRIBUTES) failed: %d\n", errno); + } + priv->initialized = true; } -- cgit v1.2.3