uint32_t ESP8266::recvAsync(uint8_t *buffer, uint32_t buffer_size, uint32_t timeout){ char PIPDcomma[] = KEYWORD_PIPD; if(m_puart->available() > 0) { char a = m_puart->read(); if(PIPDcomma[PIPDCound] == a){ PIPDCound++; if( PIPDCound == 5){ //found pipd PIPDCound = 0; return recvPkg( buffer, buffer_size, NULL, timeout, NULL, KEYWORD_PIPD ); } }else{ PIPDCound = 0; } } return 0; }
uint32_t ESP8266::recv(uint8_t mux_id, uint8_t *buffer, uint32_t buffer_size, uint32_t timeout) { uint8_t id; uint32_t ret; ret = recvPkg(buffer, buffer_size, NULL, timeout, &id); if (ret > 0 && id == mux_id) { return ret; } return 0; }
uint32_t ESP8266::recv(uint8_t *coming_mux_id, uint8_t *buffer, uint32_t buffer_size, uint32_t timeout) { return recvPkg(buffer, buffer_size, NULL, timeout, coming_mux_id); }
uint32_t ESP8266::recv(uint8_t *buffer, uint32_t buffer_size, uint32_t timeout) { return recvPkg(buffer, buffer_size, NULL, timeout, NULL); }