1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-09-08 06:28:00 +03:00
Commit Graph

1596 Commits

Author SHA1 Message Date
Christopher Pascoe
4ef0466578 Don't trip the WDT if interrupts are disabled during write() or flush().
Prior to this change, if interrupts were disabled during a call to
HardwareSerial::write() when the circular buffer was full, or
HardwareSerial::flush() when the circular buffer was non-empty,
we would loop forever and trip a watchdog timeout.
2015-12-29 12:05:15 -05:00
Christopher Pascoe
c8772cfcd0 Make HardwareSerial::begin() and end() interrupt safe and disable TX/RX if we can't allocate a buffer for them.
Prior to this change, the interrupt could fire during initialisation,
necessitating a deep check that the HardwareSerial structure had valid
_tx_buffer or _rx_buffer each time an interrupt occurred.

By keeping uart_t's and HardwareSerial's (txEnabled, _tx_buffer) and
(rxEnabled, _rx_buffer) in sync, we can remove this extra check, as
well as fixing a null pointer dereference if e.g. _tx_buffer allocation
failed and write() was subsequently called.
2015-12-28 19:11:12 -05:00
Christopher Pascoe
cfe7ae1118 Put HardwareSerial and cbuf methods called from interrupt context in RAM.
This is required per the non-OS SDK doc, which states:
  "Using non-OS SDK, please do not call any function defined with
  ICACHE_FLASH_ATTR in the interrupt handler."

This avoids an "Illegal instruction" exception with epc1 pointing at a valid
instruction (in flash) for one of the moved methods.
2015-12-28 18:35:27 -05:00
Christopher Pascoe
83398f6011 Don't bother testing isRxEnabled() on UART1 - it is always false. 2015-12-28 17:55:16 -05:00
Christopher Pascoe
e83dd4d241 Use lightweight tests when we only care if the buffer is empty or full. 2015-12-28 17:53:10 -05:00
Christopher Pascoe
e147314f97 Re-enable interrupts before directly enqueuing characters in the UART FIFO.
Not sure why, but this reduces the occurrence rate of an occasional ~3.25 or
~7μs intercharacter delay, which was interfering with use of the UART to
generate precise timing pulses (such as driving WS2812 LEDs).
2015-12-28 17:44:28 -05:00
Markus
4b90db41fe Merge pull request #1314 from gtalusan/master
fix undefined DEBUG_TLS_MEM_PRINT hiding return statement
2015-12-28 13:59:34 +01:00
George Talusan
c3de2851c0 fix undefined DEBUG_TLS_MEM_PRINT hiding return statement 2015-12-27 21:36:48 -05:00
Markus
304bf08497 Merge pull request #1312 from denvera/master
Allow setting TCP timeout
2015-12-27 20:09:34 +01:00
Denver Abrey
80857e3f87 Also set timeout on already existing connections 2015-12-27 20:02:08 +02:00
Denver Abrey
d1a6b32133 Allow setting TCP timeout 2015-12-27 19:45:17 +02:00
Markus
7a010a38cc Merge pull request #1309 from wemos/master
fix d1_mini board.
2015-12-27 11:53:38 +01:00
wemos
16244c5dfd fix d1_mini board. 2015-12-27 14:36:22 +08:00
Markus
7e0f83951b Merge pull request #1306 from Links2004/master
add setSleepMode + getSleepMode and setPhyMode + getPhyMode to WiFi
2015-12-26 14:46:47 +01:00
Markus Sattler
195e595453 add setSleepMode + getSleepMode and setPhyMode + getPhyMode to WiFi 2015-12-26 13:02:31 +01:00
Ivan Grokhotkov
97ba91b47b Merge pull request #1301 from hallard/master
Set default WifInfo board speed to 160MHz
2015-12-24 23:20:17 +03:00
Charles
659c33a114 Set default WifInfo board speed to 160MHz 2015-12-24 18:42:21 +01:00
Markus
dfe2b819b8 Merge pull request #1295 from Links2004/master
rework StreamString::write to use String internal buffer direct.
2015-12-23 18:53:46 +01:00
Markus Sattler
982ef45748 Merge remote-tracking branch 'remotes/esp8266/master' 2015-12-23 18:30:24 +01:00
Markus
caa2443f22 Merge pull request #1294 from gtalusan/bytesWritten_accounting
better bytesWritten accounting in sendRequest and writeToStream
2015-12-23 18:30:15 +01:00
George Talusan
1e264047f9 better bytesWritten accounting in sendRequest and writeToStream 2015-12-23 11:29:59 -05:00
Markus Sattler
50ad8ccdf5 rework StreamString::write to use String internal buffer direct.
#1289
2015-12-23 13:40:16 +01:00
Markus
dd93ea26ee Merge pull request #1290 from Links2004/httpClient
http client allow slow streams for sendRequest
2015-12-23 13:38:50 +01:00
Markus Sattler
467da7c50f better error handling 2015-12-23 12:54:44 +01:00
Markus Sattler
b845d03b89 Merge remote-tracking branch 'remotes/esp8266/master' into httpClient 2015-12-23 12:50:19 +01:00
Ivan Grokhotkov
28d1ef3f0f Rebuild liblwip.a with debugging symbols
Source: http://bbs.espressif.com/viewtopic.php?f=46&t=1459
2015-12-23 12:33:11 +03:00
Ivan Grokhotkov
7f4dd52ed1 GDBStub: fix packet end not being sent for some exceptions 2015-12-23 12:10:01 +03:00
Ivan Grokhotkov
1c7b81660b Merge pull request #1289 from gtalusan/short_writes
handle short writes
2015-12-23 10:15:57 +03:00
Ivan Grokhotkov
9a1b9058e3 Merge pull request #1287 from gtalusan/master
fix debug message in sendRequest
2015-12-23 10:15:09 +03:00
Ivan Grokhotkov
27bfe3490b Merge pull request #1284 from ivankravets/patch-5
Update demo of Over-the-Air (OTA)
2015-12-23 10:14:37 +03:00
Ivan Grokhotkov
0603f31330 Merge pull request #1288 from gtalusan/fix_debug_build
fix debug build
2015-12-23 10:14:21 +03:00
Ivan Grokhotkov
2d70b36212 Fix warning due to lack of virtual destructor 2015-12-23 10:13:41 +03:00
Ivan Grokhotkov
60baf802e1 Add function to measure stack high water mark (thanks @g3gg0) 2015-12-23 10:13:01 +03:00
Ivan Grokhotkov
66a88ac8d2 Fix bad DEBUGV argument (thanks @g3gg0) 2015-12-23 10:11:40 +03:00
George Talusan
70c85c0901 handle short writes 2015-12-22 21:31:30 -05:00
George Talusan
742caa10ec fix debug build 2015-12-22 20:29:19 -05:00
George Talusan
35d2e49c3b fix debug message in sendRequest 2015-12-22 20:13:35 -05:00
Ivan Kravets
e1fafe6c82 Update demo of Over-the-Air (OTA) 2015-12-22 19:58:20 +02:00
Ivan Grokhotkov
ee2d4495fd Additional check in wl_definitions.h to guard against duplicate definitions 2015-12-22 14:08:17 +03:00
Markus Sattler
d77e605461 http client allow slow streams for sendRequest
fix part of #1274
2015-12-22 10:43:12 +01:00
Markus
c844126204 Merge pull request #1279 from Links2004/master
add patch esp_iot_sdk_v1.5.0_15_12_15_p1
2015-12-22 10:40:42 +01:00
Markus Sattler
e84e6f8ae8 add patch esp_iot_sdk_v1.5.0_15_12_15_p1
espressif:

