1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

932 Commits

Author SHA1 Message Date
7c0ddbd1d8
Merge pull request #17472 from chrysn-pull-requests/doc-flags-msgs
core (largely doc): Differentiate message types from thread flags
2022-02-27 21:10:47 +01:00
chrysn
b923fec952 core/thread: Add constant value to check custom flags against
Co-authored-by: benpicco <benpicco@googlemail.com>
2022-02-26 22:17:33 +01:00
chrysn
4bbe0ec42d core/msg doc: No need for system-wide uniqueness 2022-02-26 22:08:31 +01:00
Benjamin Valentin
1bf151f01f core/init: declare board_init() 2022-02-25 15:08:58 +01:00
Karl Fessel
726c461cb5
Merge pull request #17574 from kfessel/p-fix-asserth
core/assert: avoid including panic.h with assert.h
2022-02-15 11:57:55 +01:00
Karl Fessel
ca112c224a core/assert.h: doxygen brief for __NORETURN 2022-02-15 10:34:54 +01:00
Karl Fessel
29caf39a9a core/panic.c: cleanup unneeded includes 2022-02-12 18:30:58 +01:00
Karl Fessel
0b52b3e62e core/assert: remove panic include from assert.h 2022-02-12 18:30:58 +01:00
benpicco
4aa90d3dc6
Merge pull request #16919 from maribu/core/rmutex
core/rmutex: use atomic utils
2022-02-04 11:56:05 +01:00
benpicco
5a57dec71a
Merge pull request #17093 from maribu/core/change_prio
core/sched: add sched_change_priority()
2022-01-28 20:01:20 +01:00
chrysn
fef782f735 core/thread doc: Point to helper function 2022-01-20 14:18:40 +01:00
chrysn
95b5052be4
Merge pull request #17502 from chrysn-pull-requests/queue-on-stack-never-quit
tests: Fix thread return with local message queue
2022-01-15 23:26:14 +01:00
Marian Buschsieweke
b6b7065ddc
core/rmutex: use atomic utils
Replace use of C11 atomics with atomic utils. This fixes

> error: address argument to atomic operation must be a pointer to a
>        trivially-copyable type ('_Atomic(int) *' invalid)

error when compiling on AVR with LLVM.
2022-01-14 09:52:17 +01:00
Marian Buschsieweke
d4e051596c
core/init: minor code cleanup 2022-01-12 16:15:48 +01:00
chrysn
b4a185132a core/msg: Document caution needed when having queue on the stack 2022-01-11 21:51:14 +01:00
5083061995
Merge pull request #17273 from maribu/core/IS_CT_CONSTANT
core: Add IS_CT_CONSTANT()
2022-01-08 00:21:07 +01:00
Marian Buschsieweke
68424a924c
core: Add IS_CT_CONSTANT()
This adds a simple macro to check (at C level) whether a given
expression is proven to be compile time constant and suitable for
constant folding. This allows writing code like this:

```C
int gpio_read(gpio_t pin) {
    if (IS_CT_CONSTANT(pin)) {
        /* this implementation should even be able to use the port and
         * pin number as immediate in inline assembly */
    }
    else {
        /* less efficient implementation that cannot use port and pin
         * number as immediate in inline assembly */
    }
}
```
2022-01-06 23:30:56 +01:00
8272e4fbd2
Merge pull request #17359 from benpicco/irq_is_in-bool
core: change return type of irq_is_in(), irq_is_enabled() to bool
2022-01-06 18:13:20 +01:00
chrysn
79e0e94312 core/thread doc: Contrast to messages 2022-01-05 19:33:51 +01:00
chrysn
5e7d65fc1f core/thread: Fix documentation
This has been wrong since 317b0133 when a third predefined flag was
removed.
2022-01-05 19:04:35 +01:00
Marian Buschsieweke
8608104fe5
core/kernel_defines.h: drop BUILD_BUG_ON()
This provides the same functionality as `static_assert()` provided by
C11 and has no advantages compared to it. Hence, encourage users to use
standard C functionality instead.
2022-01-05 15:41:39 +01:00
2b5ac8d422
Merge pull request #17262 from benpicco/msg_avail-return
core/msg: make msg_avail() return 0 on no queue
2022-01-05 14:13:28 +01:00
b84c3e47bf
Merge pull request #17267 from maribu/core/alignof
core/kernel_defines.h: drop ALIGN_OF()
2022-01-05 14:10:00 +01:00
chrysn
49ff487ea2 core: Warn about using irq_enable 2021-12-21 18:03:55 +01:00
Vitor Batista
921fdd0975 core/include/debug.h: minor debug fix 2021-12-08 17:09:17 +01:00
Benjamin Valentin
41a5b7ef7a core: change return type of irq_is_in(), irq_is_enabled() to bool
This only cleans up the API, no change in behavior or users of the API
is expected.
2021-12-08 15:53:15 +01:00
Marian Buschsieweke
b9c07f9622
core/sched: silence -Wcast-align 2021-12-03 10:12:34 +01:00
Benjamin Valentin
b5ea78ad47 core/msg: make msg_avail() return 0 on no queue
For the caller there should be no difference if there is no message
in the queue and if there can't be a message in the queue.

