|
@@ -26,39 +26,22 @@
|
26
|
26
|
|
27
|
27
|
#include "tft_spi.h"
|
28
|
28
|
|
29
|
|
-//TFT_SPI tft;
|
30
|
|
-
|
31
|
29
|
SPIClass TFT_SPI::SPIx(1);
|
32
|
30
|
|
33
|
|
-#define TFT_CS_H WRITE(TFT_CS_PIN, HIGH)
|
34
|
|
-#define TFT_CS_L WRITE(TFT_CS_PIN, LOW)
|
35
|
|
-
|
36
|
|
-#define TFT_DC_H WRITE(TFT_DC_PIN, HIGH)
|
37
|
|
-#define TFT_DC_L WRITE(TFT_DC_PIN, LOW)
|
38
|
|
-
|
39
|
|
-#define TFT_RST_H WRITE(TFT_RESET_PIN, HIGH)
|
40
|
|
-#define TFT_RST_L WRITE(TFT_RESET_PIN, LOW)
|
41
|
|
-
|
42
|
|
-#define TFT_BLK_H WRITE(TFT_BACKLIGHT_PIN, HIGH)
|
43
|
|
-#define TFT_BLK_L WRITE(TFT_BACKLIGHT_PIN, LOW)
|
44
|
|
-
|
45
|
31
|
void TFT_SPI::Init() {
|
46
|
32
|
#if PIN_EXISTS(TFT_RESET)
|
47
|
|
- SET_OUTPUT(TFT_RESET_PIN);
|
48
|
|
- TFT_RST_H;
|
|
33
|
+ OUT_WRITE(TFT_RESET_PIN, HIGH);
|
49
|
34
|
delay(100);
|
50
|
35
|
#endif
|
51
|
36
|
|
52
|
37
|
#if PIN_EXISTS(TFT_BACKLIGHT)
|
53
|
|
- SET_OUTPUT(TFT_BACKLIGHT_PIN);
|
54
|
|
- TFT_BLK_H;
|
|
38
|
+ OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH);
|
55
|
39
|
#endif
|
56
|
40
|
|
57
|
41
|
SET_OUTPUT(TFT_DC_PIN);
|
58
|
42
|
SET_OUTPUT(TFT_CS_PIN);
|
59
|
|
-
|
60
|
|
- TFT_DC_H;
|
61
|
|
- TFT_CS_H;
|
|
43
|
+ WRITE(TFT_DC_PIN, HIGH);
|
|
44
|
+ WRITE(TFT_CS_PIN, HIGH);
|
62
|
45
|
|
63
|
46
|
/**
|
64
|
47
|
* STM32F1 APB2 = 72MHz, APB1 = 36MHz, max SPI speed of this MCU if 18Mhz
|
|
@@ -97,7 +80,7 @@ void TFT_SPI::Init() {
|
97
|
80
|
void TFT_SPI::DataTransferBegin(uint16_t DataSize) {
|
98
|
81
|
SPIx.setDataSize(DataSize);
|
99
|
82
|
SPIx.begin();
|
100
|
|
- TFT_CS_L;
|
|
83
|
+ WRITE(TFT_CS_PIN, LOW);
|
101
|
84
|
}
|
102
|
85
|
|
103
|
86
|
uint32_t TFT_SPI::GetID() {
|
|
@@ -116,7 +99,7 @@ uint32_t TFT_SPI::ReadID(uint16_t Reg) {
|
116
|
99
|
SPIx.setDataSize(DATASIZE_8BIT);
|
117
|
100
|
SPIx.setClock(SPI_CLOCK_DIV64);
|
118
|
101
|
SPIx.begin();
|
119
|
|
- TFT_CS_L;
|
|
102
|
+ WRITE(TFT_CS_PIN, LOW);
|
120
|
103
|
WriteReg(Reg);
|
121
|
104
|
|
122
|
105
|
LOOP_L_N(i, 4) {
|
|
@@ -131,21 +114,15 @@ uint32_t TFT_SPI::ReadID(uint16_t Reg) {
|
131
|
114
|
return data >> 7;
|
132
|
115
|
}
|
133
|
116
|
|
134
|
|
-bool TFT_SPI::isBusy() {
|
135
|
|
- return false;
|
136
|
|
-}
|
|
117
|
+bool TFT_SPI::isBusy() { return false; }
|
137
|
118
|
|
138
|
|
-void TFT_SPI::Abort() {
|
139
|
|
- DataTransferEnd();
|
140
|
|
-}
|
|
119
|
+void TFT_SPI::Abort() { DataTransferEnd(); }
|
141
|
120
|
|
142
|
|
-void TFT_SPI::Transmit(uint16_t Data) {
|
143
|
|
- SPIx.transfer(Data);
|
144
|
|
-}
|
|
121
|
+void TFT_SPI::Transmit(uint16_t Data) { SPIx.transfer(Data); }
|
145
|
122
|
|
146
|
123
|
void TFT_SPI::TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count) {
|
147
|
|
- DataTransferBegin(DATASIZE_16BIT); //16
|
148
|
|
- TFT_DC_H;
|
|
124
|
+ DataTransferBegin(DATASIZE_16BIT);
|
|
125
|
+ WRITE(TFT_DC_PIN, HIGH);
|
149
|
126
|
SPIx.dmaSend(Data, Count, MemoryIncrease);
|
150
|
127
|
DataTransferEnd();
|
151
|
128
|
}
|