47 lines
1.8 KiB
C++
47 lines
1.8 KiB
C++
#pragma once
|
|
|
|
#include "Arduino_DataBus.h"
|
|
|
|
// for MCUFriend UNO kind of shields. -jz-
|
|
#if defined(ARDUINO_AVR_UNO) || defined(ARDUINO_AVR_MEGA2560) || defined(ARDUINO_UNOR4_MINIMA) || defined(ARDUINO_UNOR4_WIFI)
|
|
|
|
#if defined(ARDUINO_UNOR4_MINIMA)
|
|
static const uint16_t _xset_mask[] = {
|
|
// 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7
|
|
0x0000, 0x0020, 0x0010, 0x0030, 0x0008, 0x0028, 0x0018, 0x0038,
|
|
0x0004, 0x0024, 0x0014, 0x0034, 0x000C, 0x002C, 0x001C, 0x003C,
|
|
0x0040, 0x0060, 0x0050, 0x0070, 0x0048, 0x0068, 0x0058, 0x0078,
|
|
0x0044, 0x0064, 0x0054, 0x0074, 0x004C, 0x006C, 0x005C, 0x007C,
|
|
0x0080, 0x00A0, 0x0090, 0x00B0, 0x0088, 0x00A8, 0x0098, 0x00B8,
|
|
0x0084, 0x00A4, 0x0094, 0x00B4, 0x008C, 0x00AC, 0x009C, 0x00BC,
|
|
0x00C0, 0x00E0, 0x00D0, 0x00F0, 0x00C8, 0x00E8, 0x00D8, 0x00F8,
|
|
0x00C4, 0x00E4, 0x00D4, 0x00F4, 0x00CC, 0x00EC, 0x00DC, 0x00FC};
|
|
#endif
|
|
|
|
class Arduino_UNOPAR8 : public Arduino_DataBus
|
|
{
|
|
public:
|
|
Arduino_UNOPAR8(); // Constructor
|
|
|
|
bool begin(int32_t speed = GFX_NOT_DEFINED, int8_t dataMode = GFX_NOT_DEFINED) override;
|
|
void beginWrite() override;
|
|
void endWrite() override;
|
|
void writeCommand(uint8_t) override;
|
|
void writeCommand16(uint16_t) override;
|
|
void writeCommandBytes(uint8_t *data, uint32_t len) override;
|
|
void write(uint8_t) override;
|
|
void write16(uint16_t) override;
|
|
void writeRepeat(uint16_t p, uint32_t len) override;
|
|
void writeBytes(uint8_t *data, uint32_t len) override;
|
|
void writePixels(uint16_t *data, uint32_t len) override;
|
|
|
|
private:
|
|
GFX_INLINE void WRITE(uint8_t d);
|
|
GFX_INLINE void DC_HIGH(void);
|
|
GFX_INLINE void DC_LOW(void);
|
|
GFX_INLINE void CS_HIGH(void);
|
|
GFX_INLINE void CS_LOW(void);
|
|
};
|
|
|
|
#endif // #if defined(ARDUINO_AVR_UNO) || defined(ARDUINO_AVR_MEGA2560) || defined(ARDUINO_UNOR4_MINIMA) || defined(ARDUINO_UNOR4_WIFI)
|