11B_DOGFEEDER
Dependencies: HX711 MFRC522 mbed
main.cpp@1:67bbb9d1523a, 2015-12-08 (annotated)
- Committer:
- Amyrctdp
- Date:
- Tue Dec 08 20:51:28 2015 +0000
- Revision:
- 1:67bbb9d1523a
- Parent:
- 0:317bb26b7c83
a
;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Amyrctdp | 0:317bb26b7c83 | 1 | #include "mbed.h" |
Amyrctdp | 0:317bb26b7c83 | 2 | #include "MFRC522.h" |
Amyrctdp | 0:317bb26b7c83 | 3 | #include "HX711.h" |
Amyrctdp | 0:317bb26b7c83 | 4 | #include <cmath> |
Amyrctdp | 0:317bb26b7c83 | 5 | #define standard (float)0.001 |
Amyrctdp | 0:317bb26b7c83 | 6 | Timer t_esp; |
Amyrctdp | 0:317bb26b7c83 | 7 | Serial pc(USBTX, USBRX); |
Amyrctdp | 0:317bb26b7c83 | 8 | Serial esp(D8, D2); |
Amyrctdp | 0:317bb26b7c83 | 9 | Timer t; |
Amyrctdp | 0:317bb26b7c83 | 10 | int count,ended,timeout; |
Amyrctdp | 0:317bb26b7c83 | 11 | char buf[1024]; |
Amyrctdp | 0:317bb26b7c83 | 12 | char snd[255]; |
Amyrctdp | 0:317bb26b7c83 | 13 | char data1[3]; |
Amyrctdp | 0:317bb26b7c83 | 14 | char data2[3]; |
Amyrctdp | 0:317bb26b7c83 | 15 | char data3[3]; |
Amyrctdp | 0:317bb26b7c83 | 16 | char data4[3]; |
Amyrctdp | 0:317bb26b7c83 | 17 | char GET[255] = "GET /update?key=ICJ0ZF8N5NLYLW0B"; |
Amyrctdp | 0:317bb26b7c83 | 18 | char length[255] = "AT+CIPSEND=74\r\n"; |
Amyrctdp | 0:317bb26b7c83 | 19 | char ssid[32] = "KMUTT_WIFI"; |
Amyrctdp | 0:317bb26b7c83 | 20 | char pwd [32] = ""; |
Amyrctdp | 0:317bb26b7c83 | 21 | void SendCMD(),getreply(),ESPconfig(),ESPsetbaudrate(); |
Amyrctdp | 0:317bb26b7c83 | 22 | MFRC522 RfChip(D11, D12, D13, D14,D7); |
Amyrctdp | 0:317bb26b7c83 | 23 | DigitalOut A4988STEP(D4); |
Amyrctdp | 0:317bb26b7c83 | 24 | DigitalOut A4988DIR(D3); |
Amyrctdp | 0:317bb26b7c83 | 25 | HX711 Balance(D5,D6); |
Amyrctdp | 0:317bb26b7c83 | 26 | int Case1; |
Amyrctdp | 0:317bb26b7c83 | 27 | int BeforeGram=0; |
Amyrctdp | 0:317bb26b7c83 | 28 | int AfterGram=0; |
Amyrctdp | 0:317bb26b7c83 | 29 | int ChangeG=0; |
Amyrctdp | 0:317bb26b7c83 | 30 | int TotalG = 0; |
Amyrctdp | 0:317bb26b7c83 | 31 | int TotalOG = 0; |
Amyrctdp | 0:317bb26b7c83 | 32 | |
Amyrctdp | 0:317bb26b7c83 | 33 | void STEP() |
Amyrctdp | 0:317bb26b7c83 | 34 | { |
Amyrctdp | 0:317bb26b7c83 | 35 | A4988DIR = 0; |
Amyrctdp | 0:317bb26b7c83 | 36 | A4988STEP = 0; |
Amyrctdp | 0:317bb26b7c83 | 37 | for (int i = 0 ; i<50 ; i++) { |
Amyrctdp | 0:317bb26b7c83 | 38 | A4988STEP = 1; |
Amyrctdp | 0:317bb26b7c83 | 39 | wait(0.03); |
Amyrctdp | 0:317bb26b7c83 | 40 | A4988STEP = 0; |
Amyrctdp | 0:317bb26b7c83 | 41 | wait(0.03); |
Amyrctdp | 0:317bb26b7c83 | 42 | } |
Amyrctdp | 0:317bb26b7c83 | 43 | } |
Amyrctdp | 0:317bb26b7c83 | 44 | |
Amyrctdp | 0:317bb26b7c83 | 45 | int Rfid() |
Amyrctdp | 0:317bb26b7c83 | 46 | { |
Amyrctdp | 0:317bb26b7c83 | 47 | int i = 1,K; |
Amyrctdp | 0:317bb26b7c83 | 48 | K=0; |
Amyrctdp | 0:317bb26b7c83 | 49 | while(i == 1) { |
Amyrctdp | 0:317bb26b7c83 | 50 | K=0; |
Amyrctdp | 0:317bb26b7c83 | 51 | if ( ! RfChip.PICC_IsNewCardPresent()) { |
Amyrctdp | 0:317bb26b7c83 | 52 | //pc.printf("IT IS UnReadable \n"); |
Amyrctdp | 0:317bb26b7c83 | 53 | wait_ms(500); |
Amyrctdp | 0:317bb26b7c83 | 54 | break; |
Amyrctdp | 0:317bb26b7c83 | 55 | } |
Amyrctdp | 0:317bb26b7c83 | 56 | if (RfChip.PICC_ReadCardSerial()) { |
Amyrctdp | 0:317bb26b7c83 | 57 | pc.printf("Readable \n"); |
Amyrctdp | 0:317bb26b7c83 | 58 | wait_ms(500); |
Amyrctdp | 0:317bb26b7c83 | 59 | K = 1; |
Amyrctdp | 0:317bb26b7c83 | 60 | } |
Amyrctdp | 0:317bb26b7c83 | 61 | i=0; |
Amyrctdp | 0:317bb26b7c83 | 62 | } |
Amyrctdp | 0:317bb26b7c83 | 63 | return K; |
Amyrctdp | 0:317bb26b7c83 | 64 | } |
Amyrctdp | 0:317bb26b7c83 | 65 | |
Amyrctdp | 0:317bb26b7c83 | 66 | int GetGram() |
Amyrctdp | 0:317bb26b7c83 | 67 | { |
Amyrctdp | 0:317bb26b7c83 | 68 | long value; |
Amyrctdp | 0:317bb26b7c83 | 69 | long valueTare; |
Amyrctdp | 0:317bb26b7c83 | 70 | float kilo; |
Amyrctdp | 0:317bb26b7c83 | 71 | float kilo2=0,condition; |
Amyrctdp | 0:317bb26b7c83 | 72 | int gram = 0; |
Amyrctdp | 0:317bb26b7c83 | 73 | int x = 0; |
Amyrctdp | 0:317bb26b7c83 | 74 | int state,j=0; |
Amyrctdp | 0:317bb26b7c83 | 75 | float diff_kilo; |
Amyrctdp | 0:317bb26b7c83 | 76 | valueTare = 8960566; |
Amyrctdp | 0:317bb26b7c83 | 77 | for(int i = 0 ; i<1 ; i++) { |
Amyrctdp | 0:317bb26b7c83 | 78 | wait_ms(1000); |
Amyrctdp | 0:317bb26b7c83 | 79 | value = Balance.getValue(); |
Amyrctdp | 0:317bb26b7c83 | 80 | kilo = (((float)value-(float)valueTare)/143200); |
Amyrctdp | 0:317bb26b7c83 | 81 | kilo= abs (kilo); |
Amyrctdp | 0:317bb26b7c83 | 82 | diff_kilo=kilo - kilo2; |
Amyrctdp | 0:317bb26b7c83 | 83 | diff_kilo = abs(diff_kilo); |
Amyrctdp | 0:317bb26b7c83 | 84 | wait(0.5); |
Amyrctdp | 0:317bb26b7c83 | 85 | //pc.printf("diff ; %f \n",diff_kilo && gram==0); |
Amyrctdp | 0:317bb26b7c83 | 86 | |
Amyrctdp | 0:317bb26b7c83 | 87 | if(kilo > standard) { |
Amyrctdp | 0:317bb26b7c83 | 88 | gram = kilo* (float)70.4014 ;//convert to gram |
Amyrctdp | 0:317bb26b7c83 | 89 | } else if(kilo < standard) { |
Amyrctdp | 0:317bb26b7c83 | 90 | gram=0; |
Amyrctdp | 0:317bb26b7c83 | 91 | } else if(kilo<kilo2 && diff_kilo > standard && state!=0) { |
Amyrctdp | 0:317bb26b7c83 | 92 | pc.printf("kg old = %.2f\n",gram); |
Amyrctdp | 0:317bb26b7c83 | 93 | gram = gram-condition ; |
Amyrctdp | 0:317bb26b7c83 | 94 | j=0; |
Amyrctdp | 0:317bb26b7c83 | 95 | pc.printf("kg new = %.2f\n",gram); |
Amyrctdp | 0:317bb26b7c83 | 96 | pc.printf("condition = %d\n",condition); |
Amyrctdp | 0:317bb26b7c83 | 97 | } else if(diff_kilo > standard && gram !=0 && kilo>kilo2) { |
Amyrctdp | 0:317bb26b7c83 | 98 | condition = gram; |
Amyrctdp | 0:317bb26b7c83 | 99 | gram = condition + (diff_kilo* (float)70.4014) ; |
Amyrctdp | 0:317bb26b7c83 | 100 | state=j+1; |
Amyrctdp | 0:317bb26b7c83 | 101 | i++; |
Amyrctdp | 0:317bb26b7c83 | 102 | } |
Amyrctdp | 0:317bb26b7c83 | 103 | //pc.printf("Valeur : %ld Poids : %.3f RPoids : %.3f\n",value,kilo,kilo2); |
Amyrctdp | 0:317bb26b7c83 | 104 | //pc.printf("Gram : %d g \n",gram); |
Amyrctdp | 0:317bb26b7c83 | 105 | x = gram; |
Amyrctdp | 0:317bb26b7c83 | 106 | gram = 0; |
Amyrctdp | 0:317bb26b7c83 | 107 | kilo2=kilo; |
Amyrctdp | 0:317bb26b7c83 | 108 | } |
Amyrctdp | 0:317bb26b7c83 | 109 | return x; |
Amyrctdp | 0:317bb26b7c83 | 110 | } |
Amyrctdp | 0:317bb26b7c83 | 111 | |
Amyrctdp | 0:317bb26b7c83 | 112 | int main() |
Amyrctdp | 0:317bb26b7c83 | 113 | { |
Amyrctdp | 0:317bb26b7c83 | 114 | pc.baud(9600); |
Amyrctdp | 0:317bb26b7c83 | 115 | esp.baud(9600); |
Amyrctdp | 0:317bb26b7c83 | 116 | RfChip.PCD_Init(); |
Amyrctdp | 0:317bb26b7c83 | 117 | int II; |
Amyrctdp | 0:317bb26b7c83 | 118 | int GG=0; |
Amyrctdp | 0:317bb26b7c83 | 119 | while(1) { |
Amyrctdp | 0:317bb26b7c83 | 120 | II = Rfid(); |
Amyrctdp | 0:317bb26b7c83 | 121 | printf("II State =%d \n",II); |
Amyrctdp | 0:317bb26b7c83 | 122 | printf("Main Gram = %d \n",GG); |
Amyrctdp | 0:317bb26b7c83 | 123 | switch(II){ |
Amyrctdp | 0:317bb26b7c83 | 124 | case 1 : |
Amyrctdp | 0:317bb26b7c83 | 125 | int OG = 0; |
Amyrctdp | 0:317bb26b7c83 | 126 | int SG=0; |
Amyrctdp | 0:317bb26b7c83 | 127 | int count = 20; |
Amyrctdp | 0:317bb26b7c83 | 128 | BeforeGram = GetGram(); // Memory First |
Amyrctdp | 0:317bb26b7c83 | 129 | TotalOG = TotalG; |
Amyrctdp | 0:317bb26b7c83 | 130 | do{ |
Amyrctdp | 0:317bb26b7c83 | 131 | OG = GG; |
Amyrctdp | 0:317bb26b7c83 | 132 | GG = GetGram(); |
Amyrctdp | 0:317bb26b7c83 | 133 | SG = OG - GG ; |
Amyrctdp | 0:317bb26b7c83 | 134 | if(SG == 0){ count--; } |
Amyrctdp | 0:317bb26b7c83 | 135 | printf("SG = %d \n",SG); |
Amyrctdp | 0:317bb26b7c83 | 136 | printf("count = %d \n",count); |
Amyrctdp | 0:317bb26b7c83 | 137 | }while(count != 0); |
Amyrctdp | 0:317bb26b7c83 | 138 | AfterGram = GG; // Memory Last |
Amyrctdp | 0:317bb26b7c83 | 139 | ChangeG = BeforeGram - AfterGram; |
Amyrctdp | 0:317bb26b7c83 | 140 | TotalOG = ChangeG + TotalOG; |
Amyrctdp | 0:317bb26b7c83 | 141 | printf("Before gram :%d\n",BeforeGram); |
Amyrctdp | 0:317bb26b7c83 | 142 | printf("After gram :%d\n",AfterGram); |
Amyrctdp | 0:317bb26b7c83 | 143 | printf("Change gram :%d\n",ChangeG); |
Amyrctdp | 0:317bb26b7c83 | 144 | pc.printf("B=%d,A=%d,C=%d,T=%d,",BeforeGram,AfterGram,ChangeG,TotalOG); |
Amyrctdp | 0:317bb26b7c83 | 145 | ESPconfig(); |
Amyrctdp | 0:317bb26b7c83 | 146 | break; |
Amyrctdp | 0:317bb26b7c83 | 147 | // } |
Amyrctdp | 0:317bb26b7c83 | 148 | case 0 : |
Amyrctdp | 0:317bb26b7c83 | 149 | printf("UnReadable \n"); |
Amyrctdp | 0:317bb26b7c83 | 150 | |
Amyrctdp | 0:317bb26b7c83 | 151 | // else if(II == 0) { |
Amyrctdp | 0:317bb26b7c83 | 152 | if(GG < 100) { |
Amyrctdp | 0:317bb26b7c83 | 153 | printf("Step \n"); |
Amyrctdp | 0:317bb26b7c83 | 154 | STEP(); |
Amyrctdp | 0:317bb26b7c83 | 155 | break;} |
Amyrctdp | 0:317bb26b7c83 | 156 | // } |
Amyrctdp | 0:317bb26b7c83 | 157 | |
Amyrctdp | 0:317bb26b7c83 | 158 | |
Amyrctdp | 0:317bb26b7c83 | 159 | } |
Amyrctdp | 0:317bb26b7c83 | 160 | GG = GetGram(); |
Amyrctdp | 0:317bb26b7c83 | 161 | TotalG = TotalOG; |
Amyrctdp | 0:317bb26b7c83 | 162 | printf("Total = %d \n",TotalG); |
Amyrctdp | 0:317bb26b7c83 | 163 | } |
Amyrctdp | 0:317bb26b7c83 | 164 | } |
Amyrctdp | 0:317bb26b7c83 | 165 | void ESPconfig() |
Amyrctdp | 0:317bb26b7c83 | 166 | { |
Amyrctdp | 0:317bb26b7c83 | 167 | |
Amyrctdp | 0:317bb26b7c83 | 168 | wait(5); |
Amyrctdp | 0:317bb26b7c83 | 169 | //wait(2); |
Amyrctdp | 0:317bb26b7c83 | 170 | strcpy(snd,"AT\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 171 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 172 | timeout=3; |
Amyrctdp | 0:317bb26b7c83 | 173 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 174 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 175 | |
Amyrctdp | 0:317bb26b7c83 | 176 | wait(2); |
Amyrctdp | 0:317bb26b7c83 | 177 | pc.printf("\f---------- Starting ESP Config ----------\r\n\n"); |
Amyrctdp | 0:317bb26b7c83 | 178 | |
Amyrctdp | 0:317bb26b7c83 | 179 | pc.printf("---------- Reset & get Firmware ----------\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 180 | strcpy(snd,"AT+RST\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 181 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 182 | timeout=3; |
Amyrctdp | 0:317bb26b7c83 | 183 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 184 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 185 | |
Amyrctdp | 0:317bb26b7c83 | 186 | wait(2); |
Amyrctdp | 0:317bb26b7c83 | 187 | |
Amyrctdp | 0:317bb26b7c83 | 188 | // set CWMODE to 1=Station,2=AP,3=BOTH, default mode 1 (Station) |
Amyrctdp | 0:317bb26b7c83 | 189 | pc.printf("\n---------- Setting Mode ----------\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 190 | strcpy(snd, "AT+CWMODE=1\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 191 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 192 | timeout=5; |
Amyrctdp | 0:317bb26b7c83 | 193 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 194 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 195 | |
Amyrctdp | 0:317bb26b7c83 | 196 | wait(2); |
Amyrctdp | 0:317bb26b7c83 | 197 | |
Amyrctdp | 0:317bb26b7c83 | 198 | // set CIPMUX to 0=Single,1=Multi |
Amyrctdp | 0:317bb26b7c83 | 199 | pc.printf("\n---------- Setting Connection Mode ----------\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 200 | strcpy(snd, "AT+CIPMUX=0\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 201 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 202 | timeout=3; |
Amyrctdp | 0:317bb26b7c83 | 203 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 204 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 205 | |
Amyrctdp | 0:317bb26b7c83 | 206 | wait(2); |
Amyrctdp | 0:317bb26b7c83 | 207 | |
Amyrctdp | 0:317bb26b7c83 | 208 | pc.printf("\n---------- Connecting to AP ----------\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 209 | pc.printf("ssid = %s pwd = %s\r\n",ssid,pwd); |
Amyrctdp | 0:317bb26b7c83 | 210 | strcpy(snd, "AT+CWJAP=\""); |
Amyrctdp | 0:317bb26b7c83 | 211 | strcat(snd, ssid); |
Amyrctdp | 0:317bb26b7c83 | 212 | strcat(snd, "\",\""); |
Amyrctdp | 0:317bb26b7c83 | 213 | strcat(snd, pwd); |
Amyrctdp | 0:317bb26b7c83 | 214 | strcat(snd, "\"\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 215 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 216 | timeout=10; |
Amyrctdp | 0:317bb26b7c83 | 217 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 218 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 219 | |
Amyrctdp | 0:317bb26b7c83 | 220 | wait(2); |
Amyrctdp | 0:317bb26b7c83 | 221 | |
Amyrctdp | 0:317bb26b7c83 | 222 | pc.printf("\n---------- Get Connection Status ----------\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 223 | strcpy(snd, "AT+CIPSTATUS\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 224 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 225 | timeout=3; |
Amyrctdp | 0:317bb26b7c83 | 226 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 227 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 228 | |
Amyrctdp | 0:317bb26b7c83 | 229 | pc.printf("\n---------- SEND COMMAND ----------\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 230 | strcpy(snd,"AT+CIPSTART=\"TCP\",\"184.106.153.149\",80\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 231 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 232 | timeout=5; |
Amyrctdp | 0:317bb26b7c83 | 233 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 234 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 235 | |
Amyrctdp | 0:317bb26b7c83 | 236 | sprintf(data1, "%d",BeforeGram); |
Amyrctdp | 0:317bb26b7c83 | 237 | strcat(GET,"&field1="); |
Amyrctdp | 0:317bb26b7c83 | 238 | strcat(GET,data1); |
Amyrctdp | 0:317bb26b7c83 | 239 | |
Amyrctdp | 0:317bb26b7c83 | 240 | sprintf(data2, "%d",AfterGram); |
Amyrctdp | 0:317bb26b7c83 | 241 | strcat(GET,"&field2="); |
Amyrctdp | 0:317bb26b7c83 | 242 | strcat(GET,data2); |
Amyrctdp | 0:317bb26b7c83 | 243 | |
Amyrctdp | 0:317bb26b7c83 | 244 | sprintf(data3, "%d",ChangeG); |
Amyrctdp | 0:317bb26b7c83 | 245 | strcat(GET,"&field3="); |
Amyrctdp | 0:317bb26b7c83 | 246 | strcat(GET,data3); |
Amyrctdp | 0:317bb26b7c83 | 247 | |
Amyrctdp | 0:317bb26b7c83 | 248 | sprintf(data4, "%d",TotalOG); |
Amyrctdp | 0:317bb26b7c83 | 249 | strcat(GET,"&field4="); |
Amyrctdp | 0:317bb26b7c83 | 250 | strcat(GET,data4); |
Amyrctdp | 0:317bb26b7c83 | 251 | |
Amyrctdp | 0:317bb26b7c83 | 252 | |
Amyrctdp | 0:317bb26b7c83 | 253 | strcat(GET,"\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 254 | |
Amyrctdp | 0:317bb26b7c83 | 255 | |
Amyrctdp | 0:317bb26b7c83 | 256 | strcpy(snd,length); |
Amyrctdp | 0:317bb26b7c83 | 257 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 258 | timeout=2; |
Amyrctdp | 0:317bb26b7c83 | 259 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 260 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 261 | |
Amyrctdp | 0:317bb26b7c83 | 262 | strcpy(snd,GET); |
Amyrctdp | 0:317bb26b7c83 | 263 | SendCMD(); |
Amyrctdp | 0:317bb26b7c83 | 264 | timeout=10; |
Amyrctdp | 0:317bb26b7c83 | 265 | getreply(); |
Amyrctdp | 0:317bb26b7c83 | 266 | pc.printf(buf); |
Amyrctdp | 0:317bb26b7c83 | 267 | |
Amyrctdp | 0:317bb26b7c83 | 268 | wait(60); |
Amyrctdp | 0:317bb26b7c83 | 269 | |
Amyrctdp | 0:317bb26b7c83 | 270 | pc.printf("\n---------- END ----------\r\n"); |
Amyrctdp | 0:317bb26b7c83 | 271 | |
Amyrctdp | 0:317bb26b7c83 | 272 | } |
Amyrctdp | 0:317bb26b7c83 | 273 | void SendCMD() |
Amyrctdp | 0:317bb26b7c83 | 274 | { |
Amyrctdp | 0:317bb26b7c83 | 275 | esp.printf("%s", snd); |
Amyrctdp | 0:317bb26b7c83 | 276 | } |
Amyrctdp | 0:317bb26b7c83 | 277 | |
Amyrctdp | 0:317bb26b7c83 | 278 | void getreply() |
Amyrctdp | 0:317bb26b7c83 | 279 | { |
Amyrctdp | 0:317bb26b7c83 | 280 | memset(buf, '\0', sizeof(buf)); |
Amyrctdp | 0:317bb26b7c83 | 281 | t_esp.start(); |
Amyrctdp | 0:317bb26b7c83 | 282 | ended=0; |
Amyrctdp | 0:317bb26b7c83 | 283 | count=0; |
Amyrctdp | 0:317bb26b7c83 | 284 | while(!ended) |
Amyrctdp | 0:317bb26b7c83 | 285 | { |
Amyrctdp | 0:317bb26b7c83 | 286 | if(esp.readable()) |
Amyrctdp | 0:317bb26b7c83 | 287 | { |
Amyrctdp | 0:317bb26b7c83 | 288 | buf[count] = esp.getc(); |
Amyrctdp | 0:317bb26b7c83 | 289 | count++; |
Amyrctdp | 0:317bb26b7c83 | 290 | } |
Amyrctdp | 0:317bb26b7c83 | 291 | if(t_esp.read() > timeout) { |
Amyrctdp | 0:317bb26b7c83 | 292 | ended = 1; |
Amyrctdp | 0:317bb26b7c83 | 293 | t_esp.stop(); |
Amyrctdp | 0:317bb26b7c83 | 294 | t_esp.reset(); |
Amyrctdp | 0:317bb26b7c83 | 295 | } |
Amyrctdp | 0:317bb26b7c83 | 296 | } |
Amyrctdp | 0:317bb26b7c83 | 297 | } |