My fork of the DGWWebServer (working)

Dependencies:   FATFileSystem HTTPServer RingBuffer SDFileSystem mbed

Committer:
screamer
Date:
Tue Nov 20 12:21:48 2012 +0000
Revision:
1:1abf87ed75f1
Parent:
0:f5e843f0507e
Published libraries

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:f5e843f0507e 1 #include "SDFileSystem.h"
screamer 0:f5e843f0507e 2
screamer 0:f5e843f0507e 3 #include "mbed.h"
screamer 0:f5e843f0507e 4
screamer 0:f5e843f0507e 5 #include "HTTPServer.h"
screamer 0:f5e843f0507e 6
screamer 0:f5e843f0507e 7 #include "HTTPRPC.h"
screamer 0:f5e843f0507e 8 #include "HTTPFS.h"
screamer 0:f5e843f0507e 9 #include "HTTPStaticPage.h"
screamer 0:f5e843f0507e 10
screamer 0:f5e843f0507e 11 #include "SDFileSystem.h"
screamer 0:f5e843f0507e 12
screamer 0:f5e843f0507e 13 #include <string.h>
screamer 0:f5e843f0507e 14
screamer 0:f5e843f0507e 15 const char content[] = "<HTML><BODY><H1>Hello World</H1></BODY></HTML>";
screamer 0:f5e843f0507e 16
screamer 0:f5e843f0507e 17 HTTPServer http;
screamer 0:f5e843f0507e 18 DigitalOut myled1(LED1), myled2(LED2), myled3(LED3), myled4(LED4);
screamer 0:f5e843f0507e 19 LocalFileSystem local("local");
screamer 0:f5e843f0507e 20 SDFileSystem sd(p5, p6, p7, p8, "sd");
screamer 0:f5e843f0507e 21
screamer 0:f5e843f0507e 22 void SetConsole38400(void)
screamer 0:f5e843f0507e 23 {
screamer 0:f5e843f0507e 24 uint8_t lcrSave = LPC_UART0->LCR;
screamer 0:f5e843f0507e 25 LPC_UART0->LCR |= 0x80;
screamer 0:f5e843f0507e 26 uint16_t oldDLValue = LPC_UART0->DLM * 256 + LPC_UART0->DLL;
screamer 0:f5e843f0507e 27 uint8_t oldFDRValue = LPC_UART0->FDR;
screamer 0:f5e843f0507e 28 LPC_UART0->DLM = 125 / 256;
screamer 0:f5e843f0507e 29 LPC_UART0->DLL = 125;
screamer 0:f5e843f0507e 30 LPC_UART0->LCR = lcrSave;
screamer 0:f5e843f0507e 31 LPC_UART0->FDR = 0x41;
screamer 0:f5e843f0507e 32 printf("UART0 old DL %d FDR %d %d\r\n", oldDLValue, oldFDRValue >> 4, oldDLValue & 0x0F);
screamer 0:f5e843f0507e 33 }
screamer 0:f5e843f0507e 34
screamer 0:f5e843f0507e 35 int main(void) {
screamer 0:f5e843f0507e 36 myled1 = 1;
screamer 0:f5e843f0507e 37 printf("\r\n----------------------------------------------------\n\r");
screamer 0:f5e843f0507e 38 printf("\r\nWe have ignition - make sure Ethernet is connected!\n\r");
screamer 0:f5e843f0507e 39 http.addHandler(new HTTPStaticPage("/test.htm", content, strlen(content)));
screamer 0:f5e843f0507e 40 printf("HTTPStaticPage added\n\r");
screamer 0:f5e843f0507e 41 http.addHandler(new HTTPRPC());
screamer 0:f5e843f0507e 42 printf("HTTPRPC added\n\r");
screamer 0:f5e843f0507e 43 http.addHandler(new HTTPFileSystemHandler("/", "/local/"));
screamer 0:f5e843f0507e 44 printf("HTTPFileSystemHandler added for /local/ \n\r");
screamer 0:f5e843f0507e 45 http.addHandler(new HTTPFileSystemHandler("/sdcard/", "/sd/"));
screamer 0:f5e843f0507e 46 printf("HTTPFileSystemHandler added for /sd/ \n\r");
screamer 0:f5e843f0507e 47 http.bind();
screamer 0:f5e843f0507e 48 printf("bind\n\r");
screamer 0:f5e843f0507e 49 NetServer *net = NetServer::get();
screamer 0:f5e843f0507e 50 printf("%hhu.%hhu.%hhu.%hhu\n\r", (net->getIPAddr().addr)&0xFF, (net->getIPAddr().addr>>8)&0xFF, (net->getIPAddr().addr>>16)&0xFF, (net->getIPAddr().addr>>24)&0xFF);
screamer 0:f5e843f0507e 51 while (1) {
screamer 0:f5e843f0507e 52 //wait_ms(1);
screamer 0:f5e843f0507e 53 wait_us(100);
screamer 0:f5e843f0507e 54 http.poll();
screamer 0:f5e843f0507e 55 myled2 = !myled2;
screamer 0:f5e843f0507e 56 // wait(0.1);
screamer 0:f5e843f0507e 57 }
screamer 0:f5e843f0507e 58 }