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

1938 Commits

Author SHA1 Message Date
BytesGalore
4b189b6e58 rpl: added configurable RPL MOP on compile time
- e.g. `make RPL_MOP=RPL_MOP_NON_STORING_MODE`
     - changed the MOP defines to have `RPL_MOP_*` prefix
2015-02-05 19:17:51 +01:00
Christian Mehlis
f69a5ae1f6 Merge pull request #2374 from cgundogan/bloom_doc_bytes_bits
sys/bloom: changed doc from bytes -> bits
2015-02-03 18:16:27 +01:00
Cenk Gündoğan
13e7bbccfc rpl: wrong length for DAO options 2015-02-03 11:47:07 +01:00
Cenk Gündoğan
c14217c68e rpl: introduce constants for PREFIX_INFO length with/without RPL_OPT_LEN 2015-02-03 10:41:28 +01:00
Cenk Gündoğan
26095013a1 rpl: introduce constants for DODAG_CONF length with and without RPL_OPT_LEN 2015-02-03 10:41:27 +01:00
Cenk Gündoğan
432688accb rpl: wrong length of DIO options
Currently, the DIO options `dodag conf` and `prefix info` are off by two
bytes in their `length` field. The RFC states, that the length field
should not include the option `type` field and the `length` field (two bytes).

For Prefix Info Option: Option Length: 30 (RFC 6550, P.61)
For Dodag Conf  Option: Option Length: 14 (RFC 6550, P.52)

Wireshark complains about DIOs as malformed packets, otherwise.
Can be reproduced by running the rpl_udp example and logging the DIOs
via wireshark.
2015-02-03 10:41:27 +01:00
Cenk Gündoğan
eb202ffe6d rpl: remove unsused warning 2015-02-02 12:54:58 +01:00
Cenk Gündoğan
f3c6ef7e66 rpl: remove common globals by prefixing with static 2015-02-02 12:54:58 +01:00
Oleg Hahm
5792f37e87 Merge pull request #2367 from x3ro/fix-orphaned-debug-outputs
Fix misc errors that occur with ENABLE_DEBUG
2015-01-30 11:05:44 +01:00
Lucas Jenss
8e758d7463 sys: Misc errors that occur w/ ENABLE_DEBUG fixed
I enabled debug output in all files to poke around
and there were some errors (seemingly) due to code
changes that were not tested with debug enabled. This
commits tries to fix these issues.
2015-01-30 01:36:28 +01:00
Cenk Gündoğan
5c77530da4 sys/bloom: changed doc from bytes -> bits 2015-01-29 15:06:01 +01:00
Oleg Hahm
6715bccf5b Merge pull request #2190 from cgundogan/rpl_new_parent_dodag_assignment
rpl: wrong dodag assignment to parent
2015-01-29 11:24:38 +01:00
Martin Landsmann
6e90ad6d73 sys/posix/pthread: added dynamic pthread thread local storage 2015-01-27 23:04:12 +01:00
BytesGalore
714ee38355 boards: core: cpu: drivers: sys: added missing header guards 2015-01-27 19:10:57 +01:00
Cenk Gündoğan
993f7cc7c6 rpl: remove rpl_send_mutex
This PR is based on #2155.
Since RPL/Trickle is only using one thread in #2155, the send mutex becomes
obsolete and can be removed safely.
2015-01-27 12:35:41 +01:00
Joakim Gebart
f71f8322d9 Merge pull request #2348 from gebart/pr/fno-common-fixes1
Removing (some) common globals, working towards #2346
2015-01-26 09:11:10 +01:00
Joakim Gebart
14b4418e6b transceiver: Reduce scope of globals in transceiever.c. 2015-01-23 20:06:40 +01:00
Joakim Gebart
3f4478e2bb sixlowpan: Reduce scope on some globals in ip.c 2015-01-23 19:46:26 +01:00
Joakim Gebart
c5e1683a8c rpl: Make ipv6_buf local. 2015-01-23 19:46:26 +01:00
Joakim Gebart
526a84093b rpl: Remove extra definition of rpl_process_pid. 2015-01-23 19:46:26 +01:00
Joakim Gebart
6a810fe989 sys/net/routing: reduce scope of globals in etx_beaconing.c 2015-01-23 18:01:28 +01:00
Joakim Gebart
cd248f89f0 sixlowpan: reduce scope of globals in mac.c 2015-01-23 14:04:59 +01:00
haukepetersen
df9dabfa7d net/udp: cleaned up header and documentation 2015-01-22 14:23:03 +01:00
Ludwig Ortmann
3d2b328288 sys/vtimer: bypass weak attribute missing on OSX 2015-01-22 10:24:27 +01:00
Oleg Hahm
f6a415a3d9 Merge pull request #2306 from cgundogan/rpl_no_macros_for_shell
rpl: wrong macro definitions in rpl shell commands
2015-01-16 22:00:11 +01:00
Martine Lenders
cfed38ae12 Merge pull request #2287 from authmillenon/pktqueue/api/use-pkt
pktqueue: adapt to pkt_t
2015-01-16 19:48:04 +01:00
Cenk Gündoğan
7095241555 rpl: wrong macro definitions in rpl shell commands
It appears that the values defined for RPL_NODE_IS_ROOT and
RPL_MAX_ROUTING_ENTRIES in the Makefile via CFLAGS are not recognized in
sc_rpl.c (my guess: they are only visible to the rpl module?)
Therefore RPL_MAX_ROUTING_ENTRIES is always set to 0, no matter how the
binary is compiled, thus resulting in the output "No routing table
available" for root nodes.
2015-01-15 10:56:22 +01:00
Cenk Gündoğan
c4b01b87bc rpl: RPL/Trickle with only *one* thread
This PR proposes an approach to reduce the thread count of RPL.

