Rtos API example

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "test_env.h"
00002 
00003 #if defined(TARGET_LPC1114)
00004 DigitalInOut d1(dp1);
00005 DigitalInOut d2(dp2);
00006 
00007 #elif defined(TARGET_LPC1549)
00008 // TARGET_FF_ARDUINO cannot be used, because D0 is used as USBRX (USB serial
00009 // port pin), D1 is used as USBTX
00010 DigitalInOut d1(D2);
00011 DigitalInOut d2(D7);
00012 
00013 #elif defined(TARGET_STM) && defined(TARGET_FF_ARDUINO)
00014 // TARGET_FF_ARDUINO cannot be used
00015 // D0 is used as USBRX for some NUCLEO64
00016 // D7 is not used for some NUCLEO32
00017 DigitalInOut d1(D3);
00018 DigitalInOut d2(D2);
00019 
00020 #elif defined(TARGET_DISCO_L053C8) || \
00021       defined(TARGET_DISCO_F334C8)
00022 DigitalInOut d1(PA_15);
00023 DigitalInOut d2(PA_8);
00024 
00025 #elif defined(TARGET_DISCO_L476VG)
00026 DigitalInOut d1(PA_1);
00027 DigitalInOut d2(PA_2);
00028 
00029 #elif defined(TARGET_ARCH_MAX) || \
00030       defined(TARGET_DISCO_F407VG) || \
00031       defined(TARGET_DISCO_F429ZI)|| \
00032       defined(TARGET_DISCO_F401VC)
00033 DigitalInOut d1(PC_12);
00034 DigitalInOut d2(PD_0);
00035 
00036 #elif defined(TARGET_FF_ARDUINO)
00037 DigitalInOut d1(D0);
00038 DigitalInOut d2(D7);
00039 
00040 #elif defined(TARGET_MAXWSNENV)
00041 DigitalInOut d1(TP3);
00042 DigitalInOut d2(TP4);
00043 
00044 #elif defined(TARGET_MAX32600MBED)
00045 DigitalInOut d1(P1_0);
00046 DigitalInOut d2(P4_7);
00047 
00048 #elif defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32GG_STK3700) || defined(TARGET_EFM32WG_STK3800)
00049 DigitalInOut d1(PD0);
00050 DigitalInOut d2(PC3);
00051 
00052 #elif defined(TARGET_EFM32ZG_STK3200)
00053 DigitalInOut d1(PD7);
00054 DigitalInOut d2(PC1);
00055 
00056 #elif defined(TARGET_EFM32HG_STK3400)
00057 DigitalInOut d1(PE10);
00058 DigitalInOut d2(PC1);
00059 
00060 #elif defined(TARGET_EFM32PG_STK3401)
00061 DigitalInOut d1(PC6);
00062 DigitalInOut d2(PA3);
00063 
00064 #elif defined(TARGET_SAMR21G18A) || defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A)
00065 DigitalInOut d1(PB02);
00066 DigitalInOut d2(PB03);
00067 
00068 #elif defined(TARGET_SAML21J18A)
00069 DigitalInOut d1(PA06);
00070 DigitalInOut d2(PA07);
00071 
00072 #elif defined(TARGET_SAMG55J19)
00073 DigitalInOut d1(PA18);
00074 DigitalInOut d2(PA17);
00075 
00076 #elif defined(TARGET_VK_RZ_A1H)
00077 DigitalInOut d1(P3_2);
00078 DigitalInOut d2(P5_6);
00079 
00080 #else
00081 DigitalInOut d1(p5);
00082 DigitalInOut d2(p25);
00083 
00084 #endif
00085 
00086 
00087 int main()
00088 {
00089     MBED_HOSTTEST_TIMEOUT(10);
00090     MBED_HOSTTEST_SELECT(default_auto);
00091     MBED_HOSTTEST_DESCRIPTION(DigitalInOut);
00092     MBED_HOSTTEST_START("MBED_A6");
00093 
00094     bool check = true;
00095 
00096     d1.output();
00097     d2.input();
00098     d1 = 1;
00099     wait(0.1);
00100     if (d2 != 1) {
00101         printf("MBED: First check failed! d2 is %d\n", (int)d2);
00102         check = false;
00103     }
00104     d1 = 0;
00105     wait(0.1);
00106     if (d2 != 0) {
00107         printf("MBED: Second check failed! d2 is %d\n", (int)d2);
00108         check = false;
00109     }
00110 
00111     d1.input();
00112     d2.output();
00113     d2 = 1;
00114     wait(0.1);
00115     if (d1 != 1) {
00116         printf("MBED: Third check failed! d1 is %d\n", (int)d1);
00117         check = false;
00118     }
00119     d2 = 0;
00120     wait(0.1);
00121     if (d1 != 0) {
00122         printf("MBED: Fourth check failed! d1 is %d\n", (int)d1);
00123         check = false;
00124     }
00125 
00126     MBED_HOSTTEST_RESULT(check);
00127 }