The current API works as one would expect if there is a message queue,
but once called from a thread that does not have a message queue
configured, code that does

    while (msg_avail())

will end up in an infinite loop.

Remove this foot-gun from the API by making the return value of
msg_avail() independend of the availability of a message queue.
2021-11-29 12:04:16 +01:00
Marian Buschsieweke
9535447e6f
core/kernel_defines.h: drop ALIGN_OF()
Since we moved to C11 now for all platforms, using `alignof()` provided
by `<stdalign.h>` has become the better option.
2021-11-25 09:20:22 +01:00
Jan Romann
3c86b74dc6
core: uncrustify 2021-11-18 15:44:00 +01:00
Marian Buschsieweke
d7a0ea1eec
core/bitarthm: suppress false positives
Co-authored-by: chrysn <chrysn@fsfe.org>
2021-11-18 09:45:22 +01:00
Marian Buschsieweke
58e197098d
core: add WITHOUT_PEDANTIC() and DECLARE_CONSTANT()
`WITHOUT_PEDANTIC(expr)` disables `-Wpedantic` for `expr`, but switches
back to the previous diagnostic settings afterwards. This helps defining
macros that are not strictly ISO compliant without having to drop the
`-Wpedantic` flag entirely.

`DECLARE_CONSTANT(identifier, const_expr)` declares an anonymous `enum`
constant named `identifier` and assigns it the value `const_expr`. Here,
`const_expr` has to be a compile time constant, but is not needed to be
an integer constant expression. It basically is a tool to magically
convert a non-integer constant expression into a integer constant
expression.
2021-11-10 15:22:47 +01:00
Benjamin Valentin
e2639cb53a core/include/kernel_defines.h: Fix index_of()
Calculate the size of the element based on the array given, not based
on the element pointer.

The element might as well be given as a `void *` via a callback.
In that case, if the user forgets to cast the `void *` to the array
element type, the calculation returns false values.

Disarm this foot gun by basing the element size off the given array.
2021-11-06 00:35:39 +01:00
Benjamin Valentin
01a49d3d19 core/include/kernel_defines.h: add index_of() macro 2021-11-05 16:42:38 +01:00
Martine Lenders
e27fd3018e
core/thread.h: fix new uncrustify error 2021-11-05 09:27:00 +01:00
Martine Lenders
f08989a3c8
core: make SCHED_TEST_STACK boolean and default to 1 with DEVELHELP 2021-11-05 09:27:00 +01:00
Hauke Petersen
3d7d797a57
core/sched: add sched_change_priority() function
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2021-11-02 20:44:32 +01:00
Marian Buschsieweke
ff7e7c26cf
core/log: Add anchor to doc to allow stable references 2021-10-10 21:35:31 +02:00
Martine Lenders
ea8e632eda
Merge pull request #16765 from benpicco/RIOT_VERSION_CODE
build system: add machine-readable RIOT_VERSION_CODE macro
2021-09-22 12:47:35 +02:00
Benjamin Valentin
7ef2594327 core/include/kernel_defines.h: add RIOT_VERSION_NUM macro 2021-09-21 17:43:29 +02:00
4fd1ae89a7
Merge pull request #16463 from kfessel/p-sched-int
core/sched: add runq_callback hook and runq inspection functions
2021-09-15 15:43:50 +03:00
2b2c5fe746 core/thread: provide getters for thread_t fields as used by ps() 2021-09-15 10:16:45 +02:00
chrysn
137399c8cb core/msg doc: Clarify; elaborating on interaction with queue 2021-09-01 14:56:41 +02:00
Hauke Petersen
b526394d82 core/irq.h: add irq_is_enabled() function 2021-08-25 08:01:05 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Karl Fessel
671a7edca1 core/sched: uncrustify sched_cb declaration
this is a change out of this PR scope to reduce
the number of uncrustify complains for future edits
2021-08-09 14:22:07 +02:00
Karl Fessel
3508012942 core/sched: name inspection functions the same as the used clist fns 2021-08-09 14:18:18 +02:00
Francisco
d7b3328601
Merge pull request #16098 from kfessel/p-remove-lifo
core/lifo: Remove lifo [after 2021.04]
2021-06-15 13:55:30 +02:00
JulianHolzwarth
8309889e39 core/msg.c: fixed msg_queue_print() 2021-06-02 01:28:22 +02:00
Karl Fessel
9f00528a58 core/sched: add runq_callback hook and runq inspection functions 2021-05-10 15:01:58 +02:00