The current RPL/Trickle stack needs about 5 threads to handle tasks
like updating the trickle timer, routing entries and the transmission of
DAOs.

This PR modifies RPL to use only one thread with a looped `msg_recv()` call.
The message is then multiplexed to the right task.
2015-01-14 19:42:13 +01:00
Martine Lenders
c9e2f5bdce pktqueue: adapt to pkt_t 2015-01-14 14:53:37 +01:00
Ludwig Ortmann
8676a1972d sys/timex: suppress passedByValue warnings 2015-01-14 11:57:01 +01:00
Oleg Hahm
2d874af904 Merge pull request #2158 from authmillenon/pkt/feat/initial-import
pkt: Initial import
2015-01-14 08:20:46 +01:00
Martine Lenders
99e2feca48 pkt: Initial import
This data type is bound to replace the `(netdev_hlist_t *ulh, void
*data)` tuples in netapi and netdev.
2015-01-14 07:04:56 +01:00
Martin Lenders
96502e2fd4 sys: net: Initial import of a basic MAC protocol layer 2015-01-14 06:58:48 +01:00
Oleg Hahm
34908f11a9 Merge pull request #2257 from cgundogan/rpl_fix_srh_for_storing_mode
rpl: node-to-node communication broken (rpl_udp)
2015-01-13 18:49:14 +01:00
Oleg Hahm
a31bc97e1c Merge pull request #2253 from cgundogan/rpl_srh_remove_relay_debugf
rpl: move msg_send_receive outside of DEBUGF
2015-01-13 14:43:18 +01:00
Ludwig Ortmann
154a6b5d22 Merge pull request #2268 from cgundogan/rpl_cleanup_no_routing_table
rpl: remove routing table dependent code
2015-01-13 14:09:32 +01:00
Oleg Hahm
0421ab96ee Merge pull request #2245 from cgundogan/rpl_remove_routing_decision_in_rpl_send
rpl: remove decision to drop packets in rpl_send
2015-01-13 14:04:53 +01:00
Cenk Gündoğan
a06c667af5 rpl: remove routing table dependent code
This PR removes code depending on a routing table with an entries
size > 0. Currently, all those functions and symbols are compiled into the binary,
even when there is no effective space in the routing table (as it is the
case for normal nodes in non-storing mode)
2015-01-13 13:11:32 +01:00
Oleg Hahm
4a615e21ef Merge pull request #1717 from BytesGalore/base64_encoder_decoder
base64 encoding/decoding module
2015-01-12 16:39:08 +01:00
Martin Landsmann
a0898dbb9f sys: add base64 encoding/decoding module
- suppressed cppcheck warning for `unassignedVariable` for
   the encode/decode arrays in stream encode/decode tests
   as these arrays are assigned by the according `base64_[en|de]code()` function.
