|
15 | 15 | #include "Adafruit_SPIDevice.h"
|
16 | 16 |
|
17 | 17 | #ifdef RTDUINO_USING_SPI
|
18 |
| -#if !defined(SPI_INTERFACES_COUNT) || \ |
19 |
| - (defined(SPI_INTERFACES_COUNT) && (SPI_INTERFACES_COUNT > 0)) |
20 | 18 |
|
21 | 19 | //#define DEBUG_SERIAL Serial
|
22 | 20 |
|
@@ -64,21 +62,6 @@ Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t cspin, int8_t sckpin,
|
64 | 62 | _miso = misopin;
|
65 | 63 | _mosi = mosipin;
|
66 | 64 |
|
67 |
| -#ifdef BUSIO_USE_FAST_PINIO |
68 |
| - csPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(cspin)); |
69 |
| - csPinMask = digitalPinToBitMask(cspin); |
70 |
| - if (mosipin != -1) { |
71 |
| - mosiPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(mosipin)); |
72 |
| - mosiPinMask = digitalPinToBitMask(mosipin); |
73 |
| - } |
74 |
| - if (misopin != -1) { |
75 |
| - misoPort = (BusIO_PortReg *)portInputRegister(digitalPinToPort(misopin)); |
76 |
| - misoPinMask = digitalPinToBitMask(misopin); |
77 |
| - } |
78 |
| - clkPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(sckpin)); |
79 |
| - clkPinMask = digitalPinToBitMask(sckpin); |
80 |
| -#endif |
81 |
| - |
82 | 65 | _freq = freq;
|
83 | 66 | _dataOrder = dataOrder;
|
84 | 67 | _dataMode = dataMode;
|
@@ -186,77 +169,39 @@ void Adafruit_SPIDevice::transfer(uint8_t *buffer, size_t len) {
|
186 | 169 | if (_dataMode == SPI_MODE0 || _dataMode == SPI_MODE2) {
|
187 | 170 | towrite = send & b;
|
188 | 171 | if ((_mosi != -1) && (lastmosi != towrite)) {
|
189 |
| -#ifdef BUSIO_USE_FAST_PINIO |
190 |
| - if (towrite) |
191 |
| - *mosiPort |= mosiPinMask; |
192 |
| - else |
193 |
| - *mosiPort &= ~mosiPinMask; |
194 |
| -#else |
195 | 172 | digitalWrite(_mosi, towrite);
|
196 |
| -#endif |
197 | 173 | lastmosi = towrite;
|
198 | 174 | }
|
199 | 175 |
|
200 |
| -#ifdef BUSIO_USE_FAST_PINIO |
201 |
| - *clkPort |= clkPinMask; // Clock high |
202 |
| -#else |
203 | 176 | digitalWrite(_sck, HIGH);
|
204 |
| -#endif |
205 | 177 |
|
206 | 178 | if (bitdelay_us) {
|
207 | 179 | delayMicroseconds(bitdelay_us);
|
208 | 180 | }
|
209 | 181 |
|
210 | 182 | if (_miso != -1) {
|
211 |
| -#ifdef BUSIO_USE_FAST_PINIO |
212 |
| - if (*misoPort & misoPinMask) { |
213 |
| -#else |
214 | 183 | if (digitalRead(_miso)) {
|
215 |
| -#endif |
216 | 184 | reply |= b;
|
217 | 185 | }
|
218 | 186 | }
|
219 | 187 |
|
220 |
| -#ifdef BUSIO_USE_FAST_PINIO |
221 |
| - *clkPort &= ~clkPinMask; // Clock low |
222 |
| -#else |
223 | 188 | digitalWrite(_sck, LOW);
|
224 |
| -#endif |
225 | 189 | } else { // if (_dataMode == SPI_MODE1 || _dataMode == SPI_MODE3)
|
226 | 190 |
|
227 |
| -#ifdef BUSIO_USE_FAST_PINIO |
228 |
| - *clkPort |= clkPinMask; // Clock high |
229 |
| -#else |
230 | 191 | digitalWrite(_sck, HIGH);
|
231 |
| -#endif |
232 | 192 |
|
233 | 193 | if (bitdelay_us) {
|
234 | 194 | delayMicroseconds(bitdelay_us);
|
235 | 195 | }
|
236 | 196 |
|
237 | 197 | if (_mosi != -1) {
|
238 |
| -#ifdef BUSIO_USE_FAST_PINIO |
239 |
| - if (send & b) |
240 |
| - *mosiPort |= mosiPinMask; |
241 |
| - else |
242 |
| - *mosiPort &= ~mosiPinMask; |
243 |
| -#else |
244 | 198 | digitalWrite(_mosi, send & b);
|
245 |
| -#endif |
246 | 199 | }
|
247 | 200 |
|
248 |
| -#ifdef BUSIO_USE_FAST_PINIO |
249 |
| - *clkPort &= ~clkPinMask; // Clock low |
250 |
| -#else |
251 | 201 | digitalWrite(_sck, LOW);
|
252 |
| -#endif |
253 | 202 |
|
254 | 203 | if (_miso != -1) {
|
255 |
| -#ifdef BUSIO_USE_FAST_PINIO |
256 |
| - if (*misoPort & misoPinMask) { |
257 |
| -#else |
258 | 204 | if (digitalRead(_miso)) {
|
259 |
| -#endif |
260 | 205 | reply |= b;
|
261 | 206 | }
|
262 | 207 | }
|
@@ -508,5 +453,4 @@ bool Adafruit_SPIDevice::write_and_read(uint8_t *buffer, size_t len) {
|
508 | 453 | return true;
|
509 | 454 | }
|
510 | 455 |
|
511 |
| -#endif // SPI exists |
512 | 456 | #endif /* RTDUINO_USING_SPI */
|
0 commit comments