Marco Oehler
/
Lab5
ROME 2 Lab5
Main.cpp
- Committer:
- oehlemar
- Date:
- 2020-06-12
- Revision:
- 1:5201940a41c1
- Parent:
- 0:893a1e710078
File content as of revision 1:5201940a41c1:
/* * Main.cpp * Copyright (c) 2020, ZHAW * All rights reserved. */ #include <mbed.h> #include <EthernetInterface.h> #include "LIDAR.h" #include "HTTPServer.h" #include "HTTPScriptLIDAR.h" int main() { // initialise digital inputs and outputs printf("Initialise digital inputs and outputs...\r\n"); DigitalIn button(USER_BUTTON); DigitalOut ledGreen(LED1); DigitalOut ledBlue(LED2); DigitalOut ledRed(LED3); // create LIDAR device driver printf("Create LIDAR device driver...\r\n"); PwmOut pwm(PE_9); pwm.period(0.00005f); pwm.write(0.5f); ThisThread::sleep_for(500); RawSerial serial(PG_14, PG_9); LIDAR lidar(serial); // create ethernet interface and webserver printf("Create ethernet interface and webserver (please wait!)...\r\n"); EthernetInterface* ethernet = new EthernetInterface(); ethernet->set_network("192.168.201.44", "255.255.255.0", "169.168.201.1"); // configure IP address, netmask and gateway address ethernet->connect(); HTTPServer* httpServer = new HTTPServer(*ethernet); httpServer->add("lidar", new HTTPScriptLIDAR(lidar)); // enter main loop printf("Enter main loop...\r\n"); while (true) { Timer timer; timer.start(); lidar.getBeacons(); int duration = timer.read_us(); printf("Zeit für getBeacons: %d \r\n",duration); timer.reset(); ThisThread::sleep_for(100); // set LEDs on microcontroller ledGreen = 1; ledBlue = 0; ledRed = 0; ThisThread::sleep_for(100); ledGreen = 0; ledBlue = 1; ledRed = 0; ThisThread::sleep_for(100); ledGreen = 0; ledBlue = 0; ledRed = 1; ThisThread::sleep_for(100); } }