networking library files

Dependents:   ELEC350_Project2

Committer:
Swabey89
Date:
Wed Jan 02 19:45:02 2019 +0000
Revision:
10:b8214cc88e85
Parent:
9:e22fd5795831
Updated to use queues more

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Swabey89 3:71f9a18a216d 1 #ifndef MBED_NETWORKING_H
Swabey89 3:71f9a18a216d 2 #define MBED_NETWORKING_H
Swabey89 3:71f9a18a216d 3
Swabey89 3:71f9a18a216d 4 #include "mbed.h"
Swabey89 3:71f9a18a216d 5 #include "EthernetInterface.h"
Swabey89 3:71f9a18a216d 6 #include "TCPServer.h"
Swabey89 3:71f9a18a216d 7 #include "TCPSocket.h"
Swabey89 3:71f9a18a216d 8 #include <iostream>
Swabey89 3:71f9a18a216d 9 #include <string>
Swabey89 3:71f9a18a216d 10
Swabey89 3:71f9a18a216d 11
Swabey89 3:71f9a18a216d 12 #define HTTP_STATUS_LINE "HTTP/1.0 200 OK"
Swabey89 3:71f9a18a216d 13
Swabey89 3:71f9a18a216d 14 #define HTTP_HEADER_FIELDS "Content-Type: text/html; charset=utf-8"
Swabey89 3:71f9a18a216d 15
Swabey89 3:71f9a18a216d 16 #define HTTP_MESSAGE_BODY "" \
Swabey89 3:71f9a18a216d 17 " <html>" "\r\n" \
Swabey89 3:71f9a18a216d 18 " <head>" "\r\n" \
Swabey89 3:71f9a18a216d 19 " <style>" "\r\n" \
Swabey89 3:71f9a18a216d 20 " .title {" "\r\n" \
Swabey89 3:71f9a18a216d 21 " color: dodgerblue;" "\r\n" \
Swabey89 3:71f9a18a216d 22 " font-family: verdana;" "\r\n" \
Swabey89 3:71f9a18a216d 23 " text-align: center;" "\r\n" \
Swabey89 3:71f9a18a216d 24 " padding: 5px;" "\r\n" \
Swabey89 3:71f9a18a216d 25 " }" "\r\n" \
Swabey89 3:71f9a18a216d 26 " </style>" "\r\n" \
Swabey89 3:71f9a18a216d 27 " <style>" "\r\n" \
Swabey89 3:71f9a18a216d 28 " .textbox {" "\r\n" \
Swabey89 3:71f9a18a216d 29 " background-color: dodgerblue;" "\r\n" \
Swabey89 3:71f9a18a216d 30 " color: white;" "\r\n" \
Swabey89 3:71f9a18a216d 31 " font-family: verdana;" "\r\n" \
Swabey89 3:71f9a18a216d 32 " margin: 20px;" "\r\n" \
Swabey89 3:71f9a18a216d 33 " padding: 20px;" "\r\n" \
Swabey89 3:71f9a18a216d 34 " }" "\r\n" \
Swabey89 3:71f9a18a216d 35 " </style>" "\r\n" \
Swabey89 3:71f9a18a216d 36 " <style>" "\r\n" \
Swabey89 3:71f9a18a216d 37 " .footer {" "\r\n" \
Swabey89 3:71f9a18a216d 38 " color: dodgerblue;" "\r\n" \
Swabey89 3:71f9a18a216d 39 " font-family: verdana;" "\r\n" \
Swabey89 3:71f9a18a216d 40 " text-align: right;" "\r\n" \
Swabey89 3:71f9a18a216d 41 " padding: 20px;" "\r\n" \
Swabey89 3:71f9a18a216d 42 " }" "\r\n" \
Swabey89 3:71f9a18a216d 43 " </style>" "\r\n" \
Swabey89 3:71f9a18a216d 44 " </head>" "\r\n" \
Swabey89 3:71f9a18a216d 45 " <body>" "\r\n" \
Swabey89 3:71f9a18a216d 46
Swabey89 3:71f9a18a216d 47 #define HTTP_MESSAGE_TIME "" \
Swabey89 3:71f9a18a216d 48 " <div class=\"title\">" "\r\n" \
Swabey89 3:71f9a18a216d 49 " <h1>Environmental Sensor</h1>" "\r\n" \
Swabey89 3:71f9a18a216d 50 " <p>"
Swabey89 3:71f9a18a216d 51
Swabey89 3:71f9a18a216d 52 #define HTTP_MESSAGE_TEMP "" \
Swabey89 3:71f9a18a216d 53 " </p>" "\r\n" \
Swabey89 4:71e730ed7ee0 54 " </div>" "\r\n" \
Swabey89 5:b1f83bdeae79 55 " <div style=\"text-align: center\">" "\r\n" \
Swabey89 4:71e730ed7ee0 56 " <input type='button' onclick='location.reload();' value='Refresh Data' />" "\r\n" \
Swabey89 5:b1f83bdeae79 57 " </div>" "\r\n" \
Swabey89 3:71f9a18a216d 58 " <div class=\"textbox\">" "\r\n" \
Swabey89 3:71f9a18a216d 59 " <h2>Temperature (<sup>o</sup>C)</h2>" "\r\n" \
Swabey89 3:71f9a18a216d 60 " <p>"
Swabey89 3:71f9a18a216d 61
Swabey89 3:71f9a18a216d 62 #define HTTP_MESSAGE_PRESSURE "" \
Swabey89 4:71e730ed7ee0 63 " </p>" "\r\n" \
Swabey89 3:71f9a18a216d 64 " </div>" "\r\n" \
Swabey89 3:71f9a18a216d 65 " <div class=\"textbox\">" "\r\n" \
Swabey89 3:71f9a18a216d 66 " <h2>Pressure (mbar)</h2>" "\r\n" \
Swabey89 3:71f9a18a216d 67 " <p>"
Swabey89 3:71f9a18a216d 68
Swabey89 3:71f9a18a216d 69 #define HTTP_MESSAGE_LIGHT "" \
Swabey89 4:71e730ed7ee0 70 " </p>" "\r\n" \
Swabey89 4:71e730ed7ee0 71 " </div>" "\r\n" \
Swabey89 3:71f9a18a216d 72 " <div class=\"textbox\">" "\r\n" \
Swabey89 3:71f9a18a216d 73 " <h2>Light Level (%)</h2>" "\r\n" \
Swabey89 3:71f9a18a216d 74 " <p>"
Swabey89 3:71f9a18a216d 75
Swabey89 3:71f9a18a216d 76 #define HTTP_MESSAGE_FOOT "" \
Swabey89 4:71e730ed7ee0 77 " </p>" "\r\n" \
Swabey89 4:71e730ed7ee0 78 " </div>" "\r\n" \
Swabey89 3:71f9a18a216d 79 " <footer class=\"footer\">" "\r\n" \
Swabey89 3:71f9a18a216d 80 " <img src=\"https://cdn-edu.wpmhost.net/53544f/6bf071deb4/A1F4-0FF4-4F67-AE2B-9DAC.png\" width=\"250\" height=\"60\">" "\r\n" \
Swabey89 3:71f9a18a216d 81 " <p>ELEC350 - Low Power Environmental Sensor Coursework</p>" "\r\n" \
Swabey89 3:71f9a18a216d 82 " </footer>" "\r\n" \
Swabey89 3:71f9a18a216d 83 " </body>" "\r\n" \
Swabey89 3:71f9a18a216d 84 " </html>"
Swabey89 3:71f9a18a216d 85
Swabey89 3:71f9a18a216d 86 #define HTTP_RESPONSE HTTP_STATUS_LINE "\r\n" \
Swabey89 3:71f9a18a216d 87 HTTP_HEADER_FIELDS "\r\n" \
Swabey89 3:71f9a18a216d 88 "\r\n" \
Swabey89 3:71f9a18a216d 89 HTTP_MESSAGE_BODY "\r\n" \
Swabey89 3:71f9a18a216d 90
Swabey89 5:b1f83bdeae79 91 /*
Swabey89 3:71f9a18a216d 92 #define IP "10.0.0.10"
Swabey89 3:71f9a18a216d 93 #define NETMASK "255.0.0.0"
Swabey89 3:71f9a18a216d 94 #define GATEWAY "10.0.0.1"
Swabey89 5:b1f83bdeae79 95 */
Swabey89 8:8d2f71a08a31 96 #define IP "169.254.11.177"
Swabey89 8:8d2f71a08a31 97 #define NETMASK "255.255.0.0"
Swabey89 8:8d2f71a08a31 98 #define GATEWAY "10.204.61.254"
Swabey89 3:71f9a18a216d 99
Swabey89 3:71f9a18a216d 100 //extern class sensorData;
Swabey89 3:71f9a18a216d 101 extern sensorData buffer[BUFFERSIZE];
Swabey89 3:71f9a18a216d 102 extern unsigned int newestIndex;
Swabey89 3:71f9a18a216d 103 extern Mutex bufferLock;
Swabey89 10:b8214cc88e85 104 extern EventQueue printQueue;
Swabey89 3:71f9a18a216d 105 extern void network();
Swabey89 8:8d2f71a08a31 106 extern Timeout network_tout;
Swabey89 8:8d2f71a08a31 107 extern void network_toutISR(void);
Swabey89 9:e22fd5795831 108 extern bool logging;
Swabey89 3:71f9a18a216d 109
Swabey89 6:31a5f28336e8 110 //TEST SD
Swabey89 6:31a5f28336e8 111 extern Mutex printlock;
Swabey89 6:31a5f28336e8 112
Swabey89 3:71f9a18a216d 113 #endif