From b7eaec3de333ce05fc5d7969491f540c2945c06f Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 26 Nov 2017 06:32:43 -0600 Subject: [PATCH] configs/stm3240g-eval: Add support for pdcurses and the pdcurses demo programs in the 'fb' configuration. --- configs/open1788/README.txt | 2 +- configs/stm3240g-eval/README.txt | 23 ++++++++++++++++++--- configs/stm3240g-eval/fb/defconfig | 32 +++++++++++++----------------- 3 files changed, 35 insertions(+), 22 deletions(-) diff --git a/configs/open1788/README.txt b/configs/open1788/README.txt index ca75786675..1feb341c15 100644 --- a/configs/open1788/README.txt +++ b/configs/open1788/README.txt @@ -520,7 +520,7 @@ Configuration Directories ------- A simple NSH configuration used for some basic (non-graphic) debug of - the pdcurses librawry on top of a framebuffer character drivers. This + the pdcurses library on top of a framebuffer character drivers. This configuration provides the test programs from: - apps/examples/pdcurses, diff --git a/configs/stm3240g-eval/README.txt b/configs/stm3240g-eval/README.txt index 7fb69eeb49..32b53cdcb3 100644 --- a/configs/stm3240g-eval/README.txt +++ b/configs/stm3240g-eval/README.txt @@ -943,14 +943,31 @@ Where is one of the following: -- A simple NSH configuration used for some basic (non-graphic) debug of - the framebuffer character driver at drivers/video/fb.c using test at - apps/examples/fb. The STM3240G-EVAL LCD driver does not support a - framebuffer! This configuration uses the LCD framebuffer front end at + the framebuffer character driver at drivers/video/fb.c. NOTE that + the STM3240G-EVAL LCD driver does not support a framebuffer! It + interfaces with the LCD through a parallel FSMC interface. This + configuration uses the LCD framebuffer front end at drivers/lcd/lcd_framebuffer to convert the LCD interface into a compatible framebuffer interface. + This examples supports the framebuffer test at apps/examples/fb. That + test simply draws a pattern into the framebuffer and updates the LCD. + + This example also supports the pdcurses library at apps/graphics/pdcurses + and the demo programs at apps/examples/pdcurses. This is a good test of + the use of the framebuffer driver in an application. Many of the + pdcurses demos requires user interaction via a mouse, keyboard, or + joystick. No input devices are currently present in the configuration + so no such interaction is possible. + + The STM3240G-EVAL does provide a on-board discrete joystick (djoystick) + that could be used for this interaction. However, those discrete inputs + do not go directly to the STM32 but rather go indirectly through an I/O + expander. I just have not had the motivation to deal with that yet. + STATUS: 2017-09-17: This configuration appears to be fully functional. + 2017-11-25: Non-interactive pdcurses examples added. knxwm: ----- diff --git a/configs/stm3240g-eval/fb/defconfig b/configs/stm3240g-eval/fb/defconfig index 83221b7def..f101953f56 100644 --- a/configs/stm3240g-eval/fb/defconfig +++ b/configs/stm3240g-eval/fb/defconfig @@ -1,11 +1,4 @@ # CONFIG_ARCH_FPU is not set -# CONFIG_NSH_DISABLE_IFCONFIG is not set -# CONFIG_NSH_DISABLE_PS is not set -# CONFIG_NX_DISABLE_16BPP is not set -# CONFIG_NX_PACKEDMSFIRST is not set -# CONFIG_NX_WRITEONLY is not set -# CONFIG_NXFONTS_DISABLE_16BPP is not set -# CONFIG_NXTK_DEFAULT_BORDERCOLORS is not set CONFIG_ARCH_BOARD_STM3240G_EVAL=y CONFIG_ARCH_BOARD="stm3240g-eval" CONFIG_ARCH_CHIP_STM32=y @@ -18,6 +11,10 @@ CONFIG_BUILTIN=y CONFIG_DISABLE_POLL=y CONFIG_DRIVERS_VIDEO=y CONFIG_EXAMPLES_FB=y +CONFIG_EXAMPLES_NSH=y +CONFIG_EXAMPLES_PDCURSES=y +CONFIG_FS_PROCFS=y +CONFIG_GRAPHICS_PDCURSES=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_HEAP2_BASE=0x64000000 @@ -30,26 +27,25 @@ CONFIG_LCD_FRAMEBUFFER=y CONFIG_LCD_MAXCONTRAST=1 CONFIG_LCD_NOGETRUN=y CONFIG_LCD=y -CONFIG_LIB_BOARDCTL=y CONFIG_MAX_TASKS=16 CONFIG_MAX_WDOGPARMS=2 CONFIG_MM_REGIONS=3 CONFIG_MQ_MAXMSGSIZE=64 CONFIG_NFILE_DESCRIPTORS=12 CONFIG_NFILE_STREAMS=12 +CONFIG_NSH_ARCHINIT=y CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_DISABLE_IFUPDOWN=y CONFIG_NSH_FILEIOSIZE=512 -CONFIG_NSH_LIBRARY=y CONFIG_NSH_LINELEN=64 CONFIG_NSH_READLINE=y -CONFIG_NX_BLOCKING=y -CONFIG_NX_KBD=y -CONFIG_NX_XYINPUT_MOUSE=y -CONFIG_NX=y -CONFIG_NXFONT_SANS23X27=y -CONFIG_NXTK_BORDERCOLOR1=0xad55 -CONFIG_NXTK_BORDERCOLOR2=0x6b4d -CONFIG_NXTK_BORDERCOLOR3=0xdedb +CONFIG_NXFONTS_DISABLE_1BPP=y +CONFIG_NXFONTS_DISABLE_24BPP=y +CONFIG_NXFONTS_DISABLE_2BPP=y +CONFIG_NXFONTS_DISABLE_32BPP=y +CONFIG_NXFONTS_DISABLE_4BPP=y +CONFIG_NXFONTS_DISABLE_8BPP=y +CONFIG_PDCURSES_FONT_6X9=y CONFIG_PREALLOC_MQ_MSGS=8 CONFIG_PREALLOC_TIMERS=4 CONFIG_PREALLOC_WDOGS=8 @@ -73,6 +69,6 @@ CONFIG_TASK_NAME_SIZE=0 CONFIG_USART3_RXBUFSIZE=128 CONFIG_USART3_SERIAL_CONSOLE=y CONFIG_USART3_TXBUFSIZE=128 -CONFIG_USER_ENTRYPOINT="fb_main" +CONFIG_USER_ENTRYPOINT="nsh_main" CONFIG_VIDEO_FB=y CONFIG_WDOG_INTRESERVE=1