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

546 Commits

Author SHA1 Message Date
benpicco
e2e51ae7ef
Merge pull request #14368 from jia200x/pr/byteorder_bebuftohs
core/byteorder: add uint32 from/to buffer funcs
2020-07-13 12:31:43 +02:00
Jose Alamos
244d5191c8 core/byteorder: add uint32 from/to buffer funcs 2020-07-13 11:21:30 +02:00
e3f6c0f340 core: make idle thread optional 2020-06-25 16:02:28 +02:00
c4b4e66422
sched_cb: Add function documentation 2020-06-23 15:40:57 +02:00
Martine Lenders
379d113af7
Merge pull request #14076 from miri64/cib/doc/fix-max-size
core/cib: fix documented maximum size restrictions
2020-06-19 17:18:20 +02:00
Martine S. Lenders
c2e1b8afea
core/cib: fix documented maximum size restrictions
MAXINT is not a defined value and since the types are unsigned also
misleading.
2020-06-19 15:08:58 +02:00
benpicco
7ea26cb118
Merge pull request #14295 from benpicco/core/include/macros/units_convenience
core/include: don't use 64 bit for MHZ & MiB macros
2020-06-17 15:01:44 +02:00
Benjamin Valentin
0862a3c512 core/include: Don't use 64 bit for MHZ & MiB macros
Those macros are all about convenience. However, always using 64 bit makes casts
nececcary that goes against the idea of having a convenience macro.

E.g. when printing a frequency in KHZ one might want to do

	printf("freq: %lu kHz\n", freq / KHZ(1));

leads to an error

> error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'long long unsigned int'

Now we would have to cast - `%llu` is not available with newlib-nano and wholly
uneccecary.

Only use 64 bit artithmetic where necessary (GHZ, GiB), not for smaller units.
2020-06-17 12:50:50 +02:00
Leandro Lanzieri
4d65bc8e0a
cpu: Rename CPU_ARCH to CPU_CORE 2020-06-16 12:05:40 +02:00
Benjamin Valentin
8e83584f1c core/include: add macros for common units
I got tired of counting zeros in frequency defines, so add a few
helper macros to make defining frequency and sizes easier.
2020-06-03 16:00:19 +02:00
Benjamin Valentin
c29f133a63 core/msg_bus: clarify API of msg_bus_post()
Receiving threads must not modify the contents of the message as this
is racy by definition.

Also make `msg_bus_post()` accept `const void*` instead of `char *`.
2020-05-20 10:44:11 +02:00
Francisco Molina
cb5cbe7431
cpu/cortexm_common: add inlined header only def for irq_%
irq_% are not inlined by the compiler which leads to it branching
to a function that actually implement a single machine instruction.

Inlining these functions makes the call more efficient as well as
saving some bytes in ROM.
2020-05-12 16:37:34 +02:00
Benjamin Valentin
b3eb59c30e core/msg: add message bus 2020-04-28 13:35:05 +02:00
Francisco Molina
cbcb882454
core/include: add xtstr macro 2020-04-21 15:10:55 +02:00
46b6a95309
Merge pull request #13671 from jia200x/pr/move_thread_flags_error
core/thread_flags: remove #error from header file
2020-03-31 15:48:41 +02:00
8efe5960aa core: uncrustify 2020-03-30 17:02:08 +02:00
f99bc894de core: make some formatting uncrustify friendly (or ignore) 2020-03-30 17:00:32 +02:00
JulianHolzwarth
dd6e51b1eb core/mutex.c _mutex_lock uses an int pointer
_mutex_lock uses a volatile int pointer for the parameter blocking instead of an int.
2020-03-26 17:26:07 +01:00
Jose Alamos
027a47e3a8 core/thread_flags: remove #error from header file
This commit removes the #error from the thread_flags header.
This #error makes the usage of
if(IS_USED(MODULE_THAT_DEPENDS_ON_THREAD_FLAGS)) pattern harder,
because the error is triggered each time the header is included.
If a module uses any thread_flags function it will fail in link time
anyway.
2020-03-20 16:59:34 +01:00
1b8ec38e34 core/panic: add PANIC_EXPECT_FAIL 2020-02-24 10:48:43 +01:00
Leandro Lanzieri
ea8c85ae8b core/debug: Fix code style errors 2020-02-18 13:20:06 +01:00
Leandro Lanzieri
981b4eb8d0 core/debug: Fix documentation of ENABLE_DEBUG macro 2020-02-18 13:20:06 +01:00
Karl Fessel
4445faaa3a core/shed: remove not needed bitarithm include add missing
bitarithm.h is not needed for the interface of shed but may cause conflicts
due to different definitions of SETBIT and CLRBIT

