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

643 Commits

Author SHA1 Message Date
Oleg Hahm
459f550be5 Merge pull request #2042 from Kijewski/restrict
c++: `s/restrict/__restrict/`
2014-11-19 15:29:23 +01:00
Oleg Hahm
771b3a4506 Merge pull request #1984 from Kijewski/net_help-is-odd
core: move NTOHL and friends into byteorder.h
2014-11-19 15:11:43 +01:00
René Kijewski
f89e1f4a3d c++: s/restrict/__restrict/
`restrict` is not a keyword in C++, but `__restrict` is understood by
GCC-ish compilers.
2014-11-19 14:27:19 +01:00
9ce0b676b4 core: sys: move ringbuffer to core 2014-11-19 14:18:39 +01:00
René Kijewski
2c370862b7 core: allow inclusion of byteorder.h in C++ code 2014-11-19 00:47:25 +01:00
René Kijewski
434d6a1f65 core: move NTOHL and friends into byteorder.h 2014-11-19 00:46:41 +01:00
René Kijewski
a07b44781d C++ -_- 2014-11-11 21:07:40 +01:00
René Kijewski
ab545f83b0 core: inline cib.c
The functions in `cib.h` are only used in `msg.c`. They are very small,
and proper function calls have a bigger overhead than inlining these
functions.

The difference in .text size (worst to best):

```
+104 native
+69  qemu-i386
+32  mbed_lpc1768
+28  samr21-xpro

-54  chronos
-54  z1
-56  iot-lab_M3
-56  msb-430
-56  msb-430h
-56  msba2
-56  openmote
-56  spark-core
-56  telosb
-56  wsn430-v1_3b
-56  wsn430-v1_4
-58  arduino-mega2560
-60  airfy-beacon
-60  arduino-due
-60  f4vi1
-60  msbiot
-60  pca10000
-60  pca10005
-60  stm32f0discovery
-60  stm32f3discovery
-60  stm32f4discovery
-60  udoo
-60  yunjia-nrf51822
-72  avsextrem
-72  pttu
-120 redbee-econotag
```
2014-11-11 17:40:18 +01:00
René Kijewski
23177e5326 Remove special case for atmega in kernel_types.h 2014-11-11 11:42:44 +01:00
feb550f17a Merge pull request #1885 from OlegHahm/thread_yield_higher_cleanup
core: thread_yield_higher cleanup
2014-10-30 23:22:27 +01:00
Oleg Hahm
6b39ce9650 config: moved from core to sys
There's no need to run config_load from core directly, can be done by
auto_init.
2014-10-30 22:27:11 +01:00
Oleg Hahm
09f225f6ed config: use radio_address_t 2014-10-30 22:27:11 +01:00
René Kijewski
9ddbf57709 core: refactor sched_run
`sched_run()` was cluttered. Many individual changes were done without a
proper refactoring.
2014-10-30 21:00:09 +01:00
Oleg Hahm
9a61d8cf1c core: move optional tcb members to DEVELHELP 2014-10-30 16:37:10 +01:00
Oleg Hahm
4885690874 core: update irq_arch documentation 2014-10-30 16:11:11 +01:00
Oleg Hahm
93ac114bc3 core: move thread_yield*() to thread.[ch]
Although it might conceptionally rather belong to the scheduler, the
yield functions are prefixed with thread_ and thus, belong there.
2014-10-28 00:56:37 +01:00
Oleg Hahm
6f53cd484d core: make sched_runqueue public
Reverting b604832, because thread_yield() needs to access this
information.
2014-10-28 00:56:14 +01:00
Oleg Hahm
c33e1b5dad Merge pull request #1844 from OlegHahm/doxygen_cleanup
Doxygen cleanup
2014-10-24 16:04:01 +02:00
Oleg Hahm
9b819c4dd6 Merge pull request #1836 from Kijewski/yield-less
core: introduce sched_yield(), yield less
2014-10-24 10:05:37 +02:00
René Kijewski
677d690e2b core: introduce thread_yield_higher(), yield less
Fixes #1708.

Currently involuntary preemption causes the current thread not only to
yield for a higher prioritized thread, but all other threads of its own
priority class, too.

This PR adds the function `thread_yield_higher()`, which will yield the
current thread in favor of higher prioritized functions, but not for
threads of its own priority class.

Boards now need to implement `thread_yield_higher()` instead of
`thread_yield()`, but `COREIF_NG` boards are not affected in any way.

`thread_yield()` retains its old meaning: yield for every thread that
has the same or a higher priority.

This PR does not touch the occurrences of `thread_yield()` in the periph
drivers, because the author of this PR did not look into the logic of
the various driver implementations.
2014-10-24 00:09:56 +02:00
Oleg Hahm
206b75933e doc: fixed remaining doxygen warnings in core
Only one warning remains and will be fixed in a separate commit.
2014-10-23 18:30:09 +02:00
Oleg Hahm
db8f3d2650 cpu: use typed function pointer for thread_arch_init 2014-10-23 18:26:21 +02:00
Oleg Hahm
18381661dc doc: fix documentation for hwtimer
@verbatim was used incorrectly and a closing html tag was missing
2014-10-23 17:29:25 +02:00
René Kijewski
b604832777 core: make sched_runqueues static
PR #1000 overlooked to rename `runqueues` into `sched_runqueues` in
 `sched.h`. This shows that the variable is not used outside of
 `sched.c`.

 As the list should not be accessed outside of the scheduler, so it
 can be `static`.
