fancy lampje

Dependencies:   mbed QEI HIDScope biquadFilter MODSERIAL FXOS8700Q FastPWM

main.cpp

Committer:
MatthewMaat
Date:
2019-09-11
Revision:
5:cee5f898b350
Parent:
4:f988679bf9a1
Child:
7:a32766b96d91

File content as of revision 5:cee5f898b350:

#include "mbed.h"
//#include "HIDScope.h"
//#include "QEI.h"
#include "MODSERIAL.h"
//#include "BiQuad.h"
//#include "FastPWM.h"
#include <iostream>
MODSERIAL pc(USBTX, USBRX);
DigitalOut ledred(LED_RED);
DigitalOut ledblue(LED_BLUE);
DigitalOut ledgreen(LED_GREEN);
InterruptIn button(SW2);



Ticker Theticker;
volatile char c='x';
volatile int color=0;
void PrintColor(void)
{
    switch(c)
    {
        case 'r':
        pc.printf("Red");
        break;
        case 'g':
        pc.printf("Green");
        break;
        case 'b':
        pc.printf("Blue");
        break;
        case 'd':
        pc.printf("Disco");
        break;
        default:
        pc.printf("Unknown");
    }
}
void Take_Measurement(void)
{
    if (c=='r')
    {
        ledred=!ledred;
    }
    else if (c=='g')
    {
        ledgreen=!ledgreen;
    }
    else if (c=='b')
    {
        ledblue=!ledblue;
    }
    else if (c=='d')
    {
        color+=1;
        ledred=!ledred;
        if (color%2==0)
        {
        ledgreen=!ledgreen;
        }
        if (color%4==0)
        {
        ledblue=!ledblue;
        }
    }
    else
    {
        ledred=1;
        ledgreen=1;
        ledblue=1;
    }
}

int main()
{
    button.fall(&PrintColor);
    ledred=1;
    ledgreen=1;
    ledblue=1;
    Theticker.attach(Take_Measurement,0.05);
    int countr;
    pc.baud(115200);
    pc.printf("\r\nStarting...\r\n\r\n");
    pc.printf("Enter the color that has to blink:\r\n");
    c=pc.getc();
    pc.printf("Color picked: '%c'\r\nNow counting so the system does something:\r\n",c);
    while (true) {
        countr+=1;
        pc.printf("%i\r\n",countr);
        wait_ms(500);
    }
}