MipiDisplay.h
Go to the documentation of this file.
49 }
212 };
240 }
245 }
267 int readDataBuffer(ReadBuffer& buffer, ReadStatus* status, ReadCallback callback, void* param) override;
MipiSurface(MipiDisplay &display, size_t bufferSize)
Size getSize() const override
Get target dimensions.
Definition: MipiDisplay.h:128
void sendInitData(const FSTR::ObjectBase &data)
Called by implementation to send fixed initialisation sequences.
Definition: MipiDisplay.h:161
bool scroll(int16_t y) override
Scroll region of display up or down using hardware scrolling.
Orientation orientation
Definition: Libraries/Graphics/src/include/Graphics/Device.h:117
Location and size of rectangular area (x, y, w, h)
Definition: Libraries/Graphics/src/include/Graphics/Types.h:306
int readDataBuffer(ReadBuffer &buffer, ReadStatus *status, ReadCallback callback, void *param) override
Read some pixels.
bool render(const Object &object, const Rect &location, std::unique_ptr< Renderer > &renderer) override
Start rendering an object.
uint8_t * getBuffer(uint16_t &available)
Get some space in the list to write pixel data.
bool blockFill(const void *data, uint16_t length, uint32_t repeat) override
Definition: MipiDisplay.h:267
uint32_t getSpeed() const
Definition: Libraries/HardwareSPI/src/include/HSPI/Device.h:151
Size nativeSize
Size of attached screen.
Definition: MipiDisplay.h:200
uint8_t * getBuffer(uint16_t minBytes, uint16_t &available) override
Definition: MipiDisplay.h:257
bool setAddrWindow(const Rect &rect) override
Definition: MipiDisplay.h:245
Surface * createSurface(size_t bufferSize=0) override
Create a surface for use with this render target.
void(*)(ReadBuffer &data, size_t length, void *param) ReadCallback
Callback for readPixel() operations.
Definition: Surface.h:88
static const SpiDisplayList::Commands commands
Definition: MipiDisplay.h:45
Manages access to SPI hardware.
Definition: HardwareSPI/src/include/HSPI/Controller.h:71
static constexpr uint8_t PIN_NONE
Undefined I/O pin value.
Definition: Libraries/Graphics/src/include/Graphics/Types.h:56
bool begin(HSPI::PinSet pinSet, uint8_t chipSelect, uint8_t dcPin, uint8_t resetPin=PIN_NONE, uint32_t clockSpeed=4000000)
bool blockFill(const void *data, uint16_t length, uint32_t repeat)
Perform a block fill operation with repeat, e.g. multiple pixel fill or repeated pattern.
Size of rectangular area (width x height)
Definition: Libraries/Graphics/src/include/Graphics/Types.h:124
Definition: MipiDisplay.h:42
Buffer used for reading pixel data from device.
Definition: Graphics/src/include/Graphics/Buffer.h:205
Definition: Virtual.h:30
TPoint< int16_t > Point
Definition: Libraries/Graphics/src/include/Graphics/Types.h:299
A drawable object inherits from this virtual base class.
Definition: Libraries/Graphics/src/include/Graphics/Object.h:115
bool present(PresentCallback callback, void *param) override
Present surface to display device.
uint16_t used() const
Get number of bytes stored in buffer.
Definition: DisplayList.h:295
MipiDisplay(HSPI::Controller &spi, Size resolution, Size screenSize)
Definition: MipiDisplay.h:49
Point addrOffset
Display orientation may require adjustment to address window position.
Definition: MipiDisplay.h:201
uint16_t freeSpace() const
Get number of bytes remaining in buffer.
Definition: DisplayList.h:279
uint32_t readRegister(uint8_t cmd, uint8_t byteCount)
bool setPixel(PackedColor color, Point pt) override
Definition: MipiDisplay.h:277
bool setPixel(PackedColor color, uint8_t bytesPerPixel, Point pt)
Set a single pixel.
Size getNativeSize() const override
Get physical size of display.
Definition: MipiDisplay.h:109
Stores result of read operation.
Definition: Graphics/src/include/Graphics/Buffer.h:232
Orientation
Defines orientation of display.
Definition: Libraries/Graphics/src/include/Graphics/Types.h:66
bool setScrollMargins(uint16_t top, uint16_t bottom) override
Set margins for hardware scrolling.
bool isReady() const
Determine if the device is initialised.
Definition: Libraries/HardwareSPI/src/include/HSPI/Device.h:136
PixelFormat getPixelFormat() const override
Definition: MipiDisplay.h:240
constexpr Size rotate(Size size, Orientation orientation)
Definition: Libraries/Graphics/src/include/Graphics/Types.h:141
virtual bool initialise()=0
Perform display-specific initialisation.
void reset() override
Reset surface ready for more commands.
Definition: MipiDisplay.h:230
void setNativeSize(Size screenSize)
Sets the screen size. Must be called before calling begin()
Definition: MipiDisplay.h:104
bool writeDataBuffer(SharedBuffer &data, size_t offset, uint16_t length)
Add WRITE command plus external data.
bool writeDataBuffer(SharedBuffer &data, size_t offset, uint16_t length) override
Definition: MipiDisplay.h:272
void setDefaultAddressMode(uint8_t mode)
Set default address mode setting.
Definition: MipiDisplay.h:186
PixelFormat getPixelFormat() const override
All surfaces support the same pixel format.
Definition: MipiDisplay.h:133
bool setAddrWindow(const Rect &rect)
Set window for read/write operations.
bool setOrientation(Orientation orientation) override
Set display orientation.
void execute(SpiDisplayList &list, DisplayList::Callback callback=nullptr, void *param=nullptr)
Definition: SpiDisplay.h:81
void reset()
Reset the display list ready for re-use List MUST NOT be in use!