40 lines
752 B
C++
40 lines
752 B
C++
#ifndef DISPLAY_H
|
|
#define DISPLAY_H
|
|
|
|
#include <hardware/spi.h>
|
|
|
|
namespace lib
|
|
{
|
|
|
|
class PixelStream;
|
|
|
|
class Display
|
|
{
|
|
friend PixelStream;
|
|
|
|
public:
|
|
Display(uint8_t sck, uint8_t tx, uint8_t cs, uint8_t dc, int baudrate);
|
|
|
|
void set_update_area(uint16_t left, uint16_t top, uint16_t width,
|
|
uint16_t height);
|
|
|
|
PixelStream pixels();
|
|
|
|
private:
|
|
uint8_t sck, tx, cs, dc;
|
|
spi_inst_t* spi;
|
|
|
|
void send_command(uint8_t command);
|
|
void send_command(uint8_t command, uint8_t param);
|
|
void send_command(uint8_t command, const uint8_t* params,
|
|
size_t param_count);
|
|
|
|
void send_command_and_begin_data_stream(uint8_t command);
|
|
void send_data(uint8_t data);
|
|
void end_data_stream();
|
|
};
|
|
|
|
}
|
|
|
|
#endif // DISPLAY_H
|