brewco/keyboard.c

changeset 487
d5bc44183aa4
parent 486
5a237a99a793
child 488
bee1f70fb42b
--- a/brewco/keyboard.c	Thu Feb 25 22:42:54 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*****************************************************************************
- * Copyright (C) 2015
- *   
- * Michiel Broek <mbroek at mbse dot eu>
- *
- * This file is part of the mbsePi-apps
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * mbsePi-apps is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with ThermFerm; see the file COPYING.  If not, write to the Free
- * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *****************************************************************************/
-
-#include "brewco.h"
-#include "lcd-pcf8574.h"
-#include "slcd.h"
-#include "keyboard.h"
-
-
-
-/*
- * 10 Milliseconds counts for a key to be short or long pressed.
- */
-#define PRESS_NORMAL    5
-#define PRESS_LONG      200
-
-
-
-extern int		my_shutdown;
-extern int		debug;
-extern int		setupmenu;
-extern uint16_t		keys;
-extern uint16_t		leds;
-extern int		slcdHandle;
-
-int			Key_Enter = FALSE;
-int			Key_Return = FALSE;
-int			Key_Up = FALSE;
-int			Key_Down = FALSE;
-
-int			previous_key = KEY_NONE;
-
-
-int keypressed(void);
-
-
-
-/*
- * Wait for a key. Return the pressed key.
- */
-int keywait(void)
-{
-    int	key;
-
-    do {
-	usleep(50000);
-	slcdDummy(slcdHandle);
-	key = keycheck();
-	if (my_shutdown)
-	    return KEY_NONE;
-    } while (key == KEY_NONE);
-
-    fprintf(stdout, "keywait %d\n", key);
-    return key;
-}
-
-
-
-/*
- * Check for a key. Return last pressed key or none.
- */
-int keycheck(void)
-{
-    int		key, retkey = KEY_NONE;
-
-    key = keypressed();
-    if ((key == KEY_NONE) && (previous_key != KEY_NONE)) {
-	retkey = previous_key;
-    }
-
-    previous_key = key;
-    return retkey;
-}
-
-
-
-int keypressed(void)
-{
-    if (Key_Enter && Key_Up && Key_Down && Key_Return)
-	return KEY_ALL;
-    if (Key_Up && Key_Down)
-	return KEY_ESCAPE;
-    if (Key_Up)
-	return KEY_UP;
-    if (Key_Down)
-	return KEY_DOWN;
-    if (Key_Enter)
-	return KEY_ENTER;
-    if (Key_Return)
-	return KEY_RETURN;
-    return KEY_NONE;
-}
-
-
-#ifdef HAVE_WIRINGPI_H
-PI_THREAD (my_keyboard_loop)
-#else
-void *my_keyboard_loop(void *threadid)
-#endif
-{
-    int		Return = 0, Enter = 0, Up = 0, Down = 0;
-    time_t	Last = (time_t)0, Now;
-
-#ifdef HAVE_WIRINGPI_H
-    pinMode(PANEL_RETURN, INPUT);
-    pinMode(PANEL_ENTER, INPUT);
-    pinMode(PANEL_UP, INPUT);
-    pinMode(PANEL_DOWN, INPUT);
-#endif
-
-    syslog(LOG_NOTICE, "Thread my_keyboard_loop started");
-    if (debug)
-	fprintf(stdout, "Thread my_keyboard_loop started\n");
-
-    /*
-     * Loop forever until the external shutdown variable is set.
-     */
-    for (;;) {
-	if (my_shutdown)
-	    break;
-
-#ifdef HAVE_WIRINGPI_H
-	if (digitalRead(PANEL_ENTER) && ((keys & 0x0001) == 0)) {
-#else
-	if ((keys & 0x0001) == 0) {
-#endif
-	    Enter = 0;
-	    Key_Enter = FALSE;
-	} else {
-	    Enter++;
-	    if (Enter > PRESS_NORMAL)
-		Key_Enter = TRUE;
-	}
-
-#ifdef HAVE_WIRINGPI_H
-	if (digitalRead(PANEL_RETURN) && ((keys & 0x0002) == 0)) {
-#else
-	if ((keys & 0x0002) == 0) {
-#endif
-	    Return = 0;
-	    Key_Return = FALSE;
-	} else {
-	    Return++;
-	    if (Return > PRESS_NORMAL)
-	    	Key_Return = TRUE;
-	}
-
-#ifdef HAVE_WIRINGPI_H
-	if (digitalRead(PANEL_UP) && ((keys & 0x0008) == 0)) {
-#else
-	if ((keys & 0x0008) == 0) {
-#endif
-	    Up = 0;
-	    Key_Up = FALSE;
-	} else {
-	    Up++;
-	    if (Up > PRESS_NORMAL)
-		Key_Up = TRUE;
-	}
-
-#ifdef HAVE_WIRINGPI_H
-	if (digitalRead(PANEL_DOWN) && ((keys & 0x0004) == 0)) {
-#else
-	if ((keys & 0x0004) == 0) {
-#endif
-	    Down = 0;
-	    Key_Down = FALSE;
-	} else {
-	    Down++;
-	    if (Down > PRESS_NORMAL)
-		Key_Down = TRUE;
-	}
-
-	Now = time(NULL);
-	if (Now != Last) {
-	    Last = Now;
-	}
-
-	/*
-	 * Loop 10 milliseconds
-	 */
-	usleep(10000);
-    }
-
-    syslog(LOG_NOTICE, "Thread my_keyboard_loop stopped");
-    if (debug)
-	fprintf(stdout, "Thread my_keyboard_loop stopped\n");
-    return 0;
-}
-
-

mercurial