Commit Graph

73 Commits (aceeb269d15c39eae85da79031f43a8147df818c)

Author SHA1 Message Date
Martin Kojtal 1303e143e6 events: add spdx license 2018-11-28 10:39:52 +00:00
deepikabhavnani b6e381b701 MBED_NO_GLOBAL_USING_DIRECTIVE is added to remove auto-addition of namespace
Macro guard `MBED_NO_GLOBAL_USING_DIRECTIVE` is added around namespace, to avoid
polluting users namespace.
2018-11-26 09:23:16 -06:00
Martin Kojtal d3e51fc3a0 events: fix coding style 2018-11-15 07:20:13 +00:00
Martin Kojtal add417221c events: fix events coding style 2018-11-08 08:54:37 +00:00
Cruz Monrreal c792d33112
Merge pull request #8652 from 0xc0170/dev_rollup
Rollup PR for docs
2018-11-06 20:40:04 -06:00
Jeroen de Bruijn 467a7b6344
feat: Add name to shared queue threads 2018-11-02 13:52:18 +01:00
kegilbert ae673d606c Fix typos in Events doxygen 2018-11-01 15:40:44 -05:00
Cruz Monrreal de6ba91644
Merge pull request #8365 from 0xc0170/fix_astyle_common2
Fix astyle for tests folders
2018-10-25 10:41:13 -05:00
Cruz Monrreal 9c59d9acc3
Merge pull request #7864 from deepikabhavnani/remove_mbed_h
Add required header file and namespace element instead add all.
2018-10-25 09:26:24 -05:00
Martin Kojtal 08b94aa193 events: fix astyle 2018-10-25 09:58:18 +01:00
Jaakko Korhonen 0d278e7cee
EventQueue documentation fix. 2018-10-18 11:21:58 +03:00
Deepika fdcd51d6a7 EventQueue: Add required header file and namespace element instead add all 2018-10-15 10:39:41 -05:00
Kevin Gilbert 1c74c30aee
Remove protected class from EventQueue Doxy 2018-10-12 13:38:40 -05:00
Martin Kojtal 05b2d6e785
Merge pull request #7810 from kegilbert/eventqueue-templatewall-rework
Eventqueue Templatewall Doxygen Rework
2018-08-24 11:30:54 +02:00
Amanda Butler 935db68ca3
Copy edit EventQueue.h
Copy edit file for consistent capitalization, tense and voice.
2018-08-20 11:39:37 -05:00
kegilbert 383b464cf8 Final cleanup of eventqueue doxy comments 2018-08-16 17:19:57 -05:00
kegilbert a08ade30d4 Finish basic examples for all eventqueue methods 2018-08-16 17:19:57 -05:00
kegilbert c802f77258 Add inline doxy examples for eventqueue method calls 2018-08-16 17:19:57 -05:00
kegilbert 04fe577329 Patch EventQueue doxygen to remove templatewall
In the doxygen only segment define generic function declarations for the docs

Finished initial rework, pending TODOs for param comments
2018-08-16 17:19:57 -05:00
Christopher Haster 7efb517f89
equeue: Fixed overflow in rtos-less timeout code
Thanks to simonnilsson
2018-08-13 22:19:46 -05:00
Martin Kojtal 8b379703d4 events: astyle fix 2018-08-03 13:23:38 +01:00
Kimmo Vaisanen 990da085d9 Introduce API to query how much time is left for delayed event
If user has initiated a delayed event (either with call_in or call_every),
user might need to know how much time is left until the event is
due to be dispatched.

