Commit graph

73 commits

Author SHA1 Message Date
adamdunkels eadfe5f3d6 Enabled 32-bit clock ticks to allow longer timeouts; experimentally disabled polite announcements in favour of a non-announcement based collect protocol 2010-02-23 18:44:52 +00:00
adamdunkels e34eb54960 A work-in-progress rework of the Contiki MAC and radio layers. The
main ideas are:

* Separates the Contiki low-layer network stack into four layers:
  network (e.g. sicslowpan / rime), Medium Access Control MAC
  (e.g. CSMA), Radio Duty Cycling RDC (e.g. ContikiMAC, X-MAC), and
  radio (e.g. cc2420).
* Introduces a new way to configure the network stack. Four #defines
  that specify what mechanism/protocol/driver to use at the four
  layers: NETSTACK_CONF_NETWORK, NETSTACK_CONF_MAC, NETSTACK_CONF_RDC,
  NETSTACK_CONF_RADIO.
* Adds a callback mechanism to inform the MAC and network layers about
  the fate of a transmitted packet: if the packet was not possible to
  transmit, the cause of the failure is reported, and if the packets
  was successfully transmitted, the number of tries before it was
  finally transmitted is reported.
* NULL-protocols at both the MAC and RDC layers: nullmac and nullrdc,
  which can be used when MAC and RDC functionality is not needed.
* Extends the radio API with three new functions that enable more
  efficient radio duty cycling protocols: channel check, pending
  packet, and receiving packet.
* New initialization mechanism, which takes advantage of the NETSTACK
  #defines.
