From abc01c0e5be27fa0474bd3c9b5f7262e874fa5de Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Tue, 4 Jul 2017 15:56:55 -0600 Subject: [PATCH] =?UTF-8?q?apps/examples/keypadtest:=20REMOVED=20and=20war?= =?UTF-8?q?ehoused=20in=20the=20Obsoleted=20repository.=20=20This=20was=20?= =?UTF-8?q?just=20a=20bad=20clone=20of=20apps/examples/hidkbd=20for=20a=20?= =?UTF-8?q?keypad=20driver=20that=20was=20removed=20years=20ago.=E2=80=82?= =?UTF-8?q?=E2=80=82It=20also=20uses=20illegal=20function=20calls=20into?= =?UTF-8?q?=20the=20OS.=E2=80=82=E2=80=82So=20it=20has=20no=20purpse:?= =?UTF-8?q?=E2=80=82=E2=80=82It=20is=20redundant,=20it=20uses=20illegal=20?= =?UTF-8?q?interfaces,=20and=20is=20a=20test=20for=20non-existent=20code.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/README.txt | 13 -- examples/keypadtest/.gitignore | 11 -- examples/keypadtest/Kconfig | 29 --- examples/keypadtest/Make.defs | 39 ---- examples/keypadtest/Makefile | 53 ------ examples/keypadtest/keypadtest_main.c | 259 -------------------------- 6 files changed, 404 deletions(-) delete mode 100644 examples/keypadtest/.gitignore delete mode 100644 examples/keypadtest/Kconfig delete mode 100644 examples/keypadtest/Make.defs delete mode 100644 examples/keypadtest/Makefile delete mode 100644 examples/keypadtest/keypadtest_main.c diff --git a/examples/README.txt b/examples/README.txt index a0de89082..00e973be3 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -694,19 +694,6 @@ examples/json on 2011-10-10 so I presume that the code is stable and there is no risk of maintaining duplicate logic in the NuttX repository. -examples/keypadtest -^^^^^^^^^^^^^^^^^^^ - - This is a generic keypad test example. It is similar to the USB hidkbd - example, but makes no assumptions about the underlying keyboard interface. - It uses the interfaces of include/nuttx/input/keypad.h. - - CONFIG_EXAMPLES_KEYPADTEST - Selects the keypadtest example (only need - if the mconf/Kconfig tool is used. - - CONFIG_EXAMPLES_KEYPAD_DEVNAME - The name of the keypad device that will - be opened in order to perform the keypad test. Default: "/dev/keypad" - examples/lcdrw ^^^^^^^^^^^^^^ diff --git a/examples/keypadtest/.gitignore b/examples/keypadtest/.gitignore deleted file mode 100644 index fa1ec7579..000000000 --- a/examples/keypadtest/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -/Make.dep -/.depend -/.built -/*.asm -/*.obj -/*.rel -/*.lst -/*.sym -/*.adb -/*.lib -/*.src diff --git a/examples/keypadtest/Kconfig b/examples/keypadtest/Kconfig deleted file mode 100644 index 08408ae56..000000000 --- a/examples/keypadtest/Kconfig +++ /dev/null @@ -1,29 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see the file kconfig-language.txt in the NuttX tools repository. -# - -config EXAMPLES_KEYPADTEST - bool "Keypad test example program" - default n - ---help--- - Enable the Keypad test example programe - -if EXAMPLES_KEYPADTEST - - config EXAMPLES_KEYPAD_DEVNAME - string "Keypad Device Name" - default "/dev/keypad" - ---help--- - The name of the keypad device that will be opened in order to perform - the keypad test. Default: "/dev/keypad" - -config EXAMPLES_KEYPADTEST_ENCODED - bool "Use Keyboard CODEC" - default n - ---help--- - Use the keyboard encoded/decoder to pass control information from - the keypad driver to the keypad test. This is the keyboard CODEC - defined in nuttx/input/kbd_codec.h. - -endif diff --git a/examples/keypadtest/Make.defs b/examples/keypadtest/Make.defs deleted file mode 100644 index 74d1fdccd..000000000 --- a/examples/keypadtest/Make.defs +++ /dev/null @@ -1,39 +0,0 @@ -############################################################################ -# apps/examples/keypadtest/Make.defs -# Adds selected applications to apps/ build -# -# Copyright (C) 2015 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -ifeq ($(CONFIG_EXAMPLES_KEYPADTEST),y) -CONFIGURED_APPS += examples/keypadtest -endif diff --git a/examples/keypadtest/Makefile b/examples/keypadtest/Makefile deleted file mode 100644 index 8faaf7341..000000000 --- a/examples/keypadtest/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -############################################################################ -# apps/examples/keypadtest/Makefile -# -# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/Make.defs - -# Keypad Test Example - -ASRCS = -CSRCS = -MAINSRC = keypadtest_main.c - -# helloxx built-in application info - -APPNAME = keypadtest -PRIORITY = SCHED_PRIORITY_DEFAULT -STACKSIZE = 2048 - -CONFIG_XYZ_PROGNAME ?= keypadtest$(EXEEXT) -PROGNAME = $(CONFIG_XYZ_PROGNAME) - -include $(APPDIR)/Application.mk diff --git a/examples/keypadtest/keypadtest_main.c b/examples/keypadtest/keypadtest_main.c deleted file mode 100644 index ea8863755..000000000 --- a/examples/keypadtest/keypadtest_main.c +++ /dev/null @@ -1,259 +0,0 @@ -/**************************************************************************** - * examples/keypadtest/keypadtest_main.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include -#include - -#include -#include -#include -#include -#include - -#include - -#ifdef CONFIG_EXAMPLES_KEYPADTEST_ENCODED -# include -# include -# include -# include -#endif - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ -/* Configuration ************************************************************/ - -/* Sanity checking */ - -/* Provide some default values for other configuration settings */ - -#ifndef CONFIG_EXAMPLES_KEYPAD_DEVNAME -# define CONFIG_EXAMPLES_KEYPAD_DEVNAME "/dev/keypad" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_KEYPADTEST_ENCODED -struct keypad_instream_s -{ - struct lib_instream_s stream; - FAR char *buffer; - ssize_t nbytes; -}; -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: keypad_getstream - * - * Description: - * Get one character from the keyboard. - * - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_KEYPADTEST_ENCODED -static int keypad_getstream(FAR struct lib_instream_s *this) -{ - FAR struct keypad_instream_s *kbdstream = (FAR struct keypad_instream_s *)this; - - DEBUGASSERT(kbdstream && kbdstream->buffer); - if (kbdstream->nbytes > 0) - { - kbdstream->nbytes--; - kbdstream->stream.nget++; - return (int)*kbdstream->buffer++; - } - - return EOF; -} -#endif - -/**************************************************************************** - * Name: keypad_decode - * - * Description: - * Decode encoded keyboard input - * - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_KEYPADTEST_ENCODED -static void keypad_decode(FAR char *buffer, ssize_t nbytes) -{ - struct keypad_instream_s kbdstream; - struct kbd_getstate_s state; - uint8_t ch; - int ret; - - /* Initialize */ - - memset(&state, 0, sizeof(struct kbd_getstate_s)); - kbdstream.stream.get = keypad_getstream; - kbdstream.stream.nget = 0; - kbdstream.buffer = buffer; - kbdstream.nbytes = nbytes; - - /* Loop until all of the bytes have been consumed. We implicitly assume - * that the escaped sequences do not cross buffer boundaries. That - * might be true if the read buffer were small or the data rates high. - */ - - for (;;) - { - /* Decode the next thing from the buffer */ - - ret = kbd_decode((FAR struct lib_instream_s *)&kbdstream, &state, &ch); - if (ret == KBD_ERROR) - { - break; - } - - /* Normal data? Or special key? */ - - switch (ret) - { - case KBD_PRESS: /* Key press event */ - printf("Normal Press: %c [%02x]\n", isprint(ch) ? ch : '.', ch); - break; - - case KBD_RELEASE: /* Key release event */ - printf("Normal Release: %c [%02x]\n", isprint(ch) ? ch : '.', ch); - break; - - case KBD_SPECPRESS: /* Special key press event */ - printf("Special Press: %d\n", ch); - break; - - case KBD_SPECREL: /* Special key release event */ - printf("Special Release: %d\n", ch); - break; - - case KBD_ERROR: /* Error or end-of-file */ - printf("EOF: %d\n", ret); - break; - - default: - printf("Unexpected: %d\n", ret); - break; - } - } - - fflush(stdout); -} -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: keypadtest_main - ****************************************************************************/ - -#ifdef CONFIG_BUILD_KERNEL -int main(int argc, FAR char *argv[]) -#else -int keypadtest_main(int argc, char *argv[]) -#endif -{ - char buffer[256]; - ssize_t nbytes; - int fd; - int ret; - - /* First, register the keyboard device(s) */ - - printf("keypadtest_main: Register keyboard device\n"); - ret = keypad_kbdinit(); - if (ret != OK) - { - printf("keypadtest_main: Failed to register the KBD class\n"); - fflush(stdout); - return 1; - } - - /* Open the configured keyboard device. */ - - printf("keypadtest_main: Opening device %s\n", CONFIG_EXAMPLES_KEYPAD_DEVNAME); - fd = open(CONFIG_EXAMPLES_KEYPAD_DEVNAME, O_RDONLY); - if (fd < 0) - { - printf("keypadtest_main: open() failed: %d\n", errno); - fflush(stdout); - return 1; - } - - printf("keypadtest_main: Device %s opened\n", CONFIG_EXAMPLES_KEYPAD_DEVNAME); - fflush(stdout); - - /* Loop until there is a read failure */ - - do - { - /* Read a buffer of data */ - - nbytes = read(fd, buffer, 256); - if (nbytes > 0) - { - /* On success, echo the buffer to stdout */ -#ifdef CONFIG_EXAMPLES_KEYPADTEST_ENCODED - keypad_decode(buffer, nbytes); -#else - (void)write(1, buffer, nbytes); -#endif - } - } - while (nbytes >= 0); - - printf("keypadtest_main: Closing device %s: %d\n", CONFIG_EXAMPLES_KEYPAD_DEVNAME, (int)nbytes); - fflush(stdout); - close(fd); - return 0; -}