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.
Dependencies: mail-driven-task mbed-rtos mbed-src
led_task.cpp
00001 #include "Task.h" 00002 #include "taskdef.h" 00003 00004 DigitalOut led1(LED1); 00005 RtosTimer *blinkTimer; 00006 extern void ledToggle(void const *n); 00007 00008 inline void ledTaskInit() 00009 { 00010 led1 = 1; 00011 blinkTimer = new RtosTimer(ledToggle, osTimerPeriodic, NULL); 00012 } 00013 00014 void ledToggle(void const *n) 00015 { 00016 led1 = !led1; 00017 } 00018 00019 void ledTaskMain(void const *argument) 00020 { 00021 Task *self = (Task *)argument; 00022 00023 ledTaskInit(); 00024 00025 while (true) { 00026 MailPacket *mail = self->waitMail(); 00027 switch(mail->messageId) { 00028 case TMSG_LED_TURNON: 00029 self->log(LOG_DEBUG, "TURNON"); 00030 led1 = 0; 00031 break; 00032 case TMSG_LED_TURNOFF: 00033 self->log(LOG_DEBUG, "TURNOFF"); 00034 led1 = 1; 00035 break; 00036 case TMSG_LED_START_BLINK: 00037 self->log(LOG_DEBUG, "START_BLINK"); 00038 blinkTimer->start(1000); 00039 break; 00040 case TMSG_LED_STOP_BLINK: 00041 self->log(LOG_DEBUG, "STOP_BLINK"); 00042 blinkTimer->stop(); 00043 Task::sendMail(TID_LED, TMSG_LED_TURNOFF, NULL); 00044 break; 00045 default: 00046 break; 00047 } 00048 self->deleteMail(mail); 00049 } 00050 }
Generated on Fri Jul 15 2022 21:05:39 by