2010-02-18 21:48:39 +00:00
adamdunkels 6414bf3a55 Enabled sicslowpan fragmentation and reassembly by default on the sky platform 2010-02-08 22:12:29 +00:00
adamdunkels 37f7770bd8 Made it possible to override the SICSLOWPAN_CONF_FRAG option. Increased the default uIP buffer size on IPv6 to provide some room for fragmented packets 2010-02-06 10:00:25 +00:00
adamdunkels a9c742402c Use cxmac for IP, xmac for non-IP. Increased uIP buffer size for IPv6 to accomodate ICMP packets 2010-02-03 16:48:04 +00:00
adamdunkels f63f6a7a88 Added default configuration options for the cxmac driver 2010-01-31 18:48:41 +00:00
adamdunkels ba2c445676 Reduce the TCP MSS so that it runs nicely over IPv6/802.15.4 2010-01-28 13:38:40 +00:00
adamdunkels 5922402b3e Added the CSMA MAC mechanism on top of the default duty cycling
mechanism X-MAC. The CSMA is configurable with a MAC_CSMA define, just
like the MAC protocol is configurable with the MAC_DRIVER define.
2010-01-25 11:48:16 +00:00
nifi 467df8ad4c reverted accidental commit 2010-01-14 22:26:38 +00:00
nifi dbe56e4666 Updated to match the new sensors API 2010-01-14 20:01:18 +00:00
joxe 3c0dcb45c7 fixed for updated sensors API 2010-01-14 15:50:13 +00:00
fros4943 99a540fd0d macro renamed to SPI_IS_ENABLED() to avoid confusions 2009-10-27 15:33:24 +00:00
fros4943 6b36cd9de9 added macro for checking whether SPI is ENABLED 2009-10-27 15:25:02 +00:00
adamdunkels 79d7c366a3 Rime polite announcements should be used when IPv6 is enabled, and not used otherwise 2009-10-18 07:15:33 +00:00
nifi d4b619bcc5 Renamed SPI_WAITFOREOTxBUF to SPI_WAITFORTxREADY for clarity and generalized SPI transmission status checks to work with both AVR and MSP430 2009-09-07 11:31:26 +00:00
nifi 3a8ee769cb Changed to monitor the UART transmitter buffer ready flag instead of the UART transmitter empty flag. This almost doubles the speed of transmitting data to CC2420. Patch by James Brown. 2009-08-31 12:06:34 +00:00
nifi 05d4bc4532 allow UIP_CONF_ROUTER to be set as compilation flag 2009-06-29 09:54:39 +00:00
joxe 1cc33ac451 configured routing to off for sky-IPv6 2009-06-26 12:01:23 +00:00
nvt-se b912a41ea3 use polite announcements when running Rime over UDP. 2009-06-24 16:44:26 +00:00
nifi 912aba7280 added init function in MAC driver for easier configuration 2009-06-22 11:14:11 +00:00
fros4943 d54176205c decreased default elfloader memory usage for sky platform 2009-05-18 10:32:56 +00:00
adamdunkels 900480959b Increased the default number of queue buffers: there usually is plenty of RAM left, so we should be able to afford it 2009-05-10 21:15:16 +00:00
adamdunkels 064f4488d4 Increase default CPU speed from 2.4576 MHz to 3.9 MHz. Communication works better, at a low power cost 2009-04-29 11:43:48 +00:00
fros4943 bc6704079c cc2420 checksums temporarily disabled, due to timing problems with the x-mac unicast optimization 2009-04-16 14:34:51 +00:00
adamdunkels 3415ff26bd Added CC2420 checksums to non-ipv6 packets. Set a conservative TCP MSS 2009-04-10 00:39:19 +00:00
nifi b41b79e3a9 Disable timestamp when using 802.15.4 frames (CC2420_CONF_TIMESTAMPS adds timestamp to radio packets). 2009-04-06 17:18:20 +00:00
nifi 900d8d8e17 changed to use HC01 compression for uip6 2009-04-06 16:01:11 +00:00
nifi 8b41f3a6a8 set rime addr size to 8 for uip6, restored clock resolution 2009-04-06 14:59:49 +00:00
nifi a36e529df1 added configuration for panid 2009-04-06 13:31:00 +00:00
nvt-se f53560f6a5 enabled multihop routing, increased uip buffer size. 2009-04-06 13:23:14 +00:00
nifi c1d490b6a7 added workaround for memcpy/memset bug in mspgcc 2009-04-06 13:07:37 +00:00
adamdunkels 58331e6802 Made tick resultion more fine-grained to support a shorter LPP listen time 2009-04-03 11:46:48 +00:00
adamdunkels 65eb5fd4e8 Renamed the rimebuf module to packetbuf to signal that the module is used outside of a pure Rime context (e.g., the sicslowpan code uses it). 2009-03-12 21:58:20 +00:00
julienabeille 0395ff5f39 sicslowpan Typo 2009-03-09 08:19:07 +00:00
adamdunkels e3043b1be2 Enable communication power accounting for xmac by default 2009-03-01 20:43:37 +00:00
nvt-se 47d70f2ae3 Switched name to CFS_CONF_OFFSET_TYPE to emphasize that it is a configurable option. 2009-03-01 12:00:00 +00:00
nvt-se b47221672a switched cfs offset type to signed long to allow backward movements with cfs_seek. 2009-02-28 13:41:16 +00:00
nvt-se 9f8f773b43 use unsigned long as cfs offset type. 2009-02-27 14:53:15 +00:00
adamdunkels d761dfebd1 Bugfix: reduced the size of the uIP buffer to account for MAC header space 2009-02-25 10:23:03 +00:00
adamdunkels 7781bbea58 Enabled X-MAC announcements by default, disabled polite broadcast announcements by default 2009-02-14 22:52:24 +00:00
joxe 9689a579be added DCO/CPU speed re-synch each 30 seconds 2009-02-04 19:32:20 +00:00
fros4943 5f3c1a0e12 elfloader executing loaded programs from ram (not rom) by default on msp430 platforms. 2009-01-15 09:04:04 +00:00
nvt-se 0c4f7bed8f temporary fix to get sicslowpan.c working on the Sky platform:
conventional MAC implementations require a call to the MAC driver's
read function.
2008-11-06 20:45:06 +00:00
nvt-se 21e4b4be80 map rime address to mac address for ipv6 2008-11-06 15:14:24 +00:00
nvt-se d1d09ea1fd added IPV6 configuration. 2008-11-05 14:31:06 +00:00
adamdunkels 28331191b3 Changed name of simple-cc2420 to cc2420 2008-07-02 09:38:06 +00:00
adamdunkels 1586d8f36f Changed filename of the CC2420 driver from simple-cc2420 to cc2420. 2008-07-01 21:02:51 +00:00
adamdunkels 31ea41d8db Changed the name of UIP_CONF_TCP_FORWARD to UIP_CONF_IP_FORWARD since forwarding is done at the IP level 2008-05-14 19:19:28 +00:00
adamdunkels 412facb831 This is an initial commit of an implementation of the Chameleon
architecture for the Rime stack for Contiki. The Chameleon
architecture separates the header processing from the Rime protocol
logic. Instead of having each protocol create its own part of the
packet header, protocols use packet attributes. Before sending a
packet, a special Chameleon header processing module creates a packet
header from the packet attributes. The same Chameleon module parses
incoming packets and creates packet attributes from the header.

The details are in our SenSys 2007 paper:

Adam Dunkels, Fredrik Osterlind, Zhitao He. An Adaptive Communication
Architecture for Wireless Sensor Networks. In Proceedings of the Fifth
ACM Conference on Networked Embedded Sensor Systems (SenSys 2007),
Sydney, Australia, November 2007.

http://www.sics.se/~adam/dunkels07adaptive.pdf

This is a rewrite of the code that was developed for the paper.
2008-02-25 02:14:34 +00:00
adamdunkels 5bcd0ab60b Reduced uIP buffer size to allow for TCP data over Rime mesh routing protocol 2008-02-24 21:11:35 +00:00