2015-01-12 11:26:41 +01:00
Cenk Gündoğan
22f466ab80 rpl: remove needless call to rpl_get_of_for_ocp
This line has no further significance to the application other than burning cpu cycles.
2015-01-08 09:40:08 +01:00
Cenk Gündoğan
da12f62751 rpl: remove return value completely as it is not really used, gives
`unsused` warning otherwise
2015-01-08 09:31:30 +01:00
Lotte Steenbrink
3591894698 aodvv2: fix calls to DEBUG()
``debug.h`` was included before ``ENABLE_DEBUG`` was set to 0 or 1. In consequence, setting ``ENABLE_DEBUG`` to 1 had no effect. This should be fixed now.
2015-01-06 15:57:12 -08:00
Lotte Steenbrink
f6ffbd6830 Merge pull request #2255 from Lotterleben/aodvv2_fix_packethandler
aodv: call aodv_packet_reader_handle_packet() when received packet is *not* our own
2015-01-07 00:37:07 +01:00
Lotte Steenbrink
465f9096b1 aodvv2: call aodv_packet_reader_handle_packet() when recieved packet is *not* our own.
For some reason the call to aodv_packet_reader_handle_packet() got lumped in with the check if a received packet is ours. In consequence, all packets which were not sent by the node that received them (i.e. the important ones) were silently ignored, preventing any routes from being established.
This should be fixed now: foreign packets are now handled again, while own packets are ignored.
Also, I made the corresponding comment a bit less passive-aggressive.
2015-01-06 12:54:14 -08:00
Cenk Gündoğan
40c28dd3bf rpl: node-to-node communication broken (rpl_udp)
Calling ipv6_iface_set_srh_indicator with storing mode breaks the
neighbour discovery code in **ip.c:480**.
Thus, it is not possible to use `send <n> test` from node to node.
2015-01-06 18:04:54 +01:00
Lotte Steenbrink
7dc31402d3 transceiver: DEBUG instead of DEBUGF
Switch two calls to DEBUGF() to DEBUG() because they lead to compliling complcations and the additional output provided by DEBUG isn't really necessary here.
2015-01-06 08:29:29 -08:00
Cenk Gündoğan
843be5ad6d rpl: minor changes to comments in rpl_storing.c 2015-01-06 13:24:42 +01:00
Cenk Gündoğan
d4b57b301d rpl: move msg_send_receive outside of DEBUGF
When the debug flag is set to off, the call to msg_send_receive will be
ignored. @fabianbrandt am I missing something?
2015-01-06 13:04:26 +01:00
Oleg Hahm
be67f662ac Merge pull request #2248 from cgundogan/rpl_remove_faulty_comment
rpl: remove faulty comment
2015-01-06 12:55:15 +01:00
Cenk Gündoğan
8b7386fc8b rpl: remove faulty comment
Can be misleading since we also support non-storing mode now.
2015-01-06 10:24:25 +01:00
Cenk Gündoğan
652b4f84a6 rpl: remove decision to drop packets in rpl_send
The dicision to drop a packet if no next hop exists is made by the
`rpl_get_next_hop` function, which is initialized as the routing
provider for rpl applications. Hence, it seems needless to do this in the
`rpl_send` function.
2015-01-06 09:34:15 +01:00
Cenk Gündoğan
36893ded6d rpl: typo childs -> children 2015-01-06 09:23:56 +01:00
Oleg Hahm
1e87a3212b Merge pull request #2235 from OlegHahm/weak_vtimer_gettimeofday
vtimer: enable vtimer_gettimeofday as fallback
2014-12-31 18:27:36 +01:00
Oleg Hahm
99f227bf33 vtimer: enable vtimer_gettimeofday as fallback
Declaring vtimer_gettimeofday as a "weak" alias for the _gettimeofday
syscall.
2014-12-27 15:53:23 +01:00
Cenk Gündoğan
aca1ade01c rpl: cleanup, changing structdefs into typedefs 2014-12-26 21:13:33 +01:00
Ludwig Ortmann
dc916ad458 Merge pull request #2102 from Kijewski/embunit-module
tests: make embUnit a normal sys module
2014-12-22 12:50:26 +01:00
Ludwig Ortmann
5e0973ca89 Merge pull request #2150 from OlegHahm/more_doc_cleanup
doc: More documentation cleanup
2014-12-22 11:58:59 +01:00
René Kijewski
91050cd72d embunit: fix outputters for msp430 2014-12-21 20:04:57 +01:00
René Kijewski
f684aa4b2d tests: make embUnit a normal sys module
There is nothing quite special about embUnit.

This PR makes it a normal sys module, so that you can use it in any
application / test.
2014-12-21 20:04:57 +01:00
René Kijewski
5f29fed076 core: introduce msg_sent_by_int()
msg_send_int() sets `m->sender_pid = target_pid`. This was used to flag a
message as having been sent by an ISR.

