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