
ControllerBox directs electromechanical equipment in restaurants to display information.
Dependencies: TextLCD MbedJSONValue libMotiv picojson mbed-rtos mbed
Fork of Mbed_MotiVControllerBox by
main.cpp@6:32e6f0048bf1, 2015-01-06 (annotated)
- Committer:
- TimWoo
- Date:
- Tue Jan 06 22:41:10 2015 +0000
- Revision:
- 6:32e6f0048bf1
- Parent:
- 5:e22a1ae893d2
Some changes to MbedJSONValue. Makes no difference...
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
TimWoo | 0:2279181caaa1 | 1 | #include "mbed.h" |
TimWoo | 0:2279181caaa1 | 2 | //the library "TextLCD.h" was slightly altered to work with the GDM2004D LCD |
TimWoo | 0:2279181caaa1 | 3 | #include "TextLCD/TextLCD.h" |
TimWoo | 0:2279181caaa1 | 4 | #include "Controller.h" |
TimWoo | 5:e22a1ae893d2 | 5 | #include "picojson.h" |
TimWoo | 1:d54aed10ddf3 | 6 | #include "EthernetInterface.h" |
TimWoo | 5:e22a1ae893d2 | 7 | //#include "HTTPClient.h" |
TimWoo | 2:ad4509a9d051 | 8 | //#include "SDFileSystem.h" Needed if config files are going to be implemented |
TimWoo | 0:2279181caaa1 | 9 | #include <string> |
TimWoo | 0:2279181caaa1 | 10 | |
TimWoo | 1:d54aed10ddf3 | 11 | /***************** |
TimWoo | 1:d54aed10ddf3 | 12 | Global vars |
TimWoo | 1:d54aed10ddf3 | 13 | ******************/ |
TimWoo | 0:2279181caaa1 | 14 | //the object "lcd" is initialized to act as a TextLCD with 20x4 characters |
TimWoo | 0:2279181caaa1 | 15 | TextLCD lcd(p26, p25, p24, p23, p22, p20, p19, TextLCD::LCD20x4); |
TimWoo | 0:2279181caaa1 | 16 | |
TimWoo | 0:2279181caaa1 | 17 | |
TimWoo | 0:2279181caaa1 | 18 | //inputs |
TimWoo | 0:2279181caaa1 | 19 | DigitalIn Up(p8); |
TimWoo | 0:2279181caaa1 | 20 | DigitalIn Down(p14); |
TimWoo | 0:2279181caaa1 | 21 | |
TimWoo | 0:2279181caaa1 | 22 | //outputs |
TimWoo | 0:2279181caaa1 | 23 | DigitalOut led(p6); |
TimWoo | 0:2279181caaa1 | 24 | |
TimWoo | 0:2279181caaa1 | 25 | //Comms |
TimWoo | 0:2279181caaa1 | 26 | Serial pc(USBTX, USBRX); //tx, rx |
TimWoo | 1:d54aed10ddf3 | 27 | Serial rfd(p9, p10); //tx, rx |
TimWoo | 2:ad4509a9d051 | 28 | |
TimWoo | 2:ad4509a9d051 | 29 | //TODO: Should be the responsibility of Controller |
TimWoo | 5:e22a1ae893d2 | 30 | EthernetInterface eth; //Doeesn't want to initialize in the objects Controller->mAPI |
TimWoo | 2:ad4509a9d051 | 31 | HTTPClient http; |
TimWoo | 5:e22a1ae893d2 | 32 | char str[1024]; |
TimWoo | 0:2279181caaa1 | 33 | |
TimWoo | 1:d54aed10ddf3 | 34 | //Storage |
TimWoo | 1:d54aed10ddf3 | 35 | //SD card |
TimWoo | 1:d54aed10ddf3 | 36 | //CS P14 |
TimWoo | 1:d54aed10ddf3 | 37 | //MOSI P11 |
TimWoo | 1:d54aed10ddf3 | 38 | //CLK P13 |
TimWoo | 1:d54aed10ddf3 | 39 | //MISO P12 |
TimWoo | 1:d54aed10ddf3 | 40 | //SDFileSystem sdfs(p11,p12,p13,p14, "sdCard"); |
TimWoo | 0:2279181caaa1 | 41 | |
TimWoo | 1:d54aed10ddf3 | 42 | |
TimWoo | 3:21c8adb97c8f | 43 | |
TimWoo | 1:d54aed10ddf3 | 44 | //Controller mainly directs the program. It directs data and also controls the lcd output. |
TimWoo | 5:e22a1ae893d2 | 45 | Controller c(&lcd/*, ð*/); |
TimWoo | 0:2279181caaa1 | 46 | |
TimWoo | 1:d54aed10ddf3 | 47 | /********************** |
TimWoo | 1:d54aed10ddf3 | 48 | Declare functions |
TimWoo | 1:d54aed10ddf3 | 49 | ***********************/ |
TimWoo | 1:d54aed10ddf3 | 50 | |
TimWoo | 0:2279181caaa1 | 51 | void setup(); //Called once to setup |
TimWoo | 0:2279181caaa1 | 52 | void runProgram(); //Program with loop |
TimWoo | 0:2279181caaa1 | 53 | |
TimWoo | 2:ad4509a9d051 | 54 | |
TimWoo | 1:d54aed10ddf3 | 55 | /**************** |
TimWoo | 1:d54aed10ddf3 | 56 | MAIN |
TimWoo | 1:d54aed10ddf3 | 57 | *****************/ |
TimWoo | 0:2279181caaa1 | 58 | int main() |
TimWoo | 0:2279181caaa1 | 59 | { |
TimWoo | 5:e22a1ae893d2 | 60 | eth.init(); |
TimWoo | 5:e22a1ae893d2 | 61 | eth.connect(); |
TimWoo | 5:e22a1ae893d2 | 62 | printf("int main()\r\n"); |
TimWoo | 5:e22a1ae893d2 | 63 | c.init(); |
TimWoo | 3:21c8adb97c8f | 64 | c.printCommandList(); |
TimWoo | 5:e22a1ae893d2 | 65 | c.testRequest(); |
TimWoo | 5:e22a1ae893d2 | 66 | // setup(); |
TimWoo | 5:e22a1ae893d2 | 67 | // |
TimWoo | 6:32e6f0048bf1 | 68 | |
TimWoo | 6:32e6f0048bf1 | 69 | |
TimWoo | 6:32e6f0048bf1 | 70 | |
TimWoo | 6:32e6f0048bf1 | 71 | |
TimWoo | 6:32e6f0048bf1 | 72 | //printf("\nTrying to fetch page...\r\n"); |
TimWoo | 6:32e6f0048bf1 | 73 | // int ret = http.get("http://core.motiv.jvanbaarsen.com/v1/tables", str, 1024); |
TimWoo | 6:32e6f0048bf1 | 74 | // if (!ret) |
TimWoo | 6:32e6f0048bf1 | 75 | // { |
TimWoo | 6:32e6f0048bf1 | 76 | // printf("Page fetched successfully - read %d characters\r\n", strlen(str)); |
TimWoo | 6:32e6f0048bf1 | 77 | // printf("Result: %s\r\n", str); |
TimWoo | 6:32e6f0048bf1 | 78 | // c.lcdWriteLine(1, str); |
TimWoo | 6:32e6f0048bf1 | 79 | // } |
TimWoo | 6:32e6f0048bf1 | 80 | // else |
TimWoo | 6:32e6f0048bf1 | 81 | // { |
TimWoo | 6:32e6f0048bf1 | 82 | // printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
TimWoo | 6:32e6f0048bf1 | 83 | // } |
TimWoo | 6:32e6f0048bf1 | 84 | // |
TimWoo | 6:32e6f0048bf1 | 85 | // picojson::value jsonVal; |
TimWoo | 6:32e6f0048bf1 | 86 | // char *json = (char*) malloc(strlen(str)+1); |
TimWoo | 6:32e6f0048bf1 | 87 | // strcpy(json, str); |
TimWoo | 6:32e6f0048bf1 | 88 | // string err = picojson::parse(jsonVal, json, json + strlen(json)); |
TimWoo | 6:32e6f0048bf1 | 89 | // printf("res error? %s\r\n", err.c_str()); |
TimWoo | 6:32e6f0048bf1 | 90 | // |
TimWoo | 6:32e6f0048bf1 | 91 | // string code = jsonVal.get("table").get("code").get<string>(); |
TimWoo | 6:32e6f0048bf1 | 92 | |
TimWoo | 6:32e6f0048bf1 | 93 | |
TimWoo | 6:32e6f0048bf1 | 94 | // int dinner_stat = json["table"]; |
TimWoo | 6:32e6f0048bf1 | 95 | // string code = table["code"]; |
TimWoo | 6:32e6f0048bf1 | 96 | // |
TimWoo | 6:32e6f0048bf1 | 97 | // printf("The status of the dinner is: %d\r\n", dinner_stat); |
TimWoo | 6:32e6f0048bf1 | 98 | // printf("Code: %s\r\n", code); |
TimWoo | 6:32e6f0048bf1 | 99 | |
TimWoo | 6:32e6f0048bf1 | 100 | |
TimWoo | 6:32e6f0048bf1 | 101 | |
TimWoo | 6:32e6f0048bf1 | 102 | |
TimWoo | 6:32e6f0048bf1 | 103 | |
TimWoo | 5:e22a1ae893d2 | 104 | // pc.printf("Entering loop\r\n"); |
TimWoo | 5:e22a1ae893d2 | 105 | // |
TimWoo | 5:e22a1ae893d2 | 106 | // //the endless loop keeps mbed in low power mode |
TimWoo | 3:21c8adb97c8f | 107 | // runProgram(); |
TimWoo | 0:2279181caaa1 | 108 | } |
TimWoo | 0:2279181caaa1 | 109 | |
TimWoo | 1:d54aed10ddf3 | 110 | /************************* |
TimWoo | 1:d54aed10ddf3 | 111 | Implement Function |
TimWoo | 1:d54aed10ddf3 | 112 | *************************/ |
TimWoo | 0:2279181caaa1 | 113 | |
TimWoo | 0:2279181caaa1 | 114 | void setup() |
TimWoo | 0:2279181caaa1 | 115 | { |
TimWoo | 0:2279181caaa1 | 116 | pc.printf("Setup Controller Box\r\n"); |
TimWoo | 1:d54aed10ddf3 | 117 | c.setStatus(Controller::INIT); |
TimWoo | 0:2279181caaa1 | 118 | rfd.baud(9600); |
TimWoo | 1:d54aed10ddf3 | 119 | |
TimWoo | 2:ad4509a9d051 | 120 | wait_ms(200); |
TimWoo | 0:2279181caaa1 | 121 | } |
TimWoo | 0:2279181caaa1 | 122 | |
TimWoo | 0:2279181caaa1 | 123 | void runProgram() |
TimWoo | 0:2279181caaa1 | 124 | { |
TimWoo | 2:ad4509a9d051 | 125 | |
TimWoo | 3:21c8adb97c8f | 126 | // |
TimWoo | 5:e22a1ae893d2 | 127 | |
TimWoo | 5:e22a1ae893d2 | 128 | |
TimWoo | 3:21c8adb97c8f | 129 | // //GET data |
TimWoo | 3:21c8adb97c8f | 130 | // printf("\nTrying to fetch page...\r\n"); |
TimWoo | 5:e22a1ae893d2 | 131 | // int ret = http.get("http://core.motiv.jvanbaarsen.com/v1/tables", str, 128); |
TimWoo | 3:21c8adb97c8f | 132 | // if (!ret) |
TimWoo | 3:21c8adb97c8f | 133 | // { |
TimWoo | 3:21c8adb97c8f | 134 | // printf("Page fetched successfully - read %d characters\r\n", strlen(str)); |
TimWoo | 3:21c8adb97c8f | 135 | // printf("Result: %s\r\n", str); |
TimWoo | 3:21c8adb97c8f | 136 | // c.lcdWriteLine(1, str); |
TimWoo | 3:21c8adb97c8f | 137 | // } |
TimWoo | 3:21c8adb97c8f | 138 | // else |
TimWoo | 3:21c8adb97c8f | 139 | // { |
TimWoo | 3:21c8adb97c8f | 140 | // printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
TimWoo | 3:21c8adb97c8f | 141 | // } |
TimWoo | 3:21c8adb97c8f | 142 | // |
TimWoo | 3:21c8adb97c8f | 143 | // picojson::value jsonVal; |
TimWoo | 3:21c8adb97c8f | 144 | // char *json = (char*) malloc(strlen(str)+1); |
TimWoo | 3:21c8adb97c8f | 145 | // strcpy(json, str); |
TimWoo | 3:21c8adb97c8f | 146 | // string err = picojson::parse(jsonVal, json, json + strlen(json)); |
TimWoo | 3:21c8adb97c8f | 147 | // printf("res error? %s\r\n", err.c_str()); |
TimWoo | 3:21c8adb97c8f | 148 | // |
TimWoo | 3:21c8adb97c8f | 149 | // string code = jsonVal.get("table").get("code").get<string>(); |
TimWoo | 3:21c8adb97c8f | 150 | // |
TimWoo | 3:21c8adb97c8f | 151 | // |
TimWoo | 5:e22a1ae893d2 | 152 | // int dinner_stat = json["table"]; |
TimWoo | 5:e22a1ae893d2 | 153 | // string code = table["code"]; |
TimWoo | 5:e22a1ae893d2 | 154 | // |
TimWoo | 5:e22a1ae893d2 | 155 | // printf("The status of the dinner is: %d\r\n", dinner_stat); |
TimWoo | 3:21c8adb97c8f | 156 | // printf("Code: %s\r\n", code); |
TimWoo | 3:21c8adb97c8f | 157 | |
TimWoo | 2:ad4509a9d051 | 158 | c.setStatus(Controller::READY); |
TimWoo | 2:ad4509a9d051 | 159 | pc.printf("Controller ready\r\n"); |
TimWoo | 3:21c8adb97c8f | 160 | |
TimWoo | 3:21c8adb97c8f | 161 | c.printCommandList(); |
TimWoo | 1:d54aed10ddf3 | 162 | //Reset flower |
TimWoo | 1:d54aed10ddf3 | 163 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 164 | rfd.putc(0); |
TimWoo | 1:d54aed10ddf3 | 165 | rfd.putc(0); |
TimWoo | 1:d54aed10ddf3 | 166 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 167 | wait_ms(2000); |
TimWoo | 0:2279181caaa1 | 168 | |
TimWoo | 1:d54aed10ddf3 | 169 | string str = ""; |
TimWoo | 1:d54aed10ddf3 | 170 | int counter = 0; |
TimWoo | 1:d54aed10ddf3 | 171 | int counterLast = -1; |
TimWoo | 1:d54aed10ddf3 | 172 | bool pushedUp = false; |
TimWoo | 1:d54aed10ddf3 | 173 | bool pushedDown = false; |
TimWoo | 1:d54aed10ddf3 | 174 | |
TimWoo | 0:2279181caaa1 | 175 | while(1) { |
TimWoo | 1:d54aed10ddf3 | 176 | |
TimWoo | 1:d54aed10ddf3 | 177 | // received = rfd.txGetLastChar(); |
TimWoo | 1:d54aed10ddf3 | 178 | // c.displWriteLine(3, 'a'); |
TimWoo | 1:d54aed10ddf3 | 179 | // pc.printf("%c", received); |
TimWoo | 1:d54aed10ddf3 | 180 | // received = 'b'; |
TimWoo | 1:d54aed10ddf3 | 181 | if(!Up && !pushedUp) { |
TimWoo | 1:d54aed10ddf3 | 182 | pushedUp = true; |
TimWoo | 1:d54aed10ddf3 | 183 | //Last resort |
TimWoo | 1:d54aed10ddf3 | 184 | // c.setStatus(c.BUSY); |
TimWoo | 1:d54aed10ddf3 | 185 | if(counter >= 6) |
TimWoo | 1:d54aed10ddf3 | 186 | counter = 0; |
TimWoo | 1:d54aed10ddf3 | 187 | else |
TimWoo | 1:d54aed10ddf3 | 188 | counter++; |
TimWoo | 1:d54aed10ddf3 | 189 | } else if(!Down && !pushedDown) { |
TimWoo | 1:d54aed10ddf3 | 190 | pushedDown = true; |
TimWoo | 1:d54aed10ddf3 | 191 | //Last resort |
TimWoo | 1:d54aed10ddf3 | 192 | // c.setStatus(c.READY); |
TimWoo | 1:d54aed10ddf3 | 193 | if(counter < 0) |
TimWoo | 1:d54aed10ddf3 | 194 | counter = 5; |
TimWoo | 1:d54aed10ddf3 | 195 | else |
TimWoo | 1:d54aed10ddf3 | 196 | counter--; |
TimWoo | 1:d54aed10ddf3 | 197 | } else if(Up) |
TimWoo | 1:d54aed10ddf3 | 198 | pushedUp = false; |
TimWoo | 2:ad4509a9d051 | 199 | else if(Down) |
TimWoo | 1:d54aed10ddf3 | 200 | pushedDown = false; |
TimWoo | 1:d54aed10ddf3 | 201 | |
TimWoo | 1:d54aed10ddf3 | 202 | if(counter != counterLast) { |
TimWoo | 1:d54aed10ddf3 | 203 | switch(counter) { |
TimWoo | 1:d54aed10ddf3 | 204 | case 0: //Tafel vrij |
TimWoo | 1:d54aed10ddf3 | 205 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 206 | rfd.putc(50); |
TimWoo | 1:d54aed10ddf3 | 207 | rfd.putc(1); |
TimWoo | 1:d54aed10ddf3 | 208 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 209 | str = "Tafel vrij"; |
TimWoo | 1:d54aed10ddf3 | 210 | break; |
TimWoo | 1:d54aed10ddf3 | 211 | |
TimWoo | 1:d54aed10ddf3 | 212 | case 1: //Tafel gereserveerd |
TimWoo | 1:d54aed10ddf3 | 213 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 214 | rfd.putc(52); |
TimWoo | 1:d54aed10ddf3 | 215 | rfd.putc(1); |
TimWoo | 1:d54aed10ddf3 | 216 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 217 | str = "Tafel gereserveerd"; |
TimWoo | 1:d54aed10ddf3 | 218 | break; |
TimWoo | 1:d54aed10ddf3 | 219 | |
TimWoo | 1:d54aed10ddf3 | 220 | case 2: //Tafel in gebruik |
TimWoo | 1:d54aed10ddf3 | 221 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 222 | rfd.putc(29); |
TimWoo | 1:d54aed10ddf3 | 223 | rfd.putc(1); |
TimWoo | 1:d54aed10ddf3 | 224 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 225 | wait_ms(500); |
TimWoo | 1:d54aed10ddf3 | 226 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 227 | rfd.putc(51); |
TimWoo | 1:d54aed10ddf3 | 228 | rfd.putc(1); |
TimWoo | 1:d54aed10ddf3 | 229 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 230 | str = "Tafel in gebruik"; |
TimWoo | 1:d54aed10ddf3 | 231 | break; |
TimWoo | 1:d54aed10ddf3 | 232 | |
TimWoo | 1:d54aed10ddf3 | 233 | case 3: //Eten besteld 20 |
TimWoo | 1:d54aed10ddf3 | 234 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 235 | rfd.putc(54); |
TimWoo | 1:d54aed10ddf3 | 236 | rfd.putc(50); |
TimWoo | 1:d54aed10ddf3 | 237 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 238 | str = "Eten best. 50"; |
TimWoo | 1:d54aed10ddf3 | 239 | break; |
TimWoo | 1:d54aed10ddf3 | 240 | |
TimWoo | 1:d54aed10ddf3 | 241 | case 4: //Eten besteld 100 |
TimWoo | 1:d54aed10ddf3 | 242 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 243 | rfd.putc(54); |
TimWoo | 1:d54aed10ddf3 | 244 | rfd.putc(100); |
TimWoo | 1:d54aed10ddf3 | 245 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 246 | str = "Eten best. 100"; |
TimWoo | 1:d54aed10ddf3 | 247 | break; |
TimWoo | 1:d54aed10ddf3 | 248 | |
TimWoo | 1:d54aed10ddf3 | 249 | case 5: //Demo 1 |
TimWoo | 1:d54aed10ddf3 | 250 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 251 | rfd.putc(101); |
TimWoo | 1:d54aed10ddf3 | 252 | rfd.putc(1); |
TimWoo | 1:d54aed10ddf3 | 253 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 254 | str = "Demo 1"; |
TimWoo | 1:d54aed10ddf3 | 255 | break; |
TimWoo | 1:d54aed10ddf3 | 256 | |
TimWoo | 1:d54aed10ddf3 | 257 | default: //Default: lamp modus |
TimWoo | 1:d54aed10ddf3 | 258 | rfd.putc(2); |
TimWoo | 1:d54aed10ddf3 | 259 | rfd.putc(100); |
TimWoo | 1:d54aed10ddf3 | 260 | rfd.putc(1); |
TimWoo | 1:d54aed10ddf3 | 261 | rfd.putc(';'); |
TimWoo | 1:d54aed10ddf3 | 262 | break; |
TimWoo | 1:d54aed10ddf3 | 263 | } |
TimWoo | 1:d54aed10ddf3 | 264 | counterLast = counter; |
TimWoo | 2:ad4509a9d051 | 265 | c.lcdWriteLine(2, str); |
TimWoo | 0:2279181caaa1 | 266 | } |
TimWoo | 1:d54aed10ddf3 | 267 | |
TimWoo | 1:d54aed10ddf3 | 268 | |
TimWoo | 1:d54aed10ddf3 | 269 | wait_ms(200); |
TimWoo | 0:2279181caaa1 | 270 | //__WFI(); |
TimWoo | 0:2279181caaa1 | 271 | } |
TimWoo | 1:d54aed10ddf3 | 272 | } |
TimWoo | 1:d54aed10ddf3 | 273 | |
TimWoo | 1:d54aed10ddf3 | 274 | |
TimWoo | 1:d54aed10ddf3 | 275 | /* |
TimWoo | 1:d54aed10ddf3 | 276 | EthernetInterface eth; |
TimWoo | 1:d54aed10ddf3 | 277 | eth.init(); //Use DHCP |
TimWoo | 1:d54aed10ddf3 | 278 | eth.connect(); |
TimWoo | 2:ad4509a9d051 | 279 | |
TimWoo | 1:d54aed10ddf3 | 280 | UDPSocket sock; |
TimWoo | 1:d54aed10ddf3 | 281 | sock.init(); |
TimWoo | 2:ad4509a9d051 | 282 | |
TimWoo | 1:d54aed10ddf3 | 283 | Endpoint nist; |
TimWoo | 1:d54aed10ddf3 | 284 | nist.set_address("utcnist.colorado.edu", 37); |
TimWoo | 2:ad4509a9d051 | 285 | |
TimWoo | 1:d54aed10ddf3 | 286 | char out_buffer[] = "plop"; // Does not matter |
TimWoo | 1:d54aed10ddf3 | 287 | sock.sendTo(nist, out_buffer, sizeof(out_buffer)); |
TimWoo | 2:ad4509a9d051 | 288 | |
TimWoo | 1:d54aed10ddf3 | 289 | char in_buffer[4]; |
TimWoo | 1:d54aed10ddf3 | 290 | int n = sock.receiveFrom(nist, in_buffer, sizeof(in_buffer)); |
TimWoo | 2:ad4509a9d051 | 291 | |
TimWoo | 1:d54aed10ddf3 | 292 | unsigned int timeRes = ntohl( *((unsigned int*)in_buffer)); |
TimWoo | 1:d54aed10ddf3 | 293 | printf("Received %d bytes from server %s on port %d: %u seconds since 1/01/1900 00:00 GMT\n", n, nist.get_address(), nist.get_port(), timeRes); |
TimWoo | 2:ad4509a9d051 | 294 | |
TimWoo | 1:d54aed10ddf3 | 295 | sock.close(); |
TimWoo | 2:ad4509a9d051 | 296 | |
TimWoo | 1:d54aed10ddf3 | 297 | eth.disconnect(); |
TimWoo | 1:d54aed10ddf3 | 298 | */ |