Fork of https://os.mbed.com/users/sebastiken/code/Adafruit_RA8875/ ; Adapted for use with K64F and in the process of adding more functions.

Dependencies:   mbed BNO055

Committer:
BugraTufan
Date:
Tue May 28 23:22:51 2019 +0000
Revision:
4:51bfa333200c
Parent:
3:4a3e169866a2
deneme1

Who changed what in which revision?

UserRevisionLine numberNew 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);
el16jh 3:4a3e169866a2 43 void textWritePro(uint16_t x, uint16_t y, uint16_t foreColor, uint16_t bgColor, const char* buffer, uint16_t len=0);
sebastiken 0:66c1aa3d198e 44
sebastiken 0:66c1aa3d198e 45 /* Graphics functions */
sebastiken 0:66c1aa3d198e 46 void graphicsMode(void);
sebastiken 0:66c1aa3d198e 47 void setXY(uint16_t x, uint16_t y);
sebastiken 0:66c1aa3d198e 48 void pushPixels(uint32_t num, uint16_t p);
sebastiken 0:66c1aa3d198e 49 void fillRect(void);
sebastiken 0:66c1aa3d198e 50
sebastiken 0:66c1aa3d198e 51 /* Adafruit_GFX functions */
sebastiken 0:66c1aa3d198e 52 void drawPixel(int16_t x, int16_t y, uint16_t color);
sebastiken 0:66c1aa3d198e 53 void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
sebastiken 0:66c1aa3d198e 54 void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
sebastiken 0:66c1aa3d198e 55
sebastiken 0:66c1aa3d198e 56 /* HW accelerated wrapper functions (override Adafruit_GFX prototypes) */
sebastiken 0:66c1aa3d198e 57 void fillScreen(uint16_t color);
sebastiken 0:66c1aa3d198e 58 void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
sebastiken 2:040a687cea93 59 void drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
sebastiken 2:040a687cea93 60 void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
sebastiken 2:040a687cea93 61 void drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
sebastiken 2:040a687cea93 62 void fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
sebastiken 2:040a687cea93 63 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 64 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 65 void drawEllipse(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint16_t color);
sebastiken 2:040a687cea93 66 void fillEllipse(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint16_t color);
sebastiken 2:040a687cea93 67 void drawCurve(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint8_t curvePart, uint16_t color);
sebastiken 2:040a687cea93 68 void fillCurve(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint8_t curvePart, uint16_t color);
sebastiken 0:66c1aa3d198e 69
el16jh 3:4a3e169866a2 70 void rectHelper (int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color, bool filled);
el16jh 3:4a3e169866a2 71 void Adafruit_RA8875::boxDraw(int16_t x, int16_t y, int16_t length, int16_t height, int16_t thick, uint16_t color, uint16_t fill);
el16jh 3:4a3e169866a2 72
sebastiken 0:66c1aa3d198e 73 /* Backlight */
sebastiken 0:66c1aa3d198e 74 void GPIOX(bool on);
sebastiken 0:66c1aa3d198e 75 void PWM1config(bool on, uint8_t clock);
sebastiken 0:66c1aa3d198e 76 void PWM2config(bool on, uint8_t clock);
sebastiken 0:66c1aa3d198e 77 void PWM1out(uint8_t p);
sebastiken 0:66c1aa3d198e 78 void PWM2out(uint8_t p);
sebastiken 0:66c1aa3d198e 79
sebastiken 0:66c1aa3d198e 80 /* Touch screen */
sebastiken 0:66c1aa3d198e 81 void touchEnable(bool on);
sebastiken 0:66c1aa3d198e 82 bool touched(void);
sebastiken 0:66c1aa3d198e 83 bool touchRead(uint16_t *x, uint16_t *y);
sebastiken 0:66c1aa3d198e 84
sebastiken 0:66c1aa3d198e 85 /* Low level access */
sebastiken 0:66c1aa3d198e 86 void writeReg(uint8_t reg, uint8_t val);
sebastiken 0:66c1aa3d198e 87 uint8_t readReg(uint8_t reg);
sebastiken 0:66c1aa3d198e 88 void writeData(uint8_t d);
sebastiken 0:66c1aa3d198e 89 uint8_t readData(void);
sebastiken 0:66c1aa3d198e 90 void writeCommand(uint8_t d);
sebastiken 0:66c1aa3d198e 91 uint8_t readStatus(void);
sebastiken 0:66c1aa3d198e 92 bool waitPoll(uint8_t r, uint8_t f);
sebastiken 0:66c1aa3d198e 93 uint16_t width(void);
sebastiken 0:66c1aa3d198e 94 uint16_t height(void);
sebastiken 0:66c1aa3d198e 95
sebastiken 0:66c1aa3d198e 96 /* Play nice with Arduino's Print class */
sebastiken 0:66c1aa3d198e 97 virtual size_t write(uint8_t b) {
sebastiken 0:66c1aa3d198e 98 textWrite((const char *)&b, 1);
sebastiken 0:66c1aa3d198e 99 return 1;
sebastiken 0:66c1aa3d198e 100 }
sebastiken 0:66c1aa3d198e 101 virtual size_t write(const uint8_t *buffer, size_t size) {
sebastiken 0:66c1aa3d198e 102 textWrite((const char *)buffer, size);
sebastiken 0:66c1aa3d198e 103 return size;
sebastiken 0:66c1aa3d198e 104 }
sebastiken 0:66c1aa3d198e 105
sebastiken 0:66c1aa3d198e 106 private:
sebastiken 0:66c1aa3d198e 107 void PLLinit(void);
sebastiken 0:66c1aa3d198e 108 void initialize(void);
sebastiken 0:66c1aa3d198e 109
sebastiken 0:66c1aa3d198e 110 // /* GFX Helper Functions */
sebastiken 0:66c1aa3d198e 111 void circleHelper(int16_t x0, int16_t y0, int16_t r, uint16_t color, bool filled);
el16jh 3:4a3e169866a2 112
sebastiken 0:66c1aa3d198e 113 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 114 void ellipseHelper(int16_t xCenter, int16_t yCenter, int16_t longAxis, int16_t shortAxis, uint16_t color, bool filled);
sebastiken 0:66c1aa3d198e 115 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 116
sebastiken 0:66c1aa3d198e 117 DigitalOut _cs, _rst;
sebastiken 0:66c1aa3d198e 118 uint16_t _width, _height;
sebastiken 0:66c1aa3d198e 119 uint8_t _textScale;
sebastiken 0:66c1aa3d198e 120 enum RA8875sizes _size;
sebastiken 0:66c1aa3d198e 121
sebastiken 0:66c1aa3d198e 122 SPI spi; ///< spi port
sebastiken 0:66c1aa3d198e 123 };
sebastiken 0:66c1aa3d198e 124
sebastiken 0:66c1aa3d198e 125 // Colors (RGB565)
el16jh 3:4a3e169866a2 126 #define BLACK 0x0000
BugraTufan 4:51bfa333200c 127 #define BLUE 0x32f2
el16jh 3:4a3e169866a2 128 #define RED 0xF800
el16jh 3:4a3e169866a2 129 #define GREEN 0x07E0
el16jh 3:4a3e169866a2 130 #define CYAN 0x07FF
el16jh 3:4a3e169866a2 131 #define MAGENTA 0xF81F
el16jh 3:4a3e169866a2 132 #define YELLOW 0xFFE0
el16jh 3:4a3e169866a2 133 #define WHITE 0xFFFF
el16jh 3:4a3e169866a2 134 #define GREY 0xA514
el16jh 3:4a3e169866a2 135 #define ORANGE 0xFA20
sebastiken 0:66c1aa3d198e 136
sebastiken 0:66c1aa3d198e 137 // Command/Data pins for SPI
sebastiken 0:66c1aa3d198e 138 #define RA8875_DATAWRITE 0x00
sebastiken 0:66c1aa3d198e 139 #define RA8875_DATAREAD 0x40
sebastiken 0:66c1aa3d198e 140 #define RA8875_CMDWRITE 0x80
sebastiken 0:66c1aa3d198e 141 #define RA8875_CMDREAD 0xC0
sebastiken 0:66c1aa3d198e 142
sebastiken 0:66c1aa3d198e 143 // Registers & bits
sebastiken 0:66c1aa3d198e 144 #define RA8875_PWRR 0x01
sebastiken 0:66c1aa3d198e 145 #define RA8875_PWRR_DISPON 0x80
sebastiken 0:66c1aa3d198e 146 #define RA8875_PWRR_DISPOFF 0x00
sebastiken 0:66c1aa3d198e 147 #define RA8875_PWRR_SLEEP 0x02
sebastiken 0:66c1aa3d198e 148 #define RA8875_PWRR_NORMAL 0x00
sebastiken 0:66c1aa3d198e 149 #define RA8875_PWRR_SOFTRESET 0x01
sebastiken 0:66c1aa3d198e 150
sebastiken 0:66c1aa3d198e 151 #define RA8875_MRWC 0x02
sebastiken 0:66c1aa3d198e 152
sebastiken 0:66c1aa3d198e 153 #define RA8875_GPIOX 0xC7
sebastiken 0:66c1aa3d198e 154
sebastiken 0:66c1aa3d198e 155 #define RA8875_PLLC1 0x88
sebastiken 0:66c1aa3d198e 156 #define RA8875_PLLC1_PLLDIV2 0x80
sebastiken 0:66c1aa3d198e 157 #define RA8875_PLLC1_PLLDIV1 0x00
sebastiken 0:66c1aa3d198e 158
sebastiken 0:66c1aa3d198e 159 #define RA8875_PLLC2 0x89
sebastiken 0:66c1aa3d198e 160 #define RA8875_PLLC2_DIV1 0x00
sebastiken 0:66c1aa3d198e 161 #define RA8875_PLLC2_DIV2 0x01
sebastiken 0:66c1aa3d198e 162 #define RA8875_PLLC2_DIV4 0x02
sebastiken 0:66c1aa3d198e 163 #define RA8875_PLLC2_DIV8 0x03
sebastiken 0:66c1aa3d198e 164 #define RA8875_PLLC2_DIV16 0x04
sebastiken 0:66c1aa3d198e 165 #define RA8875_PLLC2_DIV32 0x05
sebastiken 0:66c1aa3d198e 166 #define RA8875_PLLC2_DIV64 0x06
sebastiken 0:66c1aa3d198e 167 #define RA8875_PLLC2_DIV128 0x07
sebastiken 0:66c1aa3d198e 168
sebastiken 0:66c1aa3d198e 169 #define RA8875_SYSR 0x10
sebastiken 0:66c1aa3d198e 170 #define RA8875_SYSR_8BPP 0x00
sebastiken 0:66c1aa3d198e 171 #define RA8875_SYSR_16BPP 0x0C
sebastiken 0:66c1aa3d198e 172 #define RA8875_SYSR_MCU8 0x00
sebastiken 0:66c1aa3d198e 173 #define RA8875_SYSR_MCU16 0x03
sebastiken 0:66c1aa3d198e 174
sebastiken 0:66c1aa3d198e 175 #define RA8875_PCSR 0x04
sebastiken 0:66c1aa3d198e 176 #define RA8875_PCSR_PDATR 0x00
sebastiken 0:66c1aa3d198e 177 #define RA8875_PCSR_PDATL 0x80
sebastiken 0:66c1aa3d198e 178 #define RA8875_PCSR_CLK 0x00
sebastiken 0:66c1aa3d198e 179 #define RA8875_PCSR_2CLK 0x01
sebastiken 0:66c1aa3d198e 180 #define RA8875_PCSR_4CLK 0x02
sebastiken 0:66c1aa3d198e 181 #define RA8875_PCSR_8CLK 0x03
sebastiken 0:66c1aa3d198e 182
sebastiken 0:66c1aa3d198e 183 #define RA8875_HDWR 0x14
sebastiken 0:66c1aa3d198e 184
sebastiken 0:66c1aa3d198e 185 #define RA8875_HNDFTR 0x15
sebastiken 0:66c1aa3d198e 186 #define RA8875_HNDFTR_DE_HIGH 0x00
sebastiken 0:66c1aa3d198e 187 #define RA8875_HNDFTR_DE_LOW 0x80
sebastiken 0:66c1aa3d198e 188
sebastiken 0:66c1aa3d198e 189 #define RA8875_HNDR 0x16
sebastiken 0:66c1aa3d198e 190 #define RA8875_HSTR 0x17
sebastiken 0:66c1aa3d198e 191 #define RA8875_HPWR 0x18
sebastiken 0:66c1aa3d198e 192 #define RA8875_HPWR_LOW 0x00
sebastiken 0:66c1aa3d198e 193 #define RA8875_HPWR_HIGH 0x80
sebastiken 0:66c1aa3d198e 194
sebastiken 0:66c1aa3d198e 195 #define RA8875_VDHR0 0x19
sebastiken 0:66c1aa3d198e 196 #define RA8875_VDHR1 0x1A
sebastiken 0:66c1aa3d198e 197 #define RA8875_VNDR0 0x1B
sebastiken 0:66c1aa3d198e 198 #define RA8875_VNDR1 0x1C
sebastiken 0:66c1aa3d198e 199 #define RA8875_VSTR0 0x1D
sebastiken 0:66c1aa3d198e 200 #define RA8875_VSTR1 0x1E
sebastiken 0:66c1aa3d198e 201 #define RA8875_VPWR 0x1F
sebastiken 0:66c1aa3d198e 202 #define RA8875_VPWR_LOW 0x00
sebastiken 0:66c1aa3d198e 203 #define RA8875_VPWR_HIGH 0x80
sebastiken 0:66c1aa3d198e 204
sebastiken 0:66c1aa3d198e 205 #define RA8875_HSAW0 0x30
sebastiken 0:66c1aa3d198e 206 #define RA8875_HSAW1 0x31
sebastiken 0:66c1aa3d198e 207 #define RA8875_VSAW0 0x32
sebastiken 0:66c1aa3d198e 208 #define RA8875_VSAW1 0x33
sebastiken 0:66c1aa3d198e 209
sebastiken 0:66c1aa3d198e 210 #define RA8875_HEAW0 0x34
sebastiken 0:66c1aa3d198e 211 #define RA8875_HEAW1 0x35
sebastiken 0:66c1aa3d198e 212 #define RA8875_VEAW0 0x36
sebastiken 0:66c1aa3d198e 213 #define RA8875_VEAW1 0x37
sebastiken 0:66c1aa3d198e 214
sebastiken 0:66c1aa3d198e 215 #define RA8875_MCLR 0x8E
sebastiken 0:66c1aa3d198e 216 #define RA8875_MCLR_START 0x80
sebastiken 0:66c1aa3d198e 217 #define RA8875_MCLR_STOP 0x00
sebastiken 0:66c1aa3d198e 218 #define RA8875_MCLR_READSTATUS 0x80
sebastiken 0:66c1aa3d198e 219 #define RA8875_MCLR_FULL 0x00
sebastiken 0:66c1aa3d198e 220 #define RA8875_MCLR_ACTIVE 0x40
sebastiken 0:66c1aa3d198e 221
sebastiken 0:66c1aa3d198e 222 #define RA8875_DCR 0x90
sebastiken 0:66c1aa3d198e 223 #define RA8875_DCR_LINESQUTRI_START 0x80
sebastiken 0:66c1aa3d198e 224 #define RA8875_DCR_LINESQUTRI_STOP 0x00
sebastiken 0:66c1aa3d198e 225 #define RA8875_DCR_LINESQUTRI_STATUS 0x80
sebastiken 0:66c1aa3d198e 226 #define RA8875_DCR_CIRCLE_START 0x40
sebastiken 0:66c1aa3d198e 227 #define RA8875_DCR_CIRCLE_STATUS 0x40
sebastiken 0:66c1aa3d198e 228 #define RA8875_DCR_CIRCLE_STOP 0x00
sebastiken 0:66c1aa3d198e 229 #define RA8875_DCR_FILL 0x20
sebastiken 0:66c1aa3d198e 230 #define RA8875_DCR_NOFILL 0x00
sebastiken 0:66c1aa3d198e 231 #define RA8875_DCR_DRAWLINE 0x00
sebastiken 0:66c1aa3d198e 232 #define RA8875_DCR_DRAWTRIANGLE 0x01
sebastiken 0:66c1aa3d198e 233 #define RA8875_DCR_DRAWSQUARE 0x10
sebastiken 0:66c1aa3d198e 234
sebastiken 0:66c1aa3d198e 235
sebastiken 0:66c1aa3d198e 236 #define RA8875_ELLIPSE 0xA0
sebastiken 0:66c1aa3d198e 237 #define RA8875_ELLIPSE_STATUS 0x80
sebastiken 0:66c1aa3d198e 238
sebastiken 0:66c1aa3d198e 239 #define RA8875_MWCR0 0x40
sebastiken 0:66c1aa3d198e 240 #define RA8875_MWCR0_GFXMODE 0x00
sebastiken 0:66c1aa3d198e 241 #define RA8875_MWCR0_TXTMODE 0x80
sebastiken 0:66c1aa3d198e 242
sebastiken 0:66c1aa3d198e 243 #define RA8875_CURH0 0x46
sebastiken 0:66c1aa3d198e 244 #define RA8875_CURH1 0x47
sebastiken 0:66c1aa3d198e 245 #define RA8875_CURV0 0x48
sebastiken 0:66c1aa3d198e 246 #define RA8875_CURV1 0x49
sebastiken 0:66c1aa3d198e 247
sebastiken 0:66c1aa3d198e 248 #define RA8875_P1CR 0x8A
sebastiken 0:66c1aa3d198e 249 #define RA8875_P1CR_ENABLE 0x80
sebastiken 0:66c1aa3d198e 250 #define RA8875_P1CR_DISABLE 0x00
sebastiken 0:66c1aa3d198e 251 #define RA8875_P1CR_CLKOUT 0x10
sebastiken 0:66c1aa3d198e 252 #define RA8875_P1CR_PWMOUT 0x00
sebastiken 0:66c1aa3d198e 253
sebastiken 0:66c1aa3d198e 254 #define RA8875_P1DCR 0x8B
sebastiken 0:66c1aa3d198e 255
sebastiken 0:66c1aa3d198e 256 #define RA8875_P2CR 0x8C
sebastiken 0:66c1aa3d198e 257 #define RA8875_P2CR_ENABLE 0x80
sebastiken 0:66c1aa3d198e 258 #define RA8875_P2CR_DISABLE 0x00
sebastiken 0:66c1aa3d198e 259 #define RA8875_P2CR_CLKOUT 0x10
sebastiken 0:66c1aa3d198e 260 #define RA8875_P2CR_PWMOUT 0x00
sebastiken 0:66c1aa3d198e 261
sebastiken 0:66c1aa3d198e 262 #define RA8875_P2DCR 0x8D
sebastiken 0:66c1aa3d198e 263
sebastiken 0:66c1aa3d198e 264 #define RA8875_PWM_CLK_DIV1 0x00
sebastiken 0:66c1aa3d198e 265 #define RA8875_PWM_CLK_DIV2 0x01
sebastiken 0:66c1aa3d198e 266 #define RA8875_PWM_CLK_DIV4 0x02
sebastiken 0:66c1aa3d198e 267 #define RA8875_PWM_CLK_DIV8 0x03
sebastiken 0:66c1aa3d198e 268 #define RA8875_PWM_CLK_DIV16 0x04
sebastiken 0:66c1aa3d198e 269 #define RA8875_PWM_CLK_DIV32 0x05
sebastiken 0:66c1aa3d198e 270 #define RA8875_PWM_CLK_DIV64 0x06
sebastiken 0:66c1aa3d198e 271 #define RA8875_PWM_CLK_DIV128 0x07
sebastiken 0:66c1aa3d198e 272 #define RA8875_PWM_CLK_DIV256 0x08
sebastiken 0:66c1aa3d198e 273 #define RA8875_PWM_CLK_DIV512 0x09
sebastiken 0:66c1aa3d198e 274 #define RA8875_PWM_CLK_DIV1024 0x0A
sebastiken 0:66c1aa3d198e 275 #define RA8875_PWM_CLK_DIV2048 0x0B
sebastiken 0:66c1aa3d198e 276 #define RA8875_PWM_CLK_DIV4096 0x0C
sebastiken 0:66c1aa3d198e 277 #define RA8875_PWM_CLK_DIV8192 0x0D
sebastiken 0:66c1aa3d198e 278 #define RA8875_PWM_CLK_DIV16384 0x0E
sebastiken 0:66c1aa3d198e 279 #define RA8875_PWM_CLK_DIV32768 0x0F
sebastiken 0:66c1aa3d198e 280
sebastiken 0:66c1aa3d198e 281 #define RA8875_TPCR0 0x70
sebastiken 0:66c1aa3d198e 282 #define RA8875_TPCR0_ENABLE 0x80
sebastiken 0:66c1aa3d198e 283 #define RA8875_TPCR0_DISABLE 0x00
sebastiken 0:66c1aa3d198e 284 #define RA8875_TPCR0_WAIT_512CLK 0x00
sebastiken 0:66c1aa3d198e 285 #define RA8875_TPCR0_WAIT_1024CLK 0x10
sebastiken 0:66c1aa3d198e 286 #define RA8875_TPCR0_WAIT_2048CLK 0x20
sebastiken 0:66c1aa3d198e 287 #define RA8875_TPCR0_WAIT_4096CLK 0x30
sebastiken 0:66c1aa3d198e 288 #define RA8875_TPCR0_WAIT_8192CLK 0x40
sebastiken 0:66c1aa3d198e 289 #define RA8875_TPCR0_WAIT_16384CLK 0x50
sebastiken 0:66c1aa3d198e 290 #define RA8875_TPCR0_WAIT_32768CLK 0x60
sebastiken 0:66c1aa3d198e 291 #define RA8875_TPCR0_WAIT_65536CLK 0x70
sebastiken 0:66c1aa3d198e 292 #define RA8875_TPCR0_WAKEENABLE 0x08
sebastiken 0:66c1aa3d198e 293 #define RA8875_TPCR0_WAKEDISABLE 0x00
sebastiken 0:66c1aa3d198e 294 #define RA8875_TPCR0_ADCCLK_DIV1 0x00
sebastiken 0:66c1aa3d198e 295 #define RA8875_TPCR0_ADCCLK_DIV2 0x01
sebastiken 0:66c1aa3d198e 296 #define RA8875_TPCR0_ADCCLK_DIV4 0x02
sebastiken 0:66c1aa3d198e 297 #define RA8875_TPCR0_ADCCLK_DIV8 0x03
sebastiken 0:66c1aa3d198e 298 #define RA8875_TPCR0_ADCCLK_DIV16 0x04
sebastiken 0:66c1aa3d198e 299 #define RA8875_TPCR0_ADCCLK_DIV32 0x05
sebastiken 0:66c1aa3d198e 300 #define RA8875_TPCR0_ADCCLK_DIV64 0x06
sebastiken 0:66c1aa3d198e 301 #define RA8875_TPCR0_ADCCLK_DIV128 0x07
sebastiken 0:66c1aa3d198e 302
sebastiken 0:66c1aa3d198e 303 #define RA8875_TPCR1 0x71
sebastiken 0:66c1aa3d198e 304 #define RA8875_TPCR1_AUTO 0x00
sebastiken 0:66c1aa3d198e 305 #define RA8875_TPCR1_MANUAL 0x40
sebastiken 0:66c1aa3d198e 306 #define RA8875_TPCR1_VREFINT 0x00
sebastiken 0:66c1aa3d198e 307 #define RA8875_TPCR1_VREFEXT 0x20
sebastiken 0:66c1aa3d198e 308 #define RA8875_TPCR1_DEBOUNCE 0x04
sebastiken 0:66c1aa3d198e 309 #define RA8875_TPCR1_NODEBOUNCE 0x00
sebastiken 0:66c1aa3d198e 310 #define RA8875_TPCR1_IDLE 0x00
sebastiken 0:66c1aa3d198e 311 #define RA8875_TPCR1_WAIT 0x01
sebastiken 0:66c1aa3d198e 312 #define RA8875_TPCR1_LATCHX 0x02
sebastiken 0:66c1aa3d198e 313 #define RA8875_TPCR1_LATCHY 0x03
sebastiken 0:66c1aa3d198e 314
sebastiken 0:66c1aa3d198e 315 #define RA8875_TPXH 0x72
sebastiken 0:66c1aa3d198e 316 #define RA8875_TPYH 0x73
sebastiken 0:66c1aa3d198e 317 #define RA8875_TPXYL 0x74
sebastiken 0:66c1aa3d198e 318
sebastiken 0:66c1aa3d198e 319 #define RA8875_INTC1 0xF0
sebastiken 0:66c1aa3d198e 320 #define RA8875_INTC1_KEY 0x10
sebastiken 0:66c1aa3d198e 321 #define RA8875_INTC1_DMA 0x08
sebastiken 0:66c1aa3d198e 322 #define RA8875_INTC1_TP 0x04
sebastiken 0:66c1aa3d198e 323 #define RA8875_INTC1_BTE 0x02
sebastiken 0:66c1aa3d198e 324
sebastiken 0:66c1aa3d198e 325 #define RA8875_INTC2 0xF1
sebastiken 0:66c1aa3d198e 326 #define RA8875_INTC2_KEY 0x10
sebastiken 0:66c1aa3d198e 327 #define RA8875_INTC2_DMA 0x08
sebastiken 0:66c1aa3d198e 328 #define RA8875_INTC2_TP 0x04
sebastiken 0:66c1aa3d198e 329 #define RA8875_INTC2_BTE 0x02
sebastiken 0:66c1aa3d198e 330
sebastiken 0:66c1aa3d198e 331 #endif