Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 8:66c5dc727281, committed 2020-04-24
- Comitter:
- peekpt
- Date:
- Fri Apr 24 11:14:56 2020 +0000
- Parent:
- 7:856a3443f68d
- Commit message:
- ADDED BURST SPI
Changed in this revision
| Adafruit_ST7735.cpp | Show annotated file Show diff for this revision Revisions of this file |
| Adafruit_ST7735.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/Adafruit_ST7735.cpp Mon Apr 20 18:17:52 2020 +0000
+++ b/Adafruit_ST7735.cpp Fri Apr 24 11:14:56 2020 +0000
@@ -17,6 +17,7 @@
****************************************************/
// + GREENTAB2 display
+// BurstSPI
#include "Adafruit_ST7735.h"
@@ -36,14 +37,16 @@
_rs = 0;
_cs = 0;
- lcdPort.write(c);
+ lcdPort.fastWrite(c);
+ lcdPort.clearRX();
_cs = 1;
}
void Adafruit_ST7735::writedata(uint8_t c) {
_rs = 1;
_cs = 0;
- lcdPort.write(c);
+ lcdPort.fastWrite(c);
+ lcdPort.clearRX();
_cs = 1;
}
@@ -300,8 +303,11 @@
_cs = 1;
// use default SPI format
- lcdPort.format(8, 0);
- lcdPort.frequency(20000000);
+
+ // lcdPort.format(8, 0);
+ // lcdPort.frequency(4000000);
+
+ lcdPort.setFormat();
// toggle RST low to reset; CS low so it'll listen to us
_cs = 0;
@@ -371,8 +377,10 @@
_rs = 1;
_cs = 0;
- lcdPort.write(color >> 8);
- lcdPort.write(color);
+ lcdPort.fastWrite(color >> 8);
+ lcdPort.clearRX();
+ lcdPort.fastWrite(color);
+ lcdPort.clearRX();
_cs = 1;
}
@@ -385,8 +393,10 @@
_rs = 1;
_cs = 0;
- lcdPort.write(color >> 8);
- lcdPort.write(color);
+ lcdPort.fastWrite(color >> 8);
+ lcdPort.clearRX();
+ lcdPort.fastWrite(color);
+ lcdPort.clearRX();
_cs = 1;
}
@@ -404,8 +414,10 @@
_rs = 1;
_cs = 0;
while (h--) {
- lcdPort.write(hi);
- lcdPort.write(lo);
+ lcdPort.fastWrite(hi);
+ lcdPort.clearRX();
+ lcdPort.fastWrite(lo);
+ lcdPort.clearRX();
}
_cs = 1;
}
@@ -423,8 +435,10 @@
_rs = 1;
_cs = 0;
while (w--) {
- lcdPort.write(hi);
- lcdPort.write(lo);
+ lcdPort.fastWrite(hi);
+ lcdPort.clearRX();
+ lcdPort.fastWrite(lo);
+ lcdPort.clearRX();
}
_cs = 1;
}
@@ -451,8 +465,10 @@
_cs = 0;
for (y = h; y > 0; y--) {
for (x = w; x > 0; x--) {
- lcdPort.write(hi);
- lcdPort.write(lo);
+ lcdPort.fastWrite(hi);
+ lcdPort.clearRX();
+ lcdPort.fastWrite(lo);
+ lcdPort.clearRX();
}
}
@@ -535,4 +551,4 @@
void Adafruit_ST7735::invertDisplay(boolean i) {
writecommand(i ? ST7735_INVON : ST7735_INVOFF);
-}
+}
\ No newline at end of file
--- a/Adafruit_ST7735.h Mon Apr 20 18:17:52 2020 +0000
+++ b/Adafruit_ST7735.h Fri Apr 24 11:14:56 2020 +0000
@@ -16,16 +16,16 @@
MIT license, all text above must be included in any redistribution
****************************************************/
-
- // + GREENTAB2 display
+// + GREENTAB2 display
+// BurstSPI
#ifndef _ADAFRUIT_ST7735H_
#define _ADAFRUIT_ST7735H_
#include "Adafruit_GFX.h"
+#include "BurstSPI.h"
#include "mbed.h"
-
#define boolean bool
// some flags for initR() :(
@@ -102,6 +102,7 @@
#define ST7735_MAGENTA 0xF81F
#define ST7735_YELLOW 0xFFE0
#define ST7735_WHITE 0xFFFF
+#define ST7735_ORANGE 0xFC00
class Adafruit_ST7735 : public Adafruit_GFX {
@@ -131,10 +132,10 @@
uint8_t colstart, rowstart; // some displays need this changed
- SPI lcdPort; // does SPI MOSI, MISO and SCK
- DigitalOut _cs; // does SPI CE
- DigitalOut _rs; // register/date select
- DigitalOut _rst; // does 3310 LCD_RST
+ BurstSPI lcdPort; // does SPI MOSI, MISO and SCK
+ DigitalOut _cs; // does SPI CE
+ DigitalOut _rs; // register/date select
+ DigitalOut _rst; // does 3310 LCD_RST
};
-#endif
+#endif
\ No newline at end of file