This PR introduces a static inline function `msg_sent_by_int()` and a
specific define for this purpose.
2014-12-18 23:04:03 +01:00
Ludwig Ortmann
695d702b4f Merge pull request #2212 from Lotterleben/fix_ipv6_iface_set_routing_provider
exclude ``ipv6_iface_set_routing_provider()`` from ``#ifdef MODULE_RPL``...
2014-12-17 19:03:47 +01:00
Ludwig Ortmann
b8b50e8579 Merge pull request #2210 from Lotterleben/fix_sixlowpan_typos
fix typos in ip.h, mac.h, ndp.h and types.h
2014-12-17 12:32:35 +01:00
Lotte Steenbrink
743146a803 fix typos in ip.h, mac.h, ndp.h and types.h 2014-12-17 03:29:37 -08:00
Lotte Steenbrink
1bd60400f0 add parentheses to ENABLE_DEBUG in CBOR_NO_PRINT 2014-12-17 03:03:33 -08:00
Lotte Steenbrink
a8b3c9f535 exclude `ipv6_iface_set_routing_provider() from #ifdef MODULE_RPL` so that other routing protocols can use it too. 2014-12-17 02:09:09 -08:00
Ludwig Ortmann
e7f6f640f6 Merge pull request #2060 from OlegHahm/periph_rtc
drivers: Adapt old platforms to periph rtc
2014-12-16 18:56:59 +01:00
Oleg Hahm
498edb1854 cc430: lpc2387: switch to new periph/rtc interface
Removes the old interface.
2014-12-16 17:02:44 +01:00
Ludwig Ortmann
ca36e9c4a7 sys/shell: refactor _parse_time 2014-12-16 16:15:17 +01:00
Ludwig Ortmann
3729789dc3 sys/shell: use more common libc calls
use strtol instead of sscanf
use plain printf instead of asctime
2014-12-16 16:08:49 +01:00
Ludwig Ortmann
4942882949 sys/shell: rewrite rtc command for periph/rtc 2014-12-16 16:07:01 +01:00
Oleg Hahm
e64ab2aed5 Merge pull request #2024 from OlegHahm/ccnl_802154
ccn-lite: fixes for working with IEEE 802.15.4 radios
2014-12-16 11:03:20 +01:00
Oleg Hahm
1bd4b1b407 ccnl: convert C++ comments into C style comments 2014-12-16 09:35:46 +01:00
Oleg Hahm
ee386a4778 ccn: add line breaks if limit was exceeded 2014-12-16 09:35:44 +01:00
Oleg Hahm
5cf625fc03 ccnl: adapt for 802154 devices 2014-12-16 09:34:56 +01:00
Ludwig Ortmann
68ca082dcc sixlowpan: handle malloc error
The return value of malloc wasn't checked before, resulting in
possibly undefined behavior.
2014-12-14 11:32:30 +01:00
Ludwig Ortmann
5e6d5ab522 sixlowpan: remove redundant assignment 2014-12-14 11:32:30 +01:00
Cenk Gündoğan
eeafd426d5 rpl: wrong dodag assignment to parent
`dodag` is the representation of the incoming DIO and thus is temporary.
Assigning this to the parent would lead to failure when reading/writing
to/from the parent's dodag attribute later.
`my_dodag`on the other hand is the local persistent representation of
the DIO's dodag and therefore the right choice.
2014-12-14 09:41:42 +01:00
Oleg Hahm
a10cb114c5 Merge pull request #2169 from BytesGalore/rpl_configuarbale_max_routing_entries
sys:net:routing:rpl allow setting the number of routing entries on comile time
2014-12-12 17:53:23 +01:00
Fabian Nack
5a095faa54 sys/include: Include utlist for simple list operation defines 2014-12-12 12:18:34 +01:00
BytesGalore
0ced7338e4 sys:net:routing:rpl made the number of routing entries configurable on compile time. 2014-12-12 09:42:33 +01:00
Oleg Hahm
d4166faccc doc: add or move module description where missing 2014-12-11 17:29:51 +01:00
Oleg Hahm
73248cc05e doc: put rpl_storing header to right doxygen group 2014-12-11 17:27:56 +01:00
Oleg Hahm
11d0a22ad7 doc: remove superfluous and erroneous @file params 2014-12-11 17:27:54 +01:00
Cenk Gündoğan
2a7ce79947 ip: check for null before ip_get_next_hop is used 2014-12-11 15:43:16 +01:00
Cenk Gündoğan
6ee5e737f9 vtimer: set custom msg_t.type with vtimer_set_msg
Currently, when using vtimer_set_msg the corresponding msg_t is filled
with the MSG_TIMER ("12345") type.
This approach makes it difficult to differentiate between incoming
messages via vtimer_set_msg.

In this PR I introduce another parameter for the vtimer_set_msg
function to specify a custom msg_t type.
2014-12-09 10:07:26 +01:00
Ludwig Ortmann
0027f90be4 Merge pull request #2118 from OlegHahm/simplify_cpu_folder_structure
cpu: simplify folder structure
2014-12-08 13:10:13 +01:00
Oleg Hahm
6ad89ff46c sys: rename lib to hash_string
That was the onyl remaining module in this folder.
2014-12-06 15:42:01 +01:00
Oleg Hahm
a9ed34a293 doc: fixed documentation for crypto headers 2014-12-06 11:55:28 +01:00
Oleg Hahm
26ab4829d7 doc: fix posix wrapper documentation 2014-12-06 02:05:51 +01:00
Oleg Hahm
364e60d84c doc: fix quat_math documentation 2014-12-06 01:27:23 +01:00
Oleg Hahm
1288b3f9cb doc: fix bloom filter documentation 2014-12-06 01:26:12 +01:00
Oleg Hahm
fb3e8939df doc: fix vtimer documentation 2014-12-05 20:33:10 +01:00
Oleg Hahm
6c762d683b doc: added missing documentation for PRIu32 2014-12-05 20:33:10 +01:00
Oleg Hahm
a3ea98c063 doc: fixed documentation for transceiver 2014-12-05 20:33:10 +01:00
Oleg Hahm
45ea87f403 doc: cbor: complemented documentation 2014-12-05 20:33:10 +01:00
Oleg Hahm
1270edace6 cbor: fixe line length 2014-12-05 20:33:10 +01:00
Oleg Hahm
93c7627f07 doc: fix doxygen warnings for CBOR 2014-12-05 20:33:10 +01:00
Oleg Hahm
67a2b37ff8 cc110x: cleanup cc110x_legacy_csma driver
Remove unused radio_t struct and fixed documentation.
2014-12-05 20:33:10 +01:00
Oleg Hahm
da3377bf6d doc: document board_uart0 module 2014-12-05 20:33:10 +01:00
Oleg Hahm
cd81c040d8 uart0: remove superfluous prototype from header
Declare and document prototype in CPU part instead.
2014-12-05 20:33:10 +01:00
Oleg Hahm
752836f0b6 doc: document auto_init 2014-12-05 20:33:09 +01:00
Cenk Gündoğan
42d0fe3f78 rpl: removing unnecessary recv_mutex
In the main function of RPL (rpl_process thread)
a mutex is used after receiving a message via msg_recv.
However, this mutex is never used in another thread and thus is rendered
obsolete.
2014-12-05 16:31:41 +01:00
Oleg Hahm
312e2b10a8 Merge pull request #2146 from cgundogan/rpl_unused_parameter_warning_nonstoring
rpl: make unused parameter warning disappear
2014-12-05 15:11:01 +01:00
Cenk Gündoğan
6bfb82ca13 rpl: make unused parameter warning disappear 2014-12-05 14:16:11 +01:00
Cenk Gündoğan
8d31f8b8ed rpl: fix offset for transit buf
As a result of PR #1404, entries will not be added to the routing table
when running in storing mode, although it is supposed to do so.
You can verify by running rpl_udp and call *route* on the dodag-root.

