Commit graph

72 commits

Author SHA1 Message Date
nifi 07ee8458e7 Fixed bootup printf() with 32-bit timer values 2010-02-23 21:02:30 +00:00
nifi bb9d430138 added bootup print of NETSTACK_RDC name 2010-02-23 20:54:09 +00:00
adamdunkels 85a9f7db42 Fix bootup printf() with 32-bit timer values 2010-02-23 18:45:16 +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 aaab082f27 Correctly print out the aaaa: address, if enabled 2010-02-06 10:00:49 +00:00
adamdunkels f9e991c0dd Turning of the MAC protocol in the IPv4-over-mesh actually made performance worse due to broadcasts being received multiple times, which interfered with SLIP I/O 2010-02-03 01:20:47 +00:00
adamdunkels 88fb1c80c9 Do not activate the sensors by default: sensors should be activated by the applications that need them 2010-02-02 16:25:30 +00:00
adamdunkels d0d52638b8 Disable (debugging-) initialiation of aaaa:: address; add CSMA MAC for IPv6/6lowpan 2010-02-01 11:55:04 +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
adamdunkels 11362d0489 Remove the default list of sensors from the main() file to save space - those apps that need them can use them directly in any case 2010-01-21 11:17:08 +00:00
adamdunkels 9ae29c3be5 Added light, sht11, battery sensors; restored light and battery activation since rtimers don't work without them (at present) 2010-01-14 20:18:23 +00:00
joxe 3c0dcb45c7 fixed for updated sensors API 2010-01-14 15:50:13 +00:00
joxe 31ea888b75 fixed Sky platform for new sensor APIs 2010-01-14 14:00:38 +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
adamdunkels d3131e1811 Print link-local IPv6 address when booting the node 2009-10-29 22:10:59 +00:00
adamdunkels 29e8dae88c Added X-MAC support for IPv6/SICSlowpan nodes, added 802.15.4 default framing to X-MAC 2009-10-19 20:55:52 +00:00
nifi 912aba7280 added init function in MAC driver for easier configuration 2009-06-22 11:14:11 +00:00
adamdunkels bc6c9410cc Print out the gateway's IP address more prominently 2009-05-12 17:32:49 +00:00
adamdunkels e6215712ca When a node is configured as an IP gateway, we switch off the power-saving MAC protocolto improve performance and to avoid problems with the serial communication that X-MACs use of rtimers can cause 2009-04-29 11:46:20 +00:00
adamdunkels 2545fd9069 Hack to make DS2411 ID useable as an Ethernet MAC address (remove multicast bit) 2009-04-10 00:40:08 +00:00
nifi 76b7bf43d0 added setup for uip6 with 802.15.4 frames and routing using Rime 2009-04-06 14:12:58 +00:00
nifi a36e529df1 added configuration for panid 2009-04-06 13:31:00 +00:00
nifi c6b15c289e * show radio channel at startup
* only initialize timesynch when timesynch is enabled
2009-03-31 13:25:50 +00:00
adamdunkels 0076bfe8a5 Changed the name of the 'serial' module to 'serial-line' to signify that the module is about lines of data from the serial port, not individual bytes, and to make sdcc happy 2009-03-17 15:56:32 +00:00
adamdunkels ac9ab9c582 #include lib/random.h 2009-03-01 20:42:10 +00:00
adamdunkels 585620c102 Reverted the recent change from random_rand() to rand(). It turned out that
since libc rand() returns a signed int, there were frequently problems with
timer values wrapping. By reverting to random_rand(), we can provide a
random generator that returns an unsigned and the timer problems are solved.
2009-02-11 11:08:53 +00:00
adamdunkels 440899e4cb Seed rand() with the node ID + MAC address 2009-02-07 16:49:36 +00:00
joxe 9689a579be added DCO/CPU speed re-synch each 30 seconds 2009-02-04 19:32:20 +00:00
joxe e5f0d786a8 fixed sky platform to use the new uart1_active api to avoid messing up last chars transmitted 2009-01-31 12:45:03 +00:00
fros4943 ebcaf8eec8 removed compilation warning due to unused is_gateway variable (outside uIP mode) 2009-01-19 13:44:04 +00:00
joxe 55280131fc added printout of MAC protocol name 2008-11-24 14:31:08 +00:00
fros4943 720357bc60 added log_message() implementation 2008-11-21 10:35:46 +00:00
adamdunkels 83155d48f9 Moved the network gateway logic to the uip-over-mesh module. 2008-11-09 12:22:04 +00:00
nvt-se 21e4b4be80 map rime address to mac address for ipv6 2008-11-06 15:14:24 +00:00
nvt-se c5d9795f92 added initialization for uip6 2008-11-05 15:34:04 +00:00
joxe 5b1c229754 fixed battery sensor for sky platform 2008-09-18 21:29:06 +00:00
joxe 5d860b1df2 changed sleep to go into LPM3 2008-09-18 17:58:21 +00:00
joxe 8aa8e26c54 removed redundant sensor initialization, added comment 2008-09-14 20:47:30 +00:00
adamdunkels 8e5d255b5b Moved initialization of the SHT11 until after other initialization: this seems to fix a bug where the SHT11 temperature and humidity values started varying wildly. 2008-07-08 08:23:24 +00:00
adamdunkels 84e4bf7a15 Changed order of initialization to make light sensors work again: a previous change to irq.c seems to have conflicted with light sensor initialization 2008-07-07 23:44:58 +00:00
adamdunkels 66876625d4 Changed name of the simple-cc2420 module to cc2420: changed all function names and variable names from simple_cc2420_* to cc2420_*. 2008-07-02 09:05:40 +00:00
adamdunkels 1586d8f36f Changed filename of the CC2420 driver from simple-cc2420 to cc2420. 2008-07-01 21:02:51 +00:00
adamdunkels 8b4179cf45 Moved ctimer_init() so that MAC protocols can use ctimers in their initialization code 2008-05-19 12:07:49 +00:00
adamdunkels c38d43c387 Change order of initialization so that Rime is initialized before uIP-over-Rime. Send out a new gateway command if a spurious (erroneous) gateway command is received. (Note for the future: this will cause a ping-pong problem with two correct gateways in the network; need to come up with a better solution for this.) 2008-03-03 20:23:53 +00:00
adamdunkels 307fc41646 Detect if node is attached to a SLIP line to set node to become the network's gateway 2008-02-24 21:13:03 +00:00
adamdunkels 6740d95bfa Initialize serial line with 115200 bps for SLIP 2008-02-11 10:44:12 +00:00
adamdunkels cb6bc45350 Added code for routing IP packets over low-power radios using the Rime mesh module 2008-02-03 21:03:19 +00:00
adamdunkels c2ef303c24 Updated for the new simple_cc2420 API 2008-01-23 14:58:01 +00:00
adamdunkels 685de41feb Fixed buggy build 2008-01-19 06:57:44 +00:00
adamdunkels 34bd11905c Rewrote the timesynch code to use the Rime sniffer interface instead of the kludge of running timesynch as a MAC layer 2008-01-14 14:50:01 +00:00