1.0
Dependencies: EthernetInterface mbed-rtos
Telemetry.cpp@0:c0179f2ad295, 2015-05-02 (annotated)
- Committer:
- HMFK03LST1
- Date:
- Sat May 02 11:02:37 2015 +0000
- Revision:
- 0:c0179f2ad295
- Child:
- 2:e19b937a29c1
1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
HMFK03LST1 | 0:c0179f2ad295 | 1 | /*------------------------------------------------*/ |
HMFK03LST1 | 0:c0179f2ad295 | 2 | /*Autor: Sebastian Hauzenberger */ |
HMFK03LST1 | 0:c0179f2ad295 | 3 | /*------------------------------------------------*/ |
HMFK03LST1 | 0:c0179f2ad295 | 4 | |
HMFK03LST1 | 0:c0179f2ad295 | 5 | #include "Telemetry.h" |
HMFK03LST1 | 0:c0179f2ad295 | 6 | |
HMFK03LST1 | 0:c0179f2ad295 | 7 | //LEDs definieren |
HMFK03LST1 | 0:c0179f2ad295 | 8 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 9 | DigitalOut ledserial(LED1); |
HMFK03LST1 | 0:c0179f2ad295 | 10 | DigitalOut ledeth(LED2); |
HMFK03LST1 | 0:c0179f2ad295 | 11 | DigitalOut ledsock(LED3); |
HMFK03LST1 | 0:c0179f2ad295 | 12 | DigitalOut ledwfa(LED4); |
HMFK03LST1 | 0:c0179f2ad295 | 13 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 14 | |
HMFK03LST1 | 0:c0179f2ad295 | 15 | //Serielle Schnittstelle definieren |
HMFK03LST1 | 0:c0179f2ad295 | 16 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 17 | Serial serial(USBTX, USBRX); |
HMFK03LST1 | 0:c0179f2ad295 | 18 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 19 | |
HMFK03LST1 | 0:c0179f2ad295 | 20 | //Konstruktoren |
HMFK03LST1 | 0:c0179f2ad295 | 21 | EthernetInterface eth; |
HMFK03LST1 | 0:c0179f2ad295 | 22 | TCPSocketConnection sock_tcp; |
HMFK03LST1 | 0:c0179f2ad295 | 23 | UDPSocket sock_udp; |
HMFK03LST1 | 0:c0179f2ad295 | 24 | |
HMFK03LST1 | 0:c0179f2ad295 | 25 | |
HMFK03LST1 | 0:c0179f2ad295 | 26 | //Globale Variable |
HMFK03LST1 | 0:c0179f2ad295 | 27 | bool InitSucceed = false; |
HMFK03LST1 | 0:c0179f2ad295 | 28 | |
HMFK03LST1 | 0:c0179f2ad295 | 29 | Telemetry::Telemetry() |
HMFK03LST1 | 0:c0179f2ad295 | 30 | { |
HMFK03LST1 | 0:c0179f2ad295 | 31 | |
HMFK03LST1 | 0:c0179f2ad295 | 32 | } |
HMFK03LST1 | 0:c0179f2ad295 | 33 | |
HMFK03LST1 | 0:c0179f2ad295 | 34 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 35 | void Telemetry::InitUSBSerialConnection() |
HMFK03LST1 | 0:c0179f2ad295 | 36 | { |
HMFK03LST1 | 0:c0179f2ad295 | 37 | serial.baud(115200); |
HMFK03LST1 | 0:c0179f2ad295 | 38 | |
HMFK03LST1 | 0:c0179f2ad295 | 39 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 40 | ledserial = 1; |
HMFK03LST1 | 0:c0179f2ad295 | 41 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 42 | } |
HMFK03LST1 | 0:c0179f2ad295 | 43 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 44 | |
HMFK03LST1 | 0:c0179f2ad295 | 45 | //Funktion überladen. Ohne Parameter DHCP und 10 Sekunden Timeout. Mit Parameter kein DHCP und 3 Sekunden Timeout |
HMFK03LST1 | 0:c0179f2ad295 | 46 | bool Telemetry::InitEthernetConnection() |
HMFK03LST1 | 0:c0179f2ad295 | 47 | { |
HMFK03LST1 | 0:c0179f2ad295 | 48 | bool ReturnValue = false; |
HMFK03LST1 | 0:c0179f2ad295 | 49 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 50 | serial.printf("Initalisiere LAN Verbindung mit DHCP\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 51 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 52 | |
HMFK03LST1 | 0:c0179f2ad295 | 53 | //Schnittstelle nur einmal initialisieren, sonst gibt es Fehler! |
HMFK03LST1 | 0:c0179f2ad295 | 54 | if (!InitSucceed) |
HMFK03LST1 | 0:c0179f2ad295 | 55 | { |
HMFK03LST1 | 0:c0179f2ad295 | 56 | if (eth.init()==0) //Init Interface |
HMFK03LST1 | 0:c0179f2ad295 | 57 | { |
HMFK03LST1 | 0:c0179f2ad295 | 58 | InitSucceed = true; |
HMFK03LST1 | 0:c0179f2ad295 | 59 | ReturnValue = true; |
HMFK03LST1 | 0:c0179f2ad295 | 60 | } |
HMFK03LST1 | 0:c0179f2ad295 | 61 | } |
HMFK03LST1 | 0:c0179f2ad295 | 62 | |
HMFK03LST1 | 0:c0179f2ad295 | 63 | //Nur wenn Initialisierung erfolgreich war! |
HMFK03LST1 | 0:c0179f2ad295 | 64 | if (InitSucceed) |
HMFK03LST1 | 0:c0179f2ad295 | 65 | { |
HMFK03LST1 | 0:c0179f2ad295 | 66 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 67 | serial.printf("Verbinde\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 68 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 69 | |
HMFK03LST1 | 0:c0179f2ad295 | 70 | if (eth.connect(10000)==0) //CONNECT |
HMFK03LST1 | 0:c0179f2ad295 | 71 | { |
HMFK03LST1 | 0:c0179f2ad295 | 72 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 73 | serial.printf("IP Adresse: %s\r\n\r\n", eth.getIPAddress()); |
HMFK03LST1 | 0:c0179f2ad295 | 74 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 75 | |
HMFK03LST1 | 0:c0179f2ad295 | 76 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 77 | ledeth = 1; |
HMFK03LST1 | 0:c0179f2ad295 | 78 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 79 | |
HMFK03LST1 | 0:c0179f2ad295 | 80 | ReturnValue = true; |
HMFK03LST1 | 0:c0179f2ad295 | 81 | } |
HMFK03LST1 | 0:c0179f2ad295 | 82 | else |
HMFK03LST1 | 0:c0179f2ad295 | 83 | { |
HMFK03LST1 | 0:c0179f2ad295 | 84 | ReturnValue = false; |
HMFK03LST1 | 0:c0179f2ad295 | 85 | } |
HMFK03LST1 | 0:c0179f2ad295 | 86 | } |
HMFK03LST1 | 0:c0179f2ad295 | 87 | |
HMFK03LST1 | 0:c0179f2ad295 | 88 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 89 | if (ReturnValue == false) |
HMFK03LST1 | 0:c0179f2ad295 | 90 | { |
HMFK03LST1 | 0:c0179f2ad295 | 91 | serial.printf("Fehlgeschlagen!"); |
HMFK03LST1 | 0:c0179f2ad295 | 92 | } |
HMFK03LST1 | 0:c0179f2ad295 | 93 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 94 | |
HMFK03LST1 | 0:c0179f2ad295 | 95 | return ReturnValue; |
HMFK03LST1 | 0:c0179f2ad295 | 96 | } |
HMFK03LST1 | 0:c0179f2ad295 | 97 | |
HMFK03LST1 | 0:c0179f2ad295 | 98 | bool Telemetry::InitEthernetConnection(const char* IPAdress, const char* SubNetMask, const char* GateWay) |
HMFK03LST1 | 0:c0179f2ad295 | 99 | { |
HMFK03LST1 | 0:c0179f2ad295 | 100 | bool ReturnValue = false; |
HMFK03LST1 | 0:c0179f2ad295 | 101 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 102 | serial.printf("Initalisiere LAN Verbindung ohne DHCP\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 103 | serial.printf("IP: %s - GateWay: %s - SubNetMask: %s\r\n\r\n",IPAdress, GateWay, SubNetMask); |
HMFK03LST1 | 0:c0179f2ad295 | 104 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 105 | |
HMFK03LST1 | 0:c0179f2ad295 | 106 | //Schnittstelle nur einmal initialisieren, sonst gibt es Fehler! |
HMFK03LST1 | 0:c0179f2ad295 | 107 | if (!InitSucceed) |
HMFK03LST1 | 0:c0179f2ad295 | 108 | { |
HMFK03LST1 | 0:c0179f2ad295 | 109 | if (eth.init(IPAdress, SubNetMask, GateWay)==0) //Init Interface |
HMFK03LST1 | 0:c0179f2ad295 | 110 | { |
HMFK03LST1 | 0:c0179f2ad295 | 111 | InitSucceed = true; |
HMFK03LST1 | 0:c0179f2ad295 | 112 | ReturnValue = true; |
HMFK03LST1 | 0:c0179f2ad295 | 113 | } |
HMFK03LST1 | 0:c0179f2ad295 | 114 | } |
HMFK03LST1 | 0:c0179f2ad295 | 115 | |
HMFK03LST1 | 0:c0179f2ad295 | 116 | //Nur wenn Initialisierung erfolgreich war! |
HMFK03LST1 | 0:c0179f2ad295 | 117 | if (InitSucceed) |
HMFK03LST1 | 0:c0179f2ad295 | 118 | { |
HMFK03LST1 | 0:c0179f2ad295 | 119 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 120 | serial.printf("Verbinde\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 121 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 122 | |
HMFK03LST1 | 0:c0179f2ad295 | 123 | if (eth.connect(3000)==0) //CONNECT |
HMFK03LST1 | 0:c0179f2ad295 | 124 | { |
HMFK03LST1 | 0:c0179f2ad295 | 125 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 126 | serial.printf("IP Adresse: %s\r\n\r\n", eth.getIPAddress()); |
HMFK03LST1 | 0:c0179f2ad295 | 127 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 128 | |
HMFK03LST1 | 0:c0179f2ad295 | 129 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 130 | ledeth = 1; |
HMFK03LST1 | 0:c0179f2ad295 | 131 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 132 | |
HMFK03LST1 | 0:c0179f2ad295 | 133 | ReturnValue = true; |
HMFK03LST1 | 0:c0179f2ad295 | 134 | } |
HMFK03LST1 | 0:c0179f2ad295 | 135 | else |
HMFK03LST1 | 0:c0179f2ad295 | 136 | { |
HMFK03LST1 | 0:c0179f2ad295 | 137 | ReturnValue = false; |
HMFK03LST1 | 0:c0179f2ad295 | 138 | } |
HMFK03LST1 | 0:c0179f2ad295 | 139 | } |
HMFK03LST1 | 0:c0179f2ad295 | 140 | |
HMFK03LST1 | 0:c0179f2ad295 | 141 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 142 | if (ReturnValue == false) |
HMFK03LST1 | 0:c0179f2ad295 | 143 | { |
HMFK03LST1 | 0:c0179f2ad295 | 144 | serial.printf("Fehlgeschlagen!"); |
HMFK03LST1 | 0:c0179f2ad295 | 145 | } |
HMFK03LST1 | 0:c0179f2ad295 | 146 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 147 | |
HMFK03LST1 | 0:c0179f2ad295 | 148 | return ReturnValue; |
HMFK03LST1 | 0:c0179f2ad295 | 149 | } |
HMFK03LST1 | 0:c0179f2ad295 | 150 | |
HMFK03LST1 | 0:c0179f2ad295 | 151 | |
HMFK03LST1 | 0:c0179f2ad295 | 152 | void Telemetry::CloseEthernetConnection() |
HMFK03LST1 | 0:c0179f2ad295 | 153 | { |
HMFK03LST1 | 0:c0179f2ad295 | 154 | eth.disconnect(); |
HMFK03LST1 | 0:c0179f2ad295 | 155 | |
HMFK03LST1 | 0:c0179f2ad295 | 156 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 157 | serial.printf("LAN Verbindung geschlossen\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 158 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 159 | |
HMFK03LST1 | 0:c0179f2ad295 | 160 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 161 | ledeth = 0; |
HMFK03LST1 | 0:c0179f2ad295 | 162 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 163 | } |
HMFK03LST1 | 0:c0179f2ad295 | 164 | |
HMFK03LST1 | 0:c0179f2ad295 | 165 | void Telemetry::ConnectSocket_tcp(char* Host) |
HMFK03LST1 | 0:c0179f2ad295 | 166 | { |
HMFK03LST1 | 0:c0179f2ad295 | 167 | sock_tcp.connect(Host, 80); |
HMFK03LST1 | 0:c0179f2ad295 | 168 | |
HMFK03LST1 | 0:c0179f2ad295 | 169 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 170 | serial.printf("TCP Socket geoeffnet.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 171 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 172 | |
HMFK03LST1 | 0:c0179f2ad295 | 173 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 174 | ledsock = 1; |
HMFK03LST1 | 0:c0179f2ad295 | 175 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 176 | } |
HMFK03LST1 | 0:c0179f2ad295 | 177 | |
HMFK03LST1 | 0:c0179f2ad295 | 178 | void Telemetry::ConnectSocket_udp() |
HMFK03LST1 | 0:c0179f2ad295 | 179 | { |
HMFK03LST1 | 0:c0179f2ad295 | 180 | sock_udp.init(); |
HMFK03LST1 | 0:c0179f2ad295 | 181 | |
HMFK03LST1 | 0:c0179f2ad295 | 182 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 183 | serial.printf("UDP Socket geoeffnet.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 184 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 185 | |
HMFK03LST1 | 0:c0179f2ad295 | 186 | } |
HMFK03LST1 | 0:c0179f2ad295 | 187 | |
HMFK03LST1 | 0:c0179f2ad295 | 188 | void Telemetry::CloseSocket() |
HMFK03LST1 | 0:c0179f2ad295 | 189 | { |
HMFK03LST1 | 0:c0179f2ad295 | 190 | sock_tcp.close(); |
HMFK03LST1 | 0:c0179f2ad295 | 191 | sock_udp.close(); |
HMFK03LST1 | 0:c0179f2ad295 | 192 | |
HMFK03LST1 | 0:c0179f2ad295 | 193 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 194 | serial.printf("TCP/UDP Socket geschlossen.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 195 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 196 | |
HMFK03LST1 | 0:c0179f2ad295 | 197 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 198 | ledsock = 0; |
HMFK03LST1 | 0:c0179f2ad295 | 199 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 200 | } |
HMFK03LST1 | 0:c0179f2ad295 | 201 | |
HMFK03LST1 | 0:c0179f2ad295 | 202 | |
HMFK03LST1 | 0:c0179f2ad295 | 203 | void Telemetry::TransmitDataoverUDP(char *Host, int Port, string Daten) |
HMFK03LST1 | 0:c0179f2ad295 | 204 | { |
HMFK03LST1 | 0:c0179f2ad295 | 205 | Endpoint data_server; |
HMFK03LST1 | 0:c0179f2ad295 | 206 | data_server.set_address(Host, Port); |
HMFK03LST1 | 0:c0179f2ad295 | 207 | //Umwandeln in char* |
HMFK03LST1 | 0:c0179f2ad295 | 208 | const char *DataBuf = Daten.c_str(); |
HMFK03LST1 | 0:c0179f2ad295 | 209 | char DataPaket[Daten.length()]; |
HMFK03LST1 | 0:c0179f2ad295 | 210 | strcpy(DataPaket,DataBuf); |
HMFK03LST1 | 0:c0179f2ad295 | 211 | |
HMFK03LST1 | 0:c0179f2ad295 | 212 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 213 | serial.printf("----\r\n%s----\r\n\r\n",DataPaket); |
HMFK03LST1 | 0:c0179f2ad295 | 214 | serial.printf("Sende Paket UDP.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 215 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 216 | |
HMFK03LST1 | 0:c0179f2ad295 | 217 | sock_udp.sendTo(data_server, DataPaket, sizeof(DataPaket)); |
HMFK03LST1 | 0:c0179f2ad295 | 218 | |
HMFK03LST1 | 0:c0179f2ad295 | 219 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 220 | serial.printf("UDP Paket gesendet.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 221 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 222 | } |
HMFK03LST1 | 0:c0179f2ad295 | 223 | |
HMFK03LST1 | 0:c0179f2ad295 | 224 | void Telemetry::TransmitDataoverTCP(char *Host, string Daten, string Username, string Passwort) |
HMFK03LST1 | 0:c0179f2ad295 | 225 | { |
HMFK03LST1 | 0:c0179f2ad295 | 226 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 227 | ledwfa = 1; |
HMFK03LST1 | 0:c0179f2ad295 | 228 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 229 | |
HMFK03LST1 | 0:c0179f2ad295 | 230 | //Datenpaket schnüren |
HMFK03LST1 | 0:c0179f2ad295 | 231 | string DATEN = "Username=" + Username + "&Passwort=" + Passwort + "&Paket=" + Daten; |
HMFK03LST1 | 0:c0179f2ad295 | 232 | |
HMFK03LST1 | 0:c0179f2ad295 | 233 | string POST = "POST /H2MClient/h2m_client.php HTTP/1.1\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 234 | |
HMFK03LST1 | 0:c0179f2ad295 | 235 | string HostString = Host; |
HMFK03LST1 | 0:c0179f2ad295 | 236 | string HOST = "Host: " + HostString + "\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 237 | |
HMFK03LST1 | 0:c0179f2ad295 | 238 | string CONTENTTYPE = "Content-Type: application/x-www-form-urlencoded\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 239 | |
HMFK03LST1 | 0:c0179f2ad295 | 240 | string Length; |
HMFK03LST1 | 0:c0179f2ad295 | 241 | stringstream convert; |
HMFK03LST1 | 0:c0179f2ad295 | 242 | convert << DATEN.length(); |
HMFK03LST1 | 0:c0179f2ad295 | 243 | Length = convert.str(); |
HMFK03LST1 | 0:c0179f2ad295 | 244 | string CONTENTLENGTH = "Content-Length: " + Length + "\r\n\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 245 | |
HMFK03LST1 | 0:c0179f2ad295 | 246 | |
HMFK03LST1 | 0:c0179f2ad295 | 247 | string datenpaket = POST + HOST + CONTENTTYPE + CONTENTLENGTH + DATEN + "\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 248 | |
HMFK03LST1 | 0:c0179f2ad295 | 249 | //Umwandeln in char* |
HMFK03LST1 | 0:c0179f2ad295 | 250 | const char *DataBuf = datenpaket.c_str(); |
HMFK03LST1 | 0:c0179f2ad295 | 251 | char DataPaket[datenpaket.length()]; |
HMFK03LST1 | 0:c0179f2ad295 | 252 | strcpy(DataPaket,DataBuf); |
HMFK03LST1 | 0:c0179f2ad295 | 253 | |
HMFK03LST1 | 0:c0179f2ad295 | 254 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 255 | serial.printf("----\r\n%s----\r\n\r\n",DataPaket); |
HMFK03LST1 | 0:c0179f2ad295 | 256 | serial.printf("Sende Paket.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 257 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 258 | |
HMFK03LST1 | 0:c0179f2ad295 | 259 | sock_tcp.send_all(DataPaket, sizeof(DataPaket)-1); |
HMFK03LST1 | 0:c0179f2ad295 | 260 | |
HMFK03LST1 | 0:c0179f2ad295 | 261 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 262 | serial.printf("Paket gesendet.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 263 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 264 | |
HMFK03LST1 | 0:c0179f2ad295 | 265 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 266 | ledwfa = 0; |
HMFK03LST1 | 0:c0179f2ad295 | 267 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 268 | } |
HMFK03LST1 | 0:c0179f2ad295 | 269 | |
HMFK03LST1 | 0:c0179f2ad295 | 270 | void Telemetry::ReadAnswerandTransmitoverSerial() |
HMFK03LST1 | 0:c0179f2ad295 | 271 | { |
HMFK03LST1 | 0:c0179f2ad295 | 272 | char buffer[300]; |
HMFK03LST1 | 0:c0179f2ad295 | 273 | int ret; |
HMFK03LST1 | 0:c0179f2ad295 | 274 | while (true) |
HMFK03LST1 | 0:c0179f2ad295 | 275 | { |
HMFK03LST1 | 0:c0179f2ad295 | 276 | ret = sock_tcp.receive(buffer, sizeof(buffer)-1); |
HMFK03LST1 | 0:c0179f2ad295 | 277 | if (ret <= 0) |
HMFK03LST1 | 0:c0179f2ad295 | 278 | break; |
HMFK03LST1 | 0:c0179f2ad295 | 279 | buffer[ret] = '\0'; |
HMFK03LST1 | 0:c0179f2ad295 | 280 | |
HMFK03LST1 | 0:c0179f2ad295 | 281 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 282 | serial.printf("Received %d chars from server:\n%s\n", ret, buffer); |
HMFK03LST1 | 0:c0179f2ad295 | 283 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 284 | } |
HMFK03LST1 | 0:c0179f2ad295 | 285 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 286 | ledwfa = 0; |
HMFK03LST1 | 0:c0179f2ad295 | 287 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 288 | } |
HMFK03LST1 | 0:c0179f2ad295 | 289 | |
HMFK03LST1 | 0:c0179f2ad295 | 290 | string Telemetry::ReadAnswer() |
HMFK03LST1 | 0:c0179f2ad295 | 291 | { |
HMFK03LST1 | 0:c0179f2ad295 | 292 | char buffer[300]; |
HMFK03LST1 | 0:c0179f2ad295 | 293 | int ret; |
HMFK03LST1 | 0:c0179f2ad295 | 294 | while (true) |
HMFK03LST1 | 0:c0179f2ad295 | 295 | { |
HMFK03LST1 | 0:c0179f2ad295 | 296 | ret = sock_tcp.receive(buffer, sizeof(buffer)-1); |
HMFK03LST1 | 0:c0179f2ad295 | 297 | if (ret <= 0) |
HMFK03LST1 | 0:c0179f2ad295 | 298 | break; |
HMFK03LST1 | 0:c0179f2ad295 | 299 | buffer[ret] = '\0'; |
HMFK03LST1 | 0:c0179f2ad295 | 300 | } |
HMFK03LST1 | 0:c0179f2ad295 | 301 | |
HMFK03LST1 | 0:c0179f2ad295 | 302 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 303 | ledwfa = 0; |
HMFK03LST1 | 0:c0179f2ad295 | 304 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 305 | |
HMFK03LST1 | 0:c0179f2ad295 | 306 | return buffer; |
HMFK03LST1 | 0:c0179f2ad295 | 307 | } |