DisplayList.h File Reference
#include <HSPI/Request.h>
#include "AddressWindow.h"
#include "Buffer.h"
#include "Blend.h"
#include <FlashString/Array.hpp>
#include <memory>
Include dependency graph for DisplayList.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Graphics::FillInfo
 Supports DisplayList blend operations. More...
 
class  Graphics::DisplayList
 Stores list of low-level display commands. More...
 
union  Graphics::DisplayList::Header
 Each list entry starts with a header. More...
 
struct  Graphics::DisplayList::Entry
 Values returned from readEntry More...
 

Namespaces

 Graphics
 

Macros

#define DEFINE_RB_COMMAND(cmd, len, ...)   uint8_t(uint8_t(DisplayList::Code::command) | (len << 4)), cmd, ##__VA_ARGS__,
 
#define DEFINE_RB_COMMAND_LONG(cmd, len, ...)   uint8_t(uint8_t(DisplayList::Code::command) | 0xf0), len, cmd, ##__VA_ARGS__,
 
#define DEFINE_RB_DELAY(ms)   uint8_t(DisplayList::Code::delay), ms,
 
#define DEFINE_RB_ARRAY(name, ...)   DEFINE_FSTR_ARRAY_LOCAL(name, uint8_t, ##__VA_ARGS__)
 
#define GRAPHICS_DL_COMMAND_LIST(XX)
 DisplayList command codes. More...
 
#define XX(code, arglen, desc)   code,
 
#define XX(code, arglen, desc)   codelen_##code = 1 + arglen,
 

Functions

uint16_t Graphics::swapBytes (uint16_t w)
 
uint32_t Graphics::makeWord (uint16_t w1, uint16_t w2)
 
String toString (Graphics::DisplayList::Code code)
 

Macro Definition Documentation

◆ DEFINE_RB_ARRAY

#define DEFINE_RB_ARRAY (   name,
  ... 
)    DEFINE_FSTR_ARRAY_LOCAL(name, uint8_t, ##__VA_ARGS__)

◆ DEFINE_RB_COMMAND

#define DEFINE_RB_COMMAND (   cmd,
  len,
  ... 
)    uint8_t(uint8_t(DisplayList::Code::command) | (len << 4)), cmd, ##__VA_ARGS__,

◆ DEFINE_RB_COMMAND_LONG

#define DEFINE_RB_COMMAND_LONG (   cmd,
  len,
  ... 
)    uint8_t(uint8_t(DisplayList::Code::command) | 0xf0), len, cmd, ##__VA_ARGS__,

◆ DEFINE_RB_DELAY

#define DEFINE_RB_DELAY (   ms)    uint8_t(DisplayList::Code::delay), ms,

◆ GRAPHICS_DL_COMMAND_LIST

#define GRAPHICS_DL_COMMAND_LIST (   XX)
Value:
XX(none, 0, "") \
XX(command, 2 + 1, "General command: arglen, cmd, args") \
XX(repeat, 1 + 2 + 2, "Repeated data block: WRITE, len, repeat, data") \
XX(setColumn, 2 + 2, "Set column: len, start") \
XX(setRow, 2 + 2, "Set row: len, start") \
XX(writeStart, 0, "Start writing command") \
XX(writeData, 2, "Write data: len, data") \
XX(writeDataBuffer, 1 + 2 + sizeof(void*), "Write data: cmd, len, dataptr") \
XX(readStart, 2 + sizeof(void*), "Read data: len, bufptr (first packet after setting address)") \
XX(read, 2 + sizeof(void*), "Read data: len, bufptr (Second and subsequent packets)") \
XX(callback, 2 + sizeof(void*) + 3, "Callback: paramlen, callback, ALIGN4, params") \
XX(delay, 1, "Wait n milliseconds before continuing")

DisplayList command codes.

These represent the core display operations

Command code, maximum (fixed) arg length, description

◆ XX [1/2]

#define XX (   code,
  arglen,
  desc 
)    code,

◆ XX [2/2]

#define XX (   code,
  arglen,
  desc 
)    codelen_##code = 1 + arglen,

Function Documentation

◆ toString()

String toString ( Graphics::DisplayList::Code  code)
inline
Timer2Clock::Ticks< uint32_t > read()
Get elapsed watchdog time since last reset.
#define XX(code, arglen, desc)
Definition: DisplayList.h:163
void delay(uint32_t milliseconds)
Pause execution.