Line data Source code
1 0 : /* 2 : * Copyright (c) 2022 Andreas Sandberg 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : #ifndef ZEPHYR_INCLUDE_DISPLAY_SSD16XX_H_ 8 : #define ZEPHYR_INCLUDE_DISPLAY_SSD16XX_H_ 9 : 10 : #include <zephyr/drivers/display.h> 11 : 12 : /** 13 : * SSD16xx RAM type for direct RAM access 14 : */ 15 0 : enum ssd16xx_ram { 16 : /** The black RAM buffer. This is typically the buffer used to 17 : * compose the contents that will be displayed after the next 18 : * refresh. 19 : */ 20 : SSD16XX_RAM_BLACK = 0, 21 : /* The red RAM buffer. This is typically the old frame buffer 22 : * when performing partial refreshes or an additional color 23 : * channel. 24 : */ 25 : SSD16XX_RAM_RED, 26 : }; 27 : 28 : /** 29 : * @brief Read data directly from the display controller's internal 30 : * RAM. 31 : * 32 : * @param dev Pointer to device structure 33 : * @param ram_type Type of RAM to read from 34 : * @param x Coordinate relative to the upper left corner 35 : * @param y Coordinate relative to the upper left corner 36 : * @param desc Structure describing the buffer layout 37 : * @param buf Output buffer 38 : * 39 : * @retval 0 on success, negative errno on failure. 40 : */ 41 1 : int ssd16xx_read_ram(const struct device *dev, enum ssd16xx_ram ram_type, 42 : const uint16_t x, const uint16_t y, 43 : const struct display_buffer_descriptor *desc, 44 : void *buf); 45 : 46 : #endif /* ZEPHYR_INCLUDE_DISPLAY_SSD16XX_H_ */