1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-27 18:02:17 +03:00

Merge pull request #1 from esp8266/esp8266

pull master
This commit is contained in:
Me No Dev
2015-07-16 21:40:22 +03:00
18 changed files with 113 additions and 64 deletions

View File

@ -25,7 +25,7 @@
const char* ssid = "**********";
const char* password = "**********";
WiFiServer server(21);
WiFiServer server(23);
WiFiClient serverClients[MAX_SRV_CLIENTS];
void setup() {
@ -45,7 +45,7 @@ void setup() {
Serial1.print("Ready! Use 'telnet ");
Serial1.print(WiFi.localIP());
Serial1.println(" 21' to connect");
Serial1.println(" 23' to connect");
}
void loop() {

View File

@ -177,20 +177,17 @@ size_t WiFiClient::write(const uint8_t *buf, size_t size)
return _client->write(reinterpret_cast<const char*>(buf), size);
}
extern "C" uint32_t esp_micros_at_task_start();
int WiFiClient::available()
{
static uint32_t lastPollTime = 0;
if (!_client)
return 0;
int result = 0;
if (lastPollTime > esp_micros_at_task_start())
yield();
if (_client) {
result = _client->getSize();
}
lastPollTime = micros();
int result = _client->getSize();
if (!result) {
optimistic_yield();
}
return result;
}

View File

@ -84,8 +84,6 @@ bool WiFiServer::getNoDelay(){
return tcp_nagle_disabled(_pcb);
}
extern "C" uint32_t esp_micros_at_task_start();
bool WiFiServer::hasClient(){
if (_unclaimed) return true;
return false;
@ -93,8 +91,6 @@ bool WiFiServer::hasClient(){
WiFiClient WiFiServer::available(byte* status)
{
static uint32_t lastPollTime = 0;
if (_unclaimed)
{
WiFiClient result(_unclaimed);
@ -103,9 +99,7 @@ WiFiClient WiFiServer::available(byte* status)
return result;
}
if (lastPollTime > esp_micros_at_task_start())
yield();
lastPollTime = micros();
optimistic_yield();
return WiFiClient();
}

View File

@ -116,9 +116,17 @@ uint8_t WiFiUDP::beginMulticast(IPAddress interfaceAddr, IPAddress multicast, ui
/* return number of bytes available in the current packet,
will return zero if parsePacket hasn't been called yet */
int WiFiUDP::available() {
if (!_ctx)
return 0;
return static_cast<int>(_ctx->getSize());
int result = 0;
if (_ctx) {
result = static_cast<int>(_ctx->getSize());
}
if (!result) {
optimistic_yield();
}
return result;
}
/* Release any resources being used by this WiFiUDP instance */

View File

@ -1,8 +1,8 @@
name=ESP8266httpUpdate
version=1.0
author=Markus Sattler
maintainer=Markus Sattler
maintainer=Markus Sattler
sentence=Http Update for ESP8266
paragraph=
url=https://github.com/Links2004/Arduino/tree/esp8266/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate
architectures=ESP8266
architectures=esp8266

View File

@ -23,7 +23,7 @@
*
*/
#include "ESP8266HTTPUpdate.h"
#include "ESP8266httpUpdate.h"
ESP8266HTTPUpdate::ESP8266HTTPUpdate(void) {

View File

@ -161,7 +161,13 @@ size_t TwoWire::write(const uint8_t *data, size_t quantity){
}
int TwoWire::available(void){
return rxBufferLength - rxBufferIndex;
int result = rxBufferLength - rxBufferIndex;
if (!result) {
optimistic_yield();
}
return result;
}
int TwoWire::read(void){