Lee Kai Xuan / mbed-os

Fork of mbed-os by erkin yucel

Committer:
xuaner
Date:
Thu Jul 20 14:26:57 2017 +0000
Revision:
1:3deb71413561
Parent:
0:f269e3021894
mbed_os

Who changed what in which revision?

UserRevisionLine numberNew contents of line
elessair 0:f269e3021894 1 #include "mbed.h"
elessair 0:f269e3021894 2
elessair 0:f269e3021894 3 #if defined(TARGET_K64F) || defined(TARGET_K66F)
elessair 0:f269e3021894 4 #define TEST_LED D9
elessair 0:f269e3021894 5
elessair 0:f269e3021894 6 #elif defined(TARGET_NUCLEO_F030R8) || \
elessair 0:f269e3021894 7 defined(TARGET_NUCLEO_F070RB) || \
elessair 0:f269e3021894 8 defined(TARGET_NUCLEO_F072RB) || \
elessair 0:f269e3021894 9 defined(TARGET_NUCLEO_F091RC) || \
elessair 0:f269e3021894 10 defined(TARGET_NUCLEO_F103RB) || \
elessair 0:f269e3021894 11 defined(TARGET_NUCLEO_F302R8) || \
elessair 0:f269e3021894 12 defined(TARGET_NUCLEO_F303RE) || \
elessair 0:f269e3021894 13 defined(TARGET_NUCLEO_F334R8) || \
elessair 0:f269e3021894 14 defined(TARGET_NUCLEO_F401RE) || \
elessair 0:f269e3021894 15 defined(TARGET_NUCLEO_F410RB) || \
elessair 0:f269e3021894 16 defined(TARGET_NUCLEO_F411RE) || \
elessair 0:f269e3021894 17 defined(TARGET_NUCLEO_L053R8) || \
elessair 0:f269e3021894 18 defined(TARGET_NUCLEO_L073RZ) || \
elessair 0:f269e3021894 19 defined(TARGET_NUCLEO_L152RE)
elessair 0:f269e3021894 20 #define TEST_LED D3
elessair 0:f269e3021894 21
elessair 0:f269e3021894 22 #elif defined (TARGET_K22F) || \
elessair 0:f269e3021894 23 defined(TARGET_KL27Z) || \
elessair 0:f269e3021894 24 defined (TARGET_LPC824)
elessair 0:f269e3021894 25 #define TEST_LED LED_GREEN
elessair 0:f269e3021894 26
elessair 0:f269e3021894 27 #elif defined (TARGET_MAXWSNENV)
elessair 0:f269e3021894 28 #define TEST_LED LED_GREEN
elessair 0:f269e3021894 29
elessair 0:f269e3021894 30 #elif defined (TARGET_DISCO_F407VG)
elessair 0:f269e3021894 31 #define TEST_LED LED1
elessair 0:f269e3021894 32
elessair 0:f269e3021894 33 #elif defined(TARGET_SAMR21G18A) || defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A)
elessair 0:f269e3021894 34 #define TEST_LED LED1
elessair 0:f269e3021894 35
elessair 0:f269e3021894 36 #elif defined(TARGET_SAMG55J19)
elessair 0:f269e3021894 37 #define TEST_LED PA01 /*LED in board doesnt have PWM functionality*/
elessair 0:f269e3021894 38
elessair 0:f269e3021894 39 #else
elessair 0:f269e3021894 40 #error [NOT_SUPPORTED] This test is not supported on this target
elessair 0:f269e3021894 41 #endif
elessair 0:f269e3021894 42
elessair 0:f269e3021894 43 PwmOut led(TEST_LED);
elessair 0:f269e3021894 44
elessair 0:f269e3021894 45 int main() {
elessair 0:f269e3021894 46 float crt = 1.0, delta = 0.05;
elessair 0:f269e3021894 47
elessair 0:f269e3021894 48 led.period_ms(2); // 500Hz
elessair 0:f269e3021894 49 while (true) {
elessair 0:f269e3021894 50 led.write(crt);
elessair 0:f269e3021894 51 wait_ms(50);
elessair 0:f269e3021894 52 crt = crt + delta;
elessair 0:f269e3021894 53 if (crt > 1.0) {
elessair 0:f269e3021894 54 crt = 1.0;
elessair 0:f269e3021894 55 delta = -delta;
elessair 0:f269e3021894 56 }
elessair 0:f269e3021894 57 else if (crt < 0) {
elessair 0:f269e3021894 58 crt = 0;
elessair 0:f269e3021894 59 delta = -delta;
elessair 0:f269e3021894 60 }
elessair 0:f269e3021894 61 }
elessair 0:f269e3021894 62 }