This PR fixes the wrong offset calculation.
2014-12-05 13:45:22 +01:00
Oleg Hahm
000450c894 Merge pull request #2117 from OlegHahm/doxygen_eliminate_warnings
Doxygen eliminate warnings pt. 2
2014-12-04 17:18:42 +01:00
Oleg Hahm
43c86b5a3e doc: fix remaining doxygen warnings 2014-12-04 17:16:57 +01:00
Oleg Hahm
0ccf1043de doc: fixed broken doxygen references 2014-12-04 17:16:57 +01:00
Ludwig Ortmann
28e5b1bb9a Merge pull request #2134 from cgundogan/rpl_addr_str_debug_fix
rpl: addr_str not renamed to addr_str_mode
2014-12-04 11:34:40 +01:00
Cenk Gündoğan
0f66a9e06e rpl: addr_str not renamed to addr_str_mode
In PR #1404 addr_str was renamed to addr_str_mode,
but at some places it was still referenced as addr_str.
When enabling debug messages, the compiler complains.
2014-12-04 10:46:59 +01:00
Oleg Hahm
c92effaead debug: removed superfluous additional debug flag 2014-12-03 22:59:14 +01:00
Oleg Hahm
f386de6203 Merge pull request #1659 from Kijewski/ubjson
sys: add  Universal Binary JSON module (UBJSON)
2014-12-03 22:25:03 +01:00
René Kijewski
118dfd861b Add UBJSON library 2014-12-03 20:42:51 +01:00
René Kijewski
4cf0fd642a Merge pull request #2129 from Kijewski/pipe-doxygen
sys: doc: pipe.h spams the manual
2014-12-03 20:24:59 +01:00
René Kijewski
5b7c24d9e1 sys: doc: pipe.h spams the manual
This PR adds a new group for the pipe module, so the .h file does not
spam the manual in Modules/System.
2014-12-03 20:18:37 +01:00
Oleg Hahm
13fe311b10 Merge pull request #2025 from OlegHahm/socket_init_fix_fix
net: socket: fix for e93d030058
2014-12-03 20:18:33 +01:00
Martine Lenders
115420a510 Merge pull request #1228 from OlegHahm/l2_ping
net: Link Layer Ping
2014-12-03 11:55:37 +01:00
Oleg Hahm
d4dced0f63 l2_ping: add to auto_init 2014-12-03 11:08:32 +01:00
Oleg Hahm
4b77fcd22f shell: introduced l2 ping shell commands 2014-12-03 11:08:32 +01:00
Oleg Hahm
17929a5ce4 cpu: lpc2387: integrated lpc_common into lpc2387
Rationale 1: The common part made only sense for (some) NXP ARM7 MCUs,
but was misleading for MCUs like the LPC1768.

Rationale 2: The common part was only used by one specific MCU
implementation - no need to outsource it.
2014-12-02 17:47:10 +01:00
Oleg Hahm
0c967c4d3f cpu: msp430: renamed msp430x16x to msp430fxyz 2014-12-02 17:46:57 +01:00
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
Christian Mehlis
085e386f2d ccnl: make theRelay use dynamic memory 2014-07-18 20:04:13 +02:00
Christian Mehlis
51fa2ec5c5 ccnl: use vtimer instead of rtc 2014-07-18 20:04:13 +02:00
Christian Mehlis
0b390040f4 ccnl: use a second helper thread to handle e.g. timeouts 2014-07-18 20:01:11 +02:00
René Kijewski
e1705622b7 vtimer: fix crash on spurious hwtimer callback
It seems that there are corner cases where a vtimer was removed, but
still there comes a hwtimer callback. This is a bug somewhere in the
vtimer or hwtimer. If there still was a vtimer set, then the next one
gets called before its time. If there was no other vtimer scheduled,
then `timer->action(timer)` crashes.

