diff --git a/boards/addons/ginput/touch/ADS7843/ginput_lld_mouse_board_st_stm32f4_discovery.h b/boards/addons/ginput/touch/ADS7843/ginput_lld_mouse_board_st_stm32f4_discovery.h index 158934b6..465a83e5 100644 --- a/boards/addons/ginput/touch/ADS7843/ginput_lld_mouse_board_st_stm32f4_discovery.h +++ b/boards/addons/ginput/touch/ADS7843/ginput_lld_mouse_board_st_stm32f4_discovery.h @@ -5,18 +5,17 @@ * http://ugfx.org/license.html */ -/** - * @file drivers/ginput/touch/ADS7843/ginput_lld_mouse_board_olimex_stm32_e407.h - * @brief GINPUT Touch low level driver source for the ADS7843 on an Olimex STM32E407. - * - * @defgroup Mouse Mouse - * @ingroup GINPUT - * @{ - */ - #ifndef _GINPUT_LLD_MOUSE_BOARD_H #define _GINPUT_LLD_MOUSE_BOARD_H +/* + * uGFX port used: ChibiOS/RT + * SPI port: SPI2 + * CS: GPIOC, 4 + * IRC: GPIOC, 5 + * + * Note that you can tweak the SPI bus speed + */ static const SPIConfig spicfg = { NULL, GPIOC, @@ -24,54 +23,29 @@ static const SPIConfig spicfg = { /* 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) { + palSetPadMode(GPIOB, 13, PAL_MODE_ALTERNATE(5) ); /* SCK */ + palSetPadMode(GPIOB, 14, PAL_MODE_ALTERNATE(5) ); /* MISO */ + palSetPadMode(GPIOB, 15, PAL_MODE_ALTERNATE(5) ); /* MOSI */ + palSetPadMode(GPIOC, 4, PAL_MODE_OUTPUT_PUSHPULL); /* CS */ + spiStart(&SPID2, &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, 5)); } -/** - * @brief Aquire the bus ready for readings - * - * @notapi - */ + static inline void aquire_bus(void) { spiAcquireBus(&SPID2); - //TOUCHSCREEN_SPI_PROLOGUE(); palClearPad(GPIOC, 4); } -/** - * @brief Release the bus after readings - * - * @notapi - */ static inline void release_bus(void) { palSetPad(GPIOC, 4); spiReleaseBus(&SPID2); - //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}; @@ -87,4 +61,4 @@ static inline uint16_t read_value(uint16_t port) { } #endif /* _GINPUT_LLD_MOUSE_BOARD_H */ -/** @} */ +