Ivan Grokhotkov
3e42042b86
Fix warning in libc_replacements.c
2016-02-04 20:02:47 +03:00
Ivan Grokhotkov
3b2ea52d23
Merge pull request #1563 from mvdbro/master
...
Configurable I2C clock stretching limit
2016-02-04 17:46:27 +03:00
Ivan Grokhotkov
5e8be46e84
Merge pull request #1552 from andig/spiffs
...
Change %i to %d for ets_printf compatibility
2016-02-04 17:39:09 +03:00
Ivan Grokhotkov
339140c756
Use umm_malloc for heap management
2016-02-04 13:14:47 +03:00
Ivan Grokhotkov
2e1be32825
Fix undefined reference to os_free ( #1522 )
2016-02-04 01:24:38 +03:00
mvdbro
3f15903566
Configurable I2C clock stretching limit
...
Use Wire.setClockStretchLimit(limit)
limit is in uSeconds
2016-02-03 17:05:04 +01:00
andig
1d5d1c18c6
Change %i to %d for ets_printf compatibility
2016-02-02 09:26:27 +01:00
Ivan Grokhotkov
8a26750e63
Merge pull request #1544 from andig/md5
...
Fix buffer overflow and formatting
2016-01-31 22:40:05 +03:00
andig
77ab33f7bf
Fix buffer overflow and formatting
2016-01-31 18:49:02 +01:00
Markus Sattler
bf067f718a
make random more random
2016-01-29 13:17:10 +01:00
Ivan Grokhotkov
d1149c53e6
Remove UART register reference from HardwareSerial
2016-01-26 22:58:00 +03:00
Ivan Grokhotkov
16c0f3f1d5
Implement HardwareSerial::peek
2016-01-26 22:58:00 +03:00
Ivan Grokhotkov
7960b63357
Move UART HAL into separate file, clean up code
2016-01-26 22:57:59 +03:00
Me No Dev
e255f25cfd
Bufferless and Interruptless HardwareSerial
...
Let's use the onboard buffers :)
2016-01-26 22:57:59 +03:00
Markus Sattler
531d748936
rename cbuf::getSize to cbuf::available (return available Bytes in cbuf)
...
add cbuf::size (return size of cbuf)
2016-01-26 18:21:42 +01:00
Markus Sattler
fa38ce4079
allow cbuf as chain
2016-01-26 17:40:01 +01:00
Charles
d9a51f9fa1
Added getResetReason in human readable form
2016-01-25 00:43:57 +01:00
Markus Sattler
bac5ce0490
make resize easier to read and add note
2016-01-23 23:23:02 +01:00
Markus Sattler
e2a73ef385
move function code of cbuf to cbuf.cpp
...
add peek for multiple bytes
add remove
add resizeAdd
add resize
2016-01-23 11:28:30 +01:00
Kaloyan Kovachev
8bd0b2a110
Merge remote-tracking branch 'upstream/master'
2016-01-18 13:14:35 +02:00
Martin Ayotte
c1e91c722f
manual merge of IPAddress from Arduino.cc e3909b4e2c
2016-01-17 09:43:07 -05:00
Scott Franzyshen
28c96179a0
Update core_esp8266_phy.c
...
add #include <string.h> to fix warning: incompatible implicit declaration of built-in function 'memcpy'
2016-01-14 16:30:26 -08:00
Kaloyan Kovachev
d68b9717b5
Use explicit TX pin number and add pins setting method
2016-01-14 17:55:57 +02:00
Kaloyan Kovachev
e97bc80cee
Allow setting alternate TX for UART 0, so GPIO1 is available as SPI_CS1
2016-01-14 14:18:52 +02:00
Me No Dev
377864f76b
Merge remote-tracking branch 'esp8266/master'
2016-01-09 13:31:28 +02:00
sticilface
489b9e77e6
Merge branch 'master' into MD5
2016-01-09 10:31:22 +02:00
Andrew Melvin
2cf902cb76
use size_t in md5builder stream
2016-01-09 10:30:28 +02:00
Me No Dev
1d2237bc9d
fix pwm first step getting skipped
2016-01-09 00:12:36 +02:00
Ivan Grokhotkov
ce1b64bc43
Merge pull request #1320 from alltheblinkythings/SerialInterframeFixes
...
Fixes for poor HardwareSerial performance/crashes exacerbated by SDK1.5
2016-01-04 21:26:59 +08:00
Andrew Melvin
e12b6ffa40
Merge branch 'master' of https://github.com/esp8266/Arduino into MD5
2016-01-04 13:06:16 +02:00
Markus Sattler
995f02f437
add more debug levels
2016-01-02 12:54:34 +01:00
Markus Sattler
2b23b005aa
allow control of enabling debug and debug level from IDE
2016-01-02 12:25:39 +01:00
Andrew Melvin
34db483bb5
fix wrong return type
2016-01-01 13:18:24 +00:00
Andrew Melvin
7d54f5211c
Improvements for MD5Builder with Stream
2016-01-01 12:43:35 +00:00
Christopher Pascoe
9d7c2fd5be
Remove duplicate 'return' (copy-and-paste error).
2015-12-29 17:04:15 -05:00
Christopher Pascoe
bc9493e690
Remove tracking of whether write() was called.
...
Tracking _written was required on AVR devices to work around a hardware
limitation when implementing flush(). The ESP8266 doesn't have the same
issue, so we can remove the tracking and make write() more lightweight.
The cost is a minor increase in work done in flush() when write() was not
previously called, but this should be much rarer than individual character
writes.
2015-12-29 12:46:25 -05:00
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
Markus Sattler
d9a7a816d5
include core_esp8266_features.h in arduino.h for easier usage, and add WIFI_HAS_EVENT_CALLBACK
2015-12-29 17:44:00 +01:00
Markus Sattler
85905c12f2
allow multiple event callbacks and add filter option
2015-12-29 17:31:57 +01:00
Markus Sattler
7edcda4a0f
IPAddress allow uint32_t compare
2015-12-29 15:26:14 +01: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 Sattler
50ad8ccdf5
rework StreamString::write to use String internal buffer direct.
...
#1289
2015-12-23 13:40:16 +01: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
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