aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gdisp/ILI9481/gdisp_lld_board_firebullstm32f103.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gdisp/ILI9481/gdisp_lld_board_firebullstm32f103.h')
-rw-r--r--drivers/gdisp/ILI9481/gdisp_lld_board_firebullstm32f103.h29
1 files changed, 20 insertions, 9 deletions
diff --git a/drivers/gdisp/ILI9481/gdisp_lld_board_firebullstm32f103.h b/drivers/gdisp/ILI9481/gdisp_lld_board_firebullstm32f103.h
index cef9911d..7270cdaf 100644
--- a/drivers/gdisp/ILI9481/gdisp_lld_board_firebullstm32f103.h
+++ b/drivers/gdisp/ILI9481/gdisp_lld_board_firebullstm32f103.h
@@ -113,7 +113,26 @@ static inline void write_data(uint16_t data) {
CLR_WR; SET_WR;
}
-#if GDISP_HARDWARE_READPIXEL || GDISP_HARDWARE_SCROLL || defined(__DOXYGEN__)
+/**
+ * @brief Set the bus in read mode
+ *
+ * @notapi
+ */
+static inline void setreadmode(void) {
+ // change pin mode to digital input
+ palSetGroupMode(GPIOE, PAL_WHOLE_PORT, 0, PAL_MODE_INPUT);
+}
+
+/**
+ * @brief Set the bus back into write mode
+ *
+ * @notapi
+ */
+static inline void setwritemode(void) {
+ // change pin mode back to digital output
+ palSetGroupMode(GPIOE, PAL_WHOLE_PORT, 0, PAL_MODE_OUTPUT_PUSHPULL);
+}
+
/**
* @brief Read data from the lcd.
*
@@ -126,20 +145,12 @@ static inline void write_data(uint16_t data) {
static inline uint16_t read_data(void) {
uint16_t value;
- // change pin mode to digital input
- palSetGroupMode(GPIOE, PAL_WHOLE_PORT, 0, PAL_MODE_INPUT);
-
CLR_RD;
value = palReadPort(GPIOE);
- value = palReadPort(GPIOE);
SET_RD;
-
- // change pin mode back to digital output
- palSetGroupMode(GPIOE, PAL_WHOLE_PORT, 0, PAL_MODE_OUTPUT_PUSHPULL);
return value;
}
-#endif
#endif /* _GDISP_LLD_BOARD_H */
/** @} */