Added time_left() function can be used to get the remaining time.
2018-05-18 12:55:06 +03: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
Cruz Monrreal 15807744de
Merge pull request #6238 from pauluap/break_dispatch_flag
Remove windup behavior from break_dispatch
2018-03-15 10:59:36 -05:00
Cruz Monrreal 9cac3b2f6b
Merge pull request #6149 from bmcdonnell-ionx/typos
Fix typos in the files
2018-03-15 10:53:03 -05:00
Cruz Monrreal b97c7d8263
Merge pull request #6274 from geky/events-doc-periodic
events: Added note about immediate firing of periodic events
2018-03-15 10:48:22 -05:00
Martin Kojtal 87b37c0e2a
Merge pull request #6286 from delftswa2018/feature-typo-fixes
Small typo fixes in readme.md files
2018-03-08 17:36:23 +01:00
Jasper de Winkel 2c7a25a949 Small typo fixes in readme.md files 2018-03-06 19:07:03 +01:00
Paul Thompson 210f50d5c6 Flip order of comparison 2018-03-05 09:40:41 -08:00
Christopher Haster 30392acae3 events: Added note about immediate firing of periodic events 2018-03-05 11:07:28 -06:00
Paul Thompson 712b47f3c1 Clarify intention between comparison to zero and the shift operation
Building with (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 7.2.1 20170904 gives this warning

../events/equeue/equeue.c: In function 'equeue_incid':
../events/equeue/equeue.c:40:17: warning: '<<' in boolean context, did you mean '<' ? [-Wint-in-bool-context]
     if (!(e->id << q->npw2)) {
2018-03-04 12:44:21 -08:00
Paul Thompson dc430ef2d0 style fixups 2018-03-02 13:10:27 -08:00
Paul Thompson bb0d54023f Add test to cover break_dispatch windup 2018-03-02 12:44:13 -08:00
Paul Thompson 31f581c425 Clear the break requested flag if the dispatch loop is being broken due to a timeout condition 2018-03-02 12:37:53 -08:00
Paul Thompson 5d98d22614 Remove windup behavior from break_dispatch 2018-03-02 11:00:35 -08:00
Brendan McDonnell c4f10aafee typos 2018-02-20 20:11:19 -05:00
Cruz Monrreal 7411b31eb4
Merge pull request #6118 from ARMmbed/g-note-global-equeue-irq
equeue: Add note about using global event queues in irq
2018-02-16 19:48:36 -06:00
Christopher Haster 6e4e62b8a0
equeue: Added note about using global event queues in irq 2018-02-16 10:33:32 -06:00
Christopher Haster c39ce94b09 equeue: Removed RTOS dependencies when RTOS not present 2018-02-15 10:20:12 -06:00
Michael Kaplan 23f2199e47 equeue: some refactoring to meet coding rules 2017-10-30 13:56:11 +01: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
Russ Butler b2384b1629 Remove use of internal RTX types
Make calls to cmsis-os to get thread state, stack size, and max stack
usage rather than accessing internal RTX data directly. Wrap RTX5
specific code in OS_BACKEND_RTX5.

Also refactor the code to use mbed types rather than RTX types:
os_timer_t -> mbed_rtos_storage_timer_t
os_event_flags_t -> mbed_rtos_storage_event_flags_t
osRtxMutex_t -> mbed_rtos_storage_thread_t
2017-09-04 11:26:38 -05: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
Jimmy Brisson fecb99140d Merge pull request #4571 from geky/events-use-rtx-event-flags
events: Adopt osEventFlags from RTX 5
2017-06-29 11:06:42 -05:00
Vincent Coubard f57cc80ecc event: Make the event queue non copyable. 2017-06-20 16:23:45 +01:00
Christopher Haster 3934b30b58 events: Adopt osEventFlags from RTX 5
This provides the correct binary semaphore behaviour that was expected
by the equeue layer, removes concerns around semaphore overflow, and
reduces the number of spurious wakeups which may save a bit of power.

This also fixes some issues we were seeing around the RTX 5 changes
to semaphore behaviour.
2017-06-15 15:47:15 -05:00
Kevin Gilbert fcc780890c EventQueue.h Doxygen doc fixed up. Moved overloaded callback arguments documentation to overloaded functions to fix warnings. B0..B4 were not documentated additionally, only bulk docs for a0..a4 and c0..c4 were moved around. 2017-06-07 11:50:33 -05:00
Kevin Gilbert 1d450f82fb Removed Doxygen errors from Event.h
- Removed Makefile from branch
- Moved a0..a4/c0..c4 parameter documentation from top level overloaded functions to each function to appease Doxygen.
- Removed @see Event::Event from overloaded functions as the link did not work and the argument parameter documentation was moved down to each function
- TODO: Cleanup EventQueue.h
2017-06-07 11:50:33 -05:00
Bartek Szatkowski b793a3fb89 Update codebase for CMSIS5/RTX5
Update all of mbed-os to use RTX5.
2017-05-30 18:55:52 +01:00