1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

1616 Commits

Author SHA1 Message Date
Oleg Hahm
588ddda1fe socket: socket_base_exists_socket returns bool
Adapt the prototype to the actual used return value.
2014-12-02 14:58:44 +01:00
Oleg Hahm
a93a74daed socket: cosmetics 2014-12-02 14:53:17 +01:00
Oleg Hahm
a2b21fb019 net: socket: fix for e93d030058
The former fix for socket initialization was broken. This fixes the
"fix" by using the right exit condition for the loops.
2014-12-02 14:51:19 +01:00
Fabian Nack
eebfd5011a drivers - cc110x: Initial import of new cc110x driver 2014-12-01 17:14:02 +01:00
Oleg Hahm
d92e9af91c doc: fixed broken param descriptions 2014-11-30 22:34:50 +01:00
Oleg Hahm
dc74bd48bf doc: removed superfluous (and broken) @file params 2014-11-30 21:52:54 +01:00
Oleg Hahm
36e49c6c65 doc: removed broken doxygen struct tags 2014-11-30 21:50:43 +01:00
Oleg Hahm
206afa4d40 doc: fix typo in UDP header 2014-11-30 21:46:08 +01:00
Oleg Hahm
df9c09d946 doc: fixed typos and other misspellings 2014-11-30 21:32:12 +01:00
Oleg Hahm
cc73296d43 doc: added missing titles 2014-11-30 21:22:52 +01:00
Oleg Hahm
ae8dd90884 doc: added missing closing doxygen brackets 2014-11-30 21:16:41 +01:00
Hinnerk van Bruinehsen
9f80fa235b lint: fix syntax error caused by ifdef mess 2014-11-28 01:17:55 +01:00
Hinnerk van Bruinehsen
59a6e5836b lint: fix uselessAssignmentArg start_index 2014-11-28 01:10:35 +01:00
Fabian Brandt
12cd62c689 Introduction of RPL non-storing mode.
This implementation is based on RFC 6550 with addition of RFC 6554 (Source Routing Header for RPL). Both can be found under the following links:
- http://tools.ietf.org/html/rfc6550
- http://tools.ietf.org/html/rfc6554

The PR provides basic functionality for handling and forwarding packages in non-storing mode. In addition the structure of the previous implemented RPL storing mode is now revised, so that readability and modularity is increased. The following features are implemented:
- building function for a SRH and integration in common packets
- source-route build algorithm based on the structure of the DODAG
- an RPL-based interpretation of the SRH and removal at destination
- new structure for RPl-module with extracted beaconing-functionality
- leaf nodes are now supported

There are some missed goals and should be included in future updates:
- building a common routing table structure for different types of routing protocols
- routing tables are statically assigned via source code, future update should have an optional variable at build-time, which sets the size of the routing table depending on the desired functionality of a node in the network (root, node, leaf)
2014-11-27 21:42:40 +01:00
Oleg Hahm
b358d8517f Merge pull request #1080 from fabianbrandt/of_manager
Introduction of an of-manager for RPL.
2014-11-27 18:17:18 +01:00
Fabian Brandt
38d9b42762 Introduction of a of-manager for RPL.
The of-manager should gather all available of´s and initialize the prefered one, based on rpl_config.h.
2014-11-27 17:18:54 +01:00
Lotte Steenbrink
0c67c02047 Add the AODVv2 Routing Protocol
This PR depends on #1766.

It contains a minimal implementation of the AODVv2 routing protocol.
*Not* implemented are:

	- AckReqs
	- alternate metrics
	- multiple interfaces
	- clients and Client Networks
	- buffering
	- all addresses, TLVs, and features that are marked as optional

An example application can be found at https://github.com/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo.

The implementation relies heavily on a functioning Neighbor Discovery Protocol.
It might be necessary to fill the neighbor cache manually with the current state
of RIOTs NDP implementation.

The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to
future improvement.

