aboutsummaryrefslogtreecommitdiff
path: root/libraries/SPI/SPI.h
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2014-10-21 12:57:41 +0200
committerCristian Maglie <c.maglie@bug.st>2014-11-25 15:49:17 +0100
commit6cfc5c23cc3c430d4f160c87418ad6906341d7b8 (patch)
tree324ba6f91cc0fc6bc87144d2bdabebe8df684de2 /libraries/SPI/SPI.h
parentd4edece7e6698e7687dd8dec1831f9756c8b0017 (diff)
[avr] Made SPI.begin() and SPI.end() synchronized (Andrew Kroll)
Diffstat (limited to 'libraries/SPI/SPI.h')
-rw-r--r--libraries/SPI/SPI.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libraries/SPI/SPI.h b/libraries/SPI/SPI.h
index 24ebc12..c8d4ce3 100644
--- a/libraries/SPI/SPI.h
+++ b/libraries/SPI/SPI.h
@@ -2,6 +2,7 @@
* Copyright (c) 2010 by Cristian Maglie <c.maglie@bug.st>
* Copyright (c) 2014 by Paul Stoffregen <paul@pjrc.com> (Transaction API)
* Copyright (c) 2014 by Matthijs Kooijman <matthijs@stdin.nl> (SPISettings AVR)
+ * Copyright (c) 2014 by Andrew J. Kroll <xxxajk@gmail.com> (atomicity fixes)
* SPI Master library for arduino.
*
* This file is free software; you can redistribute it and/or modify
@@ -281,6 +282,7 @@ public:
inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }
private:
+ static uint8_t initialized;
static uint8_t interruptMode; // 0=none, 1=mask, 2=global
static uint8_t interruptMask; // which interrupts to mask
static uint8_t interruptSave; // temp storage, to restore state