From b5167ec3a4f1096bc1ef7874541277fca4e01b72 Mon Sep 17 00:00:00 2001 From: patacongo Date: Fri, 9 Nov 2012 17:37:27 +0000 Subject: [PATCH] UG-2864AMBAG01 driver is basically functional git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5325 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/ChangeLog | 6 +++ nuttx/Kconfig | 38 +++++++++++++++++++ nuttx/configs/stm32f4discovery/README.txt | 16 ++++++-- .../src/stm32f4discovery-internal.h | 2 +- .../stm32f4discovery/src/up_ug2864ambag01.c | 2 +- nuttx/drivers/lcd/ug-2864ambag01.c | 1 - 6 files changed, 58 insertions(+), 7 deletions(-) diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 39a4dff565..247704b7a0 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -3585,3 +3585,9 @@ * configs/stm32f4discovery/src/up_ug2864ambag01.c: Board-specific initialization for UG-2864AMBAG01 OLED connecte to STM32F4Disovery. * libxx/libxx_stdthrow.cxx: Exception stubs from Petteri Aimonen. + * configs/stm32f4discovery/src/up_ug2864ambag01.c: Driver has been + verified on the STM32F4Discovery platform. Some tuning of the + configuration could improve the presentation. Lower resolution displays + are also more subject to the "fat, flat line bug" that I need to fix + someday. See http://www.nuttx.org/doku.php?id=wiki:graphics:nxgraphics + for a description of the fat, flat line bug. diff --git a/nuttx/Kconfig b/nuttx/Kconfig index 2d5b9e5851..b647a49f81 100644 --- a/nuttx/Kconfig +++ b/nuttx/Kconfig @@ -20,7 +20,45 @@ menu "Build Setup" config EXPERIMENTAL bool "Prompt for development and/or incomplete code/drivers" +choice + prompt "Build Host Platform" + default HOST_LINUX + +config HOST_LINUX + bool "Linux" + +config HOST_OSX + bool "OSX" + +config HOST_WINDOWS + bool "Windows" + +config HOST_OTHER + bool "Other" + +endchoice + +choice + prompt "Windows Build Environment" + default WINDOWS_CYGWIN + depends on HOST_WINDOWS + +config WINDOWS_NATIVE + bool "Windows Native" + +config WINDOWS_CYGWIN + bool "Cygwin" + +config WINDOWS_MSYS + bool "MSYS" + +config WINDOWS_OTHER + bool "Other" + +endchoice + menu "Build Configuration" + config APPS_DIR string "Application directory" default "../apps" diff --git a/nuttx/configs/stm32f4discovery/README.txt b/nuttx/configs/stm32f4discovery/README.txt index 900e93a97b..216ce85cc6 100644 --- a/nuttx/configs/stm32f4discovery/README.txt +++ b/nuttx/configs/stm32f4discovery/README.txt @@ -308,8 +308,8 @@ The STM32F4Discovery has no real on-board PWM devices, but the board can be configured to output a pulse train using TIM4 CH2 on PD3. This pin is available next to the audio jack. -UART -==== +UARTs +===== UART/USART PINS --------------- @@ -713,7 +713,9 @@ write only so the driver keeps a 128*64/8 = 1KB framebuffer to remember the display contents: Here is how I have the OLED connected. But you can change this with the -settings in include/board.h and src/stm324fdiscovery-internal.h: +settings in include/board.h and src/stm324fdiscovery-internal.h. Connector +pinout for the UG-2864AMBAG01 is specific to the theO.net display board +that I am using: --------------------------+---------------------------------------------- Connector CON10 J1: | STM32F4Discovery @@ -722,7 +724,7 @@ settings in include/board.h and src/stm324fdiscovery-internal.h: --------------+-----------+---------------------------------------------- 1 3v3 | 3,4 3v3 | P2 3V 3 /RESET | 8 /RESET | P2 PB6 (Arbitrary selection) - 5 /CS | 7 /CS | P3 PB7 (Arbitrary selection) + 5 /CS | 7 /CS | P2 PB7 (Arbitrary selection) 7 A0 | 9 A0 | P2 PB8 (Arbitrary selection) 9 LED+ (N/C) | ----- | ----- 2 5V Vcc | 1,2 Vcc | P2 5V @@ -1387,6 +1389,12 @@ Where is one of the following: +CONFIG_EXAMPLES_NXLINES_BPP=1 +CONFIG_EXAMPLES_NXLINES_EXTERNINIT=y + There are some issues with with the presentation... some tuning of the + configuration could fix that. Lower resolution displays are also more + subject to the "fat, flat line bug" that I need to fix someday. See + http://www.nuttx.org/doku.php?id=wiki:graphics:nxgraphics for a description + of the fat, flat line bug. + pm: -- This is a configuration that is used to test STM32 power management, i.e., diff --git a/nuttx/configs/stm32f4discovery/src/stm32f4discovery-internal.h b/nuttx/configs/stm32f4discovery/src/stm32f4discovery-internal.h index 73a42d3fdd..00f17b58e9 100644 --- a/nuttx/configs/stm32f4discovery/src/stm32f4discovery-internal.h +++ b/nuttx/configs/stm32f4discovery/src/stm32f4discovery-internal.h @@ -122,7 +122,7 @@ * --------------+-----------+---------------------------------------------- * 1 3v3 | 3,4 3v3 | P2 3V * 3 /RESET | 8 /RESET | P2 PB6 (Arbitrary selection) - * 5 /CS | 7 /CS | P3 PB7 (Arbitrary selection) + * 5 /CS | 7 /CS | P2 PB7 (Arbitrary selection) * 7 A0 | 9 A0 | P2 PB8 (Arbitrary selection) * 9 LED+ (N/C) | ----- | ----- * 2 5V Vcc | 1,2 Vcc | P2 5V diff --git a/nuttx/configs/stm32f4discovery/src/up_ug2864ambag01.c b/nuttx/configs/stm32f4discovery/src/up_ug2864ambag01.c index eabb771292..2f21331168 100644 --- a/nuttx/configs/stm32f4discovery/src/up_ug2864ambag01.c +++ b/nuttx/configs/stm32f4discovery/src/up_ug2864ambag01.c @@ -75,7 +75,7 @@ * --------------+-----------+---------------------------------------------- * 1 3v3 | 3,4 3v3 | P2 3V * 3 /RESET | 8 /RESET | P2 PB6 (Arbitrary selection) - * 5 /CS | 7 /CS | P3 PB7 (Arbitrary selection)(2) + * 5 /CS | 7 /CS | P2 PB7 (Arbitrary selection)(2) * 7 A0 | 9 A0 | P2 PB8 (Arbitrary selection)(2) * 9 LED+ (N/C) | ----- | ----- * 2 5V Vcc | 1,2 Vcc | P2 5V diff --git a/nuttx/drivers/lcd/ug-2864ambag01.c b/nuttx/drivers/lcd/ug-2864ambag01.c index 3b418bf059..aa50abaedc 100644 --- a/nuttx/drivers/lcd/ug-2864ambag01.c +++ b/nuttx/drivers/lcd/ug-2864ambag01.c @@ -338,7 +338,6 @@ static int ug2864ambag01_setcontrast(struct lcd_dev_s *dev, unsigned int contras * Private Data **************************************************************************************/ - /* This is working memory allocated by the LCD driver for each LCD device * and for each color plane. This memory will hold one raster line of data. * The size of the allocated run buffer must therefore be at least