Please note that based on my experience, with the default transceiver
buffer size (3) of the native port, about 2/3 of the route discoveries
will fail. This has been addressed in issue #1747. It is advised to increase
the transceiver buffer size when using AODVv2 as a routing protocol.
2014-11-27 03:50:20 -08:00
Oleg Hahm
41d6bc303a Merge pull request #2085 from authmillenon/fix-pktqueue
pktqueue: fix alignment order
2014-11-26 01:44:52 +01:00
Lotte Steenbrink
c0ffbf52d2 Simplify rpl_clear_routing_table()
Instead of looping over the entire table and setting every entry to 0, memset the entire table at once.
2014-11-25 12:01:21 -08:00
Martine Lenders
211cad1ea3 pktqueue: fix alignment order
Alignment order of `pktqueue_node_t` does not align with `priority_queue_node_t`
2014-11-25 18:50:12 +01:00
Hauke Petersen
b4c3a06a8e Merge pull request #2048 from haukepetersen/rem_ioarch
core/cpu/boards: removed fw_puts from RIOT
2014-11-21 17:04:18 +01:00
René Kijewski
682af155e0 posix: Fix missing restoreIRQ() in sem_post() 2014-11-21 14:33:28 +01:00
Hauke Petersen
2220a9fab0 core/cpu/boards: removed fw_puts from RIOT 2014-11-21 13:09:02 +01:00
Martine Lenders
b7a079471a sys: net: Initial import of a general interface to a network protocol 2014-11-20 14:51:29 +01:00
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
René Kijewski
3ea777ff14 Merge pull request #2017 from kaspar030/move_ringbuffer_to_core
Move ringbuffer to core
2014-11-19 14:22:16 +01:00
9ce0b676b4 core: sys: move ringbuffer to core 2014-11-19 14:18:39 +01:00
Hinnerk van Bruinehsen
c2a30f1e49 lint: remove unusedStructMember supressions 2014-11-19 11:22:49 +01:00
René Kijewski
c85610437b sys: use byteorder.h in cbor.c 2014-11-19 00:46:45 +01:00
René Kijewski
434d6a1f65 core: move NTOHL and friends into byteorder.h 2014-11-19 00:46:41 +01:00
Martine Lenders
4d674ef107 Merge pull request #2019 from authmillenon/cleanup-net_help
net_help: Cleanup
2014-11-18 16:41:20 +01:00
Martine Lenders
c9219b87d6 net_help: prefix csum properly and add documentation 2014-11-18 14:59:37 +01:00
Oleg Hahm
9cf42d587f Merge pull request #2002 from OlegHahm/ccnl_malloc_all_over
ccn-lite: use always ccnl_malloc
2014-11-17 16:01:31 +01:00
Martine Lenders
4d82c2c646 net_help: remove IPV6_CMP_ADDR macro
Used nowhere; alternative: ipv6_addr_is_equal(), since other use-cases
(is an IPv6 address smaller than the other) are not applicable anyway.
2014-11-17 09:42:07 +01:00
Martine Lenders
53eaa4feb8 net_help: remove printArrayRange()
The od module does the same, much less specialized, much more
sophisticated.
2014-11-17 09:39:45 +01:00
Oleg Hahm
fbd04bd051 ieee802154: introduce constant for default PAN id 2014-11-16 19:04:25 +01:00
Martine Lenders
ba1527593f ipv6: fix IPv6 address matching algorithm 2014-11-13 00:16:34 +01:00
Thomas Eichinger
f53dd860f0 Merge pull request #2000 from OlegHahm/ieee802154_transceiver_ignore
transceiver: fix ignore command for 802.15.4 radios
2014-11-12 12:33:20 +01:00
Oleg Hahm
c9bb6361fe ccn-lite: use always ccnl_malloc 2014-11-11 21:51:52 +01:00
Oleg Hahm
2657289d5c oneway-malloc: fix prototype for calloc
The prototype differs from stdlib
2014-11-11 21:50:28 +01:00
Oleg Hahm
78694ea52b transceiver: fix ignore command for 802.15.4 radios 2014-11-11 19:48:43 +01:00
Oleg Hahm
4a93a261b4 net: l2_ping uses radio_packet_t instead of packet_info_t 2014-11-11 16:59:06 +01:00
Oleg Hahm
c692b3a00a net: move ping to sys/net
* moved the former ping module from `sys` to `sys/net/link_layer` and renamed to l2_ping
* use defaulttransceiver instead of cc110x
* some refactoring
2014-11-11 15:03:40 +01:00
René Kijewski
9a15a6def5 make: easify {sys,drivers}/Makefile
Currently you need to add every new sys and driver module into the
respective Makefile. This requires rebasing if another module was merged
in the meantime.

