adamdunkels
2f105e933a
Variable xmac_is_on was used both in interrupt and non-interrupt contexts and needs to be volatile
2009-12-06 23:29:38 +00:00
adamdunkels
53457eb1f0
Fixed compilation warning
2009-12-06 17:10:54 +00:00
adamdunkels
8bcc838d8a
Bugfix: don't set the 'we are sending' flag until we are actually sending
2009-12-06 17:05:45 +00:00
adamdunkels
6897270289
Bugfix to the Contiki LPP encounter timing code: encounters are now
...
properly timed.
2009-12-06 13:18:32 +00:00
adamdunkels
822149f943
Significant improvements to the Contiki X-MAC:
...
* the code is simplified, particularly the duty cycling logic
* old unused code has been removed
* Contiki X-MAC now listens before sending a strobe to avoid MAC-level
collisions
* broadcasts are sent directly, without strobes, reducing the power
consumption of receivers
* turn off radio for 1 ms between sending a strobe and expecting the
strobe ack
2009-12-06 13:16:59 +00:00
adamdunkels
cef2e65c9b
Added an error type for signalling a MAC-layer collision
2009-12-05 21:49:51 +00:00
adamdunkels
4a1a823a49
Code style fix
2009-12-05 13:29:41 +00:00
fros4943
a1b4597b95
fixed announcement compilation error
2009-11-27 14:27:50 +00:00
adamdunkels
aeefa75304
Fixed alignment problems in announcement packet creation
2009-11-27 12:49:27 +00:00
nvt-se
116771adbc
made the route cache timeout configurable
2009-11-20 14:35:58 +00:00
nifi
1f2c226d8e
* Added ctimer_restart(). Patch by Moritz Struebe.
...
* Added ctimer_expired().
2009-11-19 18:32:05 +00:00
nifi
bb0ffe0478
moved rime initialization into rime router so it is easier to switch IPv6 routing module
2009-11-18 13:51:55 +00:00
fros4943
0034fd7bca
generic return values for sent packet
2009-11-13 10:09:02 +00:00
fros4943
9b20f11cd8
chameleon returns 1 only on successful rime_output()
2009-11-13 09:14:52 +00:00
fros4943
583dd11c55
rime_output() now returns RIME_OK or RIME_ERR depending on the MAC return value.
...
this patch may affect Rime sniffers running on top of MAC protocols that do not yet return generic MAC return values
2009-11-13 09:10:24 +00:00
fros4943
26bb5ecd21
added radio and MAC generic return values to allow applications finding out whether the packet was transmitted
2009-11-13 08:59:22 +00:00
joxe
5b0b36c39e
accept messages to all routers if UIP_CONF_ROUTER is set.
2009-11-12 14:05:42 +00:00
adamdunkels
60a3fc0cae
Fixed alignment issue
2009-11-09 08:22:40 +00:00
adamdunkels
56218aba3b
Made rimeaddr_t pointers const where they should be.
2009-11-08 19:40:16 +00:00
adamdunkels
70fc23ac7e
Enable stream mode by default, remove LED debug mode
2009-11-04 16:02:45 +00:00
adamdunkels
5aab2eb77d
A simple addition with significant performance implications:
...
sicslowpan tags TCP packets with the PACKETBUF_ATTR_PACKET_TYPE_STREAM
flag, which makes the underlying power-saving MAC layer keep the radio
on for some time after transmitting the packet. This allows reply
packets to be processed directly, significantly increasing TCP latency
and throughput.
2009-11-02 11:58:56 +00:00
adamdunkels
c7a91ad4a2
Bugfix: UIP_TCP_BUF -> BUF
2009-10-27 23:09:58 +00:00
adamdunkels
631af06c7c
Bugfix: Active TCP connections in uIP are made by first setting up the
...
TCP connection state, then poll uIP to send out the first SYN. Until
now, however, the SYN was not sent as part of the poll, but at the
first retransmission. This is now fixed.
2009-10-27 22:34:08 +00:00
zhitao
1913e1a936
prevent neighbor ETX from wrap-over
2009-10-22 13:11:20 +00:00
nifi
df32fde58c
Made max number of neighbors configurable
2009-10-21 21:25:10 +00:00
adamdunkels
91579fbaab
Removed debug strings to save ROM
2009-10-20 08:06:43 +00:00
nifi
223fa1c8e5
added missing include
2009-10-20 07:42:03 +00:00
adamdunkels
a5ea7ef966
Increased default number of queue buffers
2009-10-19 21:28:59 +00:00
adamdunkels
4d9b05c2ce
Increased default header size in packetbuf to accomodate 802.15.4 headers
2009-10-19 21:28:11 +00:00
adamdunkels
7cdfbca973
Alignment problems with announcements fixed
2009-10-19 21:27:02 +00:00
adamdunkels
9ec57d61ad
Added MAC layer framing support to X-MAC so that packets now are standard 802.15.4 frames
2009-10-19 20:53:56 +00:00
adamdunkels
4de1816e36
Added a new module called "framer" that creates MAC level frames to
...
the packetbuf from packet attributes. Two framer modules are included,
one that creates 802.15.4 frame headers, and one that creates a
minimal "nullmac"-style header that only contains the link-local
addresses.
2009-10-19 18:30:03 +00:00
nifi
ae226c5917
* Set sender and receiver packet attributes on incoming packets
...
* Added link layer destination check
2009-10-19 11:25:54 +00:00
adamdunkels
10c873018d
Ensure that DEFAULT_PERIOD is != 0, to avoid a modulo with 0
2009-10-19 06:39:29 +00:00
adamdunkels
f25856a387
Hack to be able to receive UDPv4 multicast packets
2009-10-18 22:03:44 +00:00
adamdunkels
fb037e0afb
Added function for sending an UDP packet to a specified IP address and port number over an existing UDP connection
2009-10-18 22:02:01 +00:00
adamdunkels
9d26bd663e
A new optimization to X-MAC: senders now keep track of when neighbors
...
last were known to be awake. When sending a packet, a sender does not
start to send strobes until the neighbor is expected to be awake. This
reduces power consumption for senders and decreases the contention in
the network as there are less packets in the air. Additionally, the
ACK optimization was improved so that data/ack exchanges now are
more efficient.
2009-10-18 13:19:25 +00:00
nvt-se
31f41d842e
* decline route discovery requests if we have one in the air
...
* and, by popular demand, switched PRINTF to printf in the debug macro. :-)
2009-10-08 16:30:26 +00:00
nvt-se
f143227205
made the route discovery packet timeout configurable.
2009-09-29 16:02:28 +00:00
nifi
0ad51b8dcc
Moved the link layer destination check to sicslowmac
2009-09-18 16:37:17 +00:00
adamdunkels
1980253ba3
Refresh routes when hearing a packet from a neighbor
2009-09-09 21:10:21 +00:00
adamdunkels
786ed3cf84
Fixed sdcc compiler problem: function pointers cannot be NULL, so added a dummy function instead
2009-09-09 21:09:42 +00:00
adamdunkels
2181e90f69
Added the possibility to switch lpp off. Fixed sdcc compiler issue
2009-09-09 21:09:23 +00:00
adamdunkels
1cafbc6002
sdcc compiler issue fix: compound assignments are not supported, so we use memcpy() instead
2009-09-09 21:08:46 +00:00
nvt-se
4d21a3e203
Don't assume that radio->send turns on the radio automatically.
2009-09-04 10:59:30 +00:00
oliverschmidt
e60db62b10
Added prototype missing for quite some time now - do we need -Werror ?
2009-08-20 20:27:17 +00:00
adamdunkels
522f991f14
Set sender and receiver packet attributes on incoming packets: patch by Gidon Ernst
2009-08-20 18:59:17 +00:00
dak664
c1b7375a5a
*** empty log message ***
2009-07-23 16:13:48 +00:00
dak664
2166261890
Separate input and output debug PRINTFs
2009-07-10 13:33:45 +00:00
nvt-se
38fff1b527
mac_driver structure has been changed to include the init function.
2009-06-24 16:31:49 +00:00
nifi
912aba7280
added init function in MAC driver for easier configuration
2009-06-22 11:14:11 +00:00
nvt-se
33909cc2fd
made neighbor discovery method configurable. default is announcements.
2009-05-30 19:54:05 +00:00
nvt-se
83f2b9ae57
include ctimer.h, since ctimer's are used in the neighbor_discovery_conn struct.
2009-05-30 19:40:39 +00:00
nvt-se
9277f922f1
fixed some documentation typos.
...
also uc -> unicast, stuc -> stunicast.
2009-05-26 13:58:53 +00:00
nifi
f39d2bd4c6
Fixed link panid for broadcasts to be standard compliant. Ignore packets addressed to other non-broadcast panids.
2009-05-26 12:08:29 +00:00
nvt-se
e2bbdbca9b
decrement TTL right after forwarding check.
2009-05-19 11:54:50 +00:00
adamdunkels
5308a09dd3
Added debug output
2009-05-10 21:10:23 +00:00
adamdunkels
02734c9806
Bugfix: must copy the sender and receiver addresses from the packetbuf buffer, otherwise an application program may overwrite them
2009-05-10 21:10:02 +00:00
adamdunkels
fe5a1f1068
Added an optimization option that avoids multiple simultaneous broadcasts from neighbors: when a broadcast is to be sent, a sender does not send until it knows that no other nodes are broadcasting.
2009-05-10 21:09:05 +00:00
adamdunkels
fe30886b37
Added functionality for decaying routes: when a packet is sent over a route, it is decayed. If the route is not refreshed within four packets (with the route_refresh() function, which is called when a new packet arrives), the route is dropped. A route can be decayed at most once per second
2009-05-10 21:08:01 +00:00
adamdunkels
6bf8e0b478
Bugfix by Takahide Matsutsuka: too few items in array, which caused problems with sdcc
2009-05-08 08:52:55 +00:00
zhitao
48d4800f08
removed reference to undefined function in mspgcc
2009-05-06 15:34:28 +00:00
adamdunkels
1d921ddf42
Explicit typecast to avoid compiler problems
2009-05-06 15:07:09 +00:00
adamdunkels
0adceb63b4
Code cleanup; made encounter optimization explicit; added optimization for adaptive off-time, but it currently seems to work bad with broadcasts
2009-05-06 15:06:38 +00:00
adamdunkels
9fff85757d
Code cleanup; made strobe transmission time longer again (seems to work better in cooja?)
2009-05-06 15:05:28 +00:00
adamdunkels
a671ea1146
Documentation fix
2009-05-06 15:04:20 +00:00
zhitao
58940ecbf8
minor documentation fixes
2009-05-06 08:37:48 +00:00
adamdunkels
1752b53f74
Refresh routes when a packet is received. Set a conservatively low route timeout (10 seconds).
2009-05-04 11:24:04 +00:00
adamdunkels
c83c5c4c55
Removed automatic refresh of routes from the route_lookup() function and moved it into an explicit route_refresh() function. The previous behaviour was dangerous, since it meant that even bad routes that someone was looking for were considered fresh. Now such routes time out if they are not explictily refreshed (e.g., on a packet reception)
2009-05-04 11:23:30 +00:00
adamdunkels
f5a57a4e54
Fixes by Ward Van Heddeghem (reapplied from versioin 1.24)
2009-04-30 20:21:06 +00:00
adamdunkels
e70cf0c7c6
Rewrite of the collect module. The new version uses a packet queue for outgoing and forwarded packets so that more than one packet can be forwarded at the same time. The new version uses the packetqueue module to maintain the packet queue.
2009-04-29 20:48:57 +00:00
adamdunkels
c489b1118d
New module: packetqueue. The packetqueue module maintains packet queues for other modules.
2009-04-29 20:47:30 +00:00
adamdunkels
cc44e89415
Reduced default strobe time, which seems to work well. Avoid running the interrupt if the power-save feature is turned off (fixes problems with serial data reception on a gateway mote)
2009-04-29 11:42:13 +00:00
adamdunkels
c02a82ac41
Tag outgoing TCP packets with the ERELIABLE attribute so that an underlying power-saving MAC protocol can treat them differently, because it knows that an ACK might be arriving soon
2009-04-29 11:40:33 +00:00
adamdunkels
c9df0ab123
Bugfix in debug message printout
2009-04-28 14:01:46 +00:00
adamdunkels
81ef83b856
Added option to wait randomly before sending a packet. A few code cleanups. Avoid switching radio off when sending a packet with end-to-end acks, because an ACK may arrive shortly after the transmission.
2009-04-28 14:00:53 +00:00
adamdunkels
fdd05f5c71
Bugfix: psock send should use PT_WAIT_UNTIL() not PT_YIELD_UNTIL(). This improves TCP throughput by 100x under minimal-net
2009-04-28 13:52:04 +00:00
fros4943
7810d362a6
minor bugfixes: a rucb sender could not immediately after start receiving a bulk transfer
2009-04-16 14:32:01 +00:00
nvt-se
c0fb680f12
simplified code by using udp_broadcast_new.
2009-04-13 19:55:15 +00:00
nvt-se
9765df97e5
support udp_broadcast_new also when using IPv6. Suggested by Wolf-Bastian Pttner.
2009-04-13 19:54:07 +00:00
adamdunkels
ef4f5cc0e5
Made TCP MSS configurable
2009-04-10 00:37:48 +00:00
nifi
84b38de494
removed bitfields for compatibility with cc65
2009-04-09 21:54:09 +00:00
adamdunkels
f5f52ffd1f
Fixes by Ward Van Heddeghem (VUB)
2009-04-07 13:06:03 +00:00
nvt-se
03cd533712
made LISTEN_TIME and OFF_TIME configurable.
2009-04-07 11:29:08 +00:00
adamdunkels
5e456aea7d
Added optimization for sending ACKs immediately. Turned optimizations on. Increased listening time to 1/64 s again due to problems with broadcasts with the 1/128 s setting
2009-04-06 22:50:35 +00:00
adamdunkels
ace6567815
Added a timer that randomizes the retransmission of an incoming new trickle version to avoid broadcast collisions
2009-04-06 21:20:35 +00:00
adamdunkels
be1c8ccec9
Added debug printouts
2009-04-06 21:19:34 +00:00
adamdunkels
d02ac74bbc
Increased size of temporary stack value to avoid overflowing when computation is done with 8-bit integers
2009-04-06 21:19:00 +00:00
nifi
000f740adc
typo
2009-04-06 15:54:07 +00:00
nifi
eab96e9b53
added rime-udp.c
2009-04-06 14:10:57 +00:00
nvt-se
d6869018c7
turned off debugging.
2009-04-06 13:27:37 +00:00
nifi
9f2ff48fda
added 802.15.4 frame packeter
2009-04-06 13:19:03 +00:00
nvt-se
3b2ad9cfc4
added packet forwarding and replaceable routing modules.
2009-04-06 13:18:50 +00:00
nvt-se
461ba4082c
in case UIP_CONF_ROUTING is set, check if we have a registered routing
...
module and use it for looking up the next hop of an address.
2009-04-06 13:18:12 +00:00
nvt-se
faf083f09d
save copy of a rime address that points to a packet buffer, since the
...
packet buffer is cleared and overwritten before the address usage is done.
2009-04-06 13:16:39 +00:00
nvt-se
c531f25c94
A module that enables Rime to run over UDP.
2009-04-06 13:13:26 +00:00
nvt-se
005578a722
added multihop routing support through replaceable modules. first implementation
...
uses rime's route discovery by translating between ipv6 and rime addresses.
2009-04-06 13:11:25 +00:00
nifi
4bc60d76d3
fixed alignment problem on MSP430 when using compression
2009-04-06 13:11:20 +00:00
adamdunkels
ed1e945e66
Added guard code so that OFF_TIME is never zero
2009-04-03 20:08:05 +00:00
adamdunkels
8dbd2b2337
Significant power consumption optimization: LPP now keeps track of encounters with neighbors and uses this information to keep the radio switched off longer.
2009-04-03 19:59:22 +00:00