Here is a patch based on ESP8266_NONOS_SDK_V1.5.0 solved a problem that calling espconn_abort may cause unexpected reset.
2015-12-22 10:20:06 +01:00
Ivan Grokhotkov
cda14204fe Fix SPIFFS path length check, add notes about FSInfo structure (#1273) 2015-12-22 11:52:50 +03:00
Ivan Grokhotkov
d460de8879 Merge branch 'me-no-dev-master'
* me-no-dev-master:
  fix identation
  optimize pwm interrupt handler for better precision
2015-12-22 11:17:33 +03:00
Ivan Grokhotkov
81c315046b Merge pull request #1270 from vindolin/master
Add message count and the chip ID to the request/response messages in the mesh example.
2015-12-22 10:58:53 +03:00
Ivan Grokhotkov
70cf3c36ef Add missing AES table pointers (#1271, #1256) 2015-12-22 07:59:54 +03:00
Ivan Grokhotkov
8caf70c11b Merge pull request #1277 from alltheblinkythings/register_chipv6_fix
Fix RAM corruption caused by our hook of register_chipv6_phy(init_data*)
2015-12-22 07:01:58 +03:00
Christopher Pascoe
63f1e40106 Fix RAM corruption caused by our hook of register_chipv6_phy(init_data*).
"init_data", when non-NULL, is on the heap, and the register_chipv6_phy call
sometimes modifies data in (at least) the offset range [128:249], suggesting
that it is a buffer larger than 128 bytes in size (the size of our
"phy_init_data" buffer).  When we use our static buffer (prior to this
change), the call could would overwrite the .rodata section and lead to
undefined behaviour.

To address this, just patch the heap-allocated buffer with our data.

Move phy_init_data to flash as it's now readonly and never modified.
2015-12-21 19:18:29 -08:00
pgollor
bb2d1ae8b7 Merge pull request #1272 from ivankravets/patch-4
Fix boards Flash size; Explained about custom FLASH/SPIFFS
2015-12-22 00:04:33 +01:00
Ivan Kravets
f020b9b46f Typo fix 2015-12-21 23:38:09 +02:00