@@ -48,7 +48,7 @@ static inline SercomSpiClockMode getDataMode(SPISettings& settings) {
4848 }
4949}
5050
51- SPIClass::SPIClass (SERCOM *p_sercom, uint8_t uc_pinMISO, uint8_t uc_pinSCK, uint8_t uc_pinMOSI, SercomSpiTXPad PadTx, SercomRXPad PadRx)
51+ SPIClassSAMD::SPIClassSAMD (SERCOM *p_sercom, uint8_t uc_pinMISO, uint8_t uc_pinSCK, uint8_t uc_pinMOSI, SercomSpiTXPad PadTx, SercomRXPad PadRx)
5252: settings(0 , MSBFIRST, SPI_MODE0)
5353{
5454 initialized = false ;
@@ -65,7 +65,7 @@ SPIClass::SPIClass(SERCOM *p_sercom, uint8_t uc_pinMISO, uint8_t uc_pinSCK, uint
6565 _padRx=PadRx;
6666}
6767
68- void SPIClass ::begin ()
68+ void SPIClassSAMD ::begin ()
6969{
7070 init ();
7171
@@ -77,7 +77,7 @@ void SPIClass::begin()
7777 config (DEFAULT_SPI_SETTINGS);
7878}
7979
80- void SPIClass ::init ()
80+ void SPIClassSAMD ::init ()
8181{
8282 if (initialized)
8383 return ;
@@ -87,7 +87,7 @@ void SPIClass::init()
8787 initialized = true ;
8888}
8989
90- void SPIClass ::config (SPISettings settings)
90+ void SPIClassSAMD ::config (SPISettings settings)
9191{
9292 if (this ->settings != settings) {
9393 this ->settings = settings;
@@ -105,7 +105,7 @@ void SPIClass::config(SPISettings settings)
105105 }
106106}
107107
108- void SPIClass ::end ()
108+ void SPIClassSAMD ::end ()
109109{
110110 _p_sercom->resetSPI ();
111111 initialized = false ;
@@ -121,7 +121,7 @@ static inline unsigned char __interruptsStatus(void)
121121}
122122#endif
123123
124- void SPIClass ::usingInterrupt (int interruptNumber)
124+ void SPIClassSAMD ::usingInterrupt (int interruptNumber)
125125{
126126 if ((interruptNumber == NOT_AN_INTERRUPT) || (interruptNumber == EXTERNAL_INT_NMI))
127127 return ;
@@ -141,7 +141,7 @@ void SPIClass::usingInterrupt(int interruptNumber)
141141 interrupts ();
142142}
143143
144- void SPIClass ::notUsingInterrupt (int interruptNumber)
144+ void SPIClassSAMD ::notUsingInterrupt (int interruptNumber)
145145{
146146 if ((interruptNumber == NOT_AN_INTERRUPT) || (interruptNumber == EXTERNAL_INT_NMI))
147147 return ;
@@ -161,7 +161,7 @@ void SPIClass::notUsingInterrupt(int interruptNumber)
161161 interrupts ();
162162}
163163
164- void SPIClass ::beginTransaction (SPISettings settings)
164+ void SPIClassSAMD ::beginTransaction (SPISettings settings)
165165{
166166 if (interruptMode != SPI_IMODE_NONE)
167167 {
@@ -177,7 +177,7 @@ void SPIClass::beginTransaction(SPISettings settings)
177177 config (settings);
178178}
179179
180- void SPIClass ::endTransaction (void )
180+ void SPIClassSAMD ::endTransaction (void )
181181{
182182 if (interruptMode != SPI_IMODE_NONE)
183183 {
@@ -191,7 +191,7 @@ void SPIClass::endTransaction(void)
191191 }
192192}
193193
194- void SPIClass ::setBitOrder (BitOrder order)
194+ void SPIClassSAMD ::setBitOrder (BitOrder order)
195195{
196196 if (order == LSBFIRST) {
197197 _p_sercom->setDataOrderSPI (LSB_FIRST);
@@ -200,7 +200,7 @@ void SPIClass::setBitOrder(BitOrder order)
200200 }
201201}
202202
203- void SPIClass ::setDataMode (uint8_t mode)
203+ void SPIClassSAMD ::setDataMode (uint8_t mode)
204204{
205205 switch (mode)
206206 {
@@ -225,7 +225,7 @@ void SPIClass::setDataMode(uint8_t mode)
225225 }
226226}
227227
228- void SPIClass ::setClockDivider (uint8_t div)
228+ void SPIClassSAMD ::setClockDivider (uint8_t div)
229229{
230230 if (div < SPI_MIN_CLOCK_DIVIDER) {
231231 _p_sercom->setBaudrateSPI (SPI_MIN_CLOCK_DIVIDER);
@@ -234,12 +234,12 @@ void SPIClass::setClockDivider(uint8_t div)
234234 }
235235}
236236
237- byte SPIClass ::transfer (uint8_t data)
237+ byte SPIClassSAMD ::transfer (uint8_t data)
238238{
239239 return _p_sercom->transferDataSPI (data);
240240}
241241
242- uint16_t SPIClass ::transfer16 (uint16_t data) {
242+ uint16_t SPIClassSAMD ::transfer16 (uint16_t data) {
243243 union { uint16_t val; struct { uint8_t lsb; uint8_t msb; }; } t;
244244
245245 t.val = data;
@@ -255,7 +255,7 @@ uint16_t SPIClass::transfer16(uint16_t data) {
255255 return t.val ;
256256}
257257
258- void SPIClass ::transfer (void *buf, size_t count)
258+ void SPIClassSAMD ::transfer (void *buf, size_t count)
259259{
260260 uint8_t *buffer = reinterpret_cast <uint8_t *>(buf);
261261 for (size_t i=0 ; i<count; i++) {
@@ -264,11 +264,11 @@ void SPIClass::transfer(void *buf, size_t count)
264264 }
265265}
266266
267- void SPIClass ::attachInterrupt () {
267+ void SPIClassSAMD ::attachInterrupt () {
268268 // Should be enableInterrupt()
269269}
270270
271- void SPIClass ::detachInterrupt () {
271+ void SPIClassSAMD ::detachInterrupt () {
272272 // Should be disableInterrupt()
273273}
274274
@@ -287,21 +287,21 @@ void SPIClass::detachInterrupt() {
287287 #define PAD_SPI_TX SPI_PAD_2_SCK_3
288288 #define PAD_SPI_RX SERCOM_RX_PAD_0
289289 #endif // PERIPH_SPI
290- SPIClass SPI (&PERIPH_SPI, PIN_SPI_MISO, PIN_SPI_SCK, PIN_SPI_MOSI, PAD_SPI_TX, PAD_SPI_RX);
290+ SPIClassSAMD SPI (&PERIPH_SPI, PIN_SPI_MISO, PIN_SPI_SCK, PIN_SPI_MOSI, PAD_SPI_TX, PAD_SPI_RX);
291291#endif
292292#if SPI_INTERFACES_COUNT > 1
293- SPIClass SPI1 (&PERIPH_SPI1, PIN_SPI1_MISO, PIN_SPI1_SCK, PIN_SPI1_MOSI, PAD_SPI1_TX, PAD_SPI1_RX);
293+ SPIClassSAMD SPI1 (&PERIPH_SPI1, PIN_SPI1_MISO, PIN_SPI1_SCK, PIN_SPI1_MOSI, PAD_SPI1_TX, PAD_SPI1_RX);
294294#endif
295295#if SPI_INTERFACES_COUNT > 2
296- SPIClass SPI2 (&PERIPH_SPI2, PIN_SPI2_MISO, PIN_SPI2_SCK, PIN_SPI2_MOSI, PAD_SPI2_TX, PAD_SPI2_RX);
296+ SPIClassSAMD SPI2 (&PERIPH_SPI2, PIN_SPI2_MISO, PIN_SPI2_SCK, PIN_SPI2_MOSI, PAD_SPI2_TX, PAD_SPI2_RX);
297297#endif
298298#if SPI_INTERFACES_COUNT > 3
299- SPIClass SPI3 (&PERIPH_SPI3, PIN_SPI3_MISO, PIN_SPI3_SCK, PIN_SPI3_MOSI, PAD_SPI3_TX, PAD_SPI3_RX);
299+ SPIClassSAMD SPI3 (&PERIPH_SPI3, PIN_SPI3_MISO, PIN_SPI3_SCK, PIN_SPI3_MOSI, PAD_SPI3_TX, PAD_SPI3_RX);
300300#endif
301301#if SPI_INTERFACES_COUNT > 4
302- SPIClass SPI4 (&PERIPH_SPI4, PIN_SPI4_MISO, PIN_SPI4_SCK, PIN_SPI4_MOSI, PAD_SPI4_TX, PAD_SPI4_RX);
302+ SPIClassSAMD SPI4 (&PERIPH_SPI4, PIN_SPI4_MISO, PIN_SPI4_SCK, PIN_SPI4_MOSI, PAD_SPI4_TX, PAD_SPI4_RX);
303303#endif
304304#if SPI_INTERFACES_COUNT > 5
305- SPIClass SPI5 (&PERIPH_SPI5, PIN_SPI5_MISO, PIN_SPI5_SCK, PIN_SPI5_MOSI, PAD_SPI5_TX, PAD_SPI5_RX);
305+ SPIClassSAMD SPI5 (&PERIPH_SPI5, PIN_SPI5_MISO, PIN_SPI5_SCK, PIN_SPI5_MOSI, PAD_SPI5_TX, PAD_SPI5_RX);
306306#endif
307307
0 commit comments