Basic Adafruit_GFX support

This commit is contained in:
KTOWN 2013-10-08 17:37:03 +02:00
parent 47dd3fc899
commit 520031a780
2 changed files with 31 additions and 3 deletions

View File

@ -2,7 +2,7 @@
#include <SPI.h>
#include "Adafruit_RA8875.h"
Adafruit_RA8875::Adafruit_RA8875(uint8_t CS, uint8_t RST) {
Adafruit_RA8875::Adafruit_RA8875(uint8_t CS, uint8_t RST) : Adafruit_GFX(480, 272) {
_cs = CS;
_rst = RST;
}
@ -180,6 +180,20 @@ void Adafruit_RA8875::fillRect(void) {
writeData(RA8875_DCR_LINESQUTRI_START | RA8875_DCR_FILL | RA8875_DCR_DRAWSQUARE);
}
void Adafruit_RA8875::drawPixel(int16_t x, int16_t y, uint16_t color)
{
writeReg(RA8875_CURH0, x);
writeReg(RA8875_CURH1, x >> 8);
writeReg(RA8875_CURV0, y);
writeReg(RA8875_CURV1, y >> 8);
writeCommand(RA8875_MRWC);
digitalWrite(_cs, LOW);
SPI.transfer(RA8875_DATAWRITE);
SPI.transfer(color >> 8);
SPI.transfer(color);
digitalWrite(_cs, HIGH);
}
void Adafruit_RA8875::circleHelper(int16_t x0, int16_t y0, int16_t r, uint16_t color, bool filled)
{
/* Set X */

View File

@ -1,9 +1,20 @@
#include <Arduino.h>
#if ARDUINO >= 100
#include "Arduino.h"
#include "Print.h"
#else
#include "WProgram.h"
#endif
#ifdef __AVR__
#include <avr/pgmspace.h>
#endif
#include <Adafruit_GFX.h>
// Sizes!
enum RA8875sizes { RA8875_480x272, RA8875_800x480 };
class Adafruit_RA8875 {
class Adafruit_RA8875 : public Adafruit_GFX {
public:
Adafruit_RA8875(uint8_t cs, uint8_t rst);
@ -16,6 +27,9 @@ class Adafruit_RA8875 {
void graphicsMode(void);
void setXY(uint16_t x, uint16_t y);
void fillRect(void);
/* Mandatory Adafruit_GFX functions */
void drawPixel(int16_t x, int16_t y, uint16_t color);
/* HW accelerated wrapper functions */
void drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);