From 756a79a2cc621fcd923469b80d3bbb9c5bbeeb2d Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Tue, 18 Dec 2012 22:06:17 +0100 Subject: [PATCH] XPT2046 removed --- drivers/ginput/touch/XPT2046/ginput_lld.mk | 5 - .../ginput/touch/XPT2046/ginput_lld_mouse.c | 143 ------------------ .../XPT2046/ginput_lld_mouse_board_example.h | 89 ----------- ...input_lld_mouse_board_firebull_stm32f103.h | 104 ------------- .../touch/XPT2046/ginput_lld_mouse_config.h | 43 ------ drivers/ginput/touch/XPT2046/readme.txt | 9 -- releases.txt | 1 + 7 files changed, 1 insertion(+), 393 deletions(-) delete mode 100644 drivers/ginput/touch/XPT2046/ginput_lld.mk delete mode 100644 drivers/ginput/touch/XPT2046/ginput_lld_mouse.c delete mode 100644 drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_example.h delete mode 100644 drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_firebull_stm32f103.h delete mode 100644 drivers/ginput/touch/XPT2046/ginput_lld_mouse_config.h delete mode 100644 drivers/ginput/touch/XPT2046/readme.txt diff --git a/drivers/ginput/touch/XPT2046/ginput_lld.mk b/drivers/ginput/touch/XPT2046/ginput_lld.mk deleted file mode 100644 index 02043157..00000000 --- a/drivers/ginput/touch/XPT2046/ginput_lld.mk +++ /dev/null @@ -1,5 +0,0 @@ -# List the required driver. -GFXSRC += $(GFXLIB)/drivers/ginput/touch/XPT2046/ginput_lld_mouse.c - -# Required include directories -GFXINC += $(GFXLIB)/drivers/ginput/touch/XPT2046 diff --git a/drivers/ginput/touch/XPT2046/ginput_lld_mouse.c b/drivers/ginput/touch/XPT2046/ginput_lld_mouse.c deleted file mode 100644 index 57af5469..00000000 --- a/drivers/ginput/touch/XPT2046/ginput_lld_mouse.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - ChibiOS/GFX - Copyright (C) 2012 - Joel Bodenmann aka Tectu - - This file is part of ChibiOS/GFX. - - ChibiOS/GFX 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 3 of the License, or - (at your option) any later version. - - ChibiOS/GFX 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 this program. If not, see . -*/ - -/** - * @file drivers/ginput/touch/XPT2046/ginput_lld_mouse.c - * @brief GINPUT Touch low level driver source for the XPT2046. - * - * @defgroup Mouse - * @ingroup GINPUT - * - * @{ - */ - -#include "ch.h" -#include "hal.h" -#include "gfx.h" - -#if (GFX_USE_GINPUT && GINPUT_NEED_MOUSE) /*|| defined(__DOXYGEN__)*/ - -#include "ginput/lld/mouse.h" - -#if defined(GINPUT_MOUSE_USE_CUSTOM_BOARD) && GINPUT_MOUSE_USE_CUSTOM_BOARD - #include "ginput_lld_mouse_board.h" -#elif defined(BOARD_FIREBULL_STM32_F103) - #include "ginput_lld_mouse_board_firebull_stm32f103.h" -#else - #include "ginput_lld_mouse_board_example.h" -#endif - -static uint16_t sampleBuf[7]; -static coord_t lastx, lasty; - -/** - * @brief 7-point median filtering code for touch samples - * - * @note This is an internally used routine only. - * - * @notapi - */ -static void filter(void) { - uint16_t temp; - int i,j; - - for(i = 0; i < 4; i++) { - for(j = i; j < 7; j++) { - if(sampleBuf[i] > sampleBuf[j]) { - /* Swap the values */ - temp = sampleBuf[i]; - sampleBuf[i] = sampleBuf[j]; - sampleBuf[j] = temp; - } - } - } -} - -/** - * @brief Initialise the mouse/touch. - * - * @notapi - */ -void ginput_lld_mouse_init(void) { - init_board(); -} - -/** - * @brief Read the mouse/touch position. - * - * @param[in] pt A pointer to the structure to fill - * - * @note For drivers that don't support returning a position - * when the touch is up (most touch devices), it should - * return the previous position with the new Z value. - * The z value is the pressure for those touch devices - * that support it (-100 to 100 where > 0 is touched) - * or, 0 or 100 for those drivers that don't. - * - * @notapi - */ -void ginput_lld_mouse_get_reading(MouseReading *pt) { - uint16_t i; - - // If touch-off return the previous results - if (!getpin_pressed()) { - pt->x = lastx; - pt->y = lasty; - pt->z = 0; - pt->buttons = 0; - return; - } - - // Read the port to get the touch settings - aquire_bus(); - - /* Get the X value - * Discard the first conversion - very noisy and keep the ADC on hereafter - * till we are done with the sampling. Note that PENIRQ is disabled while reading. - * Finally switch on PENIRQ once again - perform a dummy read. - * Once we have the readings, find the medium using our filter function - */ - read_value(0xD1); - for(i = 0; i < 7; i++) - sampleBuf[i] = read_value(0xD1); - read_value(0xD0); - filter(); - lastx = (coord_t)sampleBuf[3]; - - /* Get the Y value using the same process as above */ - read_value(0x91); - for(i = 0; i < 7; i++) - sampleBuf[i] = read_value(0x91); - read_value(0x90); - filter(); - lasty = (coord_t)sampleBuf[3]; - - // Release the bus - release_bus(); - - // Return the results - pt->x = lastx; - pt->y = lasty; - pt->z = 100; - pt->buttons = GINPUT_TOUCH_PRESSED; -} - -#endif /* GFX_USE_GINPUT && GINPUT_NEED_MOUSE */ -/** @} */ diff --git a/drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_example.h b/drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_example.h deleted file mode 100644 index aa32b8af..00000000 --- a/drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_example.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - ChibiOS/GFX - Copyright (C) 2012 - Joel Bodenmann aka Tectu - - This file is part of ChibiOS/GFX. - - ChibiOS/GFX 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 3 of the License, or - (at your option) any later version. - - ChibiOS/GFX 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 this program. If not, see . -*/ - -/** - * @file drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_example.h - * @brief GINPUT Touch low level driver source for the XPT2046 on the example board. - * - * @defgroup Mouse - * @ingroup GINPUT - * - * @{ - */ - -#ifndef _GINPUT_LLD_MOUSE_BOARD_H -#define _GINPUT_LLD_MOUSE_BOARD_H - -/** - * @brief Initialise the board for the touch. - * - * @notapi - */ -static __inline void init_board(void) { - /* Code here */ - #error "ginputXPT2046: You must supply a definition for init_board for your board" -} - -/** - * @brief Check whether the surface is currently touched - * @return TRUE if the surface is currently touched - * - * @notapi - */ -static __inline bool_t getpin_pressed(void) { - /* Code here */ - #error "ginputXPT2046: You must supply a definition for getpin_pressed for your board" -} - -/** - * @brief Aquire the bus ready for readings - * - * @notapi - */ -static __inline void aquire_bus(void) { - /* Code here */ - #error "ginputXPT2046: You must supply a definition for aquire_bus for your board" -} - -/** - * @brief Release the bus after readings - * - * @notapi - */ -static __inline void release_bus(void) { - /* Code here */ - #error "ginputXPT2046: You must supply a definition for release_bus for your board" -} - -/** - * @brief Read a value from touch controller - * @return The value read from the controller - * - * params[in] port The controller port to read. - * - * @notapi - */ -static __inline uint16_t read_value(uint16_t port) { - /* Code here */ - #error "ginputXPT2046: You must supply a definition for read_value for your board" -} - -#endif /* _GINPUT_LLD_MOUSE_BOARD_H */ -/** @} */ diff --git a/drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_firebull_stm32f103.h b/drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_firebull_stm32f103.h deleted file mode 100644 index a6f772eb..00000000 --- a/drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_firebull_stm32f103.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - ChibiOS/GFX - Copyright (C) 2012 - Joel Bodenmann aka Tectu - - This file is part of ChibiOS/GFX. - - ChibiOS/GFX 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 3 of the License, or - (at your option) any later version. - - ChibiOS/GFX 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 this program. If not, see . -*/ - -/** - * @file drivers/ginput/touch/XPT2046/ginput_lld_mouse_board_example.h - * @brief GINPUT Touch low level driver source for the XPT2046 on the example board. - * - * @defgroup Mouse - * @ingroup GINPUT - * - * @{ - */ - -#ifndef _GINPUT_LLD_MOUSE_BOARD_H -#define _GINPUT_LLD_MOUSE_BOARD_H - -static const SPIConfig spicfg = { - NULL, - GPIOC, - 6, - /* SPI_CR1_BR_2 |*/ SPI_CR1_BR_1 | SPI_CR1_BR_0, -}; - -/** - * @brief Initialise the board for the touch. - * - * @notapi - */ -static __inline void init_board(void) { - spiStart(&SPID1, &spicfg); -} - -/** - * @brief Check whether the surface is currently touched - * @return TRUE if the surface is currently touched - * - * @notapi - */ -static __inline bool_t getpin_pressed(void) { - return (!palReadPad(GPIOC, 4)); -} -/** - * @brief Aquire the bus ready for readings - * - * @notapi - */ -static __inline void aquire_bus(void) { - spiAcquireBus(&SPID1); - //TOUCHSCREEN_SPI_PROLOGUE(); - palClearPad(GPIOC, 6); -} - -/** - * @brief Release the bus after readings - * - * @notapi - */ -static __inline void release_bus(void) { - palSetPad(GPIOC, 6); - spiReleaseBus(&SPID1); - //TOUCHSCREEN_SPI_EPILOGUE(); -} - -/** - * @brief Read a value from touch controller - * @return The value read from the controller - * - * params[in] port The controller port to read. - * - * @notapi - */ -static __inline uint16_t read_value(uint16_t port) { - static uint8_t txbuf[3] = {0}; - static uint8_t rxbuf[3] = {0}; - uint16_t ret; - - txbuf[0] = port; - - spiExchange(&SPID1, 3, txbuf, rxbuf); - - ret = (rxbuf[1] << 5) | (rxbuf[2] >> 3); - - return ret; -} - -#endif /* _GINPUT_LLD_MOUSE_BOARD_H */ -/** @} */ diff --git a/drivers/ginput/touch/XPT2046/ginput_lld_mouse_config.h b/drivers/ginput/touch/XPT2046/ginput_lld_mouse_config.h deleted file mode 100644 index 77dba401..00000000 --- a/drivers/ginput/touch/XPT2046/ginput_lld_mouse_config.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - ChibiOS/GFX - Copyright (C) 2012 - Joel Bodenmann aka Tectu - - This file is part of ChibiOS/GFX. - - ChibiOS/GFX 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 3 of the License, or - (at your option) any later version. - - ChibiOS/GFX 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 this program. If not, see . -*/ -/** - * @file drivers/ginput/touch/XPT2046/ginput_lld_mouse_config.h - * @brief GINPUT LLD header file for mouse/touch driver. - * - * @defgroup Mouse - * @ingroup GINPUT - * - * @{ - */ -#ifndef _LLD_GINPUT_MOUSE_CONFIG_H -#define _LLD_GINPUT_MOUSE_CONFIG_H - -#define GINPUT_MOUSE_EVENT_TYPE GEVENT_TOUCH -#define GINPUT_MOUSE_NEED_CALIBRATION TRUE -#define GINPUT_MOUSE_LLD_CALIBRATION_LOADSAVE FALSE -#define GINPUT_MOUSE_MAX_CALIBRATION_ERROR 5 -#define GINPUT_MOUSE_READ_CYCLES 4 -#define GINPUT_MOUSE_POLL_PERIOD 25 -#define GINPUT_MOUSE_MAX_CLICK_JITTER 10 -#define GINPUT_MOUSE_MAX_MOVE_JITTER 2 -#define GINPUT_MOUSE_CLICK_TIME 500 - -#endif /* _LLD_GINPUT_MOUSE_CONFIG_H */ -/** @} */ diff --git a/drivers/ginput/touch/XPT2046/readme.txt b/drivers/ginput/touch/XPT2046/readme.txt deleted file mode 100644 index 22921c1a..00000000 --- a/drivers/ginput/touch/XPT2046/readme.txt +++ /dev/null @@ -1,9 +0,0 @@ -To use this driver: - -1. Add in your halconf.h: - a) #define GFX_USE_GINPUT TRUE - b) #define GINPUT_NEED_MOUSE TRUE - -2. To your makefile add the following lines: - include $(GFXLIB)/drivers/ginput/touch/XPT2046/ginput_lld.mk - diff --git a/releases.txt b/releases.txt index 20cab579..fd80f970 100644 --- a/releases.txt +++ b/releases.txt @@ -22,6 +22,7 @@ DEPRECATE: graph deprecated - replaced with gwin functionality DEPRECATE: touchscreen deprecated - replaced with ginput functionality FEATURE: Numerous documentation improvements FEATURE: Added a number of module demo and test programs +DEPRECATE: Remove of XPT2046 since full compatibility with ADS7843 *** changes after 1.3 *** FIX: Nokia 6610 fix