summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-07-10 12:38:18 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-07-10 12:38:18 -0600
commit36c625ad2039e006dbc2635034b50de8773235de (patch)
tree0f92072f5b2641fb77814b392f784fe3d538dd09 /nuttx
parentfd6fe76c6ca0f3c6ada8cb0d7b70a502856789da (diff)
downloadpx4-nuttx-36c625ad2039e006dbc2635034b50de8773235de.tar.gz
px4-nuttx-36c625ad2039e006dbc2635034b50de8773235de.tar.bz2
px4-nuttx-36c625ad2039e006dbc2635034b50de8773235de.zip
SAMA5D4-EK: The NX graphics example is now enabled by default
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/configs/sama5d4-ek/README.txt47
-rw-r--r--nuttx/configs/sama5d4-ek/include/board.h10
-rw-r--r--nuttx/configs/sama5d4-ek/nsh/defconfig106
3 files changed, 150 insertions, 13 deletions
diff --git a/nuttx/configs/sama5d4-ek/README.txt b/nuttx/configs/sama5d4-ek/README.txt
index c61a3d154..d047260a5 100644
--- a/nuttx/configs/sama5d4-ek/README.txt
+++ b/nuttx/configs/sama5d4-ek/README.txt
@@ -3423,7 +3423,8 @@ Configurations
There may be some differences in released SAMA5D4-EK board. Also,
this configuration assumes that you have the TM7000 LCD/Touchscreen
attached. If you do not, you should disable the LCD and touchscreen
- drivers as described above under "TM7000 LCD/Touchscreen.
+ drivers as described above under "TM7000 LCD/Touchscreen" and also
+ below.
3. By default, this configuration is set up to build on Windows
under either a Cygwin or MSYS environment using a recent, Windows-
@@ -3540,11 +3541,15 @@ Configurations
CONFIG_DEV_RANDOM=y : Enables /dev/random
8. This configuration has support for NSH built-in applications enabled.
- Two built-in applications are included by default: (1) The I2C Tool.
- See the section above entitle "I2C Tool" and the note with regard to
- I2C below. (2) The interrupting button test as described above
- in these notes. And (3) the touchscreen test program as described
- above under "TM7000 LCD/Touchscreen" and also below in this notes.
+ Two built-in applications are included by default:
+
+ a. The I2C Tool. See the section above entitled "I2C Tool" and the
+ note with regard to I2C below.
+ b. The interrupting button test as described above in these notes.
+ c. The touchscreen test program as described above under "TM7000
+ LCD/Touchscreen" and also below in this notes.
+ d. An LCD/graphics test program. See the section above entitle
+ "TM7000 LCD/Touchscreen" and also below in this notes.
9. This configuration has support for the FAT, ROMFS, and PROCFS file
systems built in.
@@ -3770,12 +3775,38 @@ Configurations
nsh> tc [<number-of-touches>]
- 18. The SAMA5D4-EK includes for an AT25 serial DataFlash. That support is
+ 18. Support for the TM7000 LCD is enabled by default. See the section above
+ entitled "TM7000 LCD/Touchscreen" for detailed configuration information.
+ You will probably want to disable this option if you are not using the
+ TM7000 LCD.
+
+ There are several LCD test programs available. One is built into this
+ configuration: apps/examples/nx. The NX example is a simple test
+ using the NuttX graphics system (NX). This test case focuses on general
+ window controls, movement, mouse and keyboard input. It requires no
+ user interaction.
+
+ There are several simple graphics examples under apps/examples/ that
+ could be configured to verify LCD/graphics operation:
+
+ a. nxhello. Just displays "Hello, World!" at the center of the
+ display.
+ b. nximage. Displays the NuttX logo in the center of the display.
+ c. nxlines. Shows many fat lines. This generally looks like a
+ "clock" with a cicle and a rotating line in the center.
+ d. nxtext. This demonstrates scrolling text with pop-up windows on
+ top of the test. The pop-up windows come and go without
+ corrupting the scrolling text.
+
+ See apps/examples/README.txt for information about configuring these
+ examples.
+
+ 19. The SAMA5D4-EK includes for an AT25 serial DataFlash. That support is
NOT enabled in this configuration. Support for that serial FLASH could
be enabled by modifying the NuttX configuration as described above in
the paragraph entitled "AT25 Serial FLASH".
- 19. This example can be configured to exercise the watchdog timer test
+ 20. This example can be configured to exercise the watchdog timer test
(apps/examples/watchdog). See the detailed configuration settings in
the section entitled "Watchdog Timer" above.
diff --git a/nuttx/configs/sama5d4-ek/include/board.h b/nuttx/configs/sama5d4-ek/include/board.h
index d11d15871..033b7ec1a 100644
--- a/nuttx/configs/sama5d4-ek/include/board.h
+++ b/nuttx/configs/sama5d4-ek/include/board.h
@@ -170,9 +170,17 @@
/* LCD Interface, Geometry and Timing ***********************************************/
/* This configuration applies only to the TM7000 LCD/Touchscreen module. Other LCDs
* will require changes.
+ *
+ * NOTE: The TM7000 user manual claims that the hardware interface is 18-bit RGB666.
+ * If you select that, you will get a very pink display (because the upper, "red"
+ * bits floating high). By trial and error, the 24-bit select was found to produce
+ * the correct color output.
+ *
+ * NOTE: Timings come from the smaller SAMA5D3x-EK LCD and have not been optimized
+ * for this display.
*/
-#define BOARD_LCDC_OUTPUT_BPP 24 /* Output format to H/W is 24BPP RGB888 */
+#define BOARD_LCDC_OUTPUT_BPP 24 /* Output format to H/W is 24 bpp RGB888 */
#define BOARD_LCDC_WIDTH 800 /* Display width (pixels) */
#define BOARD_LCDC_HEIGHT 480 /* Display height (rows) */
#undef BOARD_LCDC_MCK_MUL2 /* Source clock is Mck (vs 2*Mck) */
diff --git a/nuttx/configs/sama5d4-ek/nsh/defconfig b/nuttx/configs/sama5d4-ek/nsh/defconfig
index f01a6e387..cb40b2cc7 100644
--- a/nuttx/configs/sama5d4-ek/nsh/defconfig
+++ b/nuttx/configs/sama5d4-ek/nsh/defconfig
@@ -212,7 +212,7 @@ CONFIG_SAMA5_UHPHS=y
CONFIG_SAMA5_EMACB=y
CONFIG_SAMA5_EMAC0=y
# CONFIG_SAMA5_EMAC1 is not set
-# CONFIG_SAMA5_LCDC is not set
+CONFIG_SAMA5_LCDC=y
# CONFIG_SAMA5_ISI is not set
# CONFIG_SAMA5_SHA is not set
CONFIG_SAMA5_TRNG=y
@@ -228,6 +228,38 @@ CONFIG_SAMA5_PIO_IRQ=y
CONFIG_SAMA5_PIOE_IRQ=y
#
+# LCDC Configuration
+#
+CONFIG_SAMA5_LCDC_BACKLIGHT=y
+CONFIG_SAMA5_LCDC_DEFBACKLIGHT=0xc8
+CONFIG_SAMA5_LCDC_BACKCOLOR=0x7b5d
+CONFIG_SAMA5_LCDC_FB_VBASE=0x2fa00000
+CONFIG_SAMA5_LCDC_FB_PBASE=0x2fa00000
+CONFIG_SAMA5_LCDC_FB_SIZE=6291456
+
+#
+# Base layer configuration
+#
+CONFIG_SAMA5_LCDC_BASE_ROT0=y
+# CONFIG_SAMA5_LCDC_BASE_ROT90 is not set
+# CONFIG_SAMA5_LCDC_BASE_ROT180 is not set
+# CONFIG_SAMA5_LCDC_BASE_ROT270 is not set
+# CONFIG_SAMA5_LCDC_BASE_RGB444 is not set
+# CONFIG_SAMA5_LCDC_BASE_ARGB4444 is not set
+# CONFIG_SAMA5_LCDC_BASE_RGBA4444 is not set
+CONFIG_SAMA5_LCDC_BASE_RGB565=y
+# CONFIG_SAMA5_LCDC_BASE_TRGB1555 is not set
+# CONFIG_SAMA5_LCDC_BASE_RGB666 is not set
+# CONFIG_SAMA5_LCDC_BASE_RGB666P is not set
+# CONFIG_SAMA5_LCDC_BASE_TRGB1666 is not set
+# CONFIG_SAMA5_LCDC_BASE_TRGBP is not set
+# CONFIG_SAMA5_LCDC_BASE_RGB888 is not set
+# CONFIG_SAMA5_LCDC_BASE_RGB888P is not set
+# CONFIG_SAMA5_LCDC_BASE_TRGB1888 is not set
+# CONFIG_SAMA5_LCDC_BASE_ARGB8888 is not set
+# CONFIG_SAMA5_LCDC_BASE_RGBA8888 is not set
+
+#
# EMAC device driver options
#
@@ -297,7 +329,8 @@ CONFIG_SAMA5_BOOT_SDRAM=y
# Heap Configuration
#
CONFIG_SAMA5_ISRAM_HEAP=y
-# CONFIG_SAMA5_DDRCS_RESERVE is not set
+CONFIG_SAMA5_DDRCS_RESERVE=y
+CONFIG_SAMA5_DDRCS_HEAP_END=0x2fa00000
#
# Architecture Options
@@ -787,7 +820,63 @@ CONFIG_SYSLOG=y
#
# Graphics Support
#
-# CONFIG_NX is not set
+CONFIG_NX=y
+CONFIG_NX_NPLANES=1
+# CONFIG_NX_WRITEONLY is not set
+
+#
+# Supported Pixel Depths
+#
+CONFIG_NX_DISABLE_1BPP=y
+CONFIG_NX_DISABLE_2BPP=y
+CONFIG_NX_DISABLE_4BPP=y
+CONFIG_NX_DISABLE_8BPP=y
+# CONFIG_NX_DISABLE_16BPP is not set
+CONFIG_NX_DISABLE_24BPP=y
+CONFIG_NX_DISABLE_32BPP=y
+CONFIG_NX_PACKEDMSFIRST=y
+
+#
+# Input Devices
+#
+CONFIG_NX_MOUSE=y
+CONFIG_NX_KBD=y
+
+#
+# Framed Window Borders
+#
+CONFIG_NXTK_BORDERWIDTH=4
+CONFIG_NXTK_DEFAULT_BORDERCOLORS=y
+# CONFIG_NXTK_AUTORAISE is not set
+
+#
+# Font Selections
+#
+CONFIG_NXFONTS_CHARBITS=7
+# CONFIG_NXFONT_MONO5X8 is not set
+# CONFIG_NXFONT_SANS17X22 is not set
+# CONFIG_NXFONT_SANS20X26 is not set
+# CONFIG_NXFONT_SANS23X27 is not set
+# CONFIG_NXFONT_SANS22X29 is not set
+# CONFIG_NXFONT_SANS28X37 is not set
+# CONFIG_NXFONT_SANS39X48 is not set
+# CONFIG_NXFONT_SANS17X23B is not set
+# CONFIG_NXFONT_SANS20X27B is not set
+# CONFIG_NXFONT_SANS22X29B is not set
+# CONFIG_NXFONT_SANS28X37B is not set
+# CONFIG_NXFONT_SANS40X49B is not set
+# CONFIG_NXFONT_SERIF22X29 is not set
+# CONFIG_NXFONT_SERIF29X37 is not set
+# CONFIG_NXFONT_SERIF38X48 is not set
+CONFIG_NXFONT_SERIF22X28B=y
+# CONFIG_NXFONT_SERIF27X38B is not set
+# CONFIG_NXFONT_SERIF38X49B is not set
+# CONFIG_NXCONSOLE is not set
+
+#
+# NX Multi-user only options
+#
+# CONFIG_NX_MULTIUSER is not set
#
# Memory Management
@@ -915,7 +1004,15 @@ CONFIG_EXAMPLES_BUTTONS_NAME7="Button 7"
CONFIG_EXAMPLES_NSH=y
CONFIG_EXAMPLES_NSH_CXXINITIALIZE=y
# CONFIG_EXAMPLES_NULL is not set
-# CONFIG_EXAMPLES_NX is not set
+CONFIG_EXAMPLES_NX=y
+CONFIG_EXAMPLES_NX_VPLANE=0
+CONFIG_EXAMPLES_NX_DEVNO=0
+CONFIG_EXAMPLES_NX_DEFAULT_COLORS=y
+CONFIG_EXAMPLES_NX_DEFAULT_FONT=y
+CONFIG_EXAMPLES_NX_BPP=16
+# CONFIG_EXAMPLES_NX_RAWWINDOWS is not set
+CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16
+# CONFIG_EXAMPLES_NX_EXTERNINIT is not set
# CONFIG_EXAMPLES_NXCONSOLE is not set
# CONFIG_EXAMPLES_NXFFS is not set
# CONFIG_EXAMPLES_NXFLAT is not set
@@ -1106,6 +1203,7 @@ CONFIG_NSH_MAX_ROUNDTRIP=20
#
# NxWidgets/NxWM
#
+# CONFIG_NXWIDGETS is not set
#
# Platform-specific Support