common implementations are: (value, offset) xor (value, mask) bitarithm
implements the later

frac.c and nrf52/usbdev.c use bitarithm.h but where missing the include

sam0/rtt.c defined a bit using mask from bitarithm,
changed that to the soulution used in sam0/rtc.c
2020-02-05 12:45:29 +01:00
JulianHolzwarth
2655c97fd5 core/thread.c: new function for zombie state 2019-12-11 16:48:31 +01:00
JulianHolzwarth
6b0156eac5 core/include/sched.h: new thread_status_t thread state 2019-12-11 15:44:59 +01:00
9dfcabf0d8 core: fix typos 2019-11-23 22:39:38 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
Benjamin Valentin
a98a9e12e9 core: debug: introduce DEBUG_PUTS()
The DEBUG() function requires a minimal stack size for printf().
This is not always availiable.
To still allow static debug messages, introduce DEBUG_PUTS() that
gets resolved to puts() and does not carry such stack size requirements.
2019-11-20 19:09:47 +01:00
Leandro Lanzieri
0dd776a9e6 core/kernel_defines: Introduce 'IS_ACTIVE' macro.
IS_ACTIVE allows to evaluate macro definitions in non-preprocessor
expressions. It takes a macro that may be defined to 1 or not defined at
all and expands to 1 or 0 respectively.
2019-11-11 12:53:03 +01:00
Marian Buschsieweke
e0cec17ec8
core/rmutex: Made C++ compatible 2019-10-24 23:08:36 +02:00
Gunar Schorcht
54e915eec5 core/assert: allow multiple static_asserts
Uses an own scope for the definition of the enum const to allow multiple `static_assert` statements within the same function in non-C11 environments.
2019-10-19 16:16:24 +02:00
JulianHolzwarth
fbf6a665e1 core/thread.c: change thread_getstatus return type
thread_status_t instead of int
2019-10-15 15:55:05 +02:00
Francisco Molina
1caf6610cb sys: add schedstatistics module 2019-09-13 11:37:44 +02:00
Martine Lenders
1887e9d3f4
Merge pull request #12203 from JulianHolzwarth/pr/core/thread/hotfix_prio_type
core/thread.c: thread_create fix priority type
2019-09-12 12:41:13 +02:00
JulianHolzwarth
1d16b3d5dc core/thread.c: thread_create fix priority type
Bugfix: changing type of priority to uint8_t to be consistent with struct _thread
2019-09-11 17:42:48 +02:00
Francisco Molina
fc58ebbd97 core/sched: separate sched_cb from schedstatistics 2019-09-10 17:08:21 +02:00
francisco
3d62fa05b8 core/schedstatistics: refactor
- add init_schedstatistics function to be called after
  auto_init, that way xtimer_is init is called before
  the first call to xtimer_now
- register schedstatics code as a callback to be executed
  on each sched_run()
2019-09-10 17:07:54 +02:00
Benjamin Valentin
fcf31724a6 core: add ARRAY_SIZE macro 2019-08-06 19:31:10 +02:00
fdfd3133f7
core/sched_native: fix duplicate core_sched group definition
Introduce core_sched_native group and put this in group in parent
core_sched group
2019-08-05 16:57:37 +02:00
Martine Lenders
db20a057ae core: rename thread_state_t to thread_status_t
This way it can't come to name collisions on `native` with Mac OSX'
threading library [1].

[1]: https://opensource.apple.com/source/xnu/xnu-792/osfmk/mach/thread_status.h.auto.html
2019-05-11 12:25:07 +02:00
0ec9c57b2b add copyrights from IOTPUSH project 2019-05-02 12:09:37 +02:00
Hauke Petersen
c71fb4a435 core/clist: add clist_count() 2019-03-23 23:29:53 +01:00
Vincent Dupont
e8619b327b thread: allow overriding THREAD_PRIORITY_MAIN 2019-03-20 14:09:16 +01:00
Marian Buschsieweke
4c3e92f183
core: Made thread state an enum
- Introduced enum type `thread_state_t` to replace preprocessor macros
- Moved thread states to `sched.h` for two reasons:
  a) Because of the interdependencies of `sched.h` and `thread.h` keeping it in
     `thread.h` would result in ugly code.
  b) Theses thread states are defined from the schedulers point of view, so it
     actually makes senses to have it defined there
