Ignore:
Timestamp:
Dec 5, 2015, 7:18:45 PM (8 years ago)
Author:
ertl-honda
Message:

Milkcocoa用に更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rtos_arduino/trunk/arduino_lib/libraries/ESP8266/ESP8266.cpp

    r136 r143  
    77 * @par Copyright:
    88 * Copyright (c) 2015 ITEAD Intelligent Systems Co., Ltd. \n\n
     9 * Copyright (C) 2015 Embedded and Real-Time Systems Laboratory
     10 *              Graduate School of Information Science, Nagoya Univ., JAPAN \n\n
    911 * This program is free software; you can redistribute it and/or
    1012 * modify it under the terms of the GNU General Public License as
     
    2325#define LOG_OUTPUT_DEBUG            (1)
    2426#define LOG_OUTPUT_DEBUG_PREFIX     (1)
     27
     28#ifdef TOPPERS_WITH_ARDUINO
     29#define WAIT_TIMEOUT delay(1);
     30#else /* !TOPPERS_WITH_ARDUINO */
     31#define WAIT_TIMEOUT
     32#endif /* TOPPERS_WITH_ARDUINO */
    2533
    2634#define logDebug(arg)\
     
    4351
    4452#ifdef ESP8266_USE_SOFTWARE_SERIAL
    45 ESP8266::begin(SoftwareSerial &uart, uint32_t baud)
     53void ESP8266::begin(SoftwareSerial &uart, uint32_t baud)
    4654{
    4755    m_puart = &uart;
    4856    m_baud = baud;
    4957    m_puart->begin(baud);
    50     rx_empty();           
     58    rx_empty();
    5159}
    5260#else
     
    5664    m_baud = baud;
    5765    m_puart->begin(baud);
    58     rx_empty();       
     66    rx_empty();
    5967}
    6068#endif
     
    306314}
    307315
     316int ESP8266::dataAvailable(void)
     317{
     318    return (m_puart->available() > 0)? 1 : 0;
     319}
     320           
    308321/*----------------------------------------------------------------------------*/
    309322/* +IPD,<id>,<len>:<data> */
     
    334347            data += a;
    335348        }else{
    336             delay(1);
     349            WAIT_TIMEOUT;
    337350        }
    338351       
     
    366379    if (has_data) {
    367380        i = 0;
    368         ret = len > buffer_size ? buffer_size : len;
     381        ret = (uint32_t)len > buffer_size ? buffer_size : len;
    369382        start = millis();
    370383        while (millis() - start < 3000) {
     
    383396                return ret;
    384397            }
    385             delay(1);
     398            WAIT_TIMEOUT
    386399        }
    387400    }
     
    410423            break;
    411424        }
    412         delay(1);
     425        WAIT_TIMEOUT
    413426    }
    414427    return data;
     
    416429
    417430String ESP8266::recvString(String target1, String target2, uint32_t timeout)
    418 {
    419     String data;
    420     char a;
    421     unsigned long start = millis();
    422     while (millis() - start < timeout) {
    423         while(m_puart->available() > 0) {
    424             a = m_puart->read();
    425                         if(a == '\0') continue;
    426             data += a;
    427         }
    428         if (data.indexOf(target1) != -1) {
    429             break;
    430         } else if (data.indexOf(target2) != -1) {
    431             break;
    432         }
    433         delay(1);
    434     }
    435     return data;
    436 }
    437 
    438 String ESP8266::recvString(String target1, String target2, String target3, uint32_t timeout)
    439431{
    440432    String data;
     
    451443        } else if (data.indexOf(target2) != -1) {
    452444            break;
     445        }
     446        WAIT_TIMEOUT
     447    }
     448    return data;
     449}
     450
     451String ESP8266::recvString(String target1, String target2, String target3, uint32_t timeout)
     452{
     453    String data;
     454    char a;
     455    unsigned long start = millis();
     456    while (millis() - start < timeout) {
     457        while(m_puart->available() > 0) {
     458            a = m_puart->read();
     459            if(a == '\0') continue;
     460            data += a;
     461        }
     462        if (data.indexOf(target1) != -1) {
     463            break;
     464        } else if (data.indexOf(target2) != -1) {
     465            break;
    453466        } else if (data.indexOf(target3) != -1) {
    454467            break;
    455468        }
    456         delay(1);
     469        WAIT_TIMEOUT
    457470    }
    458471    return data;
Note: See TracChangeset for help on using the changeset viewer.