@@ -143,6 +143,7 @@ writePort(port, value, bitmask): Write an 8 bit port.
143
143
#define IS_PIN_PWM (p ) digitalPinHasPWM(p)
144
144
#define IS_PIN_SERVO (p ) (IS_PIN_DIGITAL(p) && (p) - 2 < MAX_SERVOS)
145
145
#define IS_PIN_I2C (p ) ((p) == 18 || (p) == 19)
146
+ #define IS_PIN_SPI (p ) ((p) == SS || (p) == MOSI || (p) == MISO || (p) == SCK)
146
147
#define PIN_TO_DIGITAL (p ) (p)
147
148
#define PIN_TO_ANALOG (p ) ((p) - 14)
148
149
#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
@@ -158,6 +159,7 @@ writePort(port, value, bitmask): Write an 8 bit port.
158
159
#define IS_PIN_PWM (p ) digitalPinHasPWM(p)
159
160
#define IS_PIN_SERVO (p ) ((p) >= 0 && (p) < MAX_SERVOS)
160
161
#define IS_PIN_I2C (p ) ((p) == SDA || (p) == SCL)
162
+ #define IS_PIN_SPI (p ) ((p) == SS || (p) == MOSI || (p) == MISO || (p) == SCK)
161
163
#define PIN_TO_DIGITAL (p ) (p)
162
164
#define PIN_TO_ANALOG (p ) ((p) - FIRST_ANALOG_PIN)
163
165
#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
@@ -191,6 +193,7 @@ writePort(port, value, bitmask): Write an 8 bit port.
191
193
#define IS_PIN_PWM (p ) digitalPinHasPWM(p)
192
194
#define IS_PIN_SERVO (p ) ((p) >= 2 && (p) - 2 < MAX_SERVOS)
193
195
#define IS_PIN_I2C (p ) ((p) == 20 || (p) == 21)
196
+ #define IS_PIN_SPI (p ) ((p) == SS || (p) == MOSI || (p) == MISO || (p) == SCK)
194
197
#define PIN_TO_DIGITAL (p ) (p)
195
198
#define PIN_TO_ANALOG (p ) ((p) - 54)
196
199
#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
@@ -207,6 +210,7 @@ writePort(port, value, bitmask): Write an 8 bit port.
207
210
#define IS_PIN_PWM (p ) digitalPinHasPWM(p)
208
211
#define IS_PIN_SERVO (p ) ((p) >= 0 && (p) < MAX_SERVOS)
209
212
#define IS_PIN_I2C (p ) (0)
213
+ #define IS_PIN_SPI (p ) ((p) == SS || (p) == MOSI || (p) == MISO || (p) == SCK)
210
214
#define PIN_TO_DIGITAL (p ) (p)
211
215
#define PIN_TO_ANALOG (p ) (0)
212
216
#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
@@ -223,6 +227,7 @@ writePort(port, value, bitmask): Write an 8 bit port.
223
227
#define IS_PIN_PWM (p ) digitalPinHasPWM(p)
224
228
#define IS_PIN_SERVO (p ) ((p) >= 0 && (p) < MAX_SERVOS)
225
229
#define IS_PIN_I2C (p ) ((p) == 5 || (p) == 6)
230
+ #define IS_PIN_SPI (p ) ((p) == SS || (p) == MOSI || (p) == MISO || (p) == SCK)
226
231
#define PIN_TO_DIGITAL (p ) (p)
227
232
#define PIN_TO_ANALOG (p ) (((p)<22)?21-(p):11)
228
233
#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
@@ -239,6 +244,7 @@ writePort(port, value, bitmask): Write an 8 bit port.
239
244
#define IS_PIN_PWM (p ) digitalPinHasPWM(p)
240
245
#define IS_PIN_SERVO (p ) ((p) >= 0 && (p) < MAX_SERVOS)
241
246
#define IS_PIN_I2C (p ) ((p) == 0 || (p) == 1)
247
+ #define IS_PIN_SPI (p ) ((p) == SS || (p) == MOSI || (p) == MISO || (p) == SCK)
242
248
#define PIN_TO_DIGITAL (p ) (p)
243
249
#define PIN_TO_ANALOG (p ) ((p) - 38)
244
250
#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
@@ -255,6 +261,7 @@ writePort(port, value, bitmask): Write an 8 bit port.
255
261
#define IS_PIN_PWM (p ) ((p) == 3 || (p) == 5 || (p) == 6 || (p) == 9 || (p) == 10 || (p) == 11 || (p) == 13)
256
262
#define IS_PIN_SERVO (p ) ((p) >= 0 && (p) < MAX_SERVOS)
257
263
#define IS_PIN_I2C (p ) ((p) == 2 || (p) == 3)
264
+ #define IS_PIN_SPI (p ) ((p) == SS || (p) == MOSI || (p) == MISO || (p) == SCK)
258
265
#define PIN_TO_DIGITAL (p ) (p)
259
266
#define PIN_TO_ANALOG (p ) (p) - 18
260
267
#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
@@ -298,6 +305,10 @@ writePort(port, value, bitmask): Write an 8 bit port.
298
305
#error "Please edit Boards.h with a hardware abstraction for this board"
299
306
#endif
300
307
308
+ // as long this is not defined for all boards:
309
+ #ifndef IS_PIN_SPI (p )
310
+ #define IS_PIN_SPI (p ) 0
311
+ #endif
301
312
302
313
/*==============================================================================
303
314
* readPort() - Read an 8 bit port
0 commit comments