2019-02-13 13:31:52 +01:00
Sebastian Meiling
dceff6c22f doxygen: use ingroup instead of addtogroup in core 2019-01-09 08:42:59 +01:00
Sebastian Meiling
81e293422c doxygen: refine core_sync grouping
- Move `@defgroup core_sync` group definition to doc.txt
- Adapt usage of `@ingroup core_sync` accordingly
2019-01-09 08:42:59 +01:00
f2194a8e26 core/irq: fix 2 missing words in documentation 2019-01-07 20:50:59 +01:00
4878cf2119
Merge pull request #10400 from miri64/core/enh/thread_has_queue_func
core: provide function to check msg queue initialization
2018-12-19 18:41:39 +01:00
Martine Lenders
7835db5ec3 core: provide function to check msg queue initialization
This makes it easier to refactor that part of the `thread_t` structure
later on.
2018-12-19 15:39:50 +01:00
2a03e6fdbd
Merge pull request #10264 from gebart/core/schedstats_t
core: Rename typedef schedstat -> schedstat_t
2018-12-18 12:51:29 +01:00
Hauke Petersen
0e4f5bf894 core/clist: add missing function to table in doc 2018-12-11 11:15:18 +01:00
Sebastian Meiling
43d39b7a33
Merge pull request #8333 from samkumar/feature-condition-variable
core: condition variable implementation
2018-11-30 21:15:53 +01:00
Sam Kumar
fb8edbb610 core: condition variable implementation 2018-11-30 11:22:07 -08:00
Joakim Nohlgård
5b68bbb2cf core: Rename typedef schedstat -> schedstat_t
To follow naming conventions
2018-10-26 09:10:21 +02:00
PeterKietzmann
0ecaaf021c core/bitarithm: add explicit 32-bit function 2018-10-08 13:57:21 +02:00
Martine Lenders
2350c46740
Merge pull request #9826 from kaspar030/fix_byteorder_bebuf
core/byteorder: fix bebuftohs() / htobebufs() on big endian
2018-09-03 14:35:29 +02:00
2d27b32567
Merge pull request #9364 from gschorcht/thread_arch
core: add architecture dependent thread information
2018-08-24 12:10:20 +02:00
accf50ce07 core/byteorder: fix byteorder_htobebufs, byteorder_bebuftohs
Logic was swapping byte order on Big Endian platforms
2018-08-23 22:07:44 +02:00
Martine Lenders
ec7bf7a854 core: rmutex: include stdint.h
For some reason the LLVM/clang version of `stdatomic.h` does not include
`stdint.h`, though it uses types from it.
2018-08-03 18:34:56 +02:00
Gunar Schorcht
9db03537b9 core/pthread: make them compilable with g++ 2018-07-21 14:24:57 +02:00
Gunar Schorcht
e75e0a5fe6 core: architecture dependent part in thread_t 2018-07-05 09:22:59 +02:00
Gunar Schorcht
c71f40370b core: add architecture dependent extension 2018-07-05 09:22:59 +02:00
Hauke Petersen
36e0d4883d core/byteorder: to/from bufs funcs are big endian 2018-07-04 17:41:04 +02:00
Joakim Nohlgård
69fb02c3fc core: uncrustify thread_flags.h 2018-06-27 12:43:29 +02:00
2b1ed99a49 core: add more stacksize defines 2018-06-14 23:29:03 +02:00
2212850fbb core/mbox: doc typo fixes 2018-06-13 12:13:24 +02:00
bd2845adf6 core: fix doxygen grouping 2018-06-11 19:12:02 +02:00
Hauke Petersen
f68b243dfc core/byteorder: add uint16 from/to buffer funcs 2018-06-06 13:18:48 +02:00
Matthew Blue
2bd1d7f045 core/assert: provide static_assert for c99 2018-06-03 03:15:17 -04:00
Matthew Blue
38a30b68c2 core/debug: fix debug.h use within ISRs 2018-05-17 17:06:44 -04:00
8fd013635f
Merge pull request #9136 from jcarrano/fix-assert
core: make assert() an expression.
2018-05-15 21:38:14 +02:00
Juan Carrano
09d1b2eac7 core: Make assert be an expression.
The "verbose" alternative for assert() is now an expression and
can be used in all the places that a funcion call can be used.
2018-05-15 14:25:55 +02:00
7c7bb45ce7 core/clist: make clist_foreach() return break-causing node 2018-05-12 00:07:13 +02:00
d9993cc8d2
Merge pull request #8642 from OTAkeys/feat/static_assert
assert: add static_assert if using c11
2018-04-03 22:10:46 +02:00
Pieter Willemsen
729441fdb6 assert: add static_assert if using c11 2018-04-03 16:09:31 +02:00
Joakim Nohlgård
1fdfa6480d core/mutex: fix -fpermissive warning in C++ mode
g++ gives the error message "error: invalid conversion from ‘void*’ to
‘list_node*’ [-fpermissive]"
2018-03-25 09:11:26 +02:00
499c1812b2 core/bitarithm: provide multiple implementations for bitarithm_lsb() 2018-01-16 22:55:26 +01:00
e6a9a760a7 core/thread: add thread_getname() dummy available without DEVELHELP 2018-01-15 14:37:04 +01:00
c001e14f9d core: debug: rely on optimizer to kick out unused debug code 2018-01-12 13:38:06 +01:00
Martine Lenders
4013adcf65
Merge pull request #8277 from miri64/doc/fix/must-not-may-not-wording
doc: Fix 'must not'/'may not' wording
2018-01-10 20:34:17 +01:00
MichelRottleuthner
ee17dae5af pkg/fatfs: add vfs integration 2018-01-09 14:46:40 +01:00
Martine Lenders
2e93ba1c50
doc: Fix 'must not'/'may not' wording
I applied the following terminology and changed the wording in the doc
accordingly:

