diff --git a/libraries/tests/mbed/i2c_master/main.cpp b/libraries/tests/mbed/i2c_master/main.cpp index a2f462217b..dbdff60a82 100644 --- a/libraries/tests/mbed/i2c_master/main.cpp +++ b/libraries/tests/mbed/i2c_master/main.cpp @@ -22,6 +22,10 @@ I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); #define TEST_SDA_PIN PD6 #define TEST_SCL_PIN PD7 I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); +#elif defined(TARGET_SAMR21G18A) +#define TEST_SDA_PIN PA16 +#define TEST_SCL_PIN PA17 +I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); #else I2C i2c(p28, p27); #endif diff --git a/libraries/tests/mbed/i2c_slave/main.cpp b/libraries/tests/mbed/i2c_slave/main.cpp index 1b24b3cd4b..17eec3d7e8 100644 --- a/libraries/tests/mbed/i2c_slave/main.cpp +++ b/libraries/tests/mbed/i2c_slave/main.cpp @@ -8,6 +8,8 @@ I2CSlave slave(PTE0, PTE1); #elif defined(TARGET_LPC4088) I2CSlave slave(p9, p10); +#elif defined(TARGET_SAMR21G18A) +I2CSlave slave(PA16, PA17); #else I2CSlave slave(p28, p27); #endif diff --git a/libraries/tests/mbed/interrupt_chaining/main.cpp b/libraries/tests/mbed/interrupt_chaining/main.cpp index f2afb920a1..44ad300aa1 100644 --- a/libraries/tests/mbed/interrupt_chaining/main.cpp +++ b/libraries/tests/mbed/interrupt_chaining/main.cpp @@ -11,6 +11,8 @@ #define TIMER_IRQ LPTimer_IRQn #elif defined(TARGET_LPC2368) || defined(TARGET_LPC2460) #define TIMER_IRQ TIMER3_IRQn +#elif defined(TARGET_SAMR21G18A) +#define TIMER_IRQ TC4_IRQn #else #error This test can't run on this target. #endif diff --git a/libraries/tests/mbed/pwm/main.cpp b/libraries/tests/mbed/pwm/main.cpp index fc4edc61b4..d44e735cff 100644 --- a/libraries/tests/mbed/pwm/main.cpp +++ b/libraries/tests/mbed/pwm/main.cpp @@ -166,6 +166,16 @@ int main() { printf("Initialize PWM on pin P1.2 with duty cycle: %.2f\n", pwm_1.read()); printf("Initialize PWM on pin P1.3 with duty cycle: %.2f\n", pwm_2.read()); +#elif defined(TARGET_SAMR21G18A) + PwmOut pwm(PA19); + + pwm.period_ms(1000); + pwm.write(value); + + float result = floor(pwm.read() * 100 + 0.5) / 100; // round it to 0.xx + printf("Initialize PWM on pin LED0 with duty cycle: %.2f\n", result); + + notify_completion(result == value ? true : false); #else #error This test is not supported on this target. #endif diff --git a/libraries/tests/mbed/pwm_led/pwm.cpp b/libraries/tests/mbed/pwm_led/pwm.cpp index c30dfc4fbd..c48ff5081f 100644 --- a/libraries/tests/mbed/pwm_led/pwm.cpp +++ b/libraries/tests/mbed/pwm_led/pwm.cpp @@ -28,6 +28,9 @@ #elif defined (TARGET_DISCO_F407VG) #define TEST_LED LED1 +#elif defined(TARGET_SAMR21G18A) +#define TEST_LED LED1 + #else #error This test is not supported on this target. #endif diff --git a/libraries/tests/mbed/sleep/main.cpp b/libraries/tests/mbed/sleep/main.cpp index ef8772da18..29f33c3878 100644 --- a/libraries/tests/mbed/sleep/main.cpp +++ b/libraries/tests/mbed/sleep/main.cpp @@ -6,6 +6,8 @@ InterruptIn wkp(P2_10); InterruptIn wkp(D0); #elif defined(TARGET_LPC11U68) InterruptIn wkp(P0_16); +#elif defined(TARGET_SAMR21G18A) +InterruptIn wkp(PA28); #else InterruptIn wkp(p14); #endif diff --git a/libraries/tests/mbed/spi/main.cpp b/libraries/tests/mbed/spi/main.cpp index ce571cf1d9..043457b39f 100644 --- a/libraries/tests/mbed/spi/main.cpp +++ b/libraries/tests/mbed/spi/main.cpp @@ -1,7 +1,12 @@ #include "mbed.h" +#if defined(TARGET_SAMR21G18A) +SPI spi(PB22, PB02, PB23); // mosi, miso, sclk +DigitalOut latchpin(PB03); +#else SPI spi(p11, p12, p13); DigitalOut latchpin(p10); +#endif int main() { spi.format(8, 0); diff --git a/libraries/tests/mbed/spi_master/main.cpp b/libraries/tests/mbed/spi_master/main.cpp index b5cb5442e5..b05547aa34 100644 --- a/libraries/tests/mbed/spi_master/main.cpp +++ b/libraries/tests/mbed/spi_master/main.cpp @@ -22,6 +22,9 @@ DigitalOut cs(PC14); #elif defined(TARGET_EFM32HG_STK3400) SPI spi(PE10, PE11, PE12); // mosi, miso, sclk DigitalOut cs(PE13); +#elif defined(TARGET_SAMR21G18A) +SPI spi(PB22, PB02, PB23); // mosi, miso, sclk +DigitalOut cs(PB03); #else SPI spi(p5, p6, p7); // mosi, miso, sclk DigitalOut cs(p8); diff --git a/libraries/tests/mbed/spi_slave/main.cpp b/libraries/tests/mbed/spi_slave/main.cpp index d8a8a75707..90469c5d46 100644 --- a/libraries/tests/mbed/spi_slave/main.cpp +++ b/libraries/tests/mbed/spi_slave/main.cpp @@ -10,6 +10,8 @@ SPISlave device(P0_14, P0_15, P0_12, P0_13); // mosi, miso, sclk, ssel SPISlave device(D11, D12, D13, D10); // mosi, miso, sclk, ssel #elif defined(TARGET_LPC1114) SPISlave device(dp2, dp1, dp6, dp25); // mosi, miso, sclk, ssel +#elif defined(TARGET_SAMR21G18A) +SPISlave device(PB22, PB02, PB23, PB03); // mosi, miso, sclk, ssel #else SPISlave device(p5, p6, p7, p8); // mosi, miso, sclk, ssel #endif