1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-24 19:42:27 +03:00
Commit Graph

734 Commits

Author SHA1 Message Date
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
8a26750e63 Merge pull request #1544 from andig/md5
Fix buffer overflow and formatting
2016-01-31 22:40:05 +03:00
77ab33f7bf Fix buffer overflow and formatting 2016-01-31 18:49:02 +01:00
bf067f718a make random more random 2016-01-29 13:17:10 +01:00
d1149c53e6 Remove UART register reference from HardwareSerial 2016-01-26 22:58:00 +03:00
16c0f3f1d5 Implement HardwareSerial::peek 2016-01-26 22:58:00 +03:00
7960b63357 Move UART HAL into separate file, clean up code 2016-01-26 22:57:59 +03:00