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