Commit graph

416 commits

Author SHA1 Message Date
Angus Gratton
5fa17990dd Merge branch 'feature/better_crash_dumps' into open-libmain 2016-05-09 12:07:34 +10:00
Angus Gratton
c8c9e52be9 fatal exception handler: Only dump "registers" from stack for fatal user exceptions 2016-05-08 10:05:47 +10:00
Angus Gratton
b0844b01bc Add abort() implementation
Also reduces the IRAM footprint of the fatal exception handler, as only
the prelude (which disables interrupts & enables the flash mapping) is
in IRAM now.

Closes #54, relevant to #133.
2016-05-07 18:55:32 +10:00
Angus Gratton
6767891672 Travis: Work around 4MB log limit when building all examples 2016-05-04 07:34:54 +10:00
Angus Gratton
4446357e27 Travis: Bump esp-open-sdk (picks up an esptool bug fix that we were hitting) 2016-05-03 15:48:13 +10:00
Angus Gratton
4511ae80b9 Dump register state on fatal exception 2016-05-03 15:39:37 +10:00
Angus Gratton
44b4ccdfba Break out debug dump functions into their own compilation unit 2016-05-03 15:39:37 +10:00
Angus Gratton
cb78ecd0e2 lwip sys_arch: Add functional xInsideISR implementation
Relies on global flags set when the user ISR is executing.

Unclear if this fixes any bugs as ISR code may not have been calling
into LWIP, but the previous implementation was broken.
2016-05-03 15:39:37 +10:00
Angus Gratton
1fe6586189 Recompile libc with malloc locking enabled
newlib-xtensa revision cbe80794ed0083

This fixes a crash caused by heap operations occuring inside
ISRs. Particularly noticeable when sending a lot of network
traffic. Probably fixes #119, maybe other crashing bugs.

Configure/compile steps same as previous:

../configure --with-newlib --enable-multilib
--disable-newlib-io-c99-formats --enable-newlib-supplied-syscalls
--enable-target-optspace
--program-transform-name="s&^&xtensa-lx106-elf-&"
--disable-option-checking --with-target-subdir=xtensa-lx106-elf
--target=xtensa-lx106-elf
--prefix=/home/gus/dev/esp/rtos/open-rtos/libc/
--enable-newlib-nano-malloc --enable-newlib-nano-formatted-io --enable-newlib-reent-small --prefix=path_to/esp-open-rtos/libc

CROSS_CFLAGS="-DSIGNAL_PROVIDED -DABORT_PROVIDED" make
make install
2016-05-03 15:39:37 +10:00
Angus Gratton
9471da344b Add 'filteroutput.py' tool to automatically do addr2line lookups on likely hex values 2016-05-03 15:39:37 +10:00
Angus Gratton
77f302a78d Add stack memory dump to fatal exception handler 2016-04-30 17:58:29 +10:00
Angus Gratton
dccc57433d Move static constructor calls to after PHY, clock & baud rate are setup
Otherwise anything printed inside the constructor happens at unexpected baud rate.

Ref #128
2016-04-24 18:52:20 +10:00
Angus Gratton
b61b62136b gcc __attribute__((constructor)): Remove hacked calling, move ctor sections to flash
More hacky moving of parts of .rodata to flash, until we can move all of
it.

