Fork of https://os.mbed.com/users/sebastiken/code/Adafruit_RA8875/ ; Adapted for use with K64F and in the process of adding more functions.
RA8875.h@2:040a687cea93, 2017-09-08 (annotated)
- Committer:
- sebastiken
- Date:
- Fri Sep 08 16:30:24 2017 +0000
- Revision:
- 2:040a687cea93
- Parent:
- 1:ac22f0f36d6b
- Child:
- 3:4a3e169866a2
[FIX] spi_speed to 1Mhz; [MOD] Uncomment GFX methods
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sebastiken | 0:66c1aa3d198e | 1 | #ifndef RA8875_H |
sebastiken | 0:66c1aa3d198e | 2 | #define RA8875_H |
sebastiken | 0:66c1aa3d198e | 3 | #include "mbed.h" |
sebastiken | 0:66c1aa3d198e | 4 | |
sebastiken | 0:66c1aa3d198e | 5 | // Sizes! |
sebastiken | 0:66c1aa3d198e | 6 | enum RA8875sizes { RA8875_480x272, RA8875_800x480 }; |
sebastiken | 0:66c1aa3d198e | 7 | |
sebastiken | 0:66c1aa3d198e | 8 | // Touch screen cal structs |
sebastiken | 0:66c1aa3d198e | 9 | typedef struct Point |
sebastiken | 0:66c1aa3d198e | 10 | { |
sebastiken | 0:66c1aa3d198e | 11 | int32_t x; |
sebastiken | 0:66c1aa3d198e | 12 | int32_t y; |
sebastiken | 0:66c1aa3d198e | 13 | } tsPoint_t; |
sebastiken | 0:66c1aa3d198e | 14 | |
sebastiken | 0:66c1aa3d198e | 15 | typedef struct //Matrix |
sebastiken | 0:66c1aa3d198e | 16 | { |
sebastiken | 0:66c1aa3d198e | 17 | int32_t An, |
sebastiken | 0:66c1aa3d198e | 18 | Bn, |
sebastiken | 0:66c1aa3d198e | 19 | Cn, |
sebastiken | 0:66c1aa3d198e | 20 | Dn, |
sebastiken | 0:66c1aa3d198e | 21 | En, |
sebastiken | 0:66c1aa3d198e | 22 | Fn, |
sebastiken | 0:66c1aa3d198e | 23 | Divider ; |
sebastiken | 0:66c1aa3d198e | 24 | } tsMatrix_t; |
sebastiken | 0:66c1aa3d198e | 25 | |
sebastiken | 0:66c1aa3d198e | 26 | class Adafruit_RA8875 { // : public Adafruit_GFX { |
sebastiken | 0:66c1aa3d198e | 27 | public: |
sebastiken | 0:66c1aa3d198e | 28 | Adafruit_RA8875(PinName MOSI, PinName MISO, PinName SCLK, |
sebastiken | 2:040a687cea93 | 29 | PinName CS, PinName RST); |
sebastiken | 0:66c1aa3d198e | 30 | |
sebastiken | 0:66c1aa3d198e | 31 | bool begin(enum RA8875sizes s); |
sebastiken | 0:66c1aa3d198e | 32 | void softReset(void); |
sebastiken | 0:66c1aa3d198e | 33 | void displayOn(bool on); |
sebastiken | 0:66c1aa3d198e | 34 | void sleep(bool sleep); |
sebastiken | 0:66c1aa3d198e | 35 | |
sebastiken | 0:66c1aa3d198e | 36 | /* Text functions */ |
sebastiken | 0:66c1aa3d198e | 37 | void textMode(void); |
sebastiken | 0:66c1aa3d198e | 38 | void textSetCursor(uint16_t x, uint16_t y); |
sebastiken | 0:66c1aa3d198e | 39 | void textColor(uint16_t foreColor, uint16_t bgColor); |
sebastiken | 0:66c1aa3d198e | 40 | void textTransparent(uint16_t foreColor); |
sebastiken | 0:66c1aa3d198e | 41 | void textEnlarge(uint8_t scale); |
sebastiken | 0:66c1aa3d198e | 42 | void textWrite(const char* buffer, uint16_t len=0); |
sebastiken | 0:66c1aa3d198e | 43 | |
sebastiken | 0:66c1aa3d198e | 44 | /* Graphics functions */ |
sebastiken | 0:66c1aa3d198e | 45 | void graphicsMode(void); |
sebastiken | 0:66c1aa3d198e | 46 | void setXY(uint16_t x, uint16_t y); |
sebastiken | 0:66c1aa3d198e | 47 | void pushPixels(uint32_t num, uint16_t p); |
sebastiken | 0:66c1aa3d198e | 48 | void fillRect(void); |
sebastiken | 0:66c1aa3d198e | 49 | |
sebastiken | 0:66c1aa3d198e | 50 | /* Adafruit_GFX functions */ |
sebastiken | 0:66c1aa3d198e | 51 | void drawPixel(int16_t x, int16_t y, uint16_t color); |
sebastiken | 0:66c1aa3d198e | 52 | void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color); |
sebastiken | 0:66c1aa3d198e | 53 | void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); |
sebastiken | 0:66c1aa3d198e | 54 | |
sebastiken | 0:66c1aa3d198e | 55 | /* HW accelerated wrapper functions (override Adafruit_GFX prototypes) */ |
sebastiken | 0:66c1aa3d198e | 56 | void fillScreen(uint16_t color); |
sebastiken | 0:66c1aa3d198e | 57 | void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color); |
sebastiken | 2:040a687cea93 | 58 | void drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); |
sebastiken | 2:040a687cea93 | 59 | void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); |
sebastiken | 2:040a687cea93 | 60 | void drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color); |
sebastiken | 2:040a687cea93 | 61 | void fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color); |
sebastiken | 2:040a687cea93 | 62 | void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color); |
sebastiken | 2:040a687cea93 | 63 | void fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color); |
sebastiken | 2:040a687cea93 | 64 | void drawEllipse(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint16_t color); |
sebastiken | 2:040a687cea93 | 65 | void fillEllipse(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint16_t color); |
sebastiken | 2:040a687cea93 | 66 | void drawCurve(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint8_t curvePart, uint16_t color); |
sebastiken | 2:040a687cea93 | 67 | void fillCurve(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint8_t curvePart, uint16_t color); |
sebastiken | 0:66c1aa3d198e | 68 | |
sebastiken | 0:66c1aa3d198e | 69 | /* Backlight */ |
sebastiken | 0:66c1aa3d198e | 70 | void GPIOX(bool on); |
sebastiken | 0:66c1aa3d198e | 71 | void PWM1config(bool on, uint8_t clock); |
sebastiken | 0:66c1aa3d198e | 72 | void PWM2config(bool on, uint8_t clock); |
sebastiken | 0:66c1aa3d198e | 73 | void PWM1out(uint8_t p); |
sebastiken | 0:66c1aa3d198e | 74 | void PWM2out(uint8_t p); |
sebastiken | 0:66c1aa3d198e | 75 | |
sebastiken | 0:66c1aa3d198e | 76 | /* Touch screen */ |
sebastiken | 0:66c1aa3d198e | 77 | void touchEnable(bool on); |
sebastiken | 0:66c1aa3d198e | 78 | bool touched(void); |
sebastiken | 0:66c1aa3d198e | 79 | bool touchRead(uint16_t *x, uint16_t *y); |
sebastiken | 0:66c1aa3d198e | 80 | |
sebastiken | 0:66c1aa3d198e | 81 | /* Low level access */ |
sebastiken | 0:66c1aa3d198e | 82 | void writeReg(uint8_t reg, uint8_t val); |
sebastiken | 0:66c1aa3d198e | 83 | uint8_t readReg(uint8_t reg); |
sebastiken | 0:66c1aa3d198e | 84 | void writeData(uint8_t d); |
sebastiken | 0:66c1aa3d198e | 85 | uint8_t readData(void); |
sebastiken | 0:66c1aa3d198e | 86 | void writeCommand(uint8_t d); |
sebastiken | 0:66c1aa3d198e | 87 | uint8_t readStatus(void); |
sebastiken | 0:66c1aa3d198e | 88 | bool waitPoll(uint8_t r, uint8_t f); |
sebastiken | 0:66c1aa3d198e | 89 | uint16_t width(void); |
sebastiken | 0:66c1aa3d198e | 90 | uint16_t height(void); |
sebastiken | 0:66c1aa3d198e | 91 | |
sebastiken | 0:66c1aa3d198e | 92 | /* Play nice with Arduino's Print class */ |
sebastiken | 0:66c1aa3d198e | 93 | virtual size_t write(uint8_t b) { |
sebastiken | 0:66c1aa3d198e | 94 | textWrite((const char *)&b, 1); |
sebastiken | 0:66c1aa3d198e | 95 | return 1; |
sebastiken | 0:66c1aa3d198e | 96 | } |
sebastiken | 0:66c1aa3d198e | 97 | virtual size_t write(const uint8_t *buffer, size_t size) { |
sebastiken | 0:66c1aa3d198e | 98 | textWrite((const char *)buffer, size); |
sebastiken | 0:66c1aa3d198e | 99 | return size; |
sebastiken | 0:66c1aa3d198e | 100 | } |
sebastiken | 0:66c1aa3d198e | 101 | |
sebastiken | 0:66c1aa3d198e | 102 | private: |
sebastiken | 0:66c1aa3d198e | 103 | void PLLinit(void); |
sebastiken | 0:66c1aa3d198e | 104 | void initialize(void); |
sebastiken | 0:66c1aa3d198e | 105 | |
sebastiken | 0:66c1aa3d198e | 106 | // /* GFX Helper Functions */ |
sebastiken | 0:66c1aa3d198e | 107 | void circleHelper(int16_t x0, int16_t y0, int16_t r, uint16_t color, bool filled); |
sebastiken | 0:66c1aa3d198e | 108 | void rectHelper (int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color, bool filled); |
sebastiken | 0:66c1aa3d198e | 109 | void triangleHelper(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color, bool filled); |
sebastiken | 0:66c1aa3d198e | 110 | void ellipseHelper(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint16_t color, bool filled); |
sebastiken | 0:66c1aa3d198e | 111 | void curveHelper(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint8_t curvePart, uint16_t color, bool filled); |
sebastiken | 0:66c1aa3d198e | 112 | |
sebastiken | 0:66c1aa3d198e | 113 | DigitalOut _cs, _rst; |
sebastiken | 0:66c1aa3d198e | 114 | uint16_t _width, _height; |
sebastiken | 0:66c1aa3d198e | 115 | uint8_t _textScale; |
sebastiken | 0:66c1aa3d198e | 116 | enum RA8875sizes _size; |
sebastiken | 0:66c1aa3d198e | 117 | |
sebastiken | 0:66c1aa3d198e | 118 | SPI spi; ///< spi port |
sebastiken | 0:66c1aa3d198e | 119 | }; |
sebastiken | 0:66c1aa3d198e | 120 | |
sebastiken | 0:66c1aa3d198e | 121 | // Colors (RGB565) |
sebastiken | 0:66c1aa3d198e | 122 | #define RA8875_BLACK 0x0000 |
sebastiken | 0:66c1aa3d198e | 123 | #define RA8875_BLUE 0x001F |
sebastiken | 0:66c1aa3d198e | 124 | #define RA8875_RED 0xF800 |
sebastiken | 0:66c1aa3d198e | 125 | #define RA8875_GREEN 0x07E0 |
sebastiken | 0:66c1aa3d198e | 126 | #define RA8875_CYAN 0x07FF |
sebastiken | 0:66c1aa3d198e | 127 | #define RA8875_MAGENTA 0xF81F |
sebastiken | 0:66c1aa3d198e | 128 | #define RA8875_YELLOW 0xFFE0 |
sebastiken | 0:66c1aa3d198e | 129 | #define RA8875_WHITE 0xFFFF |
sebastiken | 0:66c1aa3d198e | 130 | |
sebastiken | 0:66c1aa3d198e | 131 | // Command/Data pins for SPI |
sebastiken | 0:66c1aa3d198e | 132 | #define RA8875_DATAWRITE 0x00 |
sebastiken | 0:66c1aa3d198e | 133 | #define RA8875_DATAREAD 0x40 |
sebastiken | 0:66c1aa3d198e | 134 | #define RA8875_CMDWRITE 0x80 |
sebastiken | 0:66c1aa3d198e | 135 | #define RA8875_CMDREAD 0xC0 |
sebastiken | 0:66c1aa3d198e | 136 | |
sebastiken | 0:66c1aa3d198e | 137 | // Registers & bits |
sebastiken | 0:66c1aa3d198e | 138 | #define RA8875_PWRR 0x01 |
sebastiken | 0:66c1aa3d198e | 139 | #define RA8875_PWRR_DISPON 0x80 |
sebastiken | 0:66c1aa3d198e | 140 | #define RA8875_PWRR_DISPOFF 0x00 |
sebastiken | 0:66c1aa3d198e | 141 | #define RA8875_PWRR_SLEEP 0x02 |
sebastiken | 0:66c1aa3d198e | 142 | #define RA8875_PWRR_NORMAL 0x00 |
sebastiken | 0:66c1aa3d198e | 143 | #define RA8875_PWRR_SOFTRESET 0x01 |
sebastiken | 0:66c1aa3d198e | 144 | |
sebastiken | 0:66c1aa3d198e | 145 | #define RA8875_MRWC 0x02 |
sebastiken | 0:66c1aa3d198e | 146 | |
sebastiken | 0:66c1aa3d198e | 147 | #define RA8875_GPIOX 0xC7 |
sebastiken | 0:66c1aa3d198e | 148 | |
sebastiken | 0:66c1aa3d198e | 149 | #define RA8875_PLLC1 0x88 |
sebastiken | 0:66c1aa3d198e | 150 | #define RA8875_PLLC1_PLLDIV2 0x80 |
sebastiken | 0:66c1aa3d198e | 151 | #define RA8875_PLLC1_PLLDIV1 0x00 |
sebastiken | 0:66c1aa3d198e | 152 | |
sebastiken | 0:66c1aa3d198e | 153 | #define RA8875_PLLC2 0x89 |
sebastiken | 0:66c1aa3d198e | 154 | #define RA8875_PLLC2_DIV1 0x00 |
sebastiken | 0:66c1aa3d198e | 155 | #define RA8875_PLLC2_DIV2 0x01 |
sebastiken | 0:66c1aa3d198e | 156 | #define RA8875_PLLC2_DIV4 0x02 |
sebastiken | 0:66c1aa3d198e | 157 | #define RA8875_PLLC2_DIV8 0x03 |
sebastiken | 0:66c1aa3d198e | 158 | #define RA8875_PLLC2_DIV16 0x04 |
sebastiken | 0:66c1aa3d198e | 159 | #define RA8875_PLLC2_DIV32 0x05 |
sebastiken | 0:66c1aa3d198e | 160 | #define RA8875_PLLC2_DIV64 0x06 |
sebastiken | 0:66c1aa3d198e | 161 | #define RA8875_PLLC2_DIV128 0x07 |
sebastiken | 0:66c1aa3d198e | 162 | |
sebastiken | 0:66c1aa3d198e | 163 | #define RA8875_SYSR 0x10 |
sebastiken | 0:66c1aa3d198e | 164 | #define RA8875_SYSR_8BPP 0x00 |
sebastiken | 0:66c1aa3d198e | 165 | #define RA8875_SYSR_16BPP 0x0C |
sebastiken | 0:66c1aa3d198e | 166 | #define RA8875_SYSR_MCU8 0x00 |
sebastiken | 0:66c1aa3d198e | 167 | #define RA8875_SYSR_MCU16 0x03 |
sebastiken | 0:66c1aa3d198e | 168 | |
sebastiken | 0:66c1aa3d198e | 169 | #define RA8875_PCSR 0x04 |
sebastiken | 0:66c1aa3d198e | 170 | #define RA8875_PCSR_PDATR 0x00 |
sebastiken | 0:66c1aa3d198e | 171 | #define RA8875_PCSR_PDATL 0x80 |
sebastiken | 0:66c1aa3d198e | 172 | #define RA8875_PCSR_CLK 0x00 |
sebastiken | 0:66c1aa3d198e | 173 | #define RA8875_PCSR_2CLK 0x01 |
sebastiken | 0:66c1aa3d198e | 174 | #define RA8875_PCSR_4CLK 0x02 |
sebastiken | 0:66c1aa3d198e | 175 | #define RA8875_PCSR_8CLK 0x03 |
sebastiken | 0:66c1aa3d198e | 176 | |
sebastiken | 0:66c1aa3d198e | 177 | #define RA8875_HDWR 0x14 |
sebastiken | 0:66c1aa3d198e | 178 | |
sebastiken | 0:66c1aa3d198e | 179 | #define RA8875_HNDFTR 0x15 |
sebastiken | 0:66c1aa3d198e | 180 | #define RA8875_HNDFTR_DE_HIGH 0x00 |
sebastiken | 0:66c1aa3d198e | 181 | #define RA8875_HNDFTR_DE_LOW 0x80 |
sebastiken | 0:66c1aa3d198e | 182 | |
sebastiken | 0:66c1aa3d198e | 183 | #define RA8875_HNDR 0x16 |
sebastiken | 0:66c1aa3d198e | 184 | #define RA8875_HSTR 0x17 |
sebastiken | 0:66c1aa3d198e | 185 | #define RA8875_HPWR 0x18 |
sebastiken | 0:66c1aa3d198e | 186 | #define RA8875_HPWR_LOW 0x00 |
sebastiken | 0:66c1aa3d198e | 187 | #define RA8875_HPWR_HIGH 0x80 |
sebastiken | 0:66c1aa3d198e | 188 | |
sebastiken | 0:66c1aa3d198e | 189 | #define RA8875_VDHR0 0x19 |
sebastiken | 0:66c1aa3d198e | 190 | #define RA8875_VDHR1 0x1A |
sebastiken | 0:66c1aa3d198e | 191 | #define RA8875_VNDR0 0x1B |
sebastiken | 0:66c1aa3d198e | 192 | #define RA8875_VNDR1 0x1C |
sebastiken | 0:66c1aa3d198e | 193 | #define RA8875_VSTR0 0x1D |
sebastiken | 0:66c1aa3d198e | 194 | #define RA8875_VSTR1 0x1E |
sebastiken | 0:66c1aa3d198e | 195 | #define RA8875_VPWR 0x1F |
sebastiken | 0:66c1aa3d198e | 196 | #define RA8875_VPWR_LOW 0x00 |
sebastiken | 0:66c1aa3d198e | 197 | #define RA8875_VPWR_HIGH 0x80 |
sebastiken | 0:66c1aa3d198e | 198 | |
sebastiken | 0:66c1aa3d198e | 199 | #define RA8875_HSAW0 0x30 |
sebastiken | 0:66c1aa3d198e | 200 | #define RA8875_HSAW1 0x31 |
sebastiken | 0:66c1aa3d198e | 201 | #define RA8875_VSAW0 0x32 |
sebastiken | 0:66c1aa3d198e | 202 | #define RA8875_VSAW1 0x33 |
sebastiken | 0:66c1aa3d198e | 203 | |
sebastiken | 0:66c1aa3d198e | 204 | #define RA8875_HEAW0 0x34 |
sebastiken | 0:66c1aa3d198e | 205 | #define RA8875_HEAW1 0x35 |
sebastiken | 0:66c1aa3d198e | 206 | #define RA8875_VEAW0 0x36 |
sebastiken | 0:66c1aa3d198e | 207 | #define RA8875_VEAW1 0x37 |
sebastiken | 0:66c1aa3d198e | 208 | |
sebastiken | 0:66c1aa3d198e | 209 | #define RA8875_MCLR 0x8E |
sebastiken | 0:66c1aa3d198e | 210 | #define RA8875_MCLR_START 0x80 |
sebastiken | 0:66c1aa3d198e | 211 | #define RA8875_MCLR_STOP 0x00 |
sebastiken | 0:66c1aa3d198e | 212 | #define RA8875_MCLR_READSTATUS 0x80 |
sebastiken | 0:66c1aa3d198e | 213 | #define RA8875_MCLR_FULL 0x00 |
sebastiken | 0:66c1aa3d198e | 214 | #define RA8875_MCLR_ACTIVE 0x40 |
sebastiken | 0:66c1aa3d198e | 215 | |
sebastiken | 0:66c1aa3d198e | 216 | #define RA8875_DCR 0x90 |
sebastiken | 0:66c1aa3d198e | 217 | #define RA8875_DCR_LINESQUTRI_START 0x80 |
sebastiken | 0:66c1aa3d198e | 218 | #define RA8875_DCR_LINESQUTRI_STOP 0x00 |
sebastiken | 0:66c1aa3d198e | 219 | #define RA8875_DCR_LINESQUTRI_STATUS 0x80 |
sebastiken | 0:66c1aa3d198e | 220 | #define RA8875_DCR_CIRCLE_START 0x40 |
sebastiken | 0:66c1aa3d198e | 221 | #define RA8875_DCR_CIRCLE_STATUS 0x40 |
sebastiken | 0:66c1aa3d198e | 222 | #define RA8875_DCR_CIRCLE_STOP 0x00 |
sebastiken | 0:66c1aa3d198e | 223 | #define RA8875_DCR_FILL 0x20 |
sebastiken | 0:66c1aa3d198e | 224 | #define RA8875_DCR_NOFILL 0x00 |
sebastiken | 0:66c1aa3d198e | 225 | #define RA8875_DCR_DRAWLINE 0x00 |
sebastiken | 0:66c1aa3d198e | 226 | #define RA8875_DCR_DRAWTRIANGLE 0x01 |
sebastiken | 0:66c1aa3d198e | 227 | #define RA8875_DCR_DRAWSQUARE 0x10 |
sebastiken | 0:66c1aa3d198e | 228 | |
sebastiken | 0:66c1aa3d198e | 229 | |
sebastiken | 0:66c1aa3d198e | 230 | #define RA8875_ELLIPSE 0xA0 |
sebastiken | 0:66c1aa3d198e | 231 | #define RA8875_ELLIPSE_STATUS 0x80 |
sebastiken | 0:66c1aa3d198e | 232 | |
sebastiken | 0:66c1aa3d198e | 233 | #define RA8875_MWCR0 0x40 |
sebastiken | 0:66c1aa3d198e | 234 | #define RA8875_MWCR0_GFXMODE 0x00 |
sebastiken | 0:66c1aa3d198e | 235 | #define RA8875_MWCR0_TXTMODE 0x80 |
sebastiken | 0:66c1aa3d198e | 236 | |
sebastiken | 0:66c1aa3d198e | 237 | #define RA8875_CURH0 0x46 |
sebastiken | 0:66c1aa3d198e | 238 | #define RA8875_CURH1 0x47 |
sebastiken | 0:66c1aa3d198e | 239 | #define RA8875_CURV0 0x48 |
sebastiken | 0:66c1aa3d198e | 240 | #define RA8875_CURV1 0x49 |
sebastiken | 0:66c1aa3d198e | 241 | |
sebastiken | 0:66c1aa3d198e | 242 | #define RA8875_P1CR 0x8A |
sebastiken | 0:66c1aa3d198e | 243 | #define RA8875_P1CR_ENABLE 0x80 |
sebastiken | 0:66c1aa3d198e | 244 | #define RA8875_P1CR_DISABLE 0x00 |
sebastiken | 0:66c1aa3d198e | 245 | #define RA8875_P1CR_CLKOUT 0x10 |
sebastiken | 0:66c1aa3d198e | 246 | #define RA8875_P1CR_PWMOUT 0x00 |
sebastiken | 0:66c1aa3d198e | 247 | |
sebastiken | 0:66c1aa3d198e | 248 | #define RA8875_P1DCR 0x8B |
sebastiken | 0:66c1aa3d198e | 249 | |
sebastiken | 0:66c1aa3d198e | 250 | #define RA8875_P2CR 0x8C |
sebastiken | 0:66c1aa3d198e | 251 | #define RA8875_P2CR_ENABLE 0x80 |
sebastiken | 0:66c1aa3d198e | 252 | #define RA8875_P2CR_DISABLE 0x00 |
sebastiken | 0:66c1aa3d198e | 253 | #define RA8875_P2CR_CLKOUT 0x10 |
sebastiken | 0:66c1aa3d198e | 254 | #define RA8875_P2CR_PWMOUT 0x00 |
sebastiken | 0:66c1aa3d198e | 255 | |
sebastiken | 0:66c1aa3d198e | 256 | #define RA8875_P2DCR 0x8D |
sebastiken | 0:66c1aa3d198e | 257 | |
sebastiken | 0:66c1aa3d198e | 258 | #define RA8875_PWM_CLK_DIV1 0x00 |
sebastiken | 0:66c1aa3d198e | 259 | #define RA8875_PWM_CLK_DIV2 0x01 |
sebastiken | 0:66c1aa3d198e | 260 | #define RA8875_PWM_CLK_DIV4 0x02 |
sebastiken | 0:66c1aa3d198e | 261 | #define RA8875_PWM_CLK_DIV8 0x03 |
sebastiken | 0:66c1aa3d198e | 262 | #define RA8875_PWM_CLK_DIV16 0x04 |
sebastiken | 0:66c1aa3d198e | 263 | #define RA8875_PWM_CLK_DIV32 0x05 |
sebastiken | 0:66c1aa3d198e | 264 | #define RA8875_PWM_CLK_DIV64 0x06 |
sebastiken | 0:66c1aa3d198e | 265 | #define RA8875_PWM_CLK_DIV128 0x07 |
sebastiken | 0:66c1aa3d198e | 266 | #define RA8875_PWM_CLK_DIV256 0x08 |
sebastiken | 0:66c1aa3d198e | 267 | #define RA8875_PWM_CLK_DIV512 0x09 |
sebastiken | 0:66c1aa3d198e | 268 | #define RA8875_PWM_CLK_DIV1024 0x0A |
sebastiken | 0:66c1aa3d198e | 269 | #define RA8875_PWM_CLK_DIV2048 0x0B |
sebastiken | 0:66c1aa3d198e | 270 | #define RA8875_PWM_CLK_DIV4096 0x0C |
sebastiken | 0:66c1aa3d198e | 271 | #define RA8875_PWM_CLK_DIV8192 0x0D |
sebastiken | 0:66c1aa3d198e | 272 | #define RA8875_PWM_CLK_DIV16384 0x0E |
sebastiken | 0:66c1aa3d198e | 273 | #define RA8875_PWM_CLK_DIV32768 0x0F |
sebastiken | 0:66c1aa3d198e | 274 | |
sebastiken | 0:66c1aa3d198e | 275 | #define RA8875_TPCR0 0x70 |
sebastiken | 0:66c1aa3d198e | 276 | #define RA8875_TPCR0_ENABLE 0x80 |
sebastiken | 0:66c1aa3d198e | 277 | #define RA8875_TPCR0_DISABLE 0x00 |
sebastiken | 0:66c1aa3d198e | 278 | #define RA8875_TPCR0_WAIT_512CLK 0x00 |
sebastiken | 0:66c1aa3d198e | 279 | #define RA8875_TPCR0_WAIT_1024CLK 0x10 |
sebastiken | 0:66c1aa3d198e | 280 | #define RA8875_TPCR0_WAIT_2048CLK 0x20 |
sebastiken | 0:66c1aa3d198e | 281 | #define RA8875_TPCR0_WAIT_4096CLK 0x30 |
sebastiken | 0:66c1aa3d198e | 282 | #define RA8875_TPCR0_WAIT_8192CLK 0x40 |
sebastiken | 0:66c1aa3d198e | 283 | #define RA8875_TPCR0_WAIT_16384CLK 0x50 |
sebastiken | 0:66c1aa3d198e | 284 | #define RA8875_TPCR0_WAIT_32768CLK 0x60 |
sebastiken | 0:66c1aa3d198e | 285 | #define RA8875_TPCR0_WAIT_65536CLK 0x70 |
sebastiken | 0:66c1aa3d198e | 286 | #define RA8875_TPCR0_WAKEENABLE 0x08 |
sebastiken | 0:66c1aa3d198e | 287 | #define RA8875_TPCR0_WAKEDISABLE 0x00 |
sebastiken | 0:66c1aa3d198e | 288 | #define RA8875_TPCR0_ADCCLK_DIV1 0x00 |
sebastiken | 0:66c1aa3d198e | 289 | #define RA8875_TPCR0_ADCCLK_DIV2 0x01 |
sebastiken | 0:66c1aa3d198e | 290 | #define RA8875_TPCR0_ADCCLK_DIV4 0x02 |
sebastiken | 0:66c1aa3d198e | 291 | #define RA8875_TPCR0_ADCCLK_DIV8 0x03 |
sebastiken | 0:66c1aa3d198e | 292 | #define RA8875_TPCR0_ADCCLK_DIV16 0x04 |
sebastiken | 0:66c1aa3d198e | 293 | #define RA8875_TPCR0_ADCCLK_DIV32 0x05 |
sebastiken | 0:66c1aa3d198e | 294 | #define RA8875_TPCR0_ADCCLK_DIV64 0x06 |
sebastiken | 0:66c1aa3d198e | 295 | #define RA8875_TPCR0_ADCCLK_DIV128 0x07 |
sebastiken | 0:66c1aa3d198e | 296 | |
sebastiken | 0:66c1aa3d198e | 297 | #define RA8875_TPCR1 0x71 |
sebastiken | 0:66c1aa3d198e | 298 | #define RA8875_TPCR1_AUTO 0x00 |
sebastiken | 0:66c1aa3d198e | 299 | #define RA8875_TPCR1_MANUAL 0x40 |
sebastiken | 0:66c1aa3d198e | 300 | #define RA8875_TPCR1_VREFINT 0x00 |
sebastiken | 0:66c1aa3d198e | 301 | #define RA8875_TPCR1_VREFEXT 0x20 |
sebastiken | 0:66c1aa3d198e | 302 | #define RA8875_TPCR1_DEBOUNCE 0x04 |
sebastiken | 0:66c1aa3d198e | 303 | #define RA8875_TPCR1_NODEBOUNCE 0x00 |
sebastiken | 0:66c1aa3d198e | 304 | #define RA8875_TPCR1_IDLE 0x00 |
sebastiken | 0:66c1aa3d198e | 305 | #define RA8875_TPCR1_WAIT 0x01 |
sebastiken | 0:66c1aa3d198e | 306 | #define RA8875_TPCR1_LATCHX 0x02 |
sebastiken | 0:66c1aa3d198e | 307 | #define RA8875_TPCR1_LATCHY 0x03 |
sebastiken | 0:66c1aa3d198e | 308 | |
sebastiken | 0:66c1aa3d198e | 309 | #define RA8875_TPXH 0x72 |
sebastiken | 0:66c1aa3d198e | 310 | #define RA8875_TPYH 0x73 |
sebastiken | 0:66c1aa3d198e | 311 | #define RA8875_TPXYL 0x74 |
sebastiken | 0:66c1aa3d198e | 312 | |
sebastiken | 0:66c1aa3d198e | 313 | #define RA8875_INTC1 0xF0 |
sebastiken | 0:66c1aa3d198e | 314 | #define RA8875_INTC1_KEY 0x10 |
sebastiken | 0:66c1aa3d198e | 315 | #define RA8875_INTC1_DMA 0x08 |
sebastiken | 0:66c1aa3d198e | 316 | #define RA8875_INTC1_TP 0x04 |
sebastiken | 0:66c1aa3d198e | 317 | #define RA8875_INTC1_BTE 0x02 |
sebastiken | 0:66c1aa3d198e | 318 | |
sebastiken | 0:66c1aa3d198e | 319 | #define RA8875_INTC2 0xF1 |
sebastiken | 0:66c1aa3d198e | 320 | #define RA8875_INTC2_KEY 0x10 |
sebastiken | 0:66c1aa3d198e | 321 | #define RA8875_INTC2_DMA 0x08 |
sebastiken | 0:66c1aa3d198e | 322 | #define RA8875_INTC2_TP 0x04 |
sebastiken | 0:66c1aa3d198e | 323 | #define RA8875_INTC2_BTE 0x02 |
sebastiken | 0:66c1aa3d198e | 324 | |
sebastiken | 0:66c1aa3d198e | 325 | #endif |