This PR simply fixes the crash, but does not attempt to find the more
fundamental bug.
2014-07-18 14:42:52 +02:00
Oleg Hahm
04493cc026 Merge pull request #1407 from LudwigOrtmann/issue-571
sys/vtimer: spin on short duration in vtimer_sleep
2014-07-16 22:14:27 +02:00
Oleg Hahm
344f702366 shell: prepare a rudimentary IEEE 802.15.4 packet
The transceiver module expects an `ieee802154_packet_t` instead of a
`radio_packet_t` if the device supports the IEEE 802.15.4 packet format.
This commit fixes the corresponding transceiver shell command for
`txtsnd` to set destination address (short address mode), payload, and
length accordingly.
2014-07-16 16:07:49 +02:00
René Kijewski
d4ff405e21 Merge pull request #1401 from LudwigOrtmann/scnetif_error
sys/net_if, make: fixup
2014-07-15 01:18:43 +02:00
Hauke Petersen
7ec61c578d vtimer: renamed e|dINT to disable|restoreIRQ 2014-07-14 18:10:06 +02:00
Ludwig Ortmann
428e085c53 sys/shell: fix error when not using sixlowpan
```
/sys/shell/commands/sc_net_if.c:631:27: error: ‘IPV6_MAX_ADDR_STR_LEN’ undeclared (first use in this function)
             char addr_str[IPV6_MAX_ADDR_STR_LEN];
                           ^
```
2014-07-14 18:00:05 +02:00
Sebastian Sontberg
af3c54e3a2 pnet: Fix INADDR_ANY and INADDR_BROADCAST
INADDR_ANY and INADDR_BROADCAST should not be initializers.
2014-07-14 14:13:13 +02:00
Ludwig Ortmann
66b76a5a41 sys/transcevier: fix more loop integers 2014-07-13 15:52:33 +02:00
Ludwig Ortmann
3e965f926a sys/vtimer: spin on short duration in vtimer_sleep
closes #571
2014-07-13 06:56:17 +02:00
Christian Mehlis
7169fd1107 Merge pull request #1362 from OlegHahm/ccnl_eliminate_warning
CCN_lite eliminate warning
2014-07-10 23:56:39 +02:00
Oleg Hahm
a6e97a4f75 Merge pull request #1034 from Kijewski/vtimer-callbacks
vtimer: fix callback usage
2014-07-10 17:12:23 +02:00
Ludwig Ortmann
a992d4d848 sys/transceiver: use size_t instead of u8 in loops 2014-07-10 14:11:48 +02:00
Ludwig Ortmann
8e93886d36 sys/transceiver: refactor un/register
remove race conditions
make less restrictive (allow double-un/registers)
make loops more readable
2014-07-10 14:11:48 +02:00
Ludwig Ortmann
d034cfac29 sys/transceiver: implement transceiver_unregister 2014-07-10 14:11:48 +02:00
Ludwig Ortmann
c264338e31 sys/transceiver: fix t9r_register API compliance 2014-07-10 14:11:48 +02:00
René Kijewski
ba1a15535b core: remove extra thread_create_arg() function 2014-07-09 10:28:23 +02:00
Oleg Hahm
1518d6ac64 Merge pull request #1390 from cgundogan/fix_socket_internal_t_packed_attr
destiny: deleting packed attribute from socket_internal_t
2014-07-08 22:33:54 +02:00
Cenk Gündoğan
8724eb1169 destiny: Adjust TCP_STACK_SIZE
Currently, the TCP_STACK_SIZE is `KERNEL_CONF_STACKSIZE_DEFAULT`.
However, since printf statements are used in the tcp relevant code,
this stack size is too small (esp. for MSBA2).
2014-07-08 21:30:58 +02:00
Cenk Gündoğan
b5e7460d45 destiny: deleting packed attribute from socket_internal_t
While testing the tcp implementation on MSBA2 I noticed that
the value of `tcp_input_buffer_end` gets changed whenever acquiring or
releasing the mutex of the struct on the server side.

After deleting the packed attribute of the struct this problem was
resolved and the value stayed the same after acquiring and releasing.

This problem could maybe arise from badly placed cache lines due to
missing padding... I am not sure.

Anyway, I guess using the packed attribute is useless here and makes it
more error-prone.
2014-07-08 20:40:55 +02:00
Ludwig Ortmann
295f32ac1b sys/ps: fix comment style, superfluous declaration 2014-07-04 16:38:22 +02:00
Ludwig Ortmann
70dae32a3f sys/ps: s/float/int for runtime
The high precision isn't needed, use per mille instead.
Circumvents printf problems on some platforms.

