Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ConfigFile EthernetInterface mbed-rtos mbed
Fork of S05APP3 by
Diff: main.cpp
- Revision:
- 1:ceb3f8ba8793
- Parent:
- 0:ec23a7ae804c
- Child:
- 2:3fbf13ba290e
--- a/main.cpp Thu Feb 09 04:24:55 2017 +0000 +++ b/main.cpp Fri Feb 10 19:25:34 2017 +0000 @@ -2,14 +2,18 @@ #include "ConfigFile.h" #include "mbed.h" -//To set the xbee -Serial xbee(p13, p14); +//Serial avec le Xbee DigitalOut reset(p8); +Serial uart(p13, p14); // tx, rx +uint8_t frameSize = 0; + +//Serial avec le PC +Serial pc(USBTX, USBRX); // tx, rx //Socket Buffer -char buffer[50]; +uint8_t buffer[104] = {0}; char serverAddrvalue[32]; - +TCPSocketConnection sock; //Read the config file void readConfigFile() { @@ -23,39 +27,65 @@ //Init RJ45 and use DHCP void initRJ45() { - EthernetInterface rj45; - rj45.init(); - rj45.connect(); + EthernetInterface eth; + eth.init(); + eth.connect(); } void initSocket() { //Init Socket - TCPSocketConnection sock; - sock.connect(serverAddrvalue, 502); - - sprintf (buffer, serverAddrvalue); + //sock.connect(serverAddrvalue, 502); + sock.connect("192.168.0.103", 502); sock.send_all(buffer, sizeof(buffer)-1); int repSize; - while (true) { - repSize = sock.receive(buffer, sizeof(buffer)-1); - if (repSize <= 0) { - printf("Error"); - sock.close(); - break; - } - buffer[repSize] = '\0'; - printf("Received %d chars from server:\n%s\n", repSize, buffer); + //while (true) { + + //sprintf (buffer, (const char *)uart.getc()); + //sock.send_all(buffer, sizeof(buffer)-1); + + //repSize = sock.receive(buffer, sizeof(buffer)-1); + // if (repSize <= 0) { + // printf("Error"); + // sock.close(); + // break; + // } + //buffer[repSize] = '\0'; + //printf("Received %d chars from server:\n%s\n", repSize, buffer); + //} +} + +void checkChecksum() +{ + //On additionne tout les bytes sauf le API Frame et le Length et on fait FF - résultat = checksum + for(int i = 2; i < frameSize; i++) + { + int checkSum += buffer[i] + } + if((0xFF- checkSum) == buffer[frameSize]) + { + //CheckSum ok + } + else + { + //Error } } int main() { + reset = 0; + wait(0.4); + reset = 1; - readConfigFile(); + //readConfigFile(); initRJ45(); initSocket(); - while(1) {} + while(1) { + if(uart.readable()) { + pc.printf("%i", uart.getc()); + } + } }