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.
Revision 4:66f9e62de78e, committed 2020-10-27
- Comitter:
- joes
- Date:
- Tue Oct 27 12:47:27 2020 +0000
- Parent:
- 3:84cd01f2ee7d
- Commit message:
- Uloha2CV04;
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Oct 26 21:26:10 2020 +0000 +++ b/main.cpp Tue Oct 27 12:47:27 2020 +0000 @@ -1,7 +1,13 @@ #include "mbed.h" #include "MyLed.h" +#include <string> +#include <sstream> +#include <iostream> +#include <stdio.h> +#include <stdlib.h> -#define TICKER_TIME 60.0 // ticker period (1 second) + +#define TICKER_TIME 1.0 // ticker period (1 second) MyLed led(LED1); // TO DO: implement methotds and use this class @@ -32,38 +38,72 @@ counter = 0; } } +PwmOut pwm(LED1); + +using namespace std; int main() { pc.printf("\r\n----- Start of application ----- \r\n"); // led = 0; - ticker.attach(&OnTick,TICKER_TIME); + //ticker.attach(&OnTick,TICKER_TIME); sw.rise(&RiseHandler); char z; + string a; + char buffer[128]; + buffer[0]='\0'; + uint32_t cislo; uint8_t period; + int len = 0; + int k; + int brightness = 0; + char pwmTxt[] = "pwm\r"; while (true) { if(btnPressed) { pc.printf("Button was pressed. \r\n"); btnPressed = false; } - if(tick) { + /*if(tick) { pc. printf("Counter value : %d \r\n", counter); tick = false; - } - /* + }*/ + if(pc.readable()) { z = pc.getc(); - pc.printf("Pressed key : %c \r\n", z); - period = z - '0'; - if ((period >=0 )&&(period<=9)) { - pc.printf("\r\nperiod: %d \r\n",period); - led.SetBlinkPeriod(period); - } else - pc.printf("you entered the wrong value. \r\n"); - }*/ + buffer[len++] = z; + buffer[len] = '\0'; + + if(z == '\r') { + pc.printf("%s\r\n",buffer); + len = 0; + + if(strcmp(buffer,pwmTxt)==0){ + while(1){ + for(int brightness=0; brightness<=100; brightness+=5){ + pwm=(brightness/100.0); + ThisThread::sleep_for(50); + } + for(int brightness=100; brightness>=0; brightness-=5){ + pwm=(brightness/100.0); + ThisThread::sleep_for(50); + } + } + } + else{ + cislo = std::atoi(buffer); + if((cislo>=0)&&(cislo<=100)){ + pwm.write(cislo/100.0); + } + else + pwm.write(1.0); + } + + } + } } + } \ No newline at end of file