Commit graph

297 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
joxe 3a2eec2b1a fixed ext-sensor for jcreate 2010-02-13 11:20:48 +00:00
adamdunkels 6414bf3a55 Enabled sicslowpan fragmentation and reassembly by default on the sky platform 2010-02-08 22:12:29 +00:00
nifi 978d383395 Corrected include path 2010-02-08 00:02:39 +00:00
joxe 1da7c3eccd convert registers upto 9 instead of upto 4 2010-02-06 18:28:26 +00:00
adamdunkels 3717c39431 Updated the ext-sensor to use the new sensor API; patch by Jesper Karlsson 2010-02-06 14:41:24 +00:00
adamdunkels aaab082f27 Correctly print out the aaaa: address, if enabled 2010-02-06 10:00:49 +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
nifi 18f5ef71f0 added missing include 2010-02-03 20:30:07 +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 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
joxe 09c3ba2753 minor cleanup 2010-02-02 21:17:44 +00:00
joxe fd4aebdf7f refactored some ADC code into sky-sensors and made it possible to turn off sensors to save energy 2010-02-02 20:59:45 +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 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
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
nifi c9a48aa752 Updated to match the new sensors API 2010-01-15 21:37:15 +00:00
nifi 467df8ad4c reverted accidental commit 2010-01-14 22:26:38 +00:00
nvt-se d2655eac7a make watchdog management slightly more abstract to simplify porting 2010-01-14 21:16:58 +00:00
adamdunkels 46753473fa Added constants for light sensor values 2010-01-14 20:23:02 +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
adamdunkels bb63085f60 Added SHT11 sensor API for Tmote Sky 2010-01-14 20:16:52 +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
joxe 31ea888b75 fixed Sky platform for new sensor APIs 2010-01-14 14:00:38 +00:00
joxe 4a3953204f changed sky sensors to new api 2010-01-14 13:53:06 +00:00
adamdunkels e3fed27f4a Broke out the CC2420 SFD interrupt into a separate file to allow easier overloading with project-specific files 2009-12-05 19:42:56 +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 f03caa357e Allow reprogramming invidual nodes with 'make file.upload MOTE=x' where x is the mote number just like with make login 2009-10-29 22:10:21 +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 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
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
nvt-se ebd91b9f9d Removed deprecated dir cache macro. 2009-08-30 20:36:32 +00:00
adamdunkels b71faae330 ext-sensor: new driver for external sensors (e.g. Phidgets) on the Sentilla JCreate, developed by Marcus Lunden 2009-08-25 16:24:49 +00:00
nvt-se b0431cc688 removed obsolete offset type definitions. 2009-07-13 20:02:16 +00:00
nvt-se 1e0ca9ceac Made the use of micro logs configurable to make file modifications
more efficient on storage types that support inline updates.

The sky platform uses logs, and the native platform uses no logs.
2009-06-29 13:30:16 +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
joxe e16d4b0f06 fixed IPV6 flags for sky 2009-06-26 12:00:49 +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 bc6c9410cc Print out the gateway's IP address more prominently 2009-05-12 17:32:49 +00:00
nvt-se 74e9bc8789 Added flash reads and writes to energest. 2009-05-11 15:26:24 +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
joxe 6a7bc4c3a5 added mcu-chip temperature to accelerometer sensor - value 3 2009-05-08 16:03:50 +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 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
adamdunkels bbab7ba55c When the tmote-bsl binary is found, program only one mote at once (parallel programming with tmote-bsl doesn't seem to work) 2009-04-29 11:42:56 +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 2e37fca49f Check for tmote-bsl-linux binary under linux, and use it is available 2009-04-10 07:43:29 +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
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 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
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
fros4943 b730fb329d changed upload rules due to problems on linux platforms 2009-04-02 11:15:30 +00:00
nifi c6b15c289e * show radio channel at startup
* only initialize timesynch when timesynch is enabled
2009-03-31 13:25:50 +00:00
fros4943 ac22ad5081 changed the Makefile rules for uploading to sky-nodes.
the earlier approach caused problems sometimes, resulting in command succeeding without all nodes being reprogrammed
2009-03-26 13:29:44 +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 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
adamdunkels ac9ab9c582 #include lib/random.h 2009-03-01 20:42:10 +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
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
fros4943 f1fc4c879f cfs_coffee_get_fd_set() was renamed 2009-02-09 10:09:13 +00:00
nvt-se d0a546b049 A long refactoring session yielded the following.
Technical changes:

* Factored out file specific information from the file descriptor
  structure into a new file structure.

  - Useful file metadata can be stored after the file is closed.
  - File descriptors become much smaller.
  - Significantly reduces the need to scan for the file end.

* Use correct types in all function signatures.
* Removed the directory cache.

Results:

* Enormous speed increase when opening cached files (10x-20x.)
* Multiple fd:s pointing to the same file have the correct semantics.
* About 100 bytes smaller ROM size.
* Slightly smaller static RAM size.
2009-02-08 17:08:13 +00:00
adamdunkels 440899e4cb Seed rand() with the node ID + MAC address 2009-02-07 16:49:36 +00:00
adamdunkels 5cf0c25ca6 A few more minor fixes 2009-02-04 20:58:05 +00:00
adamdunkels 96882c402a Fixed conformance to Contiki code style :) 2009-02-04 20:55:41 +00:00
joxe 9689a579be added DCO/CPU speed re-synch each 30 seconds 2009-02-04 19:32:20 +00:00
fros4943 c16921f108 checkpointing library implemented for the sky platform (cfs interface is currently not optimized) 2009-02-04 17:51:49 +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 603740b13b removed compiler warning by returning 0 at undefined value 2009-01-23 17:08:17 +00:00
fros4943 ebcaf8eec8 removed compilation warning due to unused is_gateway variable (outside uIP mode) 2009-01-19 13:44:04 +00:00
adamdunkels e70b45c102 Updated to make use of the tmote-bsl instead of msp430-bsl (needed for the Sentilla JCreate) if it exists 2009-01-15 22:12:46 +00:00
adamdunkels 29fe3d8741 Added acc-sensor.c, dDriver for the acceleromenter sensors on the Sentilla JCreate board 2009-01-15 21:07:03 +00:00
adamdunkels 9f0006fde0 Driver for the acceleromenter sensors on the JCreate board 2009-01-15 21:06:02 +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
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