Commit Graph

56 Commits

Author SHA1 Message Date
me-no-dev
946e52da98 Break on any error when flushing a client 2017-03-02 12:32:32 +02:00
me-no-dev
6fc96b977f Add WiFiClient flush to clear all non-read data in RX
fixes: https://github.com/espressif/arduino-esp32/issues/119
2017-03-02 02:49:53 +02:00
David Schroeder
f0fc28f0e3 Rework WiFiClient (#238)
* Rework WiFiClient

Rework WiFiClient to correct error where making a copy of a WiFiClient object resulted in the socket being closed prematurely.

Added loop and select to write to handle/prevent EAGAIN errors.

* Rework WiFiClient to use shared_ptr

Rework changes to utilize shared_ptr rather than manually maintaining reference count. 

Revert changes to write

* Incorporate comments from review

Move WiFiClientSocketHandle and fd() into WiFiClient.cpp
2017-03-02 00:47:16 +02:00
David Schroeder
770830aa01 Revise WiFiClient::Write to handle EAGAIN (#240)
The send call may return EAGAIN. This indicates a recoverable error and a retry should be attempted. The current implementation treats this as a fatal error. Further, the current implementation strips the error code, setting it to 0, which prevents the caller from handling it directly. 
This change utilizes select to verify the socket is available prior to calling send and will retry on an EAGAIN condition.
2017-03-01 00:37:00 +02:00
me-no-dev
bcd6dcf5f6 Fix compile error with IDF and mbedtls debug off 2017-02-28 23:18:06 +02:00
me-no-dev
1d759380a6 Major IDF and Arduino Update
WiFi and BlueTooth can now be started and stopped at will.
basic functions added to esp32-hal to start and stop the BT radio
SimpleBLE class added to show the most basic functionality
Example to show how to switch between BT, WiFi or Both
2017-02-23 01:11:57 +02:00
me-no-dev
b5ac95b274 Update RepeatTimer example
Implement semaphore and mutex to safeguard the ISR.
This is the proper way to handle hardware Interrupts with FreeRTOS. The
more regular approach may/will lead to exceptions
2017-02-20 15:08:11 +02:00
Martin Sloup
a83dd5f2b5 Add RepeatTimer example (#216) 2017-02-17 15:55:07 +02:00
wami
95cb54cede [fix] return add --- error: no return statement in function returning non-void (#205) 2017-02-17 00:43:59 +02:00
me-no-dev
3cbc405edf Add helper for sending 16bit color buffers 2017-02-14 11:58:04 +02:00
me-no-dev
d0232d126a SPI implement transaction locking
Use transactions to skip mutex locks for reads and writes
2017-02-14 04:15:38 +02:00
Martin Sloup
a36ef2aea8 Added LEDC Software Fade example (#202)
* Added LEDC Fade exmaple

* Renamed LEDCFade example to LEDCSoftwareFade

Added valueMax parameter for ledcAnalogWrite

* Remove usage of LED_BUILTIN constant to solve CI errors
2017-02-12 17:30:12 +02:00
Martin Sloup
f9ba8e9ccf Refactoring EPS32NVS library to Preferences library (#199)
* Refactoring EPS32NVS library to Preferences library

* Renaming all set* functions to put
* Added functions for float, double and bool

* Small redesign of Preferences API

* added type to put* function names
* for (u)int64_t used functions name with *(U)Long64
* added functions for long and unsigned long (same like int a unsigned int)
2017-02-12 00:08:22 +02:00
copercini
8ab3231e31 Add WiFiClient secure lib (#184)
* Provide SSL/TLS functions to ESP32 with Arduino IDE

* Generate a new random number in case of reconnection
2017-02-11 00:20:24 +02:00
Martin Sloup
0fb5e5ca11 Improves in ESP32NVS library (#196)
* Improved ESP32NVS default value support for read* functions

Fixed uninitialized NVS flash storage. Added example code.

* Add methods for String and remove unnecessary nvs_flash_init() in ESP32NVS class

+ other minor declaration fixes

* ESP32NVS function name renaming

* read* -> get*
* write* -> set*
* erase -> clear / remove
2017-02-11 00:18:57 +02:00
Me No Dev
fb8fe671d6 New partitions (#192)
* Add new partition scheme

* Init NVS early, so it can be used without BT or WiFi
2017-02-10 14:11:24 +02:00
me-no-dev
1f0df1ef97 Fix wrong return values for WiFi::softAPConfig
fixes: https://github.com/espressif/arduino-esp32/issues/191
2017-02-10 13:49:43 +02:00
me-no-dev
0101564219 fix compilation error if debug level is above debug and less or equal to warn 2017-02-10 04:27:48 +02:00
me-no-dev
8df22cac80 Store WiFi settings in flash
Fixes: https://github.com/espressif/arduino-esp32/issues/173
2017-02-10 02:01:16 +02:00
me-no-dev
6a058275e7 Remove unimplemented methods from SPI 2017-02-09 20:40:56 +02:00
Martin Sloup
3e87dcf748 beginPacket can be used without listening on socket (#185)
Currently there is bug in WiFiUDP library when you want to use beginPacket(...) without listening on socket (without calling begin(...) first). You can't send any data because socket is not open and also tx_buffer is not allocated which cause crash while writing data to tx_buffer.
2017-02-08 23:10:16 +02:00
me-no-dev
bfa979a900 Add initial NVS Arduino implementation 2017-02-08 23:09:42 +02:00
me-no-dev
fdc4f53eb6 fix WiFi disconnect reason index 2017-02-08 20:20:00 +02:00
Ion
cea41d965a Add Touchread example (#175)
* Add Touchread example

* Rename libraries/ESP32/examples/Touch/TouchRead.ino to libraries/ESP32/examples/Touch/TouchRead/TouchRead.ino

* Update TouchRead.ino
2017-02-07 03:42:43 +02:00
Me No Dev
d02c1c786e Update IDF, fix SS definition, add custom partitions and debug level selection (#174)
* Add build time partitions compilation

* Fix wrong definition of SS pin

* Add support for core debug level selection

* update idf libs
2017-02-06 15:17:11 +02:00
me-no-dev
ee8149e207 add better debug messages for WiFi status 2017-02-05 23:59:44 +02:00
Ion
c66b54a9eb Add touch example 2017-02-05 18:03:04 +02:00
Jan Hendrik Berlin
bbf48a5d54 Add (ported) SimpleWiFiServer (#158) 2017-02-05 17:21:51 +02:00
me-no-dev
a80b2b24a4 Add ESP32 examples folder and sigma-delta example 2017-02-05 16:14:43 +02:00
Joren Six
97e9a120bd Added a basic WiFi UDP client example (#114)
* Added a basic WiFi UDP client example: a sketch that sends random bytes over udp.

* Updated udp example and included Python and Ruby UDP servers.
2017-02-03 16:31:41 +02:00
me-no-dev
de017a8a1b Optimize SPI transfers to take one lock and do not return until completed 2017-02-01 02:14:36 +02:00
me-no-dev
6dfbdbca29 fix WiFi.config not being applied
fixes: https://github.com/espressif/arduino-esp32/issues/143
2017-01-24 01:08:48 +02:00
me-no-dev
3c7d0e9905 add RSSI return and fix SSID and BSSID methods
fixes: https://github.com/espressif/arduino-esp32/issues/144
2017-01-24 00:56:12 +02:00
Seop Yoon
57dbc9ab77 Add smartConfig support (#136)
* smartConfig support

* fixed bug, added example

* added _smartConfigDone = ture

* changed example name, added explanation
2017-01-20 12:39:51 +02:00
me-no-dev
9e6e3249b6 update windows toolchain and platform.txt 2017-01-19 03:24:21 +02:00
Me No Dev
be7871677f Update WiFiUdp.cpp
Change return value of UDP::endPacket() to match specifications

Ref: https://github.com/espressif/arduino-esp32/issues/138
2017-01-19 02:03:37 +02:00
me-no-dev
7cef2e2954 Add initial IPv6 Support 2017-01-06 00:54:50 +02:00
me-no-dev
f49ac391b2 replace wrong calls to cbuf->size in UDP 2017-01-02 09:46:13 +02:00
me-no-dev
e383a11291 Add Server and UDP and fix WiFi.hostByName 2016-12-30 02:44:45 +02:00
me-no-dev
c19fc061b0 Hopefully fix I2C/Wire
Tested with (all at the same time):
- MPU9250
- HTU21
- TMP102
- BMP180
- AM2320
- SSD1306
2016-12-14 02:41:22 +02:00
Hirotaka
3c81739b33 need close(sockfd) before sockfd = -1, "_connected = false and close socket" means stop() function. (#73) 2016-12-01 13:27:51 +02:00
me-no-dev
8904f52c39 Allow phy to be initialized only if WiFi/BLE is used/enabled
fixes: https://github.com/espressif/arduino-esp32/issues/72
2016-12-01 13:23:17 +02:00
Me No Dev
57c3650ea2 Disconnect WiFiClient on destruct 2016-11-29 03:27:01 +02:00
me-no-dev
1d1aeecde2 simplify WiFi boot procedure to prepare for on-demand stack load
currently ```esp_wifi_init``` have to be called in ```app_main``` or
WiFi will fail to boot. When possible to boot later, code will be moved
into ```_esp_wifi_start``` to be executed when necessary
2016-11-28 00:50:21 +02:00
me-no-dev
c30012ab78 Add Kconfig for IDF and option to disable HAL mutexes
IDF Options:
- Autostart Arduino (implements app_main)
- Disable HAL locks
- Set HAL debug level
- Auto-connect STA if configured (else will connect after WiFi.begin())
2016-11-18 15:07:25 +02:00
me-no-dev
c82699a83d Make Wire inherit Stream
fixes: https://github.com/espressif/arduino-esp32/issues/57
2016-11-17 12:37:23 +02:00
Drake Youngkun Min
c0266615d5 Add TwoWire::write(const char *) (#56) 2016-11-17 12:33:42 +02:00
me-no-dev
d8aa61fa52 Optimize some error messages 2016-11-13 17:30:21 +02:00
me-no-dev
7e0811ec56 Update tools to latest IDF 2016-11-13 17:23:44 +02:00
me-no-dev
b5e0ebfc89 Set Wire to use the pins defined in pins_arduino.h
thanks @ladyada
2016-11-13 16:57:25 +02:00