diff options
-rw-r--r-- | drivers/gdisp/SSD1289/gdisp_lld.c | 3 | ||||
-rw-r--r-- | drivers/gdisp/SSD1289/gdisp_lld_board_firebullstm32f103.h | 8 |
2 files changed, 6 insertions, 5 deletions
diff --git a/drivers/gdisp/SSD1289/gdisp_lld.c b/drivers/gdisp/SSD1289/gdisp_lld.c index 9b572568..3a770bc6 100644 --- a/drivers/gdisp/SSD1289/gdisp_lld.c +++ b/drivers/gdisp/SSD1289/gdisp_lld.c @@ -368,7 +368,7 @@ void GDISP_LLD(drawpixel)(coord_t x, coord_t y, color_t color) { * @note Optional.
* @note If x,y is off the screen, the result is undefined.
*
- * @param[in] x, y The start of the text
+ * @param[in] x, y The pixel to be read
*
* @notapi
*/
@@ -386,6 +386,7 @@ void GDISP_LLD(drawpixel)(coord_t x, coord_t y, color_t color) { color = read_data();
stream_stop();
release_bus();
+
return color;
}
#endif
diff --git a/drivers/gdisp/SSD1289/gdisp_lld_board_firebullstm32f103.h b/drivers/gdisp/SSD1289/gdisp_lld_board_firebullstm32f103.h index 48be3cf7..185dac8a 100644 --- a/drivers/gdisp/SSD1289/gdisp_lld_board_firebullstm32f103.h +++ b/drivers/gdisp/SSD1289/gdisp_lld_board_firebullstm32f103.h @@ -139,16 +139,16 @@ static __inline uint16_t read_data(void) { uint16_t value;
// change pin mode to digital input
- GDISP_DATA_PORT->CRH = 0x44444444;
- GDISP_DATA_PORT->CRL = 0x44444444;
+ palSetGroupMode(GDISP_DATA_PORT, PAL_WHOLE_PORT, 0, PAL_MODE_INPUT);
CLR_RD;
value = palReadPort(GDISP_DATA_PORT);
+ value = palReadPort(GDISP_DATA_PORT);
SET_RD;
// change pin mode back to digital output
- GDISP_DATA_PORT->CRH = 0x33333333;
- GDISP_DATA_PORT->CRL = 0x33333333;
+ palSetGroupMode(GDISP_DATA_PORT, PAL_WHOLE_PORT, 0, PAL_MODE_OUTPUT_PUSHPULL);
+
return value;
}
#endif
|