1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-12 01:53:07 +03:00
Commit Graph

2401 Commits

Author SHA1 Message Date
3b60f75635 Fix to parse parameters in the URL of a POST with empty content. (#3398) 2017-08-07 19:04:03 +03:00
1bd1de0286 Removed literal '\n' in ESP8266HTTPUpdateServer response (#3421) 2017-08-07 15:46:47 +03:00
85be0f300a Move MIME type table into PROGMEM to save RAM (#3475)
The extension -> MIME type routine uses lots of constant strings which end
up in the RODATA segment of RAM.  Refactor the comparison to use a table of
strings stored in PMMEM instead, freeing ~370 bytes for the heap.
2017-08-07 15:44:30 +03:00
4bed115abd Move debug constant strings to PROGMEM (#3478)
UMM debugging strings are normally placed in RODATA, which uses up scarse
memory.  Move them to PROGMEM and use macros to replace printf with a
version that can handle ROM strings.
2017-08-07 15:43:28 +03:00
ff4bb73084 Integration with @PlatformIO Build System 2017-08-07 15:41:35 +03:00
1557b1e9ed Manifest for @PlatformIO
Custom manifest for @PlatformIO which instructs PIO Build System to do not archive library's object files. See 

- https://github.com/esp8266/Arduino/pull/3321#issuecomment-319386749
- http://docs.platformio.org/en/latest/librarymanager/config.html#libarchive
2017-08-07 15:40:50 +03:00
d425438839 Replace r_rand with os_random for LWIP_RAND() (#3499) 2017-08-07 15:40:11 +03:00
8f04be4c5b Remove unused ax_port_*alloc() functions (#3482)
The ax_port_malloc, ax_port_calloc, ax_port_realloc, and ax_port_free
functions in WiFiClientSecure are not actually used by the AXTLS library.
It's directly using the library routines, and these function are never
used.  Remove these dead bits of code to make the axtls operation clearer.
2017-08-01 18:38:35 +03:00
a662e81146 Move ASSERT() macro file text to PMEM (#3477)
Every assert() includes a __FILE__ constant string to RODATA which
can be quite large as it includes the complete path as well as
the filename.

Move that string into PMEM, and update the postmortem to work with
either PMEM or RAM strings for dumping abort/assert/exception
information.
2017-08-01 18:37:26 +03:00
f5b6e16474 Fixed: urlDecode done before parsing args (#2956) 2017-08-01 12:54:31 +03:00
f05ed6e27d Update axTLS to 5de79d71.
Includes two PRs:

- https://github.com/igrr/axtls-8266/pull/46 by @earlephilhower:
  Move debug strings from RAM to Flash

- https://github.com/igrr/axtls-8266/pull/50:
  Fix memory leak in ssl_ext_host_name
2017-07-23 16:15:37 +08:00
b6958986d1 Fixed unused-function warning
See: d55efd3e14 (diff-67390c99ad4faa2080719586ebf73b9e) and https://travis-ci.org/felis/USB_Host_Shield_2.0/jobs/213822247#L1248
2017-06-14 08:10:58 -05:00
40c159fcf5 Remove a number of extui instructions
Using a uint8_t for the loop counter resulted
in a number of 8-bit extract (extui) instructions.
Using a uint32_t prevents this.
2017-06-06 23:23:09 -05:00
00815f2db4 Manually manage FIFO volatility
Replace volatile with properly placed __sync_synchronize

SPI1W0 is volatile, but when writing multiple words
to the FIFO (which is really just a piece of SRAM),
we don't need to worry about write ordering. We only
need worry about write ordering such that all FIFO
words are written completely before HSPI is told to
use FIFO by setting SPI1CMD |= SPIBUSY;
2017-06-06 23:23:09 -05:00
c07c8dc88e Small cleanup to SPI write16 and write32 for big-endian
Merge a common line.
2017-06-06 23:23:09 -05:00
5b5ba1a6be Added link to EEPROM lib/examples 2017-06-06 02:44:12 -05:00
8c3bb69530 WiFiClientSecure: don’t send close alert when opening new session
When WiFiClientSecure::connect was called, it would first tear down and
existing and set up new TCP session, then tear down existing TLS session
(using ssl_free), and then set up a new one. This caused TLS close-
notify alert to be sent to the new TCP session, preventing new session
from being established. This change postpones setting IO ctx to the new
TCP connection, fixing this issue.

Ref https://github.com/esp8266/Arduino/issues/3330
2017-06-05 17:30:57 +08:00
e39a46fe04 fixed bullet points on return codes 2017-06-05 01:36:33 -05:00
42f3ef86a4 Added link to Ticker examples 2017-06-05 01:35:59 -05:00
c52b0da11c Fix according to the discussion of issue #3140 https://github.com/esp8266/Arduino/issues/3140
pgm_read_byte() and pgm_read_word() need to be macros, as some third party libraries and sketches testing macro existence.
2017-06-05 01:35:00 -05:00
db8868da1d Add Crystal Frequency menu item for Generic module
The Generic ESP8266 Module provides the basis to compile for anything not on the current list.  Although most current boards use the 26MHz crystal, there are many using the 40MHz.  This change permits these to be readily accommodated as generic ESP8266 boards.
2017-05-24 10:31:16 -05:00
8166263c0d SoftwareSerial: update to 3.2.3 (#3239) 2017-05-23 17:52:35 +08:00
d6f1f0d5d7 WiFiClient: apply write timeout to single chunk (#3273)
WiFiClient write timeouts introduced in #3257 applied to the whole write
operation, which could take long time if data size was large. This
change makes the timeout happen per chunk. Timeout now happens if no
data has been delivered within a given interval.
2017-05-22 20:08:16 +08:00
f6d232f1ac WiFiClientSecure: match CN and SANs ignoring case
Some websites have certificates with uppercase letters in CN. This change
makes _verifyDN function accept such certificates by converting all names
to lower case before comparing them.

Resolves #2978
2.4.0-rc1
2017-05-21 22:00:33 -05:00
a8e8ecb687 WiFiClientSecure: add example of setCACert/verifyCertChain
Ref #1851
2017-05-21 22:00:33 -05:00
79cfad5d46 WiFiClientSecure: initialize ssl_ctx when loading certificate
Fixes #2470
2017-05-21 22:00:33 -05:00
f211014dd3 SPIFFS: fix unaligned read in HAL (#3261)
Ref. #3065
2017-05-21 10:30:03 -05:00
4812cae8e2 WiFiClient: initialize _timeout properly 2017-05-20 12:20:03 +08:00
3363be0063 ci: fix -e flag not restored in build_sketches on error 2017-05-20 12:13:20 +08:00
684b5f1629 WiFiClient: set default timeout to 5000ms for compatibility 2017-05-19 09:35:01 -05:00
71512653ca WiFiClient: use Stream::_timeout for write operations 2017-05-19 09:35:01 -05:00
eebcc656ed WiFiClient: add support for connect timeout 2017-05-19 09:35:01 -05:00
2aeac91c90 ESP8266WiFi: support timeout for WiFi.hostByName 2017-05-19 09:35:01 -05:00
85078f47a0 yet less warnings for Wall Wextra guys 2017-05-18 06:43:22 -05:00
fed925149b update readme about automated crash with GDBStub 2017-05-18 06:43:22 -05:00
8c7d1b780e automate crash for GDBStub 2017-05-18 06:43:22 -05:00
1c4a48dbd8 docs: remove mention that Python 3 is not supported from OTA docs 2017-05-15 18:52:06 +08:00
0fa34430e6 ESP8266WebServer: add application/json content type 2017-05-15 18:38:24 +08:00
f3be2cd081 Update readme 2017-05-15 17:14:33 +08:00
a3a7e87df7 ci: build and upload releases on Travis 2017-05-15 03:49:21 -05:00
d7044eceab Add PROGMEM docs 2017-05-14 11:44:16 -05:00
283eb97cd3 docs: convert to .rst and add readthedocs 2017-05-14 11:44:16 -05:00
5c7247b0f4 Fix documentation typo (#3240) 2017-05-14 08:46:08 -05:00
9fd270faf1 Documenting a few Esp.cpp methods (#3057)
Adding: getCoreVersion, getSdkVersion, getCpuFreqMHz, getSketchSize, getFreeSketchSpace and getSketchMD5.
2017-05-14 07:53:15 -05:00
0b47911b69 Added 1M (No SPIFFS) board option (#3203) 2017-05-12 02:51:20 -05:00
2404a602af Const-correctness for MD5Builder (#3222)
Resolves #1175
2017-05-12 01:03:14 -05:00
ace0622e46 ESP8266HTTPUpdateServer: fix responses after uploading
- fix response not being delivered to the browser after upload is done
  (https://github.com/esp8266/Arduino/issues/2221)

- if Update.begin fails, don’t attempt to write data

- if update is not successful, send error message from Update to the
  client

- move strings into PROGMEM
2017-05-10 09:49:47 -05:00
b623613b2a Remove SD file available size saturation 2017-05-09 06:17:55 -05:00
7de81270a3 ClientContext: don’t read DataSource in TCP callback
Previously, _write_some function would be called each time TCP stack
notifies the application that some data was delivered (via the `sent`
callback). In turn, _write_some would obtain more data to be sent from
the DataSource. In case of a DataSource backed by a Stream, this would
read from a stream. Some libraries (such as SD) may call `yield` and
other blocking operations from Stream read function, which can not be
used in TCP stack callbacks.

This change moves the data sending loop back into the Arduino task, with
a negligible loss of performance. TCP callback now wakes the main task
via `esp_schedule`, which performs stream read and provides more data
to the TCP stack.

Possible future optimization would be to buffer Stream data ahead of
time. That way, buffered data could be sent immediately from the TCP
callback. On the other hand, this optimization would need extra TCP_MSS
of temporary storage, per connection.

Fixes #2399.
2017-05-09 06:17:32 -05:00
03baea27ef ArduinoOTA: forward errors from Update.begin to espota.py
If Update.begin fails, instead of printing “No response from device”,
espota.py will print the actual error message from the Updater.
2017-05-09 06:17:06 -05:00