2013-02-18 15:32:11 +00:00
|
|
|
#include "test_env.h"
|
|
|
|
|
2014-04-07 15:56:13 +00:00
|
|
|
#if defined(TARGET_LPC1114)
|
2013-07-23 15:08:39 +00:00
|
|
|
DigitalInOut d1(dp1);
|
|
|
|
DigitalInOut d2(dp2);
|
|
|
|
|
2014-06-19 16:14:29 +00:00
|
|
|
#elif defined(TARGET_LPC1549)
|
|
|
|
// TARGET_FF_ARDUINO cannot be used, because D0 is used as USBRX (USB serial
|
|
|
|
// port pin), D1 is used as USBTX
|
|
|
|
DigitalInOut d1(D2);
|
|
|
|
DigitalInOut d2(D7);
|
|
|
|
|
2016-10-12 08:07:27 +00:00
|
|
|
#elif defined(TARGET_STM) && defined(TARGET_FF_ARDUINO)
|
|
|
|
// TARGET_FF_ARDUINO cannot be used
|
|
|
|
// D0 is used as USBRX for some NUCLEO64
|
|
|
|
// D7 is not used for some NUCLEO32
|
2017-03-16 16:47:44 +00:00
|
|
|
DigitalInOut d1(D3);
|
2016-10-12 08:07:27 +00:00
|
|
|
DigitalInOut d2(D2);
|
2013-12-09 13:36:51 +00:00
|
|
|
|
2016-10-12 08:07:27 +00:00
|
|
|
#elif defined(TARGET_DISCO_L053C8) || \
|
|
|
|
defined(TARGET_DISCO_F334C8)
|
|
|
|
DigitalInOut d1(PA_15);
|
|
|
|
DigitalInOut d2(PA_8);
|
|
|
|
|
|
|
|
#elif defined(TARGET_DISCO_L476VG)
|
|
|
|
DigitalInOut d1(PA_1);
|
|
|
|
DigitalInOut d2(PA_2);
|
2015-09-11 13:11:35 +00:00
|
|
|
|
2015-04-06 13:50:25 +00:00
|
|
|
#elif defined(TARGET_ARCH_MAX) || \
|
|
|
|
defined(TARGET_DISCO_F407VG) || \
|
2015-01-03 18:09:16 +00:00
|
|
|
defined(TARGET_DISCO_F429ZI)|| \
|
|
|
|
defined(TARGET_DISCO_F401VC)
|
2014-09-18 19:49:26 +00:00
|
|
|
DigitalInOut d1(PC_12);
|
|
|
|
DigitalInOut d2(PD_0);
|
|
|
|
|
2014-04-07 15:56:13 +00:00
|
|
|
#elif defined(TARGET_FF_ARDUINO)
|
|
|
|
DigitalInOut d1(D0);
|
|
|
|
DigitalInOut d2(D7);
|
|
|
|
|
2014-10-09 16:54:03 +00:00
|
|
|
#elif defined(TARGET_MAXWSNENV)
|
|
|
|
DigitalInOut d1(TP3);
|
|
|
|
DigitalInOut d2(TP4);
|
|
|
|
|
2014-10-09 16:54:03 +00:00
|
|
|
#elif defined(TARGET_MAX32600MBED)
|
|
|
|
DigitalInOut d1(P1_0);
|
|
|
|
DigitalInOut d2(P4_7);
|
|
|
|
|
2015-05-26 11:30:44 +00:00
|
|
|
#elif defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32GG_STK3700) || defined(TARGET_EFM32WG_STK3800)
|
|
|
|
DigitalInOut d1(PD0);
|
2015-05-27 14:07:40 +00:00
|
|
|
DigitalInOut d2(PC3);
|
2015-05-26 11:30:44 +00:00
|
|
|
|
|
|
|
#elif defined(TARGET_EFM32ZG_STK3200)
|
|
|
|
DigitalInOut d1(PD7);
|
|
|
|
DigitalInOut d2(PC1);
|
|
|
|
|
|
|
|
#elif defined(TARGET_EFM32HG_STK3400)
|
|
|
|
DigitalInOut d1(PE10);
|
|
|
|
DigitalInOut d2(PC1);
|
|
|
|
|
2016-01-04 10:29:26 +00:00
|
|
|
#elif defined(TARGET_EFM32PG_STK3401)
|
2016-01-14 15:43:02 +00:00
|
|
|
DigitalInOut d1(PC6);
|
|
|
|
DigitalInOut d2(PA3);
|
2016-01-04 10:29:26 +00:00
|
|
|
|
2015-08-20 09:53:38 +00:00
|
|
|
#elif defined(TARGET_SAMR21G18A) || defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A)
|
|
|
|
DigitalInOut d1(PB02);
|
|
|
|
DigitalInOut d2(PB03);
|
2015-08-07 12:07:53 +00:00
|
|
|
|
2016-01-14 15:43:02 +00:00
|
|
|
#elif defined(TARGET_SAML21J18A)
|
2015-09-23 08:18:08 +00:00
|
|
|
DigitalInOut d1(PA06);
|
|
|
|
DigitalInOut d2(PA07);
|
|
|
|
|
2016-04-05 17:05:59 +00:00
|
|
|
#elif defined(TARGET_SAMG55J19)
|
|
|
|
DigitalInOut d1(PA18);
|
|
|
|
DigitalInOut d2(PA17);
|
|
|
|
|
2016-03-31 07:28:43 +00:00
|
|
|
#elif defined(TARGET_VK_RZ_A1H)
|
|
|
|
DigitalInOut d1(P3_2);
|
|
|
|
DigitalInOut d2(P5_6);
|
|
|
|
|
2013-02-26 14:57:42 +00:00
|
|
|
#else
|
2013-02-18 15:32:11 +00:00
|
|
|
DigitalInOut d1(p5);
|
|
|
|
DigitalInOut d2(p25);
|
|
|
|
|
2013-02-26 14:57:42 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2014-09-23 09:53:25 +00:00
|
|
|
int main()
|
|
|
|
{
|
2015-02-11 10:37:03 +00:00
|
|
|
MBED_HOSTTEST_TIMEOUT(10);
|
|
|
|
MBED_HOSTTEST_SELECT(default_auto);
|
|
|
|
MBED_HOSTTEST_DESCRIPTION(DigitalInOut);
|
|
|
|
MBED_HOSTTEST_START("MBED_A6");
|
2015-01-28 10:08:03 +00:00
|
|
|
|
2013-02-18 15:32:11 +00:00
|
|
|
bool check = true;
|
2013-06-27 21:20:47 +00:00
|
|
|
|
2013-02-18 15:32:11 +00:00
|
|
|
d1.output();
|
|
|
|
d2.input();
|
2014-06-19 16:14:29 +00:00
|
|
|
d1 = 1;
|
|
|
|
wait(0.1);
|
|
|
|
if (d2 != 1) {
|
2014-09-23 09:53:25 +00:00
|
|
|
printf("MBED: First check failed! d2 is %d\n", (int)d2);
|
2014-06-19 16:14:29 +00:00
|
|
|
check = false;
|
|
|
|
}
|
|
|
|
d1 = 0;
|
|
|
|
wait(0.1);
|
|
|
|
if (d2 != 0) {
|
2014-09-23 09:53:25 +00:00
|
|
|
printf("MBED: Second check failed! d2 is %d\n", (int)d2);
|
2014-06-19 16:14:29 +00:00
|
|
|
check = false;
|
|
|
|
}
|
2013-06-27 21:20:47 +00:00
|
|
|
|
2013-02-18 15:32:11 +00:00
|
|
|
d1.input();
|
|
|
|
d2.output();
|
2014-06-19 16:14:29 +00:00
|
|
|
d2 = 1;
|
|
|
|
wait(0.1);
|
|
|
|
if (d1 != 1) {
|
2014-09-23 09:53:25 +00:00
|
|
|
printf("MBED: Third check failed! d1 is %d\n", (int)d1);
|
2014-06-19 16:14:29 +00:00
|
|
|
check = false;
|
|
|
|
}
|
|
|
|
d2 = 0;
|
|
|
|
wait(0.1);
|
|
|
|
if (d1 != 0) {
|
2014-09-23 09:53:25 +00:00
|
|
|
printf("MBED: Fourth check failed! d1 is %d\n", (int)d1);
|
2014-06-19 16:14:29 +00:00
|
|
|
check = false;
|
|
|
|
}
|
2013-06-27 21:20:47 +00:00
|
|
|
|
2015-02-11 10:37:03 +00:00
|
|
|
MBED_HOSTTEST_RESULT(check);
|
2013-02-18 15:32:11 +00:00
|
|
|
}
|