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: MODSERIAL mbed QEI feed_forward
Fork of feed_forward by
main.cpp
- Committer:
- DiondeGreef
- Date:
- 2017-10-11
- Revision:
- 2:a64e3c37b571
- Parent:
- 1:92a60278860a
File content as of revision 2:a64e3c37b571:
#include "mbed.h"
#include "MODSERIAL.h"
#include "math.h"
DigitalOut Ledr(LED_RED);
DigitalOut Ledg(LED_GREEN);
DigitalOut Ledb(LED_BLUE);
PwmOut motorSpeed(D13);
PwmOut motorSpeed2(D12);
InterruptIn Button1(PTC6);
Ticker tick;
enum states{Close, Open};
states CurrentState = Open;
int i = 0;
int j = 0;
void Change()
{
if(CurrentState == Close){
CurrentState = Open;
}
else{
CurrentState = Close;
}
}
void ProcessStateMachine(void)
{
switch (CurrentState)
{
case Close:
if(j <= 34){
motorSpeed.write(0);
motorSpeed2.write(0);
j++;
}
else if (j == 35){
motorSpeed.write(1);
motorSpeed2.write(0);
j++;
}
else if (j == 36){
motorSpeed.write(1);
motorSpeed2.write(0);
j++;
}
else if (j == 37){
motorSpeed.write(1);
motorSpeed2.write(0);
j++;
}
else if (j == 38){
motorSpeed.write(1);
motorSpeed2.write(0);
j++;
}
else if (j == 39){
motorSpeed.write(1);
motorSpeed2.write(1);
j = 0;
}
Ledr = 0;
Ledg = 1;
Ledb = 1;
break;
case Open:
if(j <= 34){
motorSpeed.write(0);
motorSpeed2.write(0);
j++;
}
else if (j == 35){
motorSpeed.write(0);
motorSpeed2.write(1);
j++;
}
else if (j == 36){
motorSpeed.write(0);
motorSpeed2.write(1);
j++;
}
else if (j == 37){
motorSpeed.write(0);
motorSpeed2.write(1);
j++;
}
else if (j == 38){
motorSpeed.write(0);
motorSpeed2.write(1);
j++;
}
else if (j == 39){
motorSpeed.write(1);
motorSpeed2.write(1);
j = 0;
}
Ledr = 1;
Ledg = 1;
Ledb = 0;
break;
default:
Ledr = 1;
Ledg = 0;
Ledb = 1;
}
}
int main() {
tick.attach(ProcessStateMachine, 0.0005);
Ledr = 1;
Ledg = 1;
Ledb = 1;
while (true)
{
Button1.rise(&Change);
}
}