2014-10-22 16:55:50 +02:00
bdcac07faa core: msg: introduce msg_try_send 2014-10-22 12:37:33 +02:00
DangNhat Pham-Huu
e6c7414357 Merge pull request #1805 from BytesGalore/extern_C_in_headers_core_unguard_includes
core: moved `#include`s outside the `extern "C"` guards
2014-10-22 07:09:57 +07:00
Martine Lenders
a7ed27130d byteorder: silence warnings in clang 2014-10-21 19:50:37 +02:00
BytesGalore
74161f0f2d core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
René Kijewski
862000b715 core: align stack on a 32bit boundary
Fixes #1267.
2014-10-17 18:22:37 +02:00
Ludwig Ortmann
ab418faa34 core: add doxygen header for kernel_types 2014-10-13 19:44:35 +02:00
Ludwig Ortmann
2fe2a39602 core: refactor check for valid pid
move into header and remove redundant condition
2014-10-13 19:44:35 +02:00
Martine Lenders
42f96b0d60 Merge pull request #1699 from Kijewski/issue-1586
core: Provide functions for different byte orders
2014-10-10 07:38:57 +02:00
Pham Huu Dang Nhat
2ded32dee7 c++: core: add extern C in header files 2014-10-09 06:18:16 +07:00
Benjamin Valentin
d6ca7c44c2 prevent rounding 0 if HWTIMER_SPEED > 1000000L
The current macros in hwtimer.h expect HWTIMER_SPEED to be < 1000000L, otherwise integer arithmetic will round the result down to 0.
Add a case to prevent that.
2014-10-06 22:13:48 +02:00
Ludwig Ortmann
f677f70836 core/hwtimer: add HWTIMER_WAIT_OVERHEAD 2014-10-01 19:53:43 +02:00
Ludwig Ortmann
0a8be81526 core/hwtimer: clean up header
- break/shorten overlong lines
- improve grammar
2014-10-01 19:53:42 +02:00
Ludwig Ortmann
da550bc913 introduce HWTIMER_SPIN_BARRIER (API change)
Boards should define HWTIMER_SPIN_BARRIER that is used to decide
whether it makes sense to set a timer and yield or call hwtimer_spin
instead.
Used by `core/hwtimer.c` and `sys/vtimer/vtimer.c`.
A default value is provided and a warning is printed when it is used.
2014-10-01 19:53:42 +02:00
René Kijewski
749db8d0dd core: Provide functions for different byte orders
Rationale: see #1586.
2014-09-29 21:07:02 +02:00
René Kijewski
4e50d74272 core: Provide ssize_t in a common place
Now you can include `kernel_types.h` if you need the `ssize_t`, without
 facing problems due to the terrible MSP toolchain.
2014-09-26 14:04:30 +02:00
Ludwig Ortmann
289c4c0ee4 doc: add license headers to some .h files 2014-09-18 17:45:11 +02:00
Martine Lenders
1cc82b6aa7 core: priority_queue: simplify inheritance 2014-09-05 18:17:12 +02:00
Ludwig Ortmann
b7992922ce fix license headers in non-.c files 2014-08-23 16:16:26 +02:00
003dd1969c Merge pull request #1566 from Kijewski/undef_is_null
core: let PIDs begin with 1
2014-08-22 00:43:04 +02:00
René Kijewski
a5c9d4572d core: clist without explicit thread
Right now the core component `clist` is a generic cyclic doubly-linked list.
In the core it is used in `tcb_t::rq_entry`.
Further it is used `net_if.c`.

This commit removes the member `clist_node_t::data` which stored the
pointer to the `tcb_t` instance of which the clist is already a member.
The needless member added `sizeof (int)` bytes to every instance of
`tcb_t`.

In `net_if.c` the clist was used in a type-punned way, so that the
change won't affect it.
2014-08-21 21:10:04 +02:00
8538670e12 Merge pull request #1583 from Kijewski/issue-1399
core: SCHED_PRIO_LEVELS==16 for every board
2014-08-21 20:04:57 +02:00
René Kijewski
b4f105f178 core: SCHED_PRIO_LEVELS==16 for every board
Closes #1399.

> Using a different value for SCHED_PRIO_LEVELS for 16 and 32 bit
platforms hurts portability, one thing that we heavily advertise about
RIOT. if you want to write a portable application, then you have to
assume the lower value.

This PR defaults `SCHED_PRIO_LEVELS` to 16 for every board.
2014-08-18 10:43:41 +02:00
René Kijewski
2cb4166c3e all over the place: use sched_active_pid
In many places we needlessly use `sched_active_thread->pid` whilst we
already have `sched_active_pid` with the same value, and one less
indirection.

