project enzo / Mbed 2 deprecated Nucleo_ticker

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 Ticker lidar;
00004 Ticker serial;
00005 
00006 Serial pc(USBTX, USBRX);
00007 
00008 DigitalOut led1(LED1);
00009 DigitalOut steppera (D2);
00010 DigitalOut stepperb (D3);
00011 DigitalOut stepperc (D4);
00012 DigitalOut stepperd (D5);
00013 
00014 int stapmode = 0;
00015 int position = 0;
00016 int pos;
00017 
00018 // poar neemn
00019 // twee poar neemn
00020 // twee tettn in n envelop
00021 
00022 int stepper(int stapmode)
00023 {
00024     switch (stapmode) {
00025         case 0:
00026             steppera = 1;
00027             stepperb = 0;
00028             stepperc = 1;
00029             stepperd = 0;
00030             pos ++;
00031             break;
00032         case 1:
00033             steppera = 1;
00034             stepperb = 0;
00035             stepperc = 0;
00036             stepperd = 1;
00037             pos ++;
00038             break;
00039         case 2:
00040             steppera = 0;
00041             stepperb = 1;
00042             stepperc = 0;
00043             stepperd = 1;
00044             pos ++;
00045             break;
00046         case 3:
00047             steppera = 0;
00048             stepperb = 1;
00049             stepperc = 1;
00050             stepperd = 0;
00051             pos ++;
00052             break;
00053             ;
00054     }
00055     if (pos > 360) {
00056             pos = 0;
00057             }
00058     return pos;
00059     
00060 }
00061 
00062 void run_serial()  //deze functie word periodiek aangeroepen om de stappenmotor te draaien en de afstand te meten
00063 {
00064     
00065     pc.printf("%d\n",position);
00066 }
00067 
00068 void run_lidar()  //deze functie word periodiek aangeroepen om de stappenmotor te draaien en de afstand te meten
00069 {
00070     stapmode ++;
00071     if (stapmode > 3) {
00072         stapmode = 0;
00073     }
00074     position = stepper(stapmode);
00075 }
00076 
00077 int main()
00078 {
00079     lidar.attach(&run_lidar, 0.0001);
00080     serial.attach(&run_serial, 0.2);
00081     while (true) {
00082         //doe maar wat leuks
00083         led1 = !led1;
00084         wait_ms (500);
00085     }
00086 
00087 
00088 }