Commit Graph

7 Commits (a48d12683f8b6b96b07c262398097eeb89990506)

Author SHA1 Message Date
Veijo Pesonen 5caed17aee events.shared-eventsize: increased from 256B to 768B
Original value was too small once both ESP8266 driver and
asynchronous DNS started to use shared event queue. An assumption is
made that once shared event queue is taken into use there are going to
be multiple users instead of one, for which the original value would
have been sufficient.
2019-02-26 09:44:15 +02:00
Veijo Pesonen 30a1dd8090 Increases events.shared-stacksize to 2K
ESP8266 driver started to use global event queue to handle some AT
parsing and call Socket::sigio() events. It turned out that when
running DNS tests, or Pelion Client, the stack space (1kB) is not
enough for the purpose.

Therefore we propose that this is raised to 2kB, as the assumption
is that event loop should allow as equivalently complex code than
any other threads.

In Mbed OS, the default Thread stack size is 4kB, but we assume 2kB
to be enough for non-blocking event purposes.
2019-01-04 14:35:46 +02:00
Kevin Bracey d979c59118 Make event queue use RTOS tick count
Event queue was using its own Timer or LowPowerTimer objects to derive
millisecond tick counts. This is unnecessary in RTOS builds, where the
RTOS is maintaining a tick count.

It also makes more sense to use the actual RTOS tick count, as the
values are being used to compute tick timeouts for RTOS calls. Computing
these RTOS tick delays with a separate timer could conceivably lead to
rounding errors.

Fixes: #5378
2018-04-20 11:44:36 +03:00
Michael Kaplan 6406ab05c6 equeue: added help text for new config option use-lowpower-timer-ticker 2017-10-18 11:13:39 +02:00
Michael Kaplan eacc27659d equeue: added config option which tells equeue_mbed.cpp if it shall use LowPowerTimer, LowPowerTimeout and LowPowerTicker instead of Timer/Timeout/Ticker.
This way, on SiLabs boards the low power sleep states will be used when using event queue.
2017-10-17 15:28:00 +02:00
Kevin Bracey eb80c25398 Add ability to request a shared event queue
To allow components with a simple need to schedule a few events to not
have to create their own threads, with all the associated memory
overhead, add 2 central calls to get shared normal and an
interrupt-deferral event queues, each dispatched on their own shared
threads.

For non-RTOS systems, just the normal event queue is provided, and the
application would have to dispatch this itself. This
application-dispatch is also available via a config option, to
potentially save memory by reusing the main thread.

Possible future improvement: the ability for separate components to
request a minimum stack size, and have the JSON combine these requests.
(Analogous tooling has already been mooted for mbed TLS config options
like key size).
2017-09-01 13:26:08 +03:00
Bogdan Marinescu 53218f9be8 Include events library headers in mbed.h
The inclusion is conditioned by the presence of the events library
(`MBED_CONF_EVENTS_PRESENT`). This ensures backward compatibility with
SDK builds.
2016-09-30 17:12:00 +03:00