Also: prevent division by zero.
2014-07-04 16:38:22 +02:00
Oleg Hahm
53f7bea52f Merge pull request #1167 from fabianbrandt/rpl_base_split
Split RPL into core and mode related functions.
2014-07-04 11:21:05 +02:00
Fabian Brandt
7fb462cd2c Split RPL into core and mode related functions. 2014-07-03 20:23:57 +02:00
Fabian Brandt
62236e5d54 Introducing a source routing header for RPL. 2014-07-02 20:35:14 +02:00
Oleg Hahm
613caf3914 ccnl: eliminated empty translation unit warning 2014-07-02 19:23:14 +02:00
Oleg Hahm
0affcaf6e1 ccnl: fixed commenting style 2014-07-02 19:22:55 +02:00
René Kijewski
63dd8546af Merge pull request #1335 from Kijewski/fix-all-warnings-for-native-and-qemu-i386
Fix all warnings for native and qemu-i386
2014-07-02 10:58:48 +02:00
Christian Mehlis
381fec1fa8 Merge pull request #1301 from cgundogan/fix_tcp_handshake_seq_ack_rfc_compliancy
destiny: wireshark revealed wrong seq/ack nr. in tcp handshake
2014-06-30 22:05:23 +02:00
René Kijewski
3063e3c2b1 Fix all warnings for native and qemu-i386
Missing returns, unused variables (only used for debugging), empty
translation units, missing function prototypes, and GNU extensions.
2014-06-24 16:50:32 +02:00
Oleg Hahm
fda7ce12d2 Merge pull request #1321 from cgundogan/fix_missing_ack_bit
destiny: set ack bit for (almost) all segments after syn
2014-06-24 11:16:37 +02:00
Cenk Gündoğan
75546fcf6c destiny: set ack bit for (almost) all segments after syn
The current implementation does not set the ack bit
for outgoing data segments and the fin segment.

However, RFC793 states that all segments
should have an ack bit set in order to present a valid
ack nr. in outgoing segments.

Currently, data segments and acknowledgement segments
are distinguished by the existence of their ack bit.
With the new assumption, that both of these types of
segments need an ack bit set, I had to change several
parts of the current implementation to make this
decision by inspecting the payload size.

destiny: added parens
2014-06-24 10:44:11 +02:00
Cenk Gündoğan
400286168f destiny: wireshark revealed wrong seq/ack nr. in tcp handshake
Capturing the tcp handshake with wireshark revealed that the
sequence and ack nrs. are not rfc compliant.
I did the changes based on
http://tools.ietf.org/html/rfc793#page-52 to http://tools.ietf.org/html/rfc793#page-72
2014-06-24 10:21:23 +02:00
Oleg Hahm
9f39226108 shell: added command to print all ignored addresses 2014-06-24 10:11:06 +02:00
Oleg Hahm
36b9f7e7d7 Merge pull request #1257 from Kijewski/shell-fix-newline
shell: fix newlines
2014-06-22 23:56:36 +02:00
Oleg Hahm
6f17f0c60a Merge pull request #1105 from Kijewski/shell-print-not-found
shell: print command if not found
2014-06-22 21:03:30 +02:00
Oleg Hahm
eedc16815c Merge pull request #891 from OlegHahm/rpl_debug
net: some debug code
2014-06-22 19:27:18 +02:00
Hauke Petersen
839955cd05 sys: added color module 2014-06-22 13:53:01 +02:00
René Kijewski
14601c0c38 Merge pull request #1299 from phiros/timex_bugfix_and_improvement
Timex bugfix and improvement
2014-06-19 13:18:15 +02:00
Philipp Rosenkranz
0bf6ce22f3 added conv function from uint64 to timex_t and one minor bug fix 2014-06-19 12:40:24 +02:00
René Kijewski
467b41ad49 make: easifier usage of module subdirectories
Many modules have subdirectories. Often these subdirectories should only
be included under certain circumstances. Modules that use submodules
currently need to use this pattern:

```make
DIRS = …

all: $(BINDIR)$(MODULE).a
   @for i in $(DIRS) ; do $(MAKE) -C $$i ; done ;

include $(RIOTBASE)/Makefile.base

clean::
   @for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ;
```

This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
2014-06-17 15:49:32 +02:00
René Kijewski
840c0f0a57 make: detect their module name automatically
For many modules the `Makefile` contains a line like
```
MODULE:=$(shell basename $(CURDIR))
```
This conclusively shows that we do not have to set the module name
manually.

This PR removes the need to set the module name manually, if it is the
same as the basename. E.g. for `…/sys/vtimer/Makefile` the variable
make `MODULE` will still be `vtimer`, because it is the basename of the
Makefile.
2014-06-17 15:49:32 +02:00
Christian Mehlis
997dcd7e88 Merge pull request #1302 from cgundogan/fix_tcp_header_data_offset
destiny: using a bit field for tcp_header->data_offset is more convenient
2014-06-14 15:40:49 +02:00
Christian Mehlis
50a07d9874 Merge pull request #1280 from cgundogan/fix_send_tcp_error_check
destiny: fixed condition for error handling of send_tcp in destiny_socket_send
2014-06-12 09:55:37 +02:00
Christian Mehlis
2350809536 pnet: silence unused argument warnings 2014-06-11 13:36:41 +02:00
Oleg Hahm
f6cd96b023 Merge pull request #1300 from cgundogan/fix_wrong_byte_order_ipv6_length
destiny: change byte order of ipv6_header->length
2014-06-09 22:01:41 +02:00
Cenk Gündoğan
ecf47b1f48 destiny: using a bit field for tcp_header->data_offset is more convenient
In the current implementation the data offset is coded into an uint8_t.
Of this uint8_t only 3 bits apply for the data offset.
The remaining bits represent reserved flags for future use.
However, a proper bit masking is forgotten in order
to obtain the data offset part of this uint8_t.

