Given LED PinName and blink interval, spawns a thread that blinks that LED at the specified interval
Dependents: Blinky_Tests Blinky_Tests_GreenTea1
Blinky.h
00001 /* mbed blinky 00002 * 00003 * Permission is hereby granted, free of charge, to any person obtaining a copy 00004 * of this software and associated documentation files (the "Software"), to deal 00005 * in the Software without restriction, including without limitation the rights 00006 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00007 * copies of the Software, and to permit persons to whom the Software is 00008 * furnished to do so, subject to the following conditions: 00009 * 00010 * The above copyright notice and this permission notice shall be included in 00011 * all copies or substantial portions of the Software. 00012 * 00013 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00014 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00015 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00016 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00017 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00018 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00019 * THE SOFTWARE. 00020 */ 00021 #ifndef MBED_BLINKY_H 00022 #define MBED_BLINKY_H 00023 #include "mbed.h" 00024 #include "rtos.h" 00025 00026 /** Interface to start a thread that blinks an LED 00027 */ 00028 class Blinky { 00029 public: 00030 /** Create a Blinky 00031 * 00032 * @param led A PinName, the pin name of the LED to blink 00033 * @param interval A int, the interval of time between LED blinks 00034 */ 00035 Blinky(PinName led, int interval); 00036 /**Start a thread executing blink_led*/ 00037 void start(); 00038 /**Terminate the thread blinking the LED*/ 00039 void stop(); 00040 00041 protected: 00042 /**Function to blink the LED*/ 00043 void blink_led(); 00044 /**Thread to execute blink_led*/ 00045 Thread _blinker; 00046 /**LED to blink */ 00047 DigitalOut _led; 00048 /**Interval of time between blinks*/ 00049 int _interval; 00050 /**Bool to stop blinking LED */ 00051 bool stop_blink; 00052 }; 00053 #endif 00054 00055
Generated on Tue Jul 12 2022 19:56:34 by 1.7.2