From aea5fb2c2797e491cf8f6a61dafd1f3dcc1cc8d2 Mon Sep 17 00:00:00 2001 From: patacongo Date: Fri, 5 Aug 2011 02:31:59 +0000 Subject: [PATCH] Misc documentation/LCD-related updates git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3844 42af7a65-404d-4744-a932-0658087f49c3 --- configs/README.txt | 86 +++++++++++++++++++++-------------- configs/sam3u-ek/README.txt | 7 +++ configs/sam3u-ek/src/up_lcd.c | 10 ++-- 3 files changed, 65 insertions(+), 38 deletions(-) diff --git a/configs/README.txt b/configs/README.txt index 41c90e3876..5eee4786cf 100644 --- a/configs/README.txt +++ b/configs/README.txt @@ -499,29 +499,29 @@ defconfig -- This is a configuration file similar to the Linux CONFIG_ARCH_MATH_H, CONFIG_ARCH_STDBOOL_H, CONFIG_ARCH_STDINT_H - CONFIG_ARCH_ROMGETC - In Harvard architectures, data accesses and - instruction accesses occur on different busses, perhaps - concurrently. All data accesses are performed on the data bus - unless special machine instructions are used to read data - from the instruction address space. Also, in the typical - MCU, the available SRAM data memory is much smaller that the - non-volatile FLASH instruction memory. So if the application - requires many constant strings, the only practical solution may - be to store those constant strings in FLASH memory where they - can only be accessed using architecture-specific machine - instructions. + CONFIG_ARCH_ROMGETC - In Harvard architectures, data accesses and + instruction accesses occur on different busses, perhaps + concurrently. All data accesses are performed on the data bus + unless special machine instructions are used to read data + from the instruction address space. Also, in the typical + MCU, the available SRAM data memory is much smaller that the + non-volatile FLASH instruction memory. So if the application + requires many constant strings, the only practical solution may + be to store those constant strings in FLASH memory where they + can only be accessed using architecture-specific machine + instructions. - If CONFIG_ARCH_ROMGETC is defined, then the architecture logic - must export the function up_romgetc(). up_romgetc() will simply - read one byte of data from the instruction space. + If CONFIG_ARCH_ROMGETC is defined, then the architecture logic + must export the function up_romgetc(). up_romgetc() will simply + read one byte of data from the instruction space. - If CONFIG_ARCH_ROMGETC, certain C stdio functions are effected: - (1) All format strings in printf, fprintf, sprintf, etc. are - assumed to lie in FLASH (string arguments for %s are still assumed - to reside in SRAM). And (2), the string argument to puts and fputs - is assumed to reside in FLASH. Clearly, these assumptions may have - to modified for the particular needs of your environment. There - is no "one-size-fits-all" solution for this problem. + If CONFIG_ARCH_ROMGETC, certain C stdio functions are effected: + (1) All format strings in printf, fprintf, sprintf, etc. are + assumed to lie in FLASH (string arguments for %s are still assumed + to reside in SRAM). And (2), the string argument to puts and fputs + is assumed to reside in FLASH. Clearly, these assumptions may have + to modified for the particular needs of your environment. There + is no "one-size-fits-all" solution for this problem. Sizes of configurable things (0 disables) @@ -564,19 +564,19 @@ defconfig -- This is a configuration file similar to the Linux Filesystem configuration CONFIG_FS_FAT - Enable FAT filesystem support CONFIG_FAT_SECTORSIZE - Max supported sector size - CONFIG_FAT_LCNAMES - Enable use of the NT-style upper/lower case 8.3 - file name support. + CONFIG_FAT_LCNAMES - Enable use of the NT-style upper/lower case 8.3 + file name support. CONFIG_FAT_LFN - Enable FAT long file names. NOTE: Microsoft claims - patents on FAT long file name technology. Please read the - disclaimer in the top-level COPYING file and only enable this - feature if you understand these issues. - CONFIG_FAT_MAXFNAME - If CONFIG_FAT_LFN is defined, then the - default, maximum long file name is 255 bytes. This can eat up - a lot of memory (especially stack space). If you are willing - to live with some non-standard, short long file names, then - define this value. A good choice would be the same value as - selected for CONFIG_NAME_MAX which will limit the visibility - of longer file names anyway. + patents on FAT long file name technology. Please read the + disclaimer in the top-level COPYING file and only enable this + feature if you understand these issues. + CONFIG_FAT_MAXFNAME - If CONFIG_FAT_LFN is defined, then the + default, maximum long file name is 255 bytes. This can eat up + a lot of memory (especially stack space). If you are willing + to live with some non-standard, short long file names, then + define this value. A good choice would be the same value as + selected for CONFIG_NAME_MAX which will limit the visibility + of longer file names anyway. CONFIG_FS_NXFFS: Enable NuttX FLASH file system (NXFF) support. CONFIG_NXFFS_ERASEDSTATE: The erased state of FLASH. This must have one of the values of 0xff or 0x00. @@ -671,6 +671,18 @@ defconfig -- This is a configuration file similar to the Linux meaning to the driver. Board-specific logic may place restrictions on this value. + Input Devices + + CONFIG_INPUT + Enables general support for input devices + CONFIG_INPUT_TSC2007 + If CONFIG_INPUT is selected, then this setting will enable building + of the TI TSC2007 touchscreen driver. + CONFIG_TSC2007_MULTIPLE + Normally only a single TI TSC2007 touchscreen is used. But if + there are multiple TSC2007 touchscreens, this setting will enable + multiple touchscreens with the same driver. + ENC28J60 Ethernet Driver Configuration Settings: CONFIG_NET_ENC28J60 - Enabled ENC28J60 support CONFIG_ENC28J60_SPIMODE - Controls the SPI mode @@ -886,6 +898,7 @@ defconfig -- This is a configuration file similar to the Linux and CONFIG_SCHED_WORKQUEUE=y USB serial device class driver + CONFIG_USBSER Enable compilation of the USB serial driver CONFIG_USBSER_EPINTIN @@ -907,6 +920,7 @@ defconfig -- This is a configuration file similar to the Linux Size of the serial receive/transmit buffers USB Storage Device Configuration + CONFIG_USBSTRG Enable compilation of the USB storage driver CONFIG_USBSTRG_EP0MAXPACKET @@ -954,6 +968,12 @@ defconfig -- This is a configuration file similar to the Linux device. CONFIG_LCD_MAXCONTRAST - The maximum contrast value for an LCD device. + CONFIG_LCD_LANDSCAPE, CONFIG_LCD_PORTRAIT, CONFIG_LCD_RLANDSCAPE, + and CONFIG_LCD_RPORTRAIT - Some LCD drivers may support + these options to present the display in landscape, portrait, + reverse landscape, or reverse portrait orientations. Check + the README.txt file in each board configuration directory to + see if any of these are supported by the board LCD logic. CONFIG_NX_MOUSE Build in support for mouse input. CONFIG_NX_KBD diff --git a/configs/sam3u-ek/README.txt b/configs/sam3u-ek/README.txt index a350c72d7e..b94e668ef6 100755 --- a/configs/sam3u-ek/README.txt +++ b/configs/sam3u-ek/README.txt @@ -295,6 +295,13 @@ SAM3U-EK-specific Configuration Options CONFIG_U[S]ARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity CONFIG_U[S]ARTn_2STOP - Two stop bits + LCD Options. Other than the standard LCD configuration options + (see configs/README.txt), the SAM3U-EK driver also supports: + + CONFIG_LCD_PORTRAIT - Present the display in the standard 240x320 + "Portrait" orientation. Default: The display is rotated to + support a 320x240 "Landscape" orientation. + Configurations ^^^^^^^^^^^^^^ diff --git a/configs/sam3u-ek/src/up_lcd.c b/configs/sam3u-ek/src/up_lcd.c index 8b0a919f7b..2de563f9b9 100755 --- a/configs/sam3u-ek/src/up_lcd.c +++ b/configs/sam3u-ek/src/up_lcd.c @@ -2,7 +2,7 @@ * configs/sam3u-ek/src/up_lcd.c * arch/arm/src/board/up_lcd.c * - * Copyright (C) 2010 Gregory Nutt. All rights reserved. + * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -168,12 +168,12 @@ /* Graphics Capbilities ***************************************************************/ /* LCD resolution: 320 (columns) by 240 (rows). The physical dimensions of the device - * are really 240 (columns) by 320 (rows), but unless CONFIG_SAM3U_240x320 is defined, + * are really 240 (columns) by 320 (rows), but unless CONFIG_LCD_PORTRAIT is defined, * we swap rows and columns in setcursor to make things behave nicer (there IS a * performance hit for this swap!). */ -#ifdef CONFIG_SAM3U_240x320 +#ifdef CONFIG_LCD_PORTRAIT # define SAM3UEK_XRES 240 # define SAM3UEK_YRES 320 #else @@ -606,7 +606,7 @@ static int sam3u_putrun(fb_coord_t row, fb_coord_t col, FAR const uint8_t *buffe gvdbg("row: %d col: %d npixels: %d\n", row, col, npixels); DEBUGASSERT(buffer && ((uintptr_t)buffer & 1) == 0); -#ifdef CONFIG_SAM3U_240x320 +#ifdef CONFIG_LCD_PORTRAIT /* Set up to write the run. */ sam3u_setcursor(row, col); @@ -672,7 +672,7 @@ static int sam3u_getrun(fb_coord_t row, fb_coord_t col, FAR uint8_t *buffer, gvdbg("row: %d col: %d npixels: %d\n", row, col, npixels); DEBUGASSERT(buffer && ((uintptr_t)buffer & 1) == 0); -#ifdef CONFIG_SAM3U_240x320 +#ifdef CONFIG_LCD_PORTRAIT /* Set up to read the run */ sam3u_setcursor(row, col);