This PR allows you to omit the entry to {sys,drivers}/Makefile, if the
subfolder has the same name as the module name, which should be sensible
in most cases.
2014-11-11 09:26:37 +01:00
Oleg Hahm
04253cf89a Merge pull request #1980 from OlegHahm/coverity_fixes
net: fixes some finding from coverity
2014-11-11 00:07:43 +01:00
Oleg Hahm
e93d030058 net: fix buffer overrun in socket initialization 2014-11-10 21:33:11 +01:00
Oleg Hahm
037571445c Merge pull request #1974 from OlegHahm/cleanup_licenses
licenses: fix miss-spelled & missing boiler plates
2014-11-10 19:53:40 +01:00
Oleg Hahm
39abba1bc2 licenses: fix miss-spelled & missing boiler plates 2014-11-10 18:59:55 +01:00
Oleg Hahm
d1d8972b0c 6lowpan: do not overrun in context_remove 2014-11-10 15:33:49 +01:00
Oleg Hahm
ebfaa85f0c net_if: fix buffer overruns 2014-11-10 15:33:48 +01:00
Oleg Hahm
365bfd81af IPv6: allow complete in ipv6_addr_init_prefix
If the specified prefix is a full IPv6 address, no bits remain.
Fixes a possible buffer overrun.
2014-11-10 15:33:48 +01:00
Oleg Hahm
b96b995d76 6lowpan: fix buffer overrun in decompression 2014-11-10 15:33:48 +01:00
Oleg Hahm
e06dce55b1 6lowpan: free fragment buffer in error case 2014-11-10 15:33:48 +01:00
DangNhat Pham-Huu
429162c20f Merge pull request #1793 from BytesGalore/extern_C_in_headers_sys
sys: add extern "C" to headers
2014-11-10 08:57:48 +07:00
BytesGalore
de3c3cebd0 c++: sys: add extern C to header files 2014-11-08 20:09:55 +01:00
Martine Lenders
b7929ae03d pktbuf: optimize size overhead in packet buffer 2014-11-07 12:01:22 +01:00
Oleg Hahm
9d5c3f4c8b auto_init: always set source address mode 2014-11-06 21:52:08 +01:00
Oleg Hahm
8f93b5cee7 Merge pull request #1948 from OlegHahm/netif_byteorder
Netif fix byteorder
2014-11-06 20:06:12 +01:00
Hauke Petersen
4cdc79f3a9 Merge pull request #1945 from thomaseichinger/sc_lsm303dlhc
shell: provide shell commands to poll lsm303dlhc sensor
2014-11-06 15:03:10 +01:00
Oleg Hahm
ac3519d46a net_if: alternative approach for swapping the byte order 2014-11-06 14:30:22 +01:00
Oleg Hahm
f79e228e44 shell: sensors: exit on failure
Immediately leave the read command if sensor is not initialized.
2014-11-06 13:45:44 +01:00
Thomas Eichinger
6bbc4ca226 shell: provide shell commands to poll lsm303dlhc sensor 2014-11-06 11:28:22 +01:00
Hauke Petersen
7e043bb27f sys/shell: added commands for iot-lab_M3 sensors 2014-11-06 10:41:55 +01:00
Oleg Hahm
0fed329774 Merge pull request #1941 from OlegHahm/ieee802154_use_enums
Ieee802154: use enums for frame type
2014-11-06 08:03:53 +01:00
Oleg Hahm
32543afdd0 ieee802154: make use of frame_type enum all over 2014-11-06 08:02:27 +01:00
Oleg Hahm
74a53e824e ieee802154: change frame type definition to enum 2014-11-06 08:02:11 +01:00
Thomas Eichinger
660f24405e shell/transceiver: set 16 bit addresses and frame type 2014-11-04 15:14:37 +01:00
Martine Lenders
0641ccbd5d auto_init: adapt auto_init for cc110x devices 2014-11-02 15:05:28 +01:00
Troels Hoffmeyer
406872751a Only read pan ID when address mode is not 0, when reading 802.15.4 header 2014-10-31 10:16:34 +01:00
Oleg Hahm
fce3a2243e Merge pull request #1846 from thomaseichinger/at86rf23x
drivers/at86rf231: refactoring of the at86rf231 radio driver
2014-10-31 09:33:30 +01:00
Hinnerk van Bruinehsen
d1775a1ad1 lint: fix redundantCopy in udp code 2014-10-31 01:24:32 +01:00
Hinnerk van Bruinehsen
ce075d9cbd lint: suppress warning about obsoleteFuntionsasctime 2014-10-31 01:24:32 +01:00
Hinnerk van Bruinehsen
aca4724447 lint: fix warnings of possible nullPointer dereferences 2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
ff6a7febc6 lint: fix uselessAssignmentPtrArg 2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
8723ba7568 lint: fix variableScope warnings 2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
a5aeaab87b lint: fix unreadVariable warnings 2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
ec98c85a05 lint: fix unusedVariable warnings
SQUASH ME: into unusedVariable (annotated)

SQUASH ME: into unusedVariable (II)

