1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-22 21:23:07 +03:00

519 Commits

Author SHA1 Message Date
Ivan Grokhotkov
6a7551e1f0 Update SPIFFS to 82aeac6
Fixes duplicate files issue (#1685)
2016-03-10 13:00:38 +03:00
Markus Sattler
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
Ivan Grokhotkov
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
Raheel Hameed
2d77eae599 Leverage realloc() in String::changeBuffer() 2016-02-28 02:50:48 -06:00
Ivan Grokhotkov
214d8bc8b8 Improve clearing GPIO interrupt state (thanks @me-no-dev) 2016-02-27 11:16:30 +03:00
Ivan Grokhotkov
87a7f8e954 Merge pull request #1668 from raheelh/patch-1
Fix a crash in String::changeBuffer()
2016-02-27 01:51:05 +03:00
Ivan Grokhotkov
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
raheelh
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
Markus Sattler
28e6f33142 not keep freed pointer of uart handler 2016-02-22 18:24:10 +01:00
Ivan Grokhotkov
103b5811be Fix error when umm_malloc.h is included from sketch (#1652) 2016-02-19 14:17:09 +03:00
Markus Sattler
127f05da9f Merge remote-tracking branch 'remotes/esp8266/master' 2016-02-17 23:47:14 +01:00
Markus Sattler
652f88eb5c update core_esp8266_features.h 2016-02-17 23:46:20 +01:00
Ivan Grokhotkov
707c87fdb6 Move umm_info into cache 2016-02-17 11:42:52 +03:00
Ivan Grokhotkov
30b2a99b3f Remove mem_manager.o from libmain.a (#1630) 2016-02-15 00:24:19 +03:00
Ivan Grokhotkov
4c75793508 Fix undefined reference to putchar 2016-02-14 22:16:46 +03:00
Ivan Grokhotkov
1fc8918d76 Remove printf redefinition from umm_malloc_cfg (#1629) 2016-02-13 13:29:58 +03:00
Ivan Grokhotkov
0659b80260 Merge pull request #1586 from esp8266/cxa_guard
Static initialization guards implementation
2016-02-13 13:26:12 +03:00
Ivan Grokhotkov
93c446e782 Merge pull request #1581 from bjpirt/tone
Implementation of Tone library using timer1
2016-02-13 13:25:52 +03:00
Charles
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
Ivan Grokhotkov
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
Ivan Grokhotkov
6fc141772c Implement static initialization guards (#500) 2016-02-06 02:06:56 +03:00
Ben Pirt
7beda37da1 Implementation of Tone API using timer1 2016-02-05 12:03:29 +00:00
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