Committer:
oehlemar
Date:
Tue Apr 28 13:59:27 2020 +0000
Revision:
0:893a1e710078
Child:
1:5201940a41c1
initial publish

Who changed what in which revision?

UserRevisionLine numberNew contents of line
oehlemar 0:893a1e710078 1 /*
oehlemar 0:893a1e710078 2 * Main.cpp
oehlemar 0:893a1e710078 3 * Copyright (c) 2020, ZHAW
oehlemar 0:893a1e710078 4 * All rights reserved.
oehlemar 0:893a1e710078 5 */
oehlemar 0:893a1e710078 6
oehlemar 0:893a1e710078 7 #include <mbed.h>
oehlemar 0:893a1e710078 8 #include <EthernetInterface.h>
oehlemar 0:893a1e710078 9 #include "LIDAR.h"
oehlemar 0:893a1e710078 10 #include "HTTPServer.h"
oehlemar 0:893a1e710078 11 #include "HTTPScriptLIDAR.h"
oehlemar 0:893a1e710078 12
oehlemar 0:893a1e710078 13 int main() {
oehlemar 0:893a1e710078 14
oehlemar 0:893a1e710078 15 // initialise digital inputs and outputs
oehlemar 0:893a1e710078 16
oehlemar 0:893a1e710078 17 printf("Initialise digital inputs and outputs...\r\n");
oehlemar 0:893a1e710078 18
oehlemar 0:893a1e710078 19 DigitalIn button(USER_BUTTON);
oehlemar 0:893a1e710078 20
oehlemar 0:893a1e710078 21 DigitalOut ledGreen(LED1);
oehlemar 0:893a1e710078 22 DigitalOut ledBlue(LED2);
oehlemar 0:893a1e710078 23 DigitalOut ledRed(LED3);
oehlemar 0:893a1e710078 24
oehlemar 0:893a1e710078 25 // create LIDAR device driver
oehlemar 0:893a1e710078 26
oehlemar 0:893a1e710078 27 printf("Create LIDAR device driver...\r\n");
oehlemar 0:893a1e710078 28
oehlemar 0:893a1e710078 29 PwmOut pwm(PE_9);
oehlemar 0:893a1e710078 30 pwm.period(0.00005f);
oehlemar 0:893a1e710078 31 pwm.write(0.5f);
oehlemar 0:893a1e710078 32
oehlemar 0:893a1e710078 33 ThisThread::sleep_for(500);
oehlemar 0:893a1e710078 34
oehlemar 0:893a1e710078 35 RawSerial serial(PG_14, PG_9);
oehlemar 0:893a1e710078 36 LIDAR lidar(serial);
oehlemar 0:893a1e710078 37
oehlemar 0:893a1e710078 38 // create ethernet interface and webserver
oehlemar 0:893a1e710078 39
oehlemar 0:893a1e710078 40 printf("Create ethernet interface and webserver (please wait!)...\r\n");
oehlemar 0:893a1e710078 41
oehlemar 0:893a1e710078 42 EthernetInterface* ethernet = new EthernetInterface();
oehlemar 0:893a1e710078 43 ethernet->set_network("169.254.20.110", "255.255.0.0", "0.0.0.0"); // configure IP address, netmask and gateway address
oehlemar 0:893a1e710078 44 ethernet->connect();
oehlemar 0:893a1e710078 45
oehlemar 0:893a1e710078 46 HTTPServer* httpServer = new HTTPServer(*ethernet);
oehlemar 0:893a1e710078 47 httpServer->add("lidar", new HTTPScriptLIDAR(lidar));
oehlemar 0:893a1e710078 48
oehlemar 0:893a1e710078 49 // enter main loop
oehlemar 0:893a1e710078 50
oehlemar 0:893a1e710078 51 printf("Enter main loop...\r\n");
oehlemar 0:893a1e710078 52
oehlemar 0:893a1e710078 53 while (true) {
oehlemar 0:893a1e710078 54
oehlemar 0:893a1e710078 55 // set LEDs on microcontroller
oehlemar 0:893a1e710078 56
oehlemar 0:893a1e710078 57 ledGreen = 1;
oehlemar 0:893a1e710078 58 ledBlue = 0;
oehlemar 0:893a1e710078 59 ledRed = 0;
oehlemar 0:893a1e710078 60
oehlemar 0:893a1e710078 61 ThisThread::sleep_for(100);
oehlemar 0:893a1e710078 62
oehlemar 0:893a1e710078 63 ledGreen = 0;
oehlemar 0:893a1e710078 64 ledBlue = 1;
oehlemar 0:893a1e710078 65 ledRed = 0;
oehlemar 0:893a1e710078 66
oehlemar 0:893a1e710078 67 ThisThread::sleep_for(100);
oehlemar 0:893a1e710078 68
oehlemar 0:893a1e710078 69 ledGreen = 0;
oehlemar 0:893a1e710078 70 ledBlue = 0;
oehlemar 0:893a1e710078 71 ledRed = 1;
oehlemar 0:893a1e710078 72
oehlemar 0:893a1e710078 73 ThisThread::sleep_for(100);
oehlemar 0:893a1e710078 74 }
oehlemar 0:893a1e710078 75 }
oehlemar 0:893a1e710078 76