SQUASH ME: into unreadVariable (II)
2014-10-31 01:24:29 +01:00
Oleg Hahm
62006b6f34 Merge pull request #1915 from OlegHahm/replace_has_radio_by_feature
make: replace has radio by feature
2014-10-30 23:29:49 +01:00
Oleg Hahm
50ad24b011 Merge pull request #1911 from OlegHahm/fix_trickle_timer_stacksize
trickle: fix timer stacksize
2014-10-30 23:21:00 +01:00
f2483dfd5b Merge pull request #1649 from kaspar030/ringbuffer_remove
sys: lib: introduce ringbuffer_remove()
2014-10-30 23:20:06 +01:00
e4257284ad sys: lib: introduce ringbuffer_remove()
This commit adds a function that deletes n elements from the ringbuffer
without actually writing them somewhere.
2014-10-30 23:23:27 +01:00
Oleg Hahm
1b47b76135 config: use FEATURE_PROVIDED instead of HAS_RADIO 2014-10-30 23:13:52 +01:00
benpicco
54c3cb259e Merge pull request #1908 from OlegHahm/ps_fix_after_tcb_cleanup
sys: fix thread_print_all
2014-10-30 22:46:02 +01:00
Thomas Eichinger
dfb1b56fad drivers/at86rf231: refactoring of the at86rf231 radio driver
* deploy extended operation mode
* cleanup
* implement netdev 802154.h interface
2014-10-30 22:35:00 +01:00
Oleg Hahm
99b5ff81fa config: suppress cppcheck warnings 2014-10-30 22:27:12 +01:00
Oleg Hahm
576e76db51 config: make members feature specific
Channel and address are only sensible for boards that actually have a
transceiver.
2014-10-30 22:27:12 +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
5cf154223b trickle: increase stacksize for timer thread
printf is used in this thread
2014-10-30 21:27:12 +01:00
Oleg Hahm
7b95b613b2 sys: fix thread_print_all 2014-10-30 20:16:48 +01:00
Oleg Hahm
313d5b4e56 doc: added and fixed some copyright boilerplates 2014-10-30 19:30:14 +01:00
Oleg Hahm
922b2d758f Merge pull request #1815 from OlegHahm/core_eliminate_unnecessary_tcb_members
core: eliminate unnecessary tcb_t struct fields
2014-10-30 16:45:30 +01:00
Martine Lenders
1dae583bce Merge pull request #1884 from authmillenon/od
sys: Initial import of analytical object dump (od) module
2014-10-30 16:42:30 +01:00
Martine Lenders
3519a3d9be sys: Initial import of analytical object dump (od) module 2014-10-30 16:43:06 +01:00
Oleg Hahm
9a61d8cf1c core: move optional tcb members to DEVELHELP 2014-10-30 16:37:10 +01:00
Oleg Hahm
cf8cf3bb68 Merge pull request #1843 from OlegHahm/timex_cleanup
sys: timex cleanup
2014-10-28 18:00:52 +01:00
Ludwig Ortmann
d78c101b08 Merge pull request #1880 from fnack/cc110x_rename
drivers/cc110x: rename driver to cc110x_legacy_csma
2014-10-28 09:54:41 -07:00
Oleg Hahm
af13f190e6 doc: compliment and fix timex documentation 2014-10-28 17:50:11 +01:00
Fabian Nack
53b0ad2be5 drivers - cc110x: rename cc110x to cc110x_legacy_csma 2014-10-28 16:18:50 +01:00
Oleg Hahm
20dc7b0b00 timex: remove redundant struct timex_t declaration
timex_t is available as a typedef, declaring it as `struct timex_t` in
addition is not necessary.
2014-10-28 14:25:34 +01:00
Oleg Hahm
4b3fa4925a timex: update copyrights 2014-10-28 14:25:34 +01:00
Oleg Hahm
67f82fcee0 timex: replace print by a to_str function
Instead of printing the timestamp, it's more flexible to convert it into
a string.
2014-10-28 14:25:34 +01:00
Oleg Hahm
8c4a874161 timex: make functions static inline
This commit makes all one- or two-liners in timex a static inline
function, defined in the header file.
2014-10-28 14:25:34 +01:00
René Kijewski
9cccf6bf8e sys:ringbuffer: use memcpy in ringbuffer_get 2014-10-28 12:22:00 +01:00
René Kijewski
c0914ec451 sys:ringbuffer: static inline ringbuffer_init 2014-10-28 12:21:46 +01:00
Oleg Hahm
d8bad332bf Merge pull request #1881 from LudwigOrtmann/purge_feuerware_radio
boards, sys: purge feuerware_radios
2014-10-27 18:16:00 +01:00
Ludwig Ortmann
eceb656c49 core,sys: fix storage types for irq API usage
* should not have any effect as long as `unsigned` and `int` are compatible
* also fix two cosmetic `unsigned int` -> `unsigned` for consistency
2014-10-27 16:25:23 +01:00
Ludwig Ortmann
975412e16d boards, sys: purge feuerware_radios
* `feuerware_radios` is unused, remove from `radio.h` header
* FEUERWARE_CONF_NUM_RADIOS is superfluous without it, remove all occurrences
2014-10-27 14:49:25 +01:00
Oleg Hahm
c33e1b5dad Merge pull request #1844 from OlegHahm/doxygen_cleanup
Doxygen cleanup
2014-10-24 16:04:01 +02:00
Ludwig Ortmann
6a5026803c Merge pull request #1842 from fnack/cc110x_ng_rename
drivers/cc110x_ng: rename driver to cc110x_legacy
2014-10-24 03:07:37 -07: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
Fabian Nack
07fff37efe drivers - cc110x_ng: rename ng driver to legacy 2014-10-24 09:55:31 +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
Martine Lenders
f7d9b02d7e vtimer: improve documentation of vtimer_set_msg() 2014-10-23 21:28:15 +02:00
Oleg Hahm
84cb4ccaa2 Merge pull request #1830 from thomaseichinger/transceiver-fixes
sys/transceiver: fixes for the use of `ieee802154_packet_t`
2014-10-23 20:58:57 +02:00
Oleg Hahm
a9a5c2da1c doc: fix vtimer documentation 2014-10-23 20:53:00 +02:00
Oleg Hahm
b186b177a5 doc: fix doxygen warnings for color module
Also fixes the module name in API documentation.
2014-10-23 20:53:00 +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
6d8c0d74c3 doc: some doxygen cleanups
* removed RIOT unrelated cpu documentation
* introduced cpu_specific prefix to mark such documentation
* put oneway_malloc and crypto into sys group
2014-10-23 17:29:25 +02:00
ce6659a192 Merge pull request #1650 from kaspar030/ringbuffer_get_free
sys: lib: ringbuffer: introduce ringbuffer_get_free
2014-10-22 17:24:13 +02:00
6e03faa3d6 sys: lib: ringbuffer: introduce ringbuffer_get_free
This function returns the number of bytes available in the ringbuffer.
2014-10-22 17:07:36 +02:00
5146c66786 core: adapt to msg_try_send 2014-10-22 12:37:33 +02:00
Martine Lenders
fbaae0951a ip: set solicited node address correctly 2014-10-21 20:22:07 +02:00
Thomas Eichinger
5b48fcd007 shell/transceiver: properly initialize 802.15.4 packet 2014-10-17 17:05:09 +02:00
Thomas Eichinger
ebbe5bef6a sys/transceiver: cc2420 handles 802.15.4 packets 2014-10-17 17:05:09 +02:00
Martine Lenders
b9054e825a auto_init: reduce scope of iface 2014-10-16 16:08:01 +02:00
Martine Lenders
19bf230de2 auto_init: use full hash to configure radio address
Since the 4-byte CPU ID on native is in most cases generated from the 2-byte
PID of the native process, choosing the lower half of the hash of the CPU ID to
set the radio address led to always setting it to the hash of 0 in this
cases. This changes it to use both halves of the hash and taking the
modulus so this corner cases can be avoided.
2014-10-16 16:07:50 +02:00
Martine Lenders
0812d4789a Merge pull request #1638 from authmillenon/packetbuf2
net: Initial import of a global packet buffer
2014-10-16 14:01:56 +02:00
Emmanuel Baccelli
3f0d9d63d6 Merge pull request #1716 from waehlisch/master
Update CCN-lite Readme
2014-10-16 13:23:15 +02:00
Martine Lenders
a569f2b92c net: Initial import of a global packet buffer 2014-10-16 11:52:30 +02:00
Oleg Hahm
bd3d32e9b0 documentation: added description for packet queue 2014-10-13 19:30:12 +02:00
Martine Lenders
94528fef46 Merge pull request #1795 from sgso/byte-order-udp-sockaddr
udp: fix byte order in sockaddr6_t
2014-10-11 13:48:34 +02:00
Ludwig Ortmann
90e2b1c4c4 sys/net/pktqueue: fix doxygen 2014-10-11 08:20:50 +02:00
Martine Lenders
36f8e3c5c3 Merge pull request #1640 from authmillenon/packetqueue
net: Initial import of a packet wrapper for priority_queue
2014-10-10 23:12:28 +02:00
Martine Lenders
e7e62cffdb net: Initial import of a packet wrapper for priority_queue 2014-10-10 23:11:50 +02:00
Fabian Brandt
cd80cc166e Fixes when a packet is not for me, but an interface is defined. 2014-10-10 17:17:40 +02:00
Sebastian Sontberg
c8c518005f udp: fix byte order in sockaddr6_t
udp_recvfrom wrote the sender port number in host byte order into the
provided sockaddr6_t. Because all send functions expect the port number
in network byte order this introduces a superfluous conversion step in
case one wants to reuse the address for replying.

