static __inline uint16_t lld_lcdReadReg(uint16_t lcdReg) { volatile uint16_t dummy; gdisp_lld_write_index(lcdReg); dummy = lld_lcdReadData(); (void)dummy; return lld_lcdReadData(); }
static __inline uint16_t lld_lcdReadReg(uint16_t lcdReg) { volatile uint16_t dummy; GDISP_LLD(write_index)(lcdReg); dummy = lld_lcdReadData(); (void)dummy; return lld_lcdReadData(); }
static __inline void lld_lcdReadStream(uint16_t *buffer, size_t size) { uint16_t i; volatile uint16_t dummy; dummy = lld_lcdReadData(); (void)dummy; for(i = 0; i < size; i++) buffer[i] = lld_lcdReadData(); }
/** * @brief Get the color of a particular pixel. * @note Optional. * @note If x,y is off the screen, the result is undefined. * * @param[in] x, y The start of the text * * @notapi */ color_t GDISP_LLD(getpixelcolor)(coord_t x, coord_t y) { color_t color; #if GDISP_NEED_VALIDATION || GDISP_NEED_CLIP if (x < 0 || x >= GDISP.Width || y < 0 || y >= GDISP.Height) return 0; #endif lld_lcdSetCursor(x, y); lld_lcdWriteStreamStart(); color = lld_lcdReadData(); color = lld_lcdReadData(); lld_lcdWriteStreamStop(); return color; }
/** * @brief Get the color of a particular pixel. * @note Optional. * @note If x,y is off the screen, the result is undefined. * * @param[in] x, y The start of the text * * @notapi */ color_t GDISP_LLD(getpixelcolor)(coord_t x, coord_t y) { /* This routine is marked "DO NOT USE" in the original * GLCD driver. We just keep our GDISP_HARDWARE_READPIXEL * turned off for now. */ color_t color; #if GDISP_NEED_VALIDATION if (x >= GDISP.Width || y >= GDISP.Height) return 0; #endif lld_lcdSetCursor(x, y); lld_lcdWriteStreamStart(); color = lld_lcdReadData(); color = lld_lcdReadData(); lld_lcdWriteStreamStop(); return color; }
/** * @brief Get the color of a particular pixel. * @note Optional. * @note If x,y is off the screen, the result is undefined. * * @param[in] x, y The start of the text * * @notapi */ color_t GDISP_LLD(getpixelcolor)(coord_t x, coord_t y) { /* This routine is marked "DO NOT USE" in the original * GLCD driver. We just keep our GDISP_HARDWARE_READPIXEL * turned off for now. */ color_t color; #if GDISP_NEED_VALIDATION || GDISP_NEED_CLIP if (x < 0 || x >= GDISP.Width || y < 0 || y >= GDISP.Height) return 0; #endif aquire_bus(); set_cursor(x, y); stream_start(); color = lld_lcdReadData(); color = lld_lcdReadData(); stream_stop(); release_bus(); return color; }