43fb139ed8
Add option to keep FS classes in namespace ( #2030 )
...
Putting `#define FS_NO_GLOBALS` before `#include <FS.h>` will disable `using` declarations for FS classes.
2016-05-16 11:08:33 +08:00
542b05e543
If GDBStub library is used, break into gdb on assert and panic
2016-05-10 21:30:53 +08:00
5b264af1d6
umm_malloc: print block start address before heap corruption callback is triggered
2016-05-10 21:28:17 +08:00
4c587e28bc
Fix Exception 2 when using printf or vprintf
...
ets_vprintf signature is not the same as vprintf, it takes an output function as a first argument.
2016-04-17 02:12:01 +03:00
2e849e30d2
Merge pull request #1768 from esp8266/pulsein_fix
...
Fix pulseIn
2016-03-30 21:10:06 +03:00
29186ecb7d
Merge pull request #1832 from esp8266/sdk-1.5.2
...
Update SDK to 1.5.2 (#1653 )
2016-03-30 21:07:37 +03:00
05c078ba5b
Don't set RF mode on boot unless it was overridden
...
The change in 297bb17
enabled RF after deep sleep, even if deep sleep was done with RF_DISABLED option (thanks @vlast3k for pointing this out).
Now we check the value returned by __get_rf_mode, and only call system_phy_set_rfoption if RF_MODE override was provided by user.
2016-03-30 08:47:50 +03:00
477e9cfb8a
Update SDK to 1.5.2 ( #1653 )
...
patch included: http://bbs.espressif.com/viewtopic.php?f=46&t=1856
2016-03-29 17:24:37 +03:00
91cc6ff4f9
Avoid multiple instances of INADDR_NONE
...
By moving the definition from the header to the source we now only use
one instance for the entire app with a little saving in space.
2016-03-24 09:47:02 +02:00
3d3c928e2e
Enable heap poisoning only when debug options are enabled ( #1800 )
2016-03-24 01:34:25 +03:00
5227b32531
Accept both named constant and ADC channel number in analogRead ( #1766 )
2016-03-16 12:34:51 +03:00
32c6176e24
Fix pulseIn ( #1072 , #1149 )
...
- fix return value on timeout
- add optimistic_yield to allow WiFi/network tasks to run
- use ccount instead of micros (which causes an integer division on every call)
2016-03-14 00:28:09 +03:00
652703ef41
Move micros, delayMicroseconds, millis to IRAM ( #1326 )
2016-03-13 23:00:53 +03:00
297bb17c53
Fix RF_MODE override
...
__get_rf_mode was declared but was not used
2016-03-13 22:42:51 +03:00
730764075e
Declare __get_adc_mode and __get_rf_mode with C++ linkage
...
Workaround for #1759 . Using extern "C" qualifiers in sketch breaks compilation in Arduino IDE 1.6.8.
2016-03-13 22:35:18 +03:00
748f3f93fa
Fix crashes when using tone()
...
Mark `t1IntHandler()` with ICACHE_RAM_ATTR
2016-03-12 19:21:32 +02:00
4b55ee14ef
Allow indefinite duration for tone()
...
Bugfix: the `duration` parameter should be optional, per [`tone()`](https://www.arduino.cc/en/Reference/Tone ) docs.
2016-03-12 17:42:30 +02:00
d49024cfdf
Implement strstr_P, add pgmspace tests ( #1749 )
2016-03-11 09:47:49 +03:00
0a320b9fb5
Revert "Update interrupts to be masked when accessing flash ( #1388 )"
...
This reverts commit 6c37fee7a1
.
2016-03-11 08:45:39 +03:00
6c37fee7a1
Update interrupts to be masked when accessing flash ( #1388 )
2016-03-10 14:13:09 +03:00
6b0a117e3d
Move attachInterrupt and detachInterrupt into IRAM ( #1734 )
2016-03-10 13:44:56 +03:00
6a7551e1f0
Update SPIFFS to 82aeac6
...
Fixes duplicate files issue (#1685 )
2016-03-10 13:00:38 +03:00
f8f0001e69
fix umm_malloc null ptr.
...
(endless reboot) like:
```
Fatal exception (28):
epc1=0x402097e8, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000001, depc=0x00000000
Fatal exception (28):
epc1=0x402097e8, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000001, depc=0x00000000
Fatal exception (28):
epc1=0x402097e8, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000001, depc=0x00000000
```
```
0x402097e8: umm_info at umm_malloc/umm_malloc.c line 1000
```
2016-03-08 18:31:14 +01:00
1f32b7f66e
Clean up core files
...
- remove ICACHE_FLASH_ATTR
- remove unneeded SDK includes
- split spiffs_api into .h and .cpp
2016-03-03 02:13:22 +03:00
2d77eae599
Leverage realloc() in String::changeBuffer()
2016-02-28 02:50:48 -06:00
214d8bc8b8
Improve clearing GPIO interrupt state (thanks @me-no-dev)
2016-02-27 11:16:30 +03:00
87a7f8e954
Merge pull request #1668 from raheelh/patch-1
...
Fix a crash in String::changeBuffer()
2016-02-27 01:51:05 +03:00
d891704c1e
Reduce stack usage by Print::printf
...
Print::printf would allocate 1460 bytes on the stack, which in some cases would overflow the stack. Additionally it didn't handle (rare) cases when vsnprintf needed a buffer longer than 1460 bytes. This change makes default stack-allocated buffer 64 bytes long, and checks the result returned by vsnprintf. If a buffer longer than 64 bytes is needed, it is allocated on the heap.
2016-02-26 18:41:27 +03:00
fdf8599aaa
Fix a crash in String::changeBuffer()
...
Calling String::reserve() causes a crash if String object was in invalidated state. Per the comment on the method's declaration in ESP_SSD1306.h, This method was supposed to recover invalidated strings. This change fixes the edge case bug in String::changeBuffer() which is the root cause of the crash exposed from String::reserve().
Following test code was used to reproduce the problem and also to validate the fix:
String result;
while(true){
char c = 'A';
result += c; // the loop will cause malloc() to fail at some point.
if (result.c_str()==0)
{
Serial.println("String INVALIDATED!!!!!");
result.reserve(0); // before fix, this would crash.
Serial.println("Trying to empty....");
result="";
Serial.println("Emptied!!!!");
break;
}
}
2016-02-22 22:57:21 -06:00
28e6f33142
not keep freed pointer of uart handler
2016-02-22 18:24:10 +01:00
103b5811be
Fix error when umm_malloc.h is included from sketch ( #1652 )
2016-02-19 14:17:09 +03:00
127f05da9f
Merge remote-tracking branch 'remotes/esp8266/master'
2016-02-17 23:47:14 +01:00
652f88eb5c
update core_esp8266_features.h
2016-02-17 23:46:20 +01:00
707c87fdb6
Move umm_info into cache
2016-02-17 11:42:52 +03:00
30b2a99b3f
Remove mem_manager.o from libmain.a ( #1630 )
2016-02-15 00:24:19 +03:00
4c75793508
Fix undefined reference to putchar
2016-02-14 22:16:46 +03:00
1fc8918d76
Remove printf redefinition from umm_malloc_cfg ( #1629 )
2016-02-13 13:29:58 +03:00
0659b80260
Merge pull request #1586 from esp8266/cxa_guard
...
Static initialization guards implementation
2016-02-13 13:26:12 +03:00
93c446e782
Merge pull request #1581 from bjpirt/tone
...
Implementation of Tone library using timer1
2016-02-13 13:25:52 +03:00
e3bf9bb1e8
Added bit mask and constant for SerialConfig parameter
...
Permit use bit config avoiding test/compare all "hard-coded" values.
example
```arduino
if (section & CFG_HLP_MODBUS) {
DebuglnF("\r\n===== Modbus");
DebugF("Speed : "); Debug(config.modbus.baud);
switch (config.modbus.proto & UART_NB_BIT_MASK) {
case UART_NB_BIT_5: Debug(" 5"); break;
case UART_NB_BIT_6: Debug(" 6"); break;
case UART_NB_BIT_7: Debug(" 7"); break;
case UART_NB_BIT_8: Debug(" 8"); break;
default : Debug(" ?"); break;
}
switch (config.modbus.proto & UART_PARITY_MASK) {
case UART_PARITY_NONE: Debug("N"); break;
case UART_PARITY_EVEN: Debug("E"); break;
case UART_PARITY_ODD : Debug("O"); break;
default : Debug("?"); break;
}
switch (config.modbus.proto & UART_NB_STOP_BIT_MASK) {
case UART_NB_STOP_BIT_0: Debug("0"); break;
case UART_NB_STOP_BIT_1: Debug("1"); break;
case UART_NB_STOP_BIT_15: Debug("15"); break;
case UART_NB_STOP_BIT_2 : Debug("2"); break;
default : Debug("?"); break;
}
DebugF("\r\nSlave Addr : "); Debugln(config.modbus.slave);
DebugF("Holding Reg : 0x"); Debugln2(config.modbus.hr_addr,HEX);
DebugF("Enable Pin : "); Debugln(config.modbus.en_pin);
}
```
2016-02-11 17:47:49 +01:00
737f6c28ea
Remove forced alignment in operators new and delete
...
This alignment prevents umm_malloc to detect buffer overruns which fall within padding introduced by new/new[]. Allocated memory will be aligned by design of umm_malloc, so we don't need to pad anything here.
Also fixed some formatting/newlines and removed unused header files.
2016-02-06 02:06:56 +03:00
6fc141772c
Implement static initialization guards ( #500 )
2016-02-06 02:06:56 +03:00
7beda37da1
Implementation of Tone API using timer1
2016-02-05 12:03:29 +00:00
3e42042b86
Fix warning in libc_replacements.c
2016-02-04 20:02:47 +03:00
3b2ea52d23
Merge pull request #1563 from mvdbro/master
...
Configurable I2C clock stretching limit
2016-02-04 17:46:27 +03:00
5e8be46e84
Merge pull request #1552 from andig/spiffs
...
Change %i to %d for ets_printf compatibility
2016-02-04 17:39:09 +03:00
339140c756
Use umm_malloc for heap management
2016-02-04 13:14:47 +03:00
2e1be32825
Fix undefined reference to os_free ( #1522 )
2016-02-04 01:24:38 +03:00
3f15903566
Configurable I2C clock stretching limit
...
Use Wire.setClockStretchLimit(limit)
limit is in uSeconds
2016-02-03 17:05:04 +01:00
1d5d1c18c6
Change %i to %d for ets_printf compatibility
2016-02-02 09:26:27 +01:00