Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
led_tsk.cpp
00001 /* 00002 # 2017/02: Changed for mbed-scli-test 00003 # Copyright (C) 2010-2014, audin 00004 # 2014/02: Modify for mbed for CQ LPC11U35 00005 # 2013/08: Modify for mbed for LPC1114FN28 00006 # 2013/07: Modify for LPCOpen Platform. 00007 # 2011/04, 2012/11 00008 # 2010/11 00009 # http://avr.paslog.jp 00010 # This file is licensed under the MIT License. 00011 # 00012 */ 00013 00014 #include "mbed.h" 00015 #include "led_tsk.h" 00016 #include "Scheduler.h" 00017 00018 00019 DigitalOut led1(LED1); 00020 00021 #define led1_on() led1=0 /* Negative on */ 00022 #define led1_off() led1=1 00023 00024 /******************* 00025 00026 * Fake PWM class 00027 00028 *******************/ 00029 static void pwm_elm( int ms, int max_ms, DigitalOut *led ) 00030 { 00031 *led=0; // negative on 00032 taskWait( ms ); 00033 *led=1; 00034 taskWait( max_ms - ms); 00035 } 00036 00037 class pwm_fake_t 00038 { 00039 int max_val, val, MIN_VAL, dir, speed; 00040 DigitalOut *led; 00041 public: 00042 pwm_fake_t(DigitalOut *_led, int _speed) { 00043 max_val = speed = _speed; 00044 val = MIN_VAL = 0; 00045 dir =1; 00046 led = _led; 00047 } 00048 void run() { 00049 if( ( val >= max_val) || ( val <= MIN_VAL) ) { 00050 max_val = speed;//sio_get_led_blink_speed() + 3 ; // change period 00051 max_val <<= 1; // adjust time 00052 if( val <= MIN_VAL ) { 00053 dir = 1; 00054 taskWait( 1000 ); // wait 1src if led off 00055 } else { 00056 dir = -1; 00057 val = max_val; 00058 } 00059 } 00060 val += dir; 00061 pwm_elm( val, max_val, led ); 00062 } 00063 }; 00064 00065 /******************* 00066 00067 * LED1 task 00068 00069 *******************/ 00070 void led1_task( void ) 00071 { 00072 led1_off(); 00073 pwm_fake_t pwm_led( &led1, 10+3); 00074 while( 1 ) { 00075 pwm_led.run(); 00076 } 00077 } 00078 00079 00080
Generated on Tue Jul 12 2022 17:41:02 by
1.7.2