`thread_getpid()` is made `static inline` so that there is no penalty in
using this function over accessing `sched_active_pid` directly.
2014-08-17 21:04:25 +02:00
René Kijewski
427a5fbaef core: let valid PIDs start with 1 2014-08-17 19:51:03 +02:00
René Kijewski
b31e5a8675 core: introduce KERNEL_PID_FIRST and KERNEL_PID_LAST 2014-08-17 19:50:34 +02:00
René Kijewski
a7e5157fd9 core: add thread_get()
Remove PID check duplication in `thread_getstatus()` and
`thread_getname()`.
2014-08-15 01:16:13 +02:00
Oleg Hahm
c2b0423918 core: renamed KERNEL_PID_NULL to KERNEL_PID_UNDEF
As @authmillenon pointed out the "null" in the old name is somewhat
misleading, since the actual value is -1.
2014-08-07 16:31:27 +02:00
Oleg Hahm
0836cd0b18 core: moved definition of KERNEL_PID_NULL
kernel_pid_t is defined in kernel_types.h, thus it makes sense to move
the macro for an invalid kernel pid there, too.
2014-08-07 16:31:27 +02:00
René Kijewski
a5fe9078c8 Merge pull request #1293 from Kijewski/issue-1287
core: only store the stack size for DEVELHELP (implementation)
2014-08-05 18:56:29 +02:00
Ludwig Ortmann
1efdf99dfe core/priority_queue: add dynamic initializers
- priority_queue_init
- priority_queue_node_init
2014-08-05 17:57:45 +02:00
Ludwig Ortmann
c2b2e4554b core/queue: queue -> priority_queue
Rename queue to priority queue, because that's what it is.
2014-08-05 17:57:45 +02:00
Ludwig Ortmann
2e190d21ed doc: fix spelling in core/include 2014-08-05 17:08:53 +02:00
René Kijewski
f7bdc7e4fe core: thread_measure_stack_free() is only useful for DEVELHELP 2014-08-02 00:35:41 +02:00
René Kijewski
9e3830a72b core: only store the stack size for DEVELHELP
`tcp_t::stack_size` is only examined by the shell command `ps` and
`DEBUG_PRINT`. For the latter one only if `DEVELHELP` was enabled.

This PR guards the member `tcp_t::stack_size` in `#ifdef DEVELHELP`.
Only if DEVELHELP was activated its value get printed by `ps`.