closes #1406
2014-10-10 15:43:34 +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
Martine Lenders
d63e98786e sixlowpan: fix ipv6_addr_init_prefix 2014-10-09 14:42:35 +02:00
Ludwig Ortmann
e40f4c1912 native/freebsd: fix usecond typdef 2014-10-08 16:11:15 +02:00
Ludwig Ortmann
5be28f49f6 Merge pull request #1754 from OlegHahm/timex_makefile_order
make: fix the order of Makefile.dep for timex
2014-10-07 05:52:43 -07:00
Oleg Hahm
a50d44c195 posix: configure stdio only to uart0 if enabled 2014-10-07 12:14:14 +02:00
Thomas Eichinger
2f27388d04 sys/transceiver: cleanup and fix for cc2420 and at86rf231
cc2420: the payload pointer was set twice
at86rf231: payload_len was not copied from the radio driver buffer
2014-10-07 11:37:29 +02:00
Thomas Eichinger
6fcc2ac777 shell/transceiver: fix byte selection for 802.15.4 devices in output 2014-10-07 10:32:58 +02:00
Thomas Eichinger
a686e909aa examples/default: fix handling of 802.15.4 devices 2014-10-07 10:32:58 +02:00
Thomas Eichinger
19f612cf2c examples/default: set src addr correctly 2014-10-07 10:32:58 +02:00
Ludwig Ortmann
cc319d1dd8 Merge pull request #1755 from Lotterleben/transceiver_debug_clean
transceiver: notify about dropped packets
2014-10-06 03:06:36 -07:00
Lotte Steenbrink
e843868141 Notify about dropped packets
Added debug output that warns about packets that are dropped
because the transceiver buffer was full or because the transceiver
failed to notify aiting upper layers.
2014-10-04 07:18:39 -07:00
Ludwig Ortmann
983e570e27 Merge pull request #1409 from LudwigOrtmann/hwtimer_spin-barrier
core,sys,boards: introduce hwtimer_spin barrier
2014-10-01 11:52:32 -07: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
Oleg Hahm
cbb1aff0ce sixlowpan: fixed net_if counter
This is a fixup for 11254577eb which
caused this function to always return a positive number, when any
interfaces was configured.
2014-10-01 18:19:35 +02:00
Oleg Hahm
be1fde1557 Merge pull request #837 from authmillenon/auto-init-addresses
auto_init: Initialize link-layer addresses from CPU ID
2014-09-30 15:29:50 +02:00
Martine Lenders
a5a7008f3f auto_init: Put net_if auto-initialization into its own function 2014-09-30 14:32:29 +02:00
Martin Lenders
30c92efa43 Initialize addresses from CPU ID 2014-09-30 14:32:29 +02:00
René Kijewski
5f262be568 Merge pull request #1653 from medicalwei/shell_backspace
Add backspace functionality in shell
2014-09-29 21:21:41 +02:00
René Kijewski
749db8d0dd core: Provide functions for different byte orders
Rationale: see #1586.
2014-09-29 21:07:02 +02:00
Oleg Hahm
762e9492a6 Merge pull request #1528 from OlegHahm/silent_rpl
rpl: mute RPL
2014-09-29 10:56:10 +02:00
Matthias Waehlisch
72b06cc9b1 sys/net/ccn_lite/README.md change wording + add ACM ICN reference
sys/net/ccn_lite/README.md fix encoding
2014-09-27 11:17:06 +02:00
René Kijewski
d4f144eb47 Add license statement to {msp430_types,net_help}.h 2014-09-25 10:14:58 +02:00
Yao Wei
b5d3c65672 Add 0x7f as backspace key in shell 2014-09-24 15:40:21 +08:00
Hinnerk van Bruinehsen
567ebf987f lint: limit maximum length of input via scanf 2014-09-19 23:31:26 +02:00
Christian Mehlis
88ae531ef9 Merge pull request #1679 from cgundogan/bloom_t_as_typedef
sys: use typedef for `struct bloom_t`
2014-09-19 13:18:39 +02:00
Ludwig Ortmann
289c4c0ee4 doc: add license headers to some .h files 2014-09-18 17:45:11 +02:00
Cenk Gündoğan
0a4ea07daa sys: use typedef for struct bloom_t
`bloom_t` is defined as a struct.
`_t` can mislead the user to think of bloom_t
as a typedef (see our coding conventions) instead of a struct.
Thus, I modified `struct bloom_t` to be a *typedefed* struct.