* must not: If the parameter is of the value it *must not* be it either
  hits an assert or crashes the system.
* may not: The value can be that value, but the function will return an
  error.
2017-12-19 09:00:12 +01:00
a8ec624ac4 core: cib: fix overflow handling 2017-11-22 17:53:16 +01:00
Martine Lenders
4952ffbae7
Merge pull request #6698 from Lotterleben/doc_thread_h
thread.h: extend doc for msg_waiters and msg_array
2017-11-16 19:25:52 +01:00
Lotte Steenbrink
9cc3641b75 thread.h: extend doc for msg_waiters and msg_array 2017-11-16 10:15:46 -08:00
24e7869484 core/include/panic.h: fix typos 2017-11-16 14:40:16 +01:00
32c10ae2c9 core, cpu: rename thread_start_threading() -> cpu_switch_context_exit() 2017-11-16 14:40:16 +01:00
bb4a5c5cdf core: remove COREIF_NG 2017-11-16 14:39:54 +01:00
615b1e60bc core/clist: add argument to clist_foreach 2017-11-06 12:49:22 +01:00
f142908f4e
Merge pull request #7655 from kaspar030/add_list_sort
core/clist: add clist_sort()
2017-11-06 12:46:01 +01:00
Joe Kroesche
5b6d311830 core/include/ringbuffer.h: add doc ref to tsrb.
Updated file comment header to comply with coding standard;
added brief module description and reference to tsrb to guide reader
who might be looking for thread-safe implementation
2017-10-29 08:08:15 -05:00
Joakim Nohlgård
317b013319 core/thread_flags: Remove unused THREAD_FLAG_MUTEX_UNLOCKED
and improve docs for THREAD_FLAG_TIMEOUT
2017-10-12 14:30:59 +02:00
Travis Griggs
2fd324a52f correct print_stack macro 2017-10-03 14:39:25 -07:00
de784961fa core/clist: add clist_sort() 2017-10-03 00:36:14 +02:00
5cc8204e10 Merge pull request #7048 from smlng/enh/ps/schedstats
schedstats: revert to 32Bit, and enhance output of schedstats
2017-09-28 16:08:51 +02:00
smlng
6ac0922c7d doc: replace dashes 2017-09-06 08:49:05 +02:00
ee945978e9 core: thread_flags: improve documentation 2017-08-30 13:43:02 +02:00
Joakim Nohlgård
87d322556a core/thread: fix Doxygen nesting
Everything below the thread states was cut off in the module
documentation because Doxygen does not handle nested @name tags.
2017-08-11 07:47:09 +02:00
7a0fcc30c8 sys: add initial SSP support 2017-06-27 18:05:14 +02:00
smlng
e7136e2dde schedstats: revert #6975, use 32Bit again 2017-06-08 14:33:47 +02:00