|
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