diff --git a/cores/arduino/Arduino.h b/cores/arduino/Arduino.h index 05c02a9c0c2b4cb6b38997c5cb188f21ad5af0fe..ee106b5bae92a3f5a3a6fe87b9bb13376df3610b 100644 --- a/cores/arduino/Arduino.h +++ b/cores/arduino/Arduino.h @@ -74,16 +74,18 @@ typedef void (*voidFuncPtr)( void ) ; #ifdef __cplusplus } // extern "C" +#endif // __cplusplus -#include "WCharacter.h" -#include "WString.h" -#include "Tone.h" -#include "WMath.h" -#include "HardwareSerial.h" -#include "wiring_pulse.h" -#include "delay.h" -#include "Uart.h" - +// The following headers are for C++ only compilation +#ifdef __cplusplus + #include "WCharacter.h" + #include "WString.h" + #include "Tone.h" + #include "WMath.h" + #include "HardwareSerial.h" + #include "wiring_pulse.h" + #include "delay.h" + #include "Uart.h" #endif // __cplusplus // Include board variant diff --git a/cores/arduino/SERCOM.cpp b/cores/arduino/SERCOM.cpp index c5dc9bb60e7bc1172cd36a8ddb05dcbad6cdbbf0..2d31c24588fcd1c52c924369c528689b4a09c3ca 100644 --- a/cores/arduino/SERCOM.cpp +++ b/cores/arduino/SERCOM.cpp @@ -536,35 +536,35 @@ void SERCOM::initClock() void SERCOM::initNVIC() { - IRQn_Type nvicID; + IRQn_Type Id; if(sercom == SERCOM0) { - nvicID = SERCOM0_IRQn; + Id = SERCOM0_IRQn; } else if(sercom == SERCOM1) { - nvicID = SERCOM1_IRQn; + Id = SERCOM1_IRQn; } else if(sercom == SERCOM2) { - nvicID = SERCOM2_IRQn; + Id = SERCOM2_IRQn; } else if(sercom == SERCOM3) { - nvicID = SERCOM3_IRQn; + Id = SERCOM3_IRQn; } else if(sercom == SERCOM4) { - nvicID = SERCOM4_IRQn; + Id = SERCOM4_IRQn; } else if(sercom == SERCOM5) { - nvicID = SERCOM5_IRQn; + Id = SERCOM5_IRQn; } - NVIC_EnableIRQ(nvicID); - NVIC_SetPriority (nvicID, (1<<__NVIC_PRIO_BITS) - 1); /* set Priority for Systick Interrupt */ + NVIC_EnableIRQ(Id); + NVIC_SetPriority (Id, (1<<__NVIC_PRIO_BITS) - 1); /* set Priority */ } /* ========================= diff --git a/cores/arduino/Uart.cpp b/cores/arduino/Uart.cpp index 683c46377fef043f67f6917418b03eae87ddaa51..2bc363dd9c13f537bd480f297d5eac909aafd346 100644 --- a/cores/arduino/Uart.cpp +++ b/cores/arduino/Uart.cpp @@ -1,5 +1,6 @@ #include "Uart.h" - +#include "WVariant.h" +#include "wiring_digital.h" Uart::Uart(SERCOM *s, uint8_t pinRX, uint8_t pinTX) { diff --git a/cores/arduino/Uart.h b/cores/arduino/Uart.h index 0d40392e3df3832340c1c1734a8ee2bc8d45272e..b8c64880880782d9fdb93184fa9d43797e34c4c1 100644 --- a/cores/arduino/Uart.h +++ b/cores/arduino/Uart.h @@ -1,8 +1,6 @@ #ifndef _SERCOM_UART_CLASS #define _SERCOM_UART_CLASS -#include "wiring_digital.h" - #include "HardwareSerial.h" #include "SERCOM.h" #include "RingBuffer.h" @@ -36,6 +34,7 @@ class Uart : public HardwareSerial SercomUartCharSize extractCharSize(uint8_t config); SercomParityMode extractParity(uint8_t config); }; + extern Uart Serial; extern Uart Serial5; diff --git a/cores/validation/validation_core/test.cpp b/cores/validation/validation_core/test.cpp index 69c07012e086470b2bb9696d5bd685892e5e9b4e..ac1e28d118977b68b6f0d2cfde6713da1873cb3a 100644 --- a/cores/validation/validation_core/test.cpp +++ b/cores/validation/validation_core/test.cpp @@ -45,9 +45,7 @@ void setup( void ) //********************************************** -/* - Serial1.begin( 115200 ) ; -*/ + Serial.begin( 115200 ) ; } static void led_step1( void ) @@ -81,7 +79,8 @@ void loop( void ) // Test digitalRead: connect pin 2 to either GND or 3.3V. !!!! NOT on 5V pin !!!! pin_value=digitalRead( 2 ) ; - Serial.write( "pin 2 value is %s\n", (pin_value == LOW)?"LOW":"HIGH" ) ; + Serial.write( "pin 2 value is " ) ; + Serial.write( (pin_value == LOW)?"LOW\n":"HIGH\n" ) ; delay( 1000 ) ; // wait for a second