Commit graph

420 commits

Author SHA1 Message Date
Angus Gratton
efedd24624 fatal exception handler: Only dump "registers" from stack for fatal user exceptions 2016-05-15 22:30:01 +10:00
Angus Gratton
36886412e6 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-15 22:30:01 +10:00
Angus Gratton
cf350efd8a Dump register state on fatal exception 2016-05-15 22:30:01 +10:00
Angus Gratton
52f9b13faf Break out debug dump functions into their own compilation unit 2016-05-15 22:30:01 +10:00
Angus Gratton
640609c3f5 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-15 22:30:01 +10:00
Angus Gratton
0caab973a5 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-15 22:30:01 +10:00
Angus Gratton
b414e0b946 Add 'filteroutput.py' tool to automatically do addr2line lookups on likely hex values 2016-05-15 22:30:00 +10:00
Angus Gratton
f9fb0f212c Add stack memory dump to fatal exception handler 2016-05-15 22:24:40 +10:00
Angus Gratton
b2c032a867 Merge pull request #141 from SuperHouse/fix/travis_builds
Fix Travis toolchain build (again)
2016-05-15 22:20:40 +10:00
Angus Gratton
b83d4a4293 Travis: Update esp-open-sdk commit to work around rewritten history on submodule 2016-05-15 22:16:42 +10:00
Angus Gratton
57c718d835 Travis: Work around 4MB log limit when building all examples 2016-05-15 22:16:42 +10:00
Angus Gratton
fee987d5cf Startup code: Move user_start_phase2 to irom section
This saves 1020 bytes from the text (IRAM) section by preventing
inlining of user_start_phase2() (and dump_flash_config_sectors() as
well) into the IRAM function sdk_user_start().
2016-05-15 22:16:42 +10:00
Angus Gratton
5809a0119b Merge pull request #114 from doragasu/sntp
Added sntp support and example
2016-05-15 20:42:35 +10:00
Angus Gratton
11ec316038 Merge pull request #129 from jsuiker/feature/dht-sensors
Added DHT library to extras and sample code to examples
2016-04-25 14:28:01 +10:00
jsuiker
99eba80c4d Added DHT library to extras and sample code to examples 2016-04-25 01:58:09 +00: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
doragasu
11c9031d9b Removed my _time() implementation to use newlib provided one. 2016-03-31 16:05:15 +02:00
doragasu
f4a5675854 Merge branch 'master' of https://github.com/SuperHouse/esp-open-rtos into sntp 2016-03-31 15:41:20 +02: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
doragasu
9651692ca2 Cleanup and some changes to make implementation a bit more conforming to the standard. 2016-03-13 18:29:30 +01:00
doragasu
f14025b1c7 Removed non working clock_* calls from example. Using vars for tz and dst. 2016-03-13 17:04:03 +01: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
doragasu
0482aebf7d Added quick and dirty _gettimeofday_r() test implementation. 2016-03-11 13:11:15 +01: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
doragasu
16c831fffa Added sntp support and example 2016-03-09 17:18:51 +01: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