Ignore:
Timestamp:
Mar 28, 2016, 2:28:23 PM (8 years ago)
Author:
ertl-honda
Message:

ESP8266のライブラリの更新に伴う変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rtos_arduino/trunk/arduino_lib/libraries/Milkcocoa_Arduino_SDK/Client_ESP8266.h

    r170 r180  
    2323#include "ESP8266.h"
    2424
    25 #define ESP8266CLIENT_BUFFER_LEN  512
    26 
    2725class ESP8266Client: public Client, public ESP8266 {
    28 
    2926  public:
     27    ESP8266Client(void) {
     28        pbuffer = &rx_buffer[0];
     29    }
     30   
    3031    /*
    3132     * @retval 0 : faild
     
    3435    int connect(IPAddress ip, uint16_t port) {
    3536        String ip_str;
    36         bufferlen= 0;
    37         ip_str.concat(ip[0]);
    38         ip_str.concat(".");
    39         ip_str.concat(ip[1]);
    40         ip_str.concat(".");
    41         ip_str.concat(ip[2]);
    42         ip_str.concat(".");
     37        ip_str.concat(ip[0]); ip_str.concat(".");
     38        ip_str.concat(ip[1]); ip_str.concat(".");
     39        ip_str.concat(ip[2]); ip_str.concat(".");
    4340        ip_str.concat(ip[3]);
    44         _connected = (createTCP(ip_str, port))? 1 : 0;       
    45         return (int)_connected;
     41        return (createTCP(ip_str, port))? 1 : 0;
    4642    };
    4743   
    4844    int connect(const char *host, uint16_t port) {
    4945        String ip_str(host);
    50         bufferlen= 0;
    51         _connected = (createTCP(ip_str, port))? 1 : 0;       
    52         return (int)_connected;       
     46        return (createTCP(ip_str, port))? 1 : 0;
    5347    };
    5448   
     
    5650        if(send(&data, 1)){
    5751            return 1;
    58         }
    59         else {
    60             return 0;
    61         }
     52        }       
     53        return 0;
    6254    };
     55   
    6356    size_t write(const uint8_t *buf, size_t size){
    6457        if(send(buf, size)){
    6558            return size;
    6659        }
    67         else {
    68             return 0;
    69         }
    70     };
    71     int available(){
    72         if (bufferlen > 0) {
    73             return 1;
    74         }
    75         if (dataAvailable()) {
    76             bufferlen = recv(buffer, ESP8266CLIENT_BUFFER_LEN);
    77             pbuffer = buffer;
    78             //In case of that data is available but it is not valid data(not +IPD,...),
    79             //connection is closed by server.(send "CLOSED")
    80             if(bufferlen == 0){
    81                 _connected = 0;
    82                 releaseTCP();
    83                 return 0;
    84             }
    85             return 1;
    86         }
    8760        return 0;
    8861    };
     62   
     63    int available(){
     64        return isDataAvailable();
     65    };
     66   
    8967    int read(){
    90         if (bufferlen == 0) {
    91             bufferlen = recv(buffer, ESP8266CLIENT_BUFFER_LEN);
    92             pbuffer = buffer;
     68        uint8_t data;
     69        if(recv(&data, 1) == 1) {
     70            return data;
    9371        }
    94         if (bufferlen > 0){
    95             bufferlen--;
    96             return *pbuffer++;
    97         }
    98         else {
    99             return (int)-1;
    100         }           
     72        return (int)-1;
    10173    };
    102     int read(uint8_t *buf, size_t size){return recv(buf, size);};
    103     int peek(){return 1;};
     74   
     75    int read(uint8_t *buf, size_t size){
     76        return recv(buf, size);
     77    };
     78   
     79    int peek(){
     80        return pbuffer->peek();
     81    };
     82   
    10483    void flush(){};
    10584    void stop(){releaseTCP();};
    106     uint8_t connected(){return _connected;};
    107     operator bool(){return (bool)(_connected == 1);};
     85    uint8_t connected(){return (isConnected())? 1 : 0;};
     86    operator bool(){return isConnected();};
    10887  private:
    109     uint8_t _connected;
    110     uint8_t buffer[ESP8266CLIENT_BUFFER_LEN];
    111     uint8_t bufferlen;
    112     uint8_t *pbuffer;
     88    ESP8266_RingBuffer *pbuffer;
    11389};
    11490
Note: See TracChangeset for help on using the changeset viewer.