Commit graph

925 commits

Author SHA1 Message Date
Joost Nieuwenhuijse
233f9a6a31 Change linker script to support C++ exceptions
See:
https://github.com/espressif/esp-idf/issues/459
https://github.com/jcmvbkbc/crosstool-NG/issues/54
2018-05-16 17:54:56 +02:00
Joost Nieuwenhuijse
ee001e0231 Move large lib_a-svfwprintf to flash
lib_a-svfwprintf may get included when linking against libstdc++
This will overflow IRAM

https://github.com/SuperHouse/esp-open-rtos/issues/623
2018-05-16 17:53:17 +02:00
Our Air Quality
efff445a03 stdin_uart_interrupt: add support for nonblock and a timeout. 2018-05-05 13:00:06 +10:00
Ruslan V. Uss
5830e001cf
Merge pull request #621 from ourairquality/dhcpc-flag-stopped
sdk_wifi_station_dhcpc_stop: ensure the client is flagged as stopped.
2018-04-30 15:14:18 +05:00
Our Air Quality
6db5525fbb sdk_wifi_station_dhcpc_stop: ensure the client is flagged as stopped.
Need to flag the dhcp client as stopped, even if the netif is not yet
initialized, because the flag is used to control the starting of the
dhcpc.
2018-04-30 14:08:41 +10:00
Ruslan V. Uss
61d3f5b445
Merge pull request #615 from ourairquality/os_delay_us
sdk_os_delay_us: rewrite to avoid hal.h
2018-04-27 01:20:30 +05:00
Ruslan V. Uss
a8c0e44cc7
Merge pull request #616 from ourairquality/new-flash-sizes
Recognise some new flash size codes.
2018-04-27 01:19:47 +05:00
Ruslan V. Uss
2b818ab6e3
Merge pull request #617 from ourairquality/rboot-1_4_2
rboot: update to 1.4.2
2018-04-27 01:19:17 +05:00
Our Air Quality
c183804aa2 rboot: update to 1.4.2 2018-04-25 23:27:01 +10:00
Our Air Quality
46559496c6 Recognise some new flash size codes.
This at least recognises the 2MB-c1, 4MB-c1, 8MB, and 16MB flash
size codes.
2018-04-25 23:06:28 +10:00
Our Air Quality
cec6b7c19f sdk_os_delay_us: rewrite to avoid hal.h
Seems to fail to compile recently, missing xthal_get_ccount(), so
avoid using hal.h which is outside esp-open-rtos.
2018-04-25 13:05:25 +10:00
Ruslan V. Uss
782eaabb97
Merge pull request #612 from rerobika/sdio_send_command
Fix SDIO send_command
2018-04-21 22:05:33 +05:00
Robert Fancsik
3b5510dce1 Fix SDIO send_command
This patch fixes the problem, while receiving R1b type of response from the card.
In case of R1b response the continuous stream that the card sends must be checked whether the signal indicates busy status and wait until a non zero response.
2018-04-20 19:59:59 +02:00
Ruslan V. Uss
4581999feb
Merge pull request #608 from rerobika/sdio_write_block_fix
Fix for sdio_write_sectors
2018-04-17 01:03:38 +05:00
Robert Fancsik
b43c3cee2d Fix for sdio_write_sectors
The issue was found by using f_mkdir("directory_name").
The function always returned FR_DISK_ERR due to an unhadled case in sdio_write_sectors().
According to this documentation: http://www.convict.lu/pdf/ProdManualSDCardv1.9.pdf#page=92 stop transmission command should be sent after writing multiple blocks.
This patch fixes this bug also adds a test case for it.
2018-04-16 12:11:05 +02:00
Ruslan V. Uss
0fa4213577
Merge pull request #607 from FlavioBayer/patch-1
bugfix/ets_timer.c: race condition while disarming
2018-04-14 00:11:10 +05:00
Flavio Bayer
de426c08b6
bugfix/ets_timer.c: race condition while disarming
If `sdk_ets_timer_arm_ms_us` is called right after `vPortExitCritical` inside `sdk_ets_timer_disarm` on line 247 (by an ISR for example, which was my case), execution will loop forever on line 196, since `timer->next!=ETS_TIMER_NOT_ARMED`, which was supposed to be changed in line 248.
By delaying the IRS or context switch until `sdk_ets_timer_disarm` the problem is fixed.
2018-04-13 16:08:03 -03:00
Our Air Quality
9277bea8c9 mbedtls: update and integrate upstream fixes. 2018-04-03 15:30:25 +10:00
Ruslan V. Uss
524a98ed1a
Merge pull request #583 from ourairquality/global-stdio-streams
newlib: rebuild with the global stdio streams enabled.
2018-04-02 11:22:48 +05:00
Ruslan V. Uss
1ef7e85e05
Merge pull request #602 from ourairquality/freertos-r2536
FreeRTOS: Update to r2536.
2018-04-02 11:22:09 +05:00
Ruslan V. Uss
94047dd765
Merge pull request #601 from ourairquality/rom-skip-wrap
Skip calling wrappers from a number of the ROM functions.
2018-04-02 11:21:23 +05:00
Ruslan V. Uss
ace502a533
Merge pull request #597 from nicogrx/upstreamable_work
uart: add ability to configure byte length
2018-04-02 11:20:41 +05:00
Ruslan V. Uss
05af33fe0d
Merge pull request #595 from Zaltora/ws2812_init_fix
ws2812 fix possible memory leak
2018-04-02 11:20:18 +05:00
Our Air Quality
a6fa0ee497 FreeRTOS: Update to r2536.
* Introduce sbBYTES_TO_STORE_MESSAGE_LENGTH