Therefore, defining this uint8_t as a bit field allows a more convenient
method of access.
2014-06-09 19:37:37 +02:00
Cenk Gündoğan
97da23051a destiny: change byte order of ipv6_header->length
When accessing the length field of an ipv6_header a byte order switch (host -> network) is necessary.
Otherwise, it breaks calculations or the checksum and other tcp related computations.
Furthermore, when writing to ipv6_header->length it is important to switch this
from host byte order to network byte order.
2014-06-08 20:50:45 +02:00
Cenk Gündoğan
7584ffe887 destiny: fixed condition for error handling
send_tcp returns either the length of the sent data,
or -1, if an error was detected.

The current implementation checks for != 1.
This results in executing the error case, although
there was semantically no error returned from send_tcp.
2014-06-05 14:17:48 +02:00
Cenk Gündoğan
43b7a393b1 destiny: wireshark compliant tcp flags
This enum is also used to set the tcp flags within a tcp header.
With the current values in this enum, wireshark is not able to
recognize the tcp segments as their actual tcp type,
and thus odd messages in wireshark appear.

destiny: reusing tcp flags for combinations
2014-06-05 13:15:00 +02:00
Cenk Gündoğan
f41fe7bb04 destiny: segfault due to dereferencing nullpointer
get_socket(i) returns NULL, when no specific socket is found.
Without an appropriate check for NULL, the current state
of the code leads to a segfault.

destiny: added parens

destiny: continuing the loop makes more sense than returning at first sight of NULL
2014-06-03 22:48:01 +02:00
René Kijewski
2231a315d4 vtimer: fix callback usage
There is no need to test the "handler" set in the vtimer struct, and
have some code executed then. We just can make the code to execute the
handler. To lengthy `if else if`, just a call.
2014-06-03 21:07:59 +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
Oleg Hahm
4298918ba7 rpl: debug: use DEBUGF where necessary 2014-06-03 15:08:50 +02:00
Oleg Hahm
fe788838ef net: IPv6: RPL: more debug output 2014-06-03 15:04:53 +02:00
Oleg Hahm
e165a08606 fixed debugging for cc110x 2014-06-03 15:04:52 +02:00
Oleg Hahm
e5e9d9e538 set correct transceiver stack size for debugging 2014-06-03 15:04:52 +02:00
Oleg Hahm
4f62ef4547 some minor fixes and debugging 2014-06-03 15:04:50 +02:00
Oleg Hahm
e87e6bedca you can never have enough debugging in RPL 2014-06-03 15:01:48 +02:00
Cenk Gündoğan
56298378ee pnet: accept should return a new generated file descriptor
From man page:
On success, these system calls return a nonnegative integer that is a
descriptor for the accepted socket. On error, -1 is returned, and errno
is set appropriately.
2014-06-02 18:53:51 +02:00
René Kijewski
94bb326fc0 shell: fix newlines 2014-05-30 21:10:05 +02:00
Thomas Eichinger
9cde1e5fc3 Merge pull request #1146 from Kijewski/struct-tm-utils
sys: add utility functions for `struct tm`
2014-05-28 12:20:32 +02:00
René Kijewski
1887bd45c6 sys: add utility functions for struct tm 2014-05-28 00:16:32 +02:00
Thomas Eichinger
f32c7af1a9 sys:transceiver: fix some doxygen comments 2014-05-27 15:57:28 +02:00
Martin Lenders
2362623490 Fix trailing whitespaces
Fixes #1138
2014-05-26 14:54:23 +02:00
René Kijewski
4e4f908379 Initial import of the x86 port
Currently this works only in qemu.
2014-05-25 13:40:29 +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
75f71992e5 Add doxygen comments to MSP's oneway malloc 2014-05-22 15:40:25 +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
Oleg Hahm
6dbeacd2ce documentation: fixed sixlowpan doxygen filename 2014-05-22 13:01:44 +02:00
Oleg Hahm
f8168c86d3 documentation: fixed organization of 6LoWPAN doxygen 2014-05-22 13:01:37 +02:00
Oleg Hahm
9efc0d2255 documentation: added missing doxygen header to transceiver interface 2014-05-22 13:01:36 +02:00
Oleg Hahm
ce73fa56e2 documentation: moved network documentation to top level 2014-05-22 13:01:36 +02:00
Christian Mehlis
0aa87a8ee7 Merge pull request #1208 from Kijewski/issue-1199
documentation: fix doxygen for `pthread_*.h`
2014-05-20 14:19:52 +02:00
René Kijewski
e135bdc266 documentation: fix doxygen for pthread_*.h
The pthread header files aren't in the doxygen page anymore after #1137,
because I `@file`'d the `.c` files, not the `.h` files.

This change moves doxygen boilerplate.

Closes #1199.
2014-05-18 17:33:49 +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