Commit Graph

19 Commits (52cb2c2cfcb2ca221f783ca6c16f2e4980d12b87)

Author SHA1 Message Date
Hugues Kamba 5933dec3b7 Harmonise Doxygen comments in drivers, events, platform and rtos dirs
When a Doxygen group has been defined (created), all its needed to add
documentation to that group is `\addtogroup`. Since all the information
about the group is preserved, it is not necessary to mention the group
hierarchy again with `\ingroup`. This PR removes unnecessary Doxygen lines
across the `drivers`, `events`, `platform` and `rtos` directories.

It also ensures that new groups are created with `\defgroup` once and
referenced with `\addtogroup` whenever documentation needs to be added to
an existing group.
2019-09-09 10:59:51 +01:00
Hugues Kamba 20f81e19be Change Doxygen groups structure, splitting first by Public/Internal (#11105)
* Change Doxygen groups structure, splitting first by Public/Internal

This commit also does the following:
* groups the documentation of related API
* moves `events/internal/equeue.h` to `events/equeue.h`
* merges `events/source/README.md` to `events/README.md`
2019-08-02 12:23:47 +01:00
Hugues Kamba bfa1b4dd84 Drivers/Events/RTOS Public and internal APIs cleanup (#10955)
Separate drivers, events, and rtos internal APIs from public APIs.

* Move source files to source subdirs
* Move internal headers to internal subdirs
* Add Doxygen comments for documenting internal and public APIs
* Remove source code from header files in order to remove include pre-processor directives
that included header files not directly used by said header files
* Explicitly include header files instead of implicit inclusions via third-party header files.

Release Notes

This will break user code that was using an internal API as the internal header files have been moved.
This will only break if the user was including the header file using a namespace (i.e #include "foo/bar.h" instead of #include "bar.h"
2019-08-02 12:23:47 +01:00
Kevin Bracey 83b329cb71 RTOS API for bare metal
Provide partial RTOS API for bare metal builds - things that
can be done in a single threaded environment.

Allows more code to work in both RTOS and bare metal builds without
change, and in particular gives easy access to the ability to
efficiently wait for something occurring in interrupt.

Available in bare-metal:
* ThisThread
* osThreadFlagsSet to set flags on main thread (can be set from IRQ)
* EventFlags (can be set from IRQ)
* Semaphores (can be released from IRQ)
* Mutex (dummy implementation)

Not useful:
* ConditionVariable (could only be signalled from 2nd thread)
* RtosTimer (calls in a second thread context)
* Thread

Unimplemented:
* Mail, Queue, MemoryPool

Possible future work:
* ConditionVariableCS to act as IRQ signalled ConditionVariable
2019-07-15 10:13:50 +03:00
Martin Kojtal e1e20a64f9 rtos: fix coding style 2018-11-15 07:20:12 +00:00
Cruz Monrreal II 3da861808b Make variables that are private in ConditionVariable.h, protected
Paritally reverts docs PR 8511
2018-10-26 13:03:56 -05:00
Mel W 0d128d13f1
Breaking behaviors into two sections
as per @kjbracey-arm review
2018-10-26 14:10:33 +03:00
Mel W 6a1b260f68
True -> `true`, inserting article 2018-10-26 11:32:27 +03:00
Melinda Weed 98e6d531bf Capitalization, header level adjustment 2018-10-25 17:16:34 +03:00
Melinda Weed c8f9759b90 Adding punctuation 2018-10-25 17:09:45 +03:00
Melinda Weed 5cc5e47929 future to present tense 2018-10-25 14:25:43 +03:00
Amanda Butler 8ddfdf5b2f
Copy edit ConditionVariable.h
Copy edit file, including existing text.
2018-10-23 15:34:16 -05:00
Steve Cartmell c86ceb1bc1 docs(api-condvar): Update documentation for the ConditionVariable API
- Hide protected member structures from doxygen.
- Add some more details/comments to the example.
- Add some defined/undefined behaviours.
- Add some additional details to function documentation
2018-10-23 15:24:37 +01:00
Kevin Bracey bbefeb4432 Add ConditionVariable::wait_until
Given the 64-bit timebase, add wait_until to ConditionVariable.

Move the timeout example to wait_until(), and give wait_for() an
alternative example, as it's no longer the best option for a
timeout.

Tidy up - remove the redundant RESUME_SIGNAL definition.
2018-01-29 15:26:41 +02:00
Kevin Bracey 3bb2c445ca Correct ConditionVariable ISR comments
No ConditionVariable methods are useable from ISR, due to the built-in
mutex and the requirement that the caller of notify holds the mutex.
2018-01-29 15:26:41 +02:00
Amanda Butler c23709c60a
Copy edit ConditionVariable.h
Copy edit docs changes for active voice.
2018-01-08 17:36:24 -06:00
Bartek Szatkowski 71555a984d Add notes about ISR safety to RTOS doxygen 2017-12-27 14:46:49 +00:00
Russ Butler 93cf15d57c Fix and add test for ConditionVariable
Fix the circular linked list handling in ConditionVariable and add a
test to validate the linked list implementation.
2017-11-15 16:15:27 -06:00
Russ Butler 0c4e50abb3 Add ConditionVariable to mbed rtos
Add the ConditionVariable class to mbed rtos to provide easier and
safer synchronization.
2017-11-02 21:02:27 -05:00