Suspended plotter for the skaperfest

Dependencies:   mbed HTTPServer EthernetNetIf FatFileSystemCpp

Committer:
rengro01
Date:
Mon Aug 22 10:24:23 2022 +0000
Revision:
0:602ff2b2d41c
skaperfest

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rengro01 0:602ff2b2d41c 1 #include "mbed.h"
rengro01 0:602ff2b2d41c 2 #include "MSCFileSystem.h"
rengro01 0:602ff2b2d41c 3 #include "EthernetNetIf.h"
rengro01 0:602ff2b2d41c 4 #include "HTTPServer.h"
rengro01 0:602ff2b2d41c 5 #include "UploadHandler.hpp"
rengro01 0:602ff2b2d41c 6 #include "HomePageHandler.hpp"
rengro01 0:602ff2b2d41c 7
rengro01 0:602ff2b2d41c 8 MSCFileSystem msc("usb");
rengro01 0:602ff2b2d41c 9 Serial pc(USBTX, USBRX);
rengro01 0:602ff2b2d41c 10 DigitalOut myled(LED1);
rengro01 0:602ff2b2d41c 11
rengro01 0:602ff2b2d41c 12 #if 0
rengro01 0:602ff2b2d41c 13 IpAddr ip(10,0,0,85);
rengro01 0:602ff2b2d41c 14 IpAddr netmask(255,255,255,0);
rengro01 0:602ff2b2d41c 15 IpAddr nullip(0,0,0,0);
rengro01 0:602ff2b2d41c 16 EthernetNetIf eth(ip, netmask, nullip, nullip);
rengro01 0:602ff2b2d41c 17 #else
rengro01 0:602ff2b2d41c 18 EthernetNetIf eth;
rengro01 0:602ff2b2d41c 19 #endif
rengro01 0:602ff2b2d41c 20
rengro01 0:602ff2b2d41c 21 HTTPServer svr;
rengro01 0:602ff2b2d41c 22
rengro01 0:602ff2b2d41c 23 int main()
rengro01 0:602ff2b2d41c 24 {
rengro01 0:602ff2b2d41c 25 pc.baud(115200);
rengro01 0:602ff2b2d41c 26 printf("Suspended Plotter\n\r");
rengro01 0:602ff2b2d41c 27
rengro01 0:602ff2b2d41c 28 printf("Setting up...\n\r");
rengro01 0:602ff2b2d41c 29 EthernetErr ethErr = eth.setup();
rengro01 0:602ff2b2d41c 30 if(ethErr)
rengro01 0:602ff2b2d41c 31 {
rengro01 0:602ff2b2d41c 32 printf("Error %d in setup.\n\r", ethErr);
rengro01 0:602ff2b2d41c 33 return -1;
rengro01 0:602ff2b2d41c 34 }
rengro01 0:602ff2b2d41c 35 printf("Setup OK\n\r");
rengro01 0:602ff2b2d41c 36
rengro01 0:602ff2b2d41c 37 svr.addHandler<HomePageHandler>("/");
rengro01 0:602ff2b2d41c 38 svr.addHandler<UploadHandler>("/upload");
rengro01 0:602ff2b2d41c 39 svr.bind(80);
rengro01 0:602ff2b2d41c 40
rengro01 0:602ff2b2d41c 41 printf("Listening...\n\r");
rengro01 0:602ff2b2d41c 42
rengro01 0:602ff2b2d41c 43 Timer tm;
rengro01 0:602ff2b2d41c 44 tm.start();
rengro01 0:602ff2b2d41c 45
rengro01 0:602ff2b2d41c 46 while (true)
rengro01 0:602ff2b2d41c 47 {
rengro01 0:602ff2b2d41c 48 IpAddr ip = eth.getIp();
rengro01 0:602ff2b2d41c 49 printf("Connected as: %d.%d.%d.%d\n\r", ip[0], ip[1], ip[2], ip[3]);
rengro01 0:602ff2b2d41c 50 Net::poll();
rengro01 0:602ff2b2d41c 51 if(tm.read()>.5)
rengro01 0:602ff2b2d41c 52 {
rengro01 0:602ff2b2d41c 53 //Show that we are alive
rengro01 0:602ff2b2d41c 54 myled=!myled;
rengro01 0:602ff2b2d41c 55 tm.start();
rengro01 0:602ff2b2d41c 56 }
rengro01 0:602ff2b2d41c 57
rengro01 0:602ff2b2d41c 58 }
rengro01 0:602ff2b2d41c 59 }