Changeset 321 for EcnlProtoTool/trunk/mrbgems/mruby-arduino/src/sWiFi.c
- Timestamp:
- Aug 23, 2017, 9:27:43 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mrbgems/mruby-arduino/src/sWiFi.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r270 r321 1 1 /* 2 * ESP-WROOM-02 é¢é£2 * ESP-WROOM-02関連 3 3 * 4 4 * Copyright (c) 2016 Wakayama.rb Ruby Board developers … … 26 26 27 27 unsigned char WiFiData[256]; 28 int WiFiRecvOutlNum = -1; /*ESP8266 ããã®åä¿¡ãåºåããã·ãªã¢ã«çªå·: -1ã®å ´åã¯åºåããªãã*/29 30 /******************************************************/ 31 /* OK 0d0a ã ERROR 0d0aãæ¥ãã¾ã§ WiFiData[]ã«èªããã*/32 /* æå®ãããã·ãªã¢ã«ãã¼ãã«åºåãã¾ã*/28 int WiFiRecvOutlNum = -1; /*ESP8266からの受信を出力するシリアル番号: -1の場合は出力しない。*/ 29 30 /******************************************************/ 31 /* OK 0d0a か ERROR 0d0aが来るまで WiFiData[]に読むか、*/ 32 /* 指定されたシリアルポートに出力します*/ 33 33 /**/ 34 /* 1: åä¿¡ãã, 0:åä¿¡ã§ããªãã£ã*/34 /* 1:受信した, 0:受信できなかった*/ 35 35 /******************************************************/ 36 36 int getData(int wait_msec) … … 49 49 times = us_ticker_read() / 1000; 50 50 while (n < 256) { 51 /*digitalWrite(get_pin(WIFI_CTS), 0); //é信許å¯*/ 52 53 /*wait_msec å¾ 54 ã¤*/ 51 /*digitalWrite(get_pin(WIFI_CTS), 0); //送信許可*/ 52 53 /*wait_msec 待つ*/ 55 54 if ((us_ticker_read() / 1000) - times > wait_msec) { 56 55 DEBUG_PRINT("WiFi get Data", "Time OUT"); … … 63 62 c = serial_getc(RbSerial[WIFI_SERIAL]); 64 63 65 /* æå®ã®ã·ãªã¢ã«ãã¼ãã«åºãè¨å®ã§ããã°ãåä¿¡å¤ãåºåãã¾ã*/64 /*指定のシリアルポートに出す設定であれば、受信値を出力します*/ 66 65 if (WiFiRecvOutlNum >= 0) { 67 66 serial_putc(RbSerial[WiFiRecvOutlNum], (unsigned char)c); … … 107 106 } 108 107 } 109 /*digitalWrite(get_pin(WIFI_CTS), 0); // é信許å¯*/108 /*digitalWrite(get_pin(WIFI_CTS), 0); //送信許可*/ 110 109 return 1; 111 110 } 112 111 113 112 /******************************************************/ 114 /* ã¹ãã¼ã·ã§ã³ã¢ã¼ãã®è¨å®: WiFi.cwmode*/113 /* ステーションモードの設定: WiFi.cwmode*/ 115 114 /* WiFi.cwmode(mode)*/ 116 115 /* mode: 1:Station, 2:SoftAP, 3:Station + SoftAP*/ … … 128 127 serial_println(RbSerial[WIFI_SERIAL], tmode); 129 128 130 /*OK 0d0a ã ERROR 0d0aãæ¥ãã¾ã§ WiFiData[]ã«èªããæå®ãããã·ãªã¢ã«ãã¼ãã«åºåãã¾ã*/129 /*OK 0d0a か ERROR 0d0aが来るまで WiFiData[]に読か、指定されたシリアルポートに出力します*/ 131 130 getData(WIFI_WAIT_MSEC); 132 131 … … 135 134 136 135 /******************************************************/ 137 /* ã³ãã³ãå¿çã®ã·ãªã¢ã«åºåè¨å®: WiFi.sout*/136 /* コマンド応答のシリアル出力設定: WiFi.sout*/ 138 137 /* WiFi.sout( mode[,serialNumber] )*/ 139 /* mode: 0:åºåããªã, 1:åºåãã*/ 140 /* serialNumber: åºåå 141 ã®ã·ãªã¢ã«çªå·*/ 138 /* mode: 0:出力しない, 1:出力する*/ 139 /* serialNumber: 出力先のシリアル番号*/ 142 140 /******************************************************/ 143 141 mrb_value mrb_wifi_Sout(mrb_state *mrb, mrb_value self) … … 158 156 } 159 157 } 160 return mrb_nil_value(); /* æ»ãå¤ã¯ç¡ãã§ããã*/161 } 162 163 /******************************************************/ 164 /* AT ã³ãã³ãã®éä¿¡: WiFi.at*/158 return mrb_nil_value(); /*戻り値は無しですよ。*/ 159 } 160 161 /******************************************************/ 162 /* ATコマンドの送信: WiFi.at*/ 165 163 /* WiFi.at( command[, mode] )*/ 166 /* commnad: ATã³ãã³ãå 167 容*/ 168 /* mode: 0:'AT+'ãèªå追å ããã1:'AT+'ãèªå追å ããªã*/ 164 /* commnad: ATコマンド内容*/ 165 /* mode: 0:'AT+'を自動追加する、1:'AT+'を自動追加しない*/ 169 166 /******************************************************/ 170 167 mrb_value mrb_wifi_at(mrb_state *mrb, mrb_value self) … … 191 188 /*DEBUG_PRINT("WiFi.at",(const char*)WiFiData);*/ 192 189 193 /*OK 0d0a ã ERROR 0d0aãæ¥ãã¾ã§ WiFiData[]ã«èªããæå®ãããã·ãªã¢ã«ãã¼ãã«åºåãã¾ã*/190 /*OK 0d0a か ERROR 0d0aが来るまで WiFiData[]に読か、指定されたシリアルポートに出力します*/ 194 191 getData(WIFI_WAIT_MSEC); 195 192 … … 198 195 199 196 /******************************************************/ 200 /* WiFi æ¥ç¶ãã¾ã: WiFi.cwjap*/197 /* WiFi接続します: WiFi.cwjap*/ 201 198 /* WiFi.cwjap(SSID,Passwd)*/ 202 /* SSID: WiFi ã®SSID*/203 /* Passwd: ãã¹ã¯ã¼ã*/199 /* SSID: WiFiのSSID*/ 200 /* Passwd: パスワード*/ 204 201 /******************************************************/ 205 202 mrb_value mrb_wifi_Cwjap(mrb_state *mrb, mrb_value self) … … 245 242 serial_println(RbSerial[WIFI_SERIAL], (const char*)WiFiData); 246 243 247 /*OK 0d0a ã ERROR 0d0aãæ¥ãã¾ã§ WiFiData[]ã«èªããæå®ãããã·ãªã¢ã«ãã¼ãã«åºåãã¾ã*/244 /*OK 0d0a か ERROR 0d0aが来るまで WiFiData[]に読か、指定されたシリアルポートに出力します*/ 248 245 getData(WIFI_WAIT_MSEC); 249 246 … … 252 249 253 250 /******************************************************/ 254 /* IP ã¢ãã¬ã¹ã¨MACã¢ãã¬ã¹ã®è¡¨ç¤º: WiFi.cifsr*/251 /* IPアドレスとMACアドレスの表示: WiFi.cifsr*/ 255 252 /* WiFi.cwjap()*/ 256 253 /******************************************************/ … … 259 256 serial_println(RbSerial[WIFI_SERIAL], "AT+CIFSR"); 260 257 261 /*OK 0d0a ã ERROR 0d0aãæ¥ãã¾ã§ WiFiData[]ã«èªããæå®ãããã·ãªã¢ã«ãã¼ãã«åºåãã¾ã*/258 /*OK 0d0a か ERROR 0d0aが来るまで WiFiData[]に読か、指定されたシリアルポートに出力します*/ 262 259 getData(WIFI_WAIT_MSEC); 263 260 … … 266 263 267 264 /******************************************************/ 268 /* USB ãã¼ãã¨ESP8266ãã·ãªã¢ã«ã§ç´çµãã¾ã: WiFi.bypass*/265 /* USBポートとESP8266をシリアルで直結します: WiFi.bypass*/ 269 266 /* WiFi.bypass()*/ 270 /* ãªã»ããããã¾ã§ãå¦çã¯æ»ãã¾ããã*/267 /* リセットするまで、処理は戻りません。*/ 271 268 /******************************************************/ 272 269 mrb_value mrb_wifi_bypass(mrb_state *mrb, mrb_value self) … … 297 294 } 298 295 } 299 return mrb_nil_value(); /* æ»ãå¤ã¯ç¡ãã§ããã*/300 } 301 302 /******************************************************/ 303 /* ã©ã¤ãã©ãªãå®ç¾©ãã¾ã*/296 return mrb_nil_value(); /*戻り値は無しですよ。*/ 297 } 298 299 /******************************************************/ 300 /* ライブラリを定義します*/ 304 301 /******************************************************/ 305 302 int esp8266_Init(mrb_state *mrb) … … 307 304 PinName txpin, rxpin; 308 305 309 /*ESP8266 ããã®åä¿¡ãåºåããªãã«è¨å®*/306 /*ESP8266からの受信を出力しないに設定*/ 310 307 WiFiRecvOutlNum = -1; 311 308 312 /*CTS ç¨ã«PIN15ãOUTPUTã«è¨å®ãã¾ã*/309 /*CTS用にPIN15をOUTPUTに設定します*/ 313 310 /*pinMode(get_pin(WIFI_CTS), 1);*/ 314 311 /*digitalWrite(get_pin(WIFI_CTS), 1);*/ 315 312 316 /*WiFi ã®ã·ãªã¢ã«3ãè¨å®*/317 /* ã·ãªã¢ã«éä¿¡ã®åæåããã¾ã*/313 /*WiFiのシリアル3を設定*/ 314 /*シリアル通信の初期化をします*/ 318 315 portToPins(SCI_SCI0P2x, &txpin, &rxpin); 319 316 serial_init(RbSerial[WIFI_SERIAL], txpin, rxpin); … … 321 318 int len; 322 319 323 /* åä¿¡ãããã¡ã空ã«ãã¾ã*/320 /*受信バッファを空にします*/ 324 321 while ((len = serial_readable(RbSerial[WIFI_SERIAL])) > 0) { 325 322 /*serial_print(RbSerial[0], len);*/ … … 329 326 } 330 327 331 /*ECHO ãªãã³ãã³ããéä¿¡ãã*/328 /*ECHOオフコマンドを送信する*/ 332 329 serial_println(RbSerial[WIFI_SERIAL], "ATE0"); 333 330 334 /*OK 0d0a ã ERROR 0d0aãæ¥ãã¾ã§ WiFiData[]ã«èªã*/331 /*OK 0d0a か ERROR 0d0aが来るまで WiFiData[]に読む*/ 335 332 if (getData(500) == 0) { 336 333 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.