Closes #1287.
2014-08-02 00:35:41 +02:00
Ludwig Ortmann
c216d2870f doc: add detailed scheduler documentation 2014-08-01 18:57:31 +02:00
Oleg Hahm
983d056c75 core: harmonizes the data type for the process ID
Instead of using differing integer types use kernel_pid_t for process
identifier. This type is introduced in a new header file to avoid
circular dependencies.
2014-08-01 12:02:54 +02:00
Cenk Gündoğan
5e8c0c9058 converting tabs to spaces in core (#1439)
This PR converts tabs to white spaces.
The statement I used for the conversion:
'''find . -name "*.[ch]" -exec zsh -c 'expand -t 4 "$0" > /tmp/e && mv /tmp/e "$0"' {} \;'''
Afterwards, I had a quick overview of the converted files to prevent odd indentation.
2014-07-31 20:44:09 +02:00
René Kijewski
4032a22719 queue: add queue_t root type 2014-07-30 21:10:22 +02:00
René Kijewski
4c6a6ee4b3 queue: remove unused generic functions
Closes #1153.
2014-07-30 21:08:15 +02:00
René Kijewski
7035ae0051 queue: remove inttypes clutter from core header 2014-07-30 21:08:15 +02:00
Ludwig Ortmann
b3b6cff587 doc: some more author fixes
fix all occurences of INRIA as an author
correct Oliver Hahms authorship and indentation
2014-07-29 18:17:48 +02:00
Ludwig Ortmann
b6846e31fc doc: fix most occurences of FU as an author
.. but only if there are other authors as well
2014-07-29 17:23:11 +02:00
Ludwig Ortmann
ce4aaa6970 doc: little mutex.h fixes
- a university is not an author
- move internal tags to the right place
2014-07-29 14:37:41 +02:00
René Kijewski
e03e20b7f6 core: simplify mutex initializer 2014-07-29 09:33:23 +02:00
René Kijewski
e5d6142823 core: simplify mutex signatures 2014-07-29 09:32:16 +02:00
Ludwig Ortmann
a585eaf752 core/sched: remove MODULE_NSS helpers (API CHANGE)
remove thread_getlastpid and last_pid from the API, it is unused
2014-07-12 07:30:31 +02:00
Hauke Petersen
9001e0c2fb core: removed duplicated hwtimer_arch.h 2014-07-09 21:08:13 +02:00
Ludwig Ortmann
5ebdf6e745 core/thread: remove thread_create_arg from header
It's just a leftover from #856
2014-07-09 18:01:31 +02:00
René Kijewski
ba1a15535b core: remove extra thread_create_arg() function 2014-07-09 10:28:23 +02:00
René Kijewski
867246a09f Add argument to thread_create 2014-07-09 10:07:54 +02:00
Ludwig Ortmann
5c9a975afb core/msg: fix, optimize and improve
fixes:
fix race conditions by reordering dINTs
prevent null pointer dereference by adding forgotten target check
add forgotten eINTs
replace printf with DEBUG
fix debug messages

optimizations:
optimize pid access
reorder msg_send switches

improvements:
add debug statements
add missing return value to msg_send_to_self documentation
2014-07-08 11:57:38 +02:00
René Kijewski
3c5f8b0f9e Merge pull request #1308 from N8Fear/fix-typo-and-whitespaces
core/include/arch/irq_arch.h: fix typo and trailing whitespaces
2014-06-10 18:14:05 +02:00
Hinnerk van Bruinehsen
6da0c31265 core/include/arch/irq_arch.h: fix typo and trailing whitespaces 2014-06-10 18:07:41 +02:00
René Kijewski
b6dc5c9b76 core/cortex-m: add missing NORETURNs to thread_arch 2014-06-05 21:01:35 +02:00
Oleg Hahm
c679a051d9 core: fix variable name for sched_pidlist 2014-06-04 02:13:06 +02:00
René Kijewski
aab2311205 Merge pull request #1248 from thomaseichinger/debug_h_doc_fix
core:debug: documentation for `DEBUG_PRINT` was confusing and wrong
2014-06-03 22:42:39 +02:00
René Kijewski
05a4bf7f04 Merge pull request #1057 from Kijewski/sched_switch-current_prio
core: imply current_prio in `sched_switch()`
2014-06-03 15:59:23 +02:00
Thomas Eichinger
cf93dc6590 core:debug: documentation for DEBUG_PRINT was confusing and wrong 2014-05-27 16:29:35 +02:00
Martin Lenders
2362623490 Fix trailing whitespaces
Fixes #1138
2014-05-26 14:54:23 +02:00
René Kijewski
a6fd5bff92 core: imply current_prio in sched_switch()
There is no need to supply the current priority to `sched_switch()`,
when this function can easily tell the value of
`active_thread->priority` itself.
2014-05-24 16:48:35 +02:00
René Kijewski
1b89f334e3 msp430: provide oneway-malloc implicitly
For MSP430 boards oneway-malloc is already used *if* `malloc.h` was
included. The problem is that `malloc.h` is not a standard header, even
though it is common. `stdlib.h` in the right place to look for
`malloc()` and friends.

This change removes this discrepancy. `malloc()` is just named like
that, without the leading underscore. The symbols now are weak, which
means that they won't override library functions if MSP's standard
library will provide these functions at some point. (Unlikely, since
using `malloc()` on tiny systems is less then optimal ...)

Closes #1061 and #863.
2014-05-22 15:40:25 +02:00
Christian Mehlis
67428b5814 core: kernel: improved doxygen documentation
also added param[in] to irq.h and fix order of doxygen endguards
2014-05-20 14:47:41 +02:00
Oleg Hahm
ef5ec344fd core: prefix API functions correctly
Also changed names for bitarithm functions and rename thread_pid to sched_active_pid.
2014-05-18 08:53:20 +02:00
Oleg Hahm
5d7f7dd686 Merge pull request #1079 from BytesGalore/add_NORETURNs
core: and cpu: Added NORETURN to functions that should not return
2014-05-16 00:33:20 +02:00
Ludwig Ortmann
a0e9f3680b core/doc: complete io.h 2014-05-15 13:48:56 +02:00
Ludwig Ortmann
c42a56181b core/doc: complete queue.h 2014-05-15 13:48:56 +02:00
Ludwig Ortmann
93647306d7 core/doc: complete hwtimer.h and hwtimer_arch.h 2014-05-15 13:48:55 +02:00
Hauke Petersen
7df411e7b7 core: improved doxygen documentation
improved files complient to issue #950
- thread.h
- flags.h
- debug.h
- crash.h
2014-05-15 10:52:34 +02:00
Martin Lenders
71a632520b Fix documentation for mutex.h 2014-05-13 08:33:38 +02:00
Martin Lenders
24db4eee8c Fix documentation for msg.h 2014-05-13 08:33:38 +02:00
Martin Lenders
c35a7555a3 Fix documentation for lpm.h 2014-05-13 08:33:36 +02:00
Martin Lenders
8048a57e53 Fix documentation for lifo.h 2014-05-13 08:31:05 +02:00
Hauke Petersen
608afc4777 Introduced a cleaned-up cpu/core interface
- Included a collection of cpu-dependent headers in core/include/arch
- Extracted all interfaces that need to be implemented for a cpu
- Created a mapping between those interfaces and the old ones
- added flag for disabling arch interface
- added missing state to lpm_arch interface
- added arch interface for reboot
- fixed newline issues that were pointed out
- documentation fixes to cpu-core interface
2014-05-09 16:01:13 +02:00
Martin
4e73169b38 added NORETURNs to functions that should not return
and added `UNREACHABLE();` to hint the compiler unreachable lines

added right signature for first parameter of `thread_stack_init()`
added `UNREACHABLE();` macro to `cpu/lpc1768/atom.c` and `cpu/msp430-common/cpu.c`
2014-05-08 06:25:25 +02:00
René Kijewski
6f3d0871aa core/cpu: put __builtin_unreachable() into one place 2014-05-07 19:24:55 +02:00
Oleg Hahm
13c615ac17 documentation: fixed doxygen for schedstats 2014-05-05 14:09:08 +02:00
Oleg Hahm
6e27e1cdbb bitarithm: remove unused macros 2014-05-05 14:09:08 +02:00
Oleg Hahm
81fe4b6afc documentation: extend description for CONST attribute 2014-05-05 14:09:08 +02:00
Oleg Hahm
5a63f3ab1c core: documentation: fixed typo in license header 2014-05-05 14:09:08 +02:00
Oleg Hahm
50c9d2da90 core: documentation: replaced task w/ thread 2014-05-05 14:09:08 +02:00
Oleg Hahm
2d338feac4 core: documentation: fixed bitarithm documentation 2014-05-05 14:09:08 +02:00
Oleg Hahm
25a2122f83 core: documentation: updated, improved, and completed doxygen comments 2014-05-05 14:09:01 +02:00
René Kijewski
055053a4d7 core: Remove STATUS_TIMER_WAITING
Closes #726.

The thread state `STATUS_TIMER_WAITING` is not used anymore.
This PR removes the value.
The number in `STATUS_ON_RUNQUEUE` is replaced by a reference.
2014-04-30 18:30:22 +02:00
Christian Mehlis
67d7d1fa96 core: improved doxygen documentation 2014-04-26 14:01:52 +02:00
Thomas Eichinger
082a583ec6 Merge pull request #955 from thomaseichinger/fix_doc
core: documentation: fix doxygen documentation in cib.h clist.h config.h tcb.h
2014-04-17 11:51:48 +02:00
Thomas Eichinger
d566ae9a28 fix doxygen documentation for clist.h, config.h, tcb.h and cib.h 2014-04-17 11:50:52 +02:00
Kévin Roussel
24f5cfafbb Add the ability to send a message to the current thread's message queue
(without raising an error)
2014-04-11 10:43:11 +02:00
Martin Lenders
8d1537a99c Remove duplicate function definition in queue.h 2014-04-01 19:44:45 +02:00
Oleg Hahm
85bd8cae17 check for existence of active_thread 2014-03-19 16:27:54 +01:00
Oleg Hahm
20b5230466 additional debug macro 2014-03-19 16:27:49 +01:00
Oleg Hahm
2ef9b78ccf add stacksize checker for DEBUG macro 2014-03-19 16:26:52 +01:00
Ludwig Ortmann
063a15ce9b Change reboot signature.
Change from `void reboot(void)` to `int reboot(int mode)`.
Move reboot definition to core, rename architecture implementations
from reboot to reboot_arch.
Declare reboot mode(s) in kernel.h, reboot_arch in kernel_internal.h
Currently only one reboot mode is handled, its use is enforced.

Rationale:
A reboot function is already defined in <unistd.h> on BSD systems.
(See: http://www.openbsd.org/cgi-bin/man.cgi?query=reboot&sektion=2)
This patch not only allows native to build sensibly on these systems
but also streamlines RIOTs compatability with existing software.
2014-03-10 11:14:27 +01:00
René Kijewski
83988b2d03 Merge pull request #725 from kaspar030/optimize_thread_status_usage
core: sched: thread: optimize thread status field usage
2014-03-05 17:30:31 +01:00
Martin
05f085d51a add mutex_unlock_and_sleep() 2014-03-03 18:48:35 +01:00
Ludwig Ortmann
470bd7f17f Fixup for #685
- use DEVELHELP for native as well
- fix function name in documentation
- improve documentation language/spelling
2014-02-26 21:49:54 +01:00
Oleg Hahm
0c14597ec2 Merge pull request #685 from rousselk/panic
Panic
2014-02-26 16:26:27 +01:00
Kévin Roussel
d007207f3e Add a mechanism for handling fatal errors (and reboots) 2014-02-25 10:49:57 +01:00
Oleg Hahm
32f918abe8 simplified sched_switch
sched_switch can check ISR itself.
2014-02-25 09:47:58 +01:00
Oleg Hahm
24f5ec929c removed duplicate inISR prototype 2014-02-24 18:42:13 +01:00
Oleg Hahm
7235f9e92c Merge pull request #729 from BytesGalore/remove_unnecessary_includes
core:mutex removed unnecessary includes
2014-02-18 13:52:21 +01:00
Martin
ff36df6847 migrated tcb.h include to .c file 2014-02-18 12:50:30 +01:00
36981c95b9 core: sched: thread: optimize thread status field usage
see PR #716 for discussion
2014-02-17 12:28:54 +01:00
Kévin Roussel
dc6f920f33 Merge remote-tracking branch 'origin/reboot' into reboot 2014-02-17 12:00:19 +01:00
Christian Mehlis
3dce0cbb97 Merge pull request #662 from Kijewski/remove-sched_init
Do not zero out sched_threads needlessly
2014-02-16 11:37:05 +01:00
Kévin Roussel
ca6db02530 Function attributes are now defined elsewhere ("attributes.h") 2014-02-14 10:58:17 +01:00
Kévin Roussel
e7d19fd2be Add a reboot() function to kernel.h definitions. 2014-02-12 15:26:02 +01:00
Kévin Roussel
8ca607bd70 Portable definition of function attributes 2014-02-12 14:58:59 +01:00
Ludwig Ortmann
2525920426 remove trailing whitespace and newlines 2014-02-11 18:45:06 +01:00
René Kijewski
7e685d6b36 Do not zero out sched_threads needlessly
The function sched_init() zeroes out sched_threads needlessly. All
static variables can be assumed to be initialized with zero, anyways.
The C standard mandates it, and all at other places in the code it is
assumed.
2014-02-11 16:47:00 +01:00
Benjamin Valentin
bbe616f167 add name to sysconfig
there is still quite some space left on the persistent flash config area, make it possible to give nodes a name (e.g. hostname of the meshrouter) for nicer debugging
2014-02-06 18:13:48 +01:00
56ee585c81 update Kaspar's email address
kaspar.schleiser@fu-berlin.de is obsolete.
(2nd try, first try was overwritten by some overzealous documenter)
2014-01-28 11:53:19 +01:00
Oleg Hahm
d5fd29a658 created doxygen link to STATUS_STOPPED 2014-01-22 19:20:13 +01:00
Oleg Hahm
2cc01bab3f added documentation for scheduler statuses 2014-01-22 19:20:07 +01:00
Ludwig Ortmann
bcbe6bf5c8 thread_measure_stack_ usage -> free
Rename the function as its name suggests the opposite of what it does.
2014-01-20 10:46:20 +01:00
Ludwig Ortmann
81608bdab5 thread_measure_stack_usage documentation
fix documentation - the return value is the opposite of what it said
add and improve comments
renamed space to space_free (the name is documentation as well)
2014-01-20 10:42:59 +01:00
Ludwig Ortmann
c42aa8993f fix regression from #251
remove thread_measure_stack_usage from kernel_internal.h again
2014-01-20 10:34:06 +01:00
Oleg Hahm
9eebc532ef Merge pull request #459 from rousselk/msp430-lpm-freq
Msp430 lpm freq
2014-01-16 04:57:27 -08:00
Kévin Roussel
e6d4a0b73a Added the LPM_UNKNOWN constant to the enum 'lpm_mode'
for respresenting unknown/unavailable LPM-related status.
2014-01-08 09:56:51 +01:00
Ludwig Ortmann
13bb8df91b fix typo, improve doc 2013-12-20 00:27:46 +01:00
Ludwig Ortmann
6eb829c680 documentation, remove LIFO_DEBUG, break main
add documentation to lifo.h
remove LIFO_DEBUG and use DEVELHELP instead
make the main method which is included break
2013-12-20 00:00:29 +01:00
Oleg Hahm
903ec54a43 making include directives consistent 2013-12-19 15:31:37 +01:00
Ludwig Ortmann
8dd9db3c45 add some documentation to lpm.h 2013-12-19 13:04:08 +01:00
Oleg Hahm
227c847135 put prototype for thread_yield() in core/include 2013-12-18 17:47:49 +01:00
Hauke Petersen
edcabf7cb6 Fixed a lot of comments by removing tabs and correcting format. 2013-12-16 14:00:33 +01:00
Hauke Petersen
3785fe956b Fixed doxygen comments, focused on file headers and group definitions 2013-12-16 14:00:24 +01:00
Oleg Hahm
07da7b2d45 reverted 18e97f6dd5 2013-12-09 22:44:53 +01:00
f85adf608f change my email address
kaspar.schleiser@fu-berlin.de will be obsoleted soon. Replace it with
kaspar@schleiser.de, which will (hopefully) stay.
2013-12-04 15:09:56 +01:00
Thomas Eichinger
dfdfb448f4 enforce KERNEL_CONF_STACKSIZE_PRINTF in kernel.h 2013-12-03 22:19:09 +01:00
Christian Mehlis
05c05661e6 Merge pull request #337 from LudwigOrtmann/hwtimer_cleanup
hwtimer.h remove cruft, document, rearrange
2013-12-03 02:12:13 -08:00
Ludwig Ortmann
d6c213fb47 fix grammar in license header 2013-11-23 13:11:56 +01:00
Ludwig Ortmann
ed0d108da6 hwtimer.h remove cruft, document, rearrange
remove unsused hwtimer_t0* declarations
document hwtimer_now
move hwtimer_now outside the internal section
2013-11-23 11:25:42 +01:00
Oleg Hahm
7c979751e5 Merge pull request #368 from mehlis/findings
(non critical) findings
2013-11-22 18:52:13 -08:00
Christian Mehlis
a83a6f2b49 fix some defines in tcb.h 2013-11-21 21:38:02 +01:00
Christian Mehlis
f5d412bf9f removed unnecessary stdlib.h include 2013-11-21 00:26:13 +01:00
Ludwig Ortmann
d06e0d8717 rename runtime to reflect the unit of measurement 2013-11-18 12:14:43 +01:00
Ludwig Ortmann
ffd8088d1d proper inttype runtime, declare to import
define runtime long as hwtimer_now() uses long
import hwtimer.h instead of declaring hwtimer_now()
2013-11-16 19:26:02 +01:00
Oleg Hahm
cc45909ffc Merge pull request #236 from OlegHahm/telosb
Telosb
2013-11-14 01:55:47 -08:00
authmillenon
18e97f6dd5 Use GCC/Clang builtins for bit arithmetics 2013-11-03 15:14:28 +01:00
Ludwig Ortmann
4b02701ad0 document msg_init_queue return values 2013-10-28 12:57:10 +01:00
Ludwig Ortmann
37c9b8ebfd fix spelling in msg.h 2013-10-28 12:57:05 +01:00
Ludwig Ortmann
089a15c110 merge thread_measure_stack_usage declarations 2013-10-24 16:22:55 +02:00
Christian Mehlis
495246d2d4 add thread_getname function 2013-10-17 15:25:43 +02:00
Christian Mehlis
9c70e4501c only include debug functions if needed 2013-10-11 14:21:47 +02:00
Kévin Roussel
d2535f3841 Added missing definition of 'PRIu32' in some RIOT include files
to avoid a bug in mspgcc's standard library
2013-10-09 15:10:22 +02:00
Christian Mehlis
6da0375197 fix macros in the hwtimer 2013-08-26 21:36:34 +02:00
Oleg Hahm
3ad55cce8b changed default stacksize
* the default stacksize no longer set for a thread using printf
* the stacksize for the main thread therefore adds the necessary space
2013-08-14 18:04:25 +02:00
Oleg Hahm
2981fe0844 Improving sched.h documentation 2013-08-14 14:39:09 +02:00
Oleg Hahm
7dbb97e376 added documentation for sched.h 2013-08-14 13:53:43 +02:00
Oleg Hahm
932c626c6b moved prototype for sched_register_cb() from C file to header 2013-08-14 13:09:43 +02:00
Christian Mehlis
764e0027f1 add oneway calloc 2013-08-10 11:21:25 +02:00
Martin
63146190b3 fix changed prototype parameter 1 of thread_stack_init from void* to void(*)(void) 2013-08-09 12:19:03 +02:00
Oleg Hahm
39a4dc684e fixes for #62: eliminate unused parameter warnings
NOTE: this commit introduces a kernel API change for mutex_unlock
2013-08-04 04:10:33 +02:00
Oleg Hahm
0bd81f14a4 remove header guard from debug.h and repaired debugging on a per file base 2013-07-25 21:56:37 +02:00
Oleg Hahm
599e266b55 Revert "removed redefined ENABLE_DEBUG"
This reverts commit 69c526f44d.

Instead of removing ENABLE_DEBUG, define it as zero and replacing the
ifdef preprocessor commands by a simple #if
2013-07-24 00:38:43 +02:00
Christian Mehlis
837bad38eb rename kernel_intern.h
german "intern" to english "internal"
2013-07-16 16:36:37 +02:00
Ludwig Ortmann
7dd9ac6be0 Add msg_try_receive 2013-07-05 23:32:07 +02:00
Christian Mehlis
9549c29ccb fix missing includes 2013-06-30 01:53:53 +02:00
Oliver Hahm
57cc002c67 Merge branch 'wsn430'
Conflicts:
	core/include/queue.h
	core/queue.c
	cpu/msp430-common/hwtimer_cpu.c
	cpu/msp430x16x/hwtimer_msp430.c
	sys/lib/hashtable.c
	sys/net/ieee802154/ieee802154_frame.c
	sys/shell/commands/sc_cc110x_ng.c
	sys/transceiver/transceiver.c
	sys/vtimer/vtimer.c
2013-06-25 15:33:40 +02:00
Oliver Hahm
c8bee9e554 fixed coding style (space after most keywords) 2013-06-24 22:37:35 +02:00
Oliver Hahm
5bae4f841d added one-time-initialization guard to transceiver 2013-06-24 22:12:57 +02:00
Oliver Hahm
f359453083 fixed doxygen value 2013-06-21 22:37:14 +02:00
Oliver Hahm
ffeb6f8523 fixed coding conventions (correctly this time) 2013-06-20 18:18:29 +02:00
Oliver Hahm
0d6d8390c0 * updated copyright and license headers in various files 2013-06-18 17:21:38 +02:00
Oliver Hahm
d640cf4298 fixed missing include 2013-06-14 19:41:48 +02:00
Oliver Hahm
fdd1d21e8d Merge branch 'master' into wsn430 2013-06-14 19:41:23 +02:00
Christian Mehlis
a57c25499b remove recursive include 2013-06-13 21:23:14 +02:00
Christian Mehlis
b41fd19216 prevent double include of debug.h 2013-06-09 18:02:30 +02:00
Milan Babel
df13d9e0fc Merge branch 'master' of github.com:overflowed/RIOT
Conflicts:
	drivers/cc110x_ng/Makefile
2013-06-06 08:41:30 +02:00
Milan Babel
edb34b73c0 fixes for the wsn430
fixed vtimer for the msp430
added spi module for the wsn430 v1.3b
changed some variables to uintXX_t, fixes overflow on msp430
2013-06-06 08:35:17 +02:00
Ludwig Ortmann
b36ddd7fd7 Merge remote-tracking branch 'upstream/master' 2013-05-15 10:18:08 +02:00
Ludwig Ortmann
c6553f6492 interrupt handling rewrite
(including uart0 integration, rt-extension removal)
2013-05-14 18:31:47 +02:00
Oliver Hahm
e69da952de * forbid the usage of '0' as an parameter for number_of_the_lowest_bit() 2013-04-16 14:00:49 +02:00
Martin Lenders
07e8ac9c19 Remove swtimer
see #4
2013-04-11 15:24:15 +02:00
Oleg Hahm
349bec1f0f * added documentation to kernel_intern.h 2013-03-27 16:58:07 +01:00
Oleg Hahm
e8af0c42c3 * created prototype for cpu_switch_context_exit() 2013-03-27 14:53:38 +01:00
Ludwig Ortmann
f8973bb007 Merge remote-tracking branch 'upstream/master' 2013-03-12 15:23:24 +01:00
Oleg Hahm
2ed63bd5c6 * removed outdated (and probably confusing) FeuerWhere project as an author 2013-03-08 11:30:23 +01:00
Oleg Hahm
2277b366b2 * removed outdated occurrences of (u|µ)kleos and FeuerWare 2013-03-07 20:51:26 +01:00
Oleg Hahm
68c9a60348 * fixed a copy&paste error in hwtimer_arch.h 2013-03-07 16:33:33 +01:00
Ludwig Ortmann
d65536f77b native cpu initial import 2013-03-06 01:08:15 +01:00
Oleg Hahm
5aa00a4f8b * fixed typo in readme
* fixed documentation in irq.h
* moved tools folder to dist
* added check for disk space in build_gnuarm script
* fixed gcc check in this script, too
2013-02-27 20:22:19 +01:00
Oleg Hahm
3791039974 * integrated makefiles
* fixed some prototypes
* restructured sys
2013-02-06 13:20:21 +01:00
Oliver Hahm
4162a2aff8 [core thread]
* added thread_getlastpid() to header
2012-11-13 17:26:43 +01:00
Oliver Hahm
bf96b81f53 [core include]
* added header for low-level io operations
2012-11-08 18:56:03 -05:00
Oliver Hahm
a30a18b3a8 [core msg]
* updated documentation of msg_send_receive()
2012-06-28 16:48:17 +02:00
Oliver Hahm
ffc7976aea [core config]
* added prototype for config_load to header
2012-06-06 10:51:38 +02:00
Oliver Hahm
75b4c946ac [core hwtimer]
* removed double function prototype
2012-01-04 17:44:14 +01:00
Oliver Hahm
0fd8127fab [core msg]
* updated IPC documentation
2011-12-01 16:27:23 +01:00
Oliver Hahm
1e0516fe73 [core msg]
* updated documentation
2011-12-01 14:11:09 +01:00
Oliver Hahm
706d982705 [core kernel]
* fixed include search directive for internal header file
2011-06-27 11:34:21 +02:00
Oliver Hahm
5a0e412249 [core sched]
* removed declaration from header file
2011-06-24 17:53:09 +02:00
Oliver Hahm
23cd123bdb [core thread]
* fixed wrong struct name in macro
2011-04-04 13:15:21 +02:00
Stephan Zeisberg
5abef6daf2 changed types irq_callback, hashtable, posix_io, s_display_flags, seq_buffer_entry, tcb, toprint to type_t" 2011-03-08 11:43:21 +01:00
Stephan Zeisberg
6a96de0d2f changed msg to msg_t 2011-03-08 10:54:40 +01:00
d5ff633d07 * initial checkin of last in first out array queue (lifo) 2010-12-10 16:49:29 +01:00
Oliver Hahm
fb1cb91c75 [board/msp-430-common board/msba2 core/]
* introduced dummy function for msp-430 config-save
* moved sysconfig from board to core

[sys/transceiver cpu/]
* moved some buffer size defines to cpu dependent parts

* some cleanups
2010-12-03 18:42:03 +01:00
Oliver Hahm
a46cdf189a * introduced identifiers (include shell commands to get and set)
* introduced a system wide configuration
2010-12-01 16:26:48 +01:00
5467d08536 * hwtimer: export hwtimer_now 2010-11-26 14:34:10 +01:00
cb79a7a237 * first implementation of msg queues 2010-11-26 14:21:48 +01:00
cb1d5c7ab3 * added circular index buffer implementation 2010-11-26 13:15:01 +01:00
d40052e24b * cosmetics 2010-11-25 16:22:46 +01:00
0441c5a4a4 * some more mutex related changes 2010-11-11 11:22:45 +01:00
8b242c74a8 * mutex changes 2010-11-11 09:55:08 +01:00
Oliver Hahm
3b9e9befa9 * some cosmetics and lpm flags for UART 2010-11-08 21:39:30 +01:00
Oleg
416029d2c0 * changed default project from "hello-world" to "default"
* increased main priority to the half of maximum priority
* introduced define for minimum stack size
* decreased stack size for uart0 thread
* merged commands for rtc shell module to one command (date)
* cleanup of header includes
2010-11-05 19:33:45 +01:00
ba03f610c4 * fix status size 2010-11-04 17:06:03 +01:00
2bf64ea4d0 * make doc reflect latest API change 2010-11-04 16:51:04 +01:00
67f72d43ee Merge branch 'master' of ssh://ukleos.org/home/git/ukleos 2010-11-04 16:48:14 +01:00
eff0b1980f * API CHANGE! changed thread_create so it allocates tcb on stack, removing first argument 2010-11-04 16:47:24 +01:00
Oliver Hahm
d1bff5cb3d Merge branch 'master' of ssh://ukleos.des-mesh.net/home/git/ukleos 2010-11-04 16:23:11 +01:00
Oliver Hahm
e335ccfb43 * fixed wrong return value for thread_wakeup
* changed hwtimer_wait to use thread_sleep instead of mutexes
2010-11-04 16:21:39 +01:00
7f8baa8818 * removed unneccessary priority names 2010-11-04 14:21:12 +01:00
Oliver Hahm
f38f32f6cc * added support for sht11 for msb-430-common
* fixed some jamfile isssues for msb-430
* fixed arch32 detection for scheduler
* changed sht11 driver to be platform independent
2010-10-29 17:32:03 +02:00
1e238e4131 * massive name changes 2010-10-28 11:29:03 +02:00
f945b72067 * API CHANGE: thread_create no longer uses malloc 2010-10-25 15:40:01 +02:00
a076a765b3 * oneway_malloc: added realloc 2010-09-30 16:07:00 +02:00
867fd7f293 * pull in VERY useful defines in thread.h 2010-09-30 15:08:50 +02:00
72785295a3 * cosmetic 2010-09-24 16:23:54 +02:00
91ae1eb6fd * import from old firekernel repository 2010-09-22 15:10:42 +02:00