* Fix bug in ucStreamBufferGetStreamBufferType() - which is only used by the
  Percepio trace tool.

* Update the line within vTaskStartScheduler() that was setting xTickCount to 0
  to instead set it to configINITIAL_TICK_COUNT.

* Introduce xMessageBufferNextLengthBytes() and tests for the same.

* Add call to traceTASK_SWITCHED_IN() in vTaskStartScheduler() so trace tools
  can see the first task to run.

* Correct definition of StaticTask_t in the case that portUSE_MPU_WRAPPERS is
  set to 1.

* prvTaskCheckFreeStackSpace() now returns configSTACK_DEPTH_TYPE to allow
  return values greater than max uint16_t value if required.

* xStreamBufferSend() and xStreamBufferReceive() no longer clear task
  notification bits - clearing was unnecessary as only the task notification
  state is used.

* Correct out of date comment in tasks.c.

* Fix typo in comment in queue.h.
2018-03-31 23:32:27 +11:00
Our Air Quality
e43329cbc7 Skip calling wrappers from a number of the ROM functions.
A number of the ROM functions were pointing to wrappers that saved and
restored the $a0 register, but the functions they called either did
not use $a0 or saved and restored $a0 as needed anyway.
2018-03-31 21:29:26 +11:00
Jean-Nicolas Graux
8cb769d55d uart: add ability to configure byte length
Signed-off-by: Jean-Nicolas Graux <nicogrx@gmail.com>
2018-03-29 13:24:06 +02:00
Zaltora
6dde352842 prevent multiple initialization memory allocation and inform user if allocation was fail 2018-03-27 10:56:46 +02:00
Ruslan V. Uss
a89417e26e
Merge pull request #582 from espway/i2c-timing-calculation
i2c: revise timing calculation
2018-03-13 18:35:41 +05:00
tkremeyer
5c18d42c8d UART: Add ability to configure stopbits and parity bit (#590) 2018-03-13 18:31:19 +05:00
Ruslan V. Uss
f296f4d91e
Merge pull request #591 from maximkulkin/fix-dhcpserver-memory-leak
extras/dhcpserver - Fix memory leak on stop
2018-03-13 18:30:27 +05:00
Maxim Kulkin
7707f4f905 extras/dhcpserver - Fix memory leak on stop 2018-03-11 22:56:10 -07:00
Our Air Quality
4bc6032fa6 newlib: skip locking when within the NMI Irq.
NMI Irq error paths call into printf which will use the newlib locks
but these can not be used within the NMI, a task switch can not occur
here. This case would be a terminal error path that is attempting to
write some debug message in the process, so just bail out of the
locking in this case. As a warning a ':' character is emitted and this
will typically prefix lines emitted in this context - it would be an
error for this path to be take in normal operation.
2018-03-03 09:52:47 +11:00
Andrea Greco
b77380bad1 Http client OTA (#553) 2018-03-01 05:03:44 +05:00
Jeff Kletsky
33082ba2c9 extras/timekeeping -- provide POSIX-like interface (#578) 2018-03-01 05:01:40 +05:00
Our Air Quality
f9ae521710 newlib: rebuild with the global stdio streams enabled.
This change means that there is only one set of global stdin, stdout, and stderr
FILE streams shared by all the threads. This reduces memory usage and avoids
having to close these streams before threads exit. These streams still have a
lock to synchronise access.
2018-02-28 23:44:27 +11:00
Sakari Kapanen
4a1b600be4 i2c: improve timing
Look-up tables were used for determining the delay loop counts before.
Based on these hand-tuned values, the loop overhead was estimated for
each option -- 80 and 160 MHz, fast and slow GPIO access. Instead of the
great number of tunable parameters one now only has to tune the overhead
values if the code is changed.

Functions were added to the API which allow setting an arbitrary
frequency. API backward compatibility is retained.

i2c: fix potential overflow situation
2018-02-27 23:47:16 +02:00
Ruslan V. Uss
ed1a6cc6f3
Merge pull request #580 from ourairquality/newlib-lock-fix
newlib lock support: use a separate mutex and recursive mutex.
2018-02-23 22:30:20 +05:00
Sashka
8d4b4aa7a3 Multi-Channel Soft PWM library (#579) 2018-02-23 22:29:42 +05:00
Our Air Quality
dccf3fc7b9 newlib lock support: uses a separate mutex and recursive mutex.
In trying to save memory had incorrectly shared a non-recursive mutex
with recursive mutex uses. Initialize one non-recursive mutex too.
2018-02-23 23:00:08 +11:00
Ruslan V. Uss
49343e9c68
Merge pull request #571 from ourairquality/newlib-300
Newlib: update to version 3.0.0
2018-02-19 10:16:58 +05:00
Ruslan V. Uss
33147ae77f
Merge pull request #574 from ourairquality/lwip-fix-timer-debug
lwip: update and fix compilation with timer debug enabled.
2018-02-18 20:25:57 +05:00
Our Air Quality
8fc06b9b57 lwip: update and fix compilation with timer debug enabled. 2018-02-18 23:38:15 +11:00
Our Air Quality
875aaabebe Newlib: update to version 3.0.0 2018-02-17 01:11:54 +11:00
Ruslan V. Uss
a3d94f168b
Merge pull request #567 from ourairquality/lwip-from-isr-stub
lwip add and stub for sys_mbox_trypost_fromisr()
2018-02-14 16:57:56 +05:00
Our Air Quality
4b6513f5a1 lwip add and stub for sys_mbox_trypost_fromisr()
This is not supported on esp-open-rtos, but add a stub to quieten
linker warnings.
2018-02-14 10:40:46 +11:00
Ruslan V. Uss
59c3ae3e5d
Merge pull request #554 from ourairquality/lwip-update-0118
lwip update
2018-02-13 16:39:34 +05:00
andrewclink
5750b9d91f Allow overriding bootloader flash arguments (#565) 2018-02-13 16:38:51 +05:00
Our Air Quality
3c81f7d587 lwip update
* The mdns responder has been reworked to lower stack and memory usage. This is
  a variation on the upstream code, it use malloc whereas the upstream code uses
  pools. The high stack usage of the mdns responder was problem for
  esp-open-rtos, so we might have to maintain the differences for now.

* Improved lwip core locking, and lock checking. Upstream improvements, that
  need some added support from esp-open-rtos specific code. More core lock is
  performed when calling from the esp-open-rtos code now, so a little safer. The
  checking is not enforced, but projects might see warning messages and might
  want to look into them.

* The esp-open-rtos lwip support has been sync'ed with the new freertos port
  included with lwip. There are still some minor differences.

* A few lwip timer bugs have been resolved. This might help resolve some issues.

* Plus it picks up all the other upstream fixes and improvements.

* The default lwip stack has been lowered from 768 words to 480 words,
  due to the reduced stack usage by the mdns responder.
2018-02-09 20:26:02 +11:00
Ruslan V. Uss
5f8b3d43c7
Merge pull request #556 from andrewclink/master
Add makefile flash hooks
2018-02-09 13:04:04 +05:00
Jeff Kletsky
6b43a1caa1 Improve extras/sntp -- Issue #562 (#563) 2018-02-09 13:02:01 +05:00