Candidate fix for #128
2016-04-24 18:52:16 +10:00
Angus Gratton
2badeed523 cpp_01_tasks example: Remove spurious OTA=1 (ref #128) 2016-04-20 09:25:40 +10:00
Angus Gratton
1c998a3edf http_get_mbedtls example: Update for howsmyssl.com server-side changes
New letsencrypt CA cert since they left beta, and HTTP server now
expects a Host header.
2016-04-20 09:25:40 +10:00
Angus Gratton
8453445620 mbedtls: Update to upstream v2.3.0 2016-04-20 09:05:33 +10:00
Angus Gratton
736e790e80 Merge pull request #124 from kanflo/rboot-merge
Updated rboot to #75ca33b including the flash write bug.
2016-04-15 11:19:56 +10:00
Angus Gratton
a97fb75261 Stop gap workaround for 'esp-open-sdk STANDALONE=n' build failure
Stop gap measure. See #126 for context/options.
2016-04-14 17:34:03 +10:00
Yudi Ludkevich
7e9d5bd2e2 MQTT client api and example
This code based on ESP8266 port of the embedded C client in Eclipse Paho project
(http://www.eclipse.org/paho/) and it port for espressif
ESP8266_RTOS_SDK by baoshi (https://github.com/baoshi/ESP-RTOS-Paho.git)
2016-04-14 16:59:07 +10:00
Johan Kanflo
9c49134d61 Updated rboot to #75ca33b including the flash write bug. 2016-04-07 20:29:28 +02:00
Angus Gratton
83c5f91bc0 Merge pull request #121 from foogod/ds18b20-updates
DS18B20 API Improvements
2016-04-07 08:42:02 +10:00
Angus Gratton
4adddc2574 Merge pull request #122 from foogod/warning-handling
Add WARNINGS_AS_ERRORS make flag
2016-04-07 08:13:22 +10:00
Alex Stewart
5b16aa5ba4 Change #warning to #error in ssid_config.h 2016-04-06 11:42:58 -07:00
Alex Stewart
fa6dd22957 Add WARNINGS_AS_ERRORS=1 to Travis build config 2016-04-06 11:06:11 -07:00
Alex Stewart
373e7cae62 Add WARNINGS_AS_ERRORS make flag
Previous behavior was all warnings were treated as errors.  This is now
controllable via a make variable and defaults to off (but can be turned on in
local.mk for those who still want the old behavior)
2016-04-05 16:45:36 -07:00
Alex Stewart
494c2d9cec Implement new ds18b20 APIs 2016-04-05 10:05:42 -07:00
Alex Stewart
60e468bdb2 Misc ds18b20 fixups/enhancements
add onewire_power() after CONVERT_T
Fix naming of DS18B20_* constants
2016-04-05 10:04:56 -07:00
Alex Stewart
9c37da6834 Add more documentation for onewire.h 2016-04-05 10:04:31 -07:00
Alex Stewart
9b49b426f6 Added error-checking in onewire routines 2016-04-05 10:04:31 -07:00
Alex Stewart
a2b9d688ea Multiple cleanups/tweaks for onewire driver
Use onewire_addr_t for onewire addresses
Move internal defines out of onewire.h
Remove global variables for search state
use taskENTER_CRITICAL instead of portDISABLE_INTERRUPTS
remove unnecessary onewire_init function
Remove unnecessary critical sections
Use GPIO_OUT_OPEN_DRAIN
reformat/style cleanup
2016-04-05 10:03:17 -07:00
Alex Stewart
aa95791d7e Added first half of RE'd user_interface.c 2016-04-05 09:23:28 -07:00
Alex Stewart
7ed2607c19 Add conditional compilation for open_esplib code 2016-03-22 17:43:07 -07:00
Alex Stewart
bf01a3b434 Misc post-merge fixups 2016-03-22 17:11:18 -07:00
Alex Stewart
9848307587 Rename opensdk dir to open_esplibs 2016-03-22 16:26:53 -07:00
Alex Stewart
769ca0d8f8 Merge branch 'master' into open-libmain
Conflicts:
	core/include/esp/rtc_regs.h
	include/espressif/spi_flash.h
2016-03-22 16:24:50 -07:00
Angus Gratton
02c35d8a71 Merge pull request #118 from UncleRus/core/gpio_cpp_fix
esp/gpio.h c++ linker compatibility
2016-03-22 13:27:12 +11:00
UncleRus
3a62a0af0c esp/gpio.h c++ compatibility 2016-03-22 01:51:50 +05:00
Alex Stewart
cf3f811af1 Merge pull request #117 from UncleRus/core/spi_bugfix
SPI big endian swap bug fix, spi_get_settings()/spi_set_settings()
2016-03-18 15:19:56 -07:00
UncleRus
42018f0315 SPI big endian swap bug fix, spi_get_settings()/spi_set_settings() 2016-03-18 03:27:36 +05:00
Angus Gratton
b6132a480e Merge pull request #110 from UncleRus/core/spi
Hardware SPI driver
2016-03-16 17:01:12 +11:00
UncleRus
b0fb8736a8 Comments updated 2016-03-13 16:48:05 +05:00
UncleRus
22ceb08b49 Tabs to spaces. Again. 2016-03-13 02:25:15 +05:00
UncleRus
b4554b5806 SPI mode bug fixed, SPI endianness bugs fixed, new spi_transfer() 2016-03-13 01:59:52 +05:00
Angus Gratton
0ff4289261 Merge pull request #113 from kzys/lets-encrypt
howmyssl.com's root certificate has been updated
2016-03-10 07:40:37 +11:00
Kazuyoshi Kato
41e28717f9 howmyssl.com's root certificate has been updated
Now the site is using Let's Encrypt's root certificate.
2016-03-08 20:19:50 -08:00
Alex Stewart
6c50e968f5 Merge pull request #107 from UncleRus/extras/pcf8574
Driver for PCF8574 (8-bit I2C GPIO expander)
2016-03-07 19:06:09 -08:00
UncleRus
9dc565ff7c Separate send/receive buffers 2016-03-08 04:00:11 +05:00
UncleRus
b5c2120efc Removed redeclaration of peripheral bus freq 2016-03-06 01:24:59 +05:00
UncleRus
0e3f3bb2ca Frequency divider bug 2016-03-05 03:07:57 +05:00
UncleRus
bd40f75d37 Hardware SPI driver 2016-03-05 02:29:01 +05:00