Another solution would be to rename bloom_t to sth. like bloom_s
everywhere and use `struct bloom_s` instead of `bloom_t`.
2014-09-17 19:54:40 +02:00
Hinnerk van Bruinehsen
2faf813793 board/sys: move bounds check before array access 2014-09-14 01:56:11 +02:00
Hinnerk van Bruinehsen
eb9ab083bc sys: remove break after return 2014-09-13 23:47:41 +02:00
Hinnerk van Bruinehsen
57b998e4a1 cpu/examples/sys/drivers: reduce scope of variables 2014-09-13 19:03:40 +02:00
René Kijewski
0cc699c0ce lint: reduce scope
Fix some lint warnings of kind
```
style (variableScope): The scope of the variable '…' can be reduced
```
2014-09-12 11:50:12 +02:00
Oleg Hahm
218635027c Merge pull request #1508 from cgundogan/transport_layer_refactoring
transport_layer: Splitting UDP and TCP
2014-09-11 20:49:34 +02:00
Cenk Gündoğan
710c7e6cf6 transport_layer: Splitting UDP and TCP
Currently, the tcp and udp implementations are bound to each other in a
module called *destiny*. Thus, when using only one of them then the
other one gets also compiled into the binary and initialized,
which results in unnecessary RAM usage and workload for the CPU.

The approach in this PR defines a common module named *socket_base*,
which contains functions used by the posix layer. Compiled by it's own,
those functions return negative error codes, to symbolize upper layers
that they are not supported. When also including the modules *udp* or
*tcp* respectively, functions from *socket_base* get overwritten with the
correct functionality.

