Commit Graph

625 Commits

Author SHA1 Message Date
adamdunkels
36db5eb70b Added debug printout 2010-02-03 01:18:24 +00:00
adamdunkels
e419eb3cc5 Retransmit packet if it didn't receive a MAC layer ack 2010-02-03 01:17:54 +00:00
adamdunkels
d68af249ec Added a MAC layer return value that informs the caller that a packet did not receive a MAC layer acknowledgement 2010-02-03 01:17:32 +00:00
adamdunkels
4bc4f033e8 Increase the trickle resend interval for router advertisements 2010-02-03 01:13:17 +00:00
adamdunkels
181213124b Added a configuration option for setting the MAC channel check rate (which must be a power of two). The configuration is independent of the MAC protocol. 2010-02-02 23:28:58 +00:00
adamdunkels
f66cd6d44e Increased the forwarding queue to six packets to improve collection robustness 2010-02-02 21:44:05 +00:00
adamdunkels
901a128e7f Reconfigured the timeouts to work better on top of a power-cycling radio mechanism 2010-02-02 21:12:29 +00:00
adamdunkels
28052c655f Removed exit() calls that were unadvertedtly left in from testing 2010-02-02 21:10:38 +00:00
adamdunkels
0db31db624 Moved declarations to the start of each function 2010-02-02 21:09:06 +00:00
adamdunkels
fcf60e9260 Removed the csma_init declaration in the mac_driver struct since it isn't needed and it breaks sdcc 2010-02-02 20:45:58 +00:00
adamdunkels
cc2be0f111 Remove compiler warnings 2010-02-02 16:33:07 +00:00
adamdunkels
88c661b0c2 Rewrote the netif time code so that is avoids the use of floating point numbers; some code style fixes 2010-02-02 16:32:03 +00:00
adamdunkels
1a13d25d33 Revised version of the X-MAC implementation that uses a ctimer instead
of an rtimer for the periodic radio duty cycling. The benefit of this
implementation is that it leaves an rtimer free for user tasks. The
drawback is a slightly higher idle power consumption. This new version
is based on the current rtimer-based X-MAC.
2010-01-31 18:44:23 +00:00
adamdunkels
e4168db633 Bugfix: deallocate queuebuf only if there was no collision 2010-01-31 13:55:36 +00:00
adamdunkels
388c5d4244 Made the sicslowpan MAC layer reachable from outside modules 2010-01-28 13:50:51 +00:00
adamdunkels
2ae7ed827c Increase the default X-MAC channel check rate to 4 Hz instead of 2 Hz 2010-01-28 13:40:47 +00:00
adamdunkels
f94d6df6f0 Bugfix: copy the originator address from the packetbuf into a local variable to avoid it being overwritten 2010-01-27 08:12:56 +00:00
adamdunkels
8430dab039 Typecast to fix nightly build problem 2010-01-27 07:36:31 +00:00
adamdunkels
9e5823f060 Made retransmission timeout configurable 2010-01-26 10:19:26 +00:00
adamdunkels
b728c0927c Made number of duplicate announcements configurable 2010-01-26 10:18:55 +00:00
adamdunkels
cc3f609eaa Bugfix for alignment issue. Added mechanism that allows five duplicate announcements before suppressing one's own. 2010-01-25 13:55:17 +00:00
adamdunkels
71ffde578e Moved route_init() into mesh instead of the generic rime initialiation 2010-01-25 13:54:26 +00:00
adamdunkels
423e37f426 Added parameter to ipolite that specifies how many dups that are acceptable, before suppressing one's own packet 2010-01-25 13:54:06 +00:00
adamdunkels
0b58ca3b22 Bugfix: split full size TCP segments if they match the MSS definition, not only the buffer size definition 2010-01-25 13:53:15 +00:00
adamdunkels
7615a6cf47 Bugfix by Henrik Mäkitaavola: check that ICMP6 process is defined before invoking it 2010-01-25 13:37:05 +00:00
adamdunkels
4f3e8d565c Added a simple CSMA (Carrier Sense Multiple Access) mechanism that
works on top of an underlying duty cycling mechanism. The CSMA layer
retransmits packets that could not be sent because of a collision was
detected.
2010-01-25 11:46:44 +00:00
adamdunkels
7ad93e5d18 Added a field to the struct mac interface:
channel_check_interval(). This function returns the interval by which
the duty cycling mechanism checks the radio channel for activity. It
is used by higher layer mechanisms to determine suitable timeouts for
retransmissions.
2010-01-25 11:43:32 +00:00
fros4943
26e0bab11a bugfix: alignment problem caused by previous bugfix 2010-01-21 11:39:35 +00:00
fros4943
3db4f36c3e removed compiler specific attribute 2010-01-20 09:58:16 +00:00
adamdunkels
c962f49516 Alignment bugfix 2010-01-18 21:27:21 +00:00
adamdunkels
743e93e650 Do not remove encounters - there is no need to, as they are only an optimization 2010-01-14 20:14:03 +00:00
nvt-se
a03e899c27 Signal the result of transmissions attempts made in the mesh module. Patch from Moritz Struebe 2009-12-18 14:57:15 +00:00
nifi
7b2b93e6e6 clear transmission flag if send failed 2009-12-18 14:49:42 +00:00
adamdunkels
f4e6758b22 Use RTIMER_NOW() instead of rtimer_arch_now() 2009-12-09 18:08:26 +00:00
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