]> jspc29.x-matter.uni-frankfurt.de Git - avr.git/commitdiff
LANTelnetTOI2C_Board: single channel read via telnet is now possible. Attention!...
authorOle Artz <ole.artz@t-online.de>
Mon, 23 Aug 2021 10:29:31 +0000 (12:29 +0200)
committerOle Artz <ole.artz@t-online.de>
Mon, 23 Aug 2021 10:29:31 +0000 (12:29 +0200)
esp32/EthernetUART/LANTelnetToI2C_Board/LANTelnetToI2C_Board.ino

index 608826721937e623c07122db8e4ae0cd41476e9d..bd0f40228d857f20c0789b6709e548cc8fdd0270 100644 (file)
@@ -330,11 +330,8 @@ void loop(){
     for(i = 0; i < MAX_SRV_CLIENTS; i++) {
       if (serverClients[i] && serverClients[i].connected()) {
         if(serverClients[i].available()) {
-          //get data from the telnet client and push it to the UART
-//          while(serverClients[i].available()) Serial.write(serverClients[i].read());
           //get data from the telnet client and push it to I2C
-          while(serverClients[i].available()) {getstring = serverClients[i].read(); //<------ Hier ist der Fehler mit getstring
-            Serial.print("\nGETDATASTRING: "); Serial.print(getstring);
+          while(serverClients[i].available()) {getstring = char(serverClients[i].read());
             for(uint8_t m=0; m < getstring.length(); m++){
               getdata(getstring.charAt(m));
             }
@@ -390,7 +387,7 @@ void get_adc_val() {
   size_t len = sbuf.length();
 
   uint8_t buf[len];
-  sbuf.toCharArray((char*)buf, len);
+  sbuf.toCharArray((char*)buf, len); // Copies the String’s characters to the supplied buffer.
 
   counter += 1;
     if (counter == 1) {
@@ -513,7 +510,6 @@ void getdata(uint8_t buf) {
 
 //write 
     if (rxbuf[0] == 'W'){
-    Serial.print("WRITECHECK");
     //ADCsettings
     if (hex_to_int(rxbuf[5]) == 9) {
 //    uint8_t val = (hex_to_int(rxbuf[7])*16+hex_to_int(rxbuf[8]))&0xFF;
@@ -523,30 +519,29 @@ void getdata(uint8_t buf) {
 
     send_answer_hex(&rxbuf[0], new_gain);
     }
+    }
 
 //read
     if (rxbuf[0] == 'R'){
-    Serial.print("READCHECK");
-   
+    //read single ADC Channel
     if (hex_to_int(rxbuf[5]) == 10) {
-      //read single ADC Channel
-    uint8_t adc_val = 0xFFFF;
+    uint16_t adc_val = 0xFFFF;
         //CH0
-        if (hex_to_int(rxbuf[4]) == 0) {adc_val=fadc0;
+        if (hex_to_int(rxbuf[4]) == 0) {adc_val=fadc0*16;
         }
         //CH1  
-        if (hex_to_int(rxbuf[4]) == 1) {adc_val=fadc1;
+        if (hex_to_int(rxbuf[4]) == 1) {adc_val=fadc1*16;
         }
         //CH2
-        if (hex_to_int(rxbuf[4]) == 2) {adc_val=fadc2;
+        if (hex_to_int(rxbuf[4]) == 2) {adc_val=fadc2*16;
         }
         //CH3  
-        if (hex_to_int(rxbuf[4]) == 3) {adc_val=fadc3;
+        if (hex_to_int(rxbuf[4]) == 3) {adc_val=fadc3*16;
         }
     send_answer_hex(&rxbuf[0], adc_val);                                        
     }
     }
     }
+    if (rxcnt >= 10 || buf == '\n' || buf == '\r') { rxcnt = 0; }
     }
   }
-}