Defining *udp* or *tcp* in a Makefile also includes *socket_base*.
Defining *pnet* in a Makefile also includes *socket_base*.
2014-09-11 20:07:46 +02:00
Oleg Hahm
70ec73b038 Merge pull request #1561 from BytesGalore/fix_fd_parameter_warnings
sys/posix: changed parameters for `fd` from `kernel_pid_t` to `int`
2014-09-11 15:37:04 +02:00
Yao Wei
208f889a4a add backspace functionality in shell 2014-09-11 21:27:20 +08:00
Oleg Hahm
46d5947044 rpl: mute RPL
Removes all but one occurrence of printf and puts within routing (the
remaining puts is called from a debug function.
2014-09-10 18:04:17 +02:00
Oleg Hahm
c924075722 sixlowpan: documented internal is_our_address() 2014-09-10 14:37:43 +02:00
Oleg Hahm
11254577eb sixlowpan: ignore incoming packets if unconfigured
If there's no IPv6 address configured so far to any interface, 6lowpan
should not try to  handle incoming packets. This can easily lead to
looping packets.
2014-09-10 14:37:43 +02:00
René Kijewski
76212cf594 vtimer: no needless type casting
Compare https://github.com/RIOT-OS/RIOT/pull/1639#issuecomment-54713048
and following discussion.
2014-09-07 22:06:05 +02:00
54d7e5f748 sys: vtimer: add license header 2014-09-03 14:18:11 +02:00
Martine Lenders
752fe547ca Merge pull request #1624 from LudwigOrtmann/headacheheaders
doc: fix more license headers
2014-08-28 12:34:55 +02:00
Ludwig Ortmann
457be31b6f Merge pull request #1616 from krf/fix-warnings
Fix comment
2014-08-27 19:38:27 +02:00
Ludwig Ortmann
2439bd839c doc: fix more license headers
Remove some cruft, set correct lgpl versions, update to lgpl where
this had been overlooked in the past, fix odd comment style...
2014-08-27 19:20:49 +02:00
Hinnerk van Bruinehsen
c4a26a6acf sys: inet_pton: conditional include for atmega2560
include sys/types.h conditionally for atmega2560
    Without this change test/unittests fails to build due to a missing
    declaration of ssize_t
2014-08-27 17:48:39 +02:00
Hinnerk van Bruinehsen
4ca3a49a5d tests: blacklist failing test on arduino-mega2560 2014-08-27 17:47:24 +02:00
Kevin Funk
554e431746 Fix comments 2014-08-27 11:36:36 +02:00
Ludwig Ortmann
58a41d2ff2 sys/cbor: set isdst to undefined after strptime
CBOR does not specify the daylight saving time adjustment.
2014-08-27 10:25:22 +02:00
Ludwig Ortmann
b7992922ce fix license headers in non-.c files 2014-08-23 16:16:26 +02:00
Oleg Hahm
73965f984e transceiver: fix check for existence
The transceiver check if it is already running when initializing.
However, this check was done by comparing its pid for >= 0, which is not
sensible anymore since valid PIDs only start at 1.
2014-08-22 18:34:42 +02:00
Oleg Hahm
32b88ee2fa Merge pull request #1521 from OlegHahm/ccnl_fixes
ccn: minor fixes
2014-08-22 02:13:19 +02:00
Oleg Hahm
cf536c8f5c mc1322x: some fixes in transceiver and ccnl 2014-08-22 02:12:48 +02:00
Oleg Hahm
19377261ac ccnl: disable debug and fix warnings 2014-08-22 02:12:48 +02:00
Oleg Hahm
28df5691d3 Merge pull request #1554 from OlegHahm/rpl_udp_cleanup
examples: rpl_udp cleanup
2014-08-22 01:32:21 +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
Oleg Hahm
6973ee2f81 ccnl: use correct packet type 2014-08-22 00:41:23 +02:00
Oleg Hahm
400fb29a6b licenses: updated some missing licenses in headers 2014-08-21 23:52:42 +02:00
Oleg Hahm
e879e2aba2 fix low-level sending destination address 2014-08-21 21:34:45 +02:00
Oleg Hahm
8b34d323e2 rpl: moved headers to sys/net/include 2014-08-21 21:34:45 +02:00
c1ce7b7ba5 Merge pull request #1572 from Kijewski/issue-1564
sys: remove lib/hashtable.c
2014-08-21 20:32:31 +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
b31e5a8675 core: introduce KERNEL_PID_FIRST and KERNEL_PID_LAST 2014-08-17 19:50:34 +02:00
René Kijewski
89a26b7331 Merge pull request #1562 from Kijewski/the-first-two-commits-of-the-branch-issue-198
posix: minor pthread_barrier clean up
2014-08-15 14:44:54 +02:00
René Kijewski
d1d8fb2b68 sys: remove lib/hashtable.c
Quoting myself:

> The code of sys/lib/hashtable.c is very badly adapted for embedded
> systems. The used primes are huge, and the limit is entirely
> unrealistic. Why do we ship this file?

In #1564 we came to the conclusion that we don't need this code.

Closes #1564.
2014-08-13 21:21:39 +02:00
Martine Lenders
4a2450b464 Merge pull request #1522 from OlegHahm/crypto_cleanup
crypto: get rid of compiler warnings
2014-08-12 02:18:25 +02:00
René Kijewski
f3fcc1d5dd pthread: pthread_barrier should call yield 2014-08-11 16:22:38 +02:00
Martin Landsmann
28f4e510ad changed parameters form kernel_pid_t to int 2014-08-11 13:10:12 +02:00
Oleg Hahm
1de5c2b4a0 fixed remaining variables to kernel_pid_t 2014-08-07 17:29:53 +02:00
Oleg Hahm
74fbff1df2 net: changed name of internal variable
To avoid naming conflicts + made variable static and volatile as it
should be.
2014-08-07 16:31:27 +02:00
Oleg Hahm
93ef4346e9 ccnl: duplicate variable names
Some variables had multiple definitions, but could be removed or
declared with a smaller scope.
2014-08-07 16:31:27 +02:00
Oleg Hahm
0ad7b170ed make kernel_pid_t comparisons consistent 2014-08-07 16:31:27 +02:00
Oleg Hahm
aa2ecf6216 initialize kernel_pid_t correctly 2014-08-07 16:31:27 +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
4b1a2f32eb net: fix kernel_pid_t checks
KERNEL_PID_NULL is a negative number. If kernel_pid_t variables are
initialized to this value, one have to check for lt/gte 0.
2014-08-07 16:31:27 +02:00
Kevin Funk
e8141ca5d8 cbor: CBOR implementation for RIOT-OS
This is a malloc-free implementation of the Concise Binary Object
Representation (CBOR) data format for the RIOT-OS.

This implementation mostly stand-alone, and it should be pretty easy to
port to other platforms. We're only using the C STL and some custom
network-related functionaliy which could be easily replaced by depending
on arpa/inet.h.

The CBOR API is straight-forward to use and provides encoding/decoding
functionality for all major C types, such as:
- int
- uint64_t
- int64_t
- float
- double
- char*
- struct tm
- time_t

It is possible to conditionally compile this module via CFLAGS:
- CBOR_NO_SEMANTIC_TAGGING: All semantic-tagging features removed
- CBOR_NO_CTIME: All ctime related features removed
- CBOR_NO_FLOAT: All floating-point related features removed
- CBOR_NO_PRINT: All features depending on printf removed
2014-08-05 19:49:51 +02:00
René Kijewski
2b91605f58 Merge pull request #1535 from LudwigOrtmann/transceiver_volatile
sys/transceiver: make transceiver_pid volatile
2014-08-05 19:39:43 +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
232dd781ae sys/transceiver: make transceiver_pid volatile
- because it is
2014-08-02 14:10:28 +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
Oleg Hahm
2015796154 ccnl: pass relay_pid as pointer 2014-08-01 12:02:59 +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
Oleg Hahm
5dc38a3e8c sixlowpan: some additional debugging 2014-08-01 00:15:34 +02:00
Oleg Hahm
f2b9e20716 sixlowpan: decrement processing semaphore when discarding 2014-08-01 00:14:45 +02:00
Oleg Hahm
feca0d73c8 crypto: get rid of compiler warnings 2014-08-01 00:04:55 +02:00
Ludwig Ortmann
d55da67fb6 Merge pull request #1329 from LudwigOrtmann/riot_license
RIOT default license header change
2014-07-31 23:12:47 +02:00
Ludwig Ortmann
5fdce06b3b doc: use lgplv2.1-short license header instead of lgplv2-short-v1 2014-07-31 22:57:20 +02:00
Ludwig Ortmann
3ca4f18479 doc: use lgplv2.1-short license header instead of lgpl-short-riot 2014-07-31 22:57:20 +02:00
Cenk Gündoğan
ca5b45e264 converting tabs to spaces in sys (#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:51:50 +02:00
Ludwig Ortmann
b8aa5dbaf8 Merge pull request #1496 from LudwigOrtmann/osx-fixup
native: reenable compilation on osx
2014-07-31 07:32:07 +02:00
René Kijewski
4032a22719 queue: add queue_t root type 2014-07-30 21:10:22 +02:00
Ludwig Ortmann
3d6124c905 native: reenable compilation on osx 2014-07-30 10:23:28 +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
René Kijewski
6fae042a60 core: remove unneeded calls to mutex_init() 2014-07-29 09:33:24 +02:00
René Kijewski
0ab1b86e5f Add generic char pipe implementation 2014-07-28 23:21:27 +02:00
René Kijewski
02aeca02db ringbuffer: add static initializer 2014-07-28 20:56:12 +02:00
René Kijewski
201152a6d3 ringbuffer: add documentation 2014-07-28 20:56:12 +02:00
René Kijewski
a346276d30 ringbuffer: don't overwrite in ringbuffer_add 2014-07-28 20:44:02 +02:00
René Kijewski
47950e8bab ringbuffer: remove pointer to the end
There is no need for an explicit pointer to the end of the buffer.
2014-07-28 20:44:02 +02:00
René Kijewski
726af8d44e ringbuffer: fix parameter types
It is a bad idea to use signed types for lengths.
Mark pointers a `restrict`, since the ringbuffer is not thread safe
anyway.
2014-07-28 20:44:02 +02:00
René Kijewski
67856d63d9 ringbuffer: add convenience functions
This patch add `peek` functionality, and empty and full helpers.
2014-07-28 20:44:01 +02:00
René Kijewski
aaa95a281a ringbuffer: remove example 2014-07-28 20:44:01 +02:00
Ludwig Ortmann
1fd762d3bc Merge pull request #1403 from LudwigOrtmann/transceiver_fixup
sys/transcevier: fix more loop integers
2014-07-28 09:19:47 +02:00
Christian Mehlis
e2052cb6a9 Merge pull request #1026 from mehlis/ccnl-helper-thread
ccnl: refactor ccn lite stack
2014-07-18 21:27:13 +02:00
Christian Mehlis
70c863b3b1 Merge pull request #1320 from mehlis/ccnl-timeouts
ccnl: change timeouts to useful values
2014-07-18 21:26:09 +02:00
Christian Mehlis
d2b78a398f ccnl: finish rebase 2014-07-18 21:06:40 +02:00
Christian Mehlis
54bf710c69 ccnl: fix function name 2014-07-18 20:50:37 +02:00
Christian Mehlis
0aad35f33c ccnl: normalize time before using it 2014-07-18 20:47:26 +02:00
Christian Mehlis
5bc873d8ca ccnl: change timeouts to useful values 2014-07-18 20:47:26 +02:00
Christian Mehlis
7c10101e83 ccnl: prevent race condition on teardown 2014-07-18 20:08:29 +02:00
Christian Mehlis
9b5eedeea8 ccnl: use stacksize main for all threads 2014-07-18 20:08:29 +02:00
Christian Mehlis
cebffb2ccf ccnl: make relay start on RIOT startup 2014-07-18 20:07:15 +02:00