Commit graph

330 commits

Author SHA1 Message Date
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
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
c5d9795f92 added initialization for uip6 2008-11-05 15:34:04 +00:00
nvt-se
d1d09ea1fd added IPV6 configuration. 2008-11-05 14:31:06 +00:00
nvt-se
aff141f56e reduced default sizes 2008-10-09 14:56:53 +00:00
nvt-se
10639bc982 use abstract types for offsets and pages so that we can easily port it to
very large or small memories.
2008-10-03 19:27:28 +00:00
joxe
1a1ddd0bd5 removed energest-arch from sky and esb platforms 2008-09-29 12:38:18 +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
nvt-se
2b68f88e77 moved platform independent definitions 2008-07-11 21:39:26 +00:00
nvt-se
e8a85b3726 moved platform independent code to the right place 2008-07-11 21:35:10 +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
64b6663b11 moved energest from lib/ to sys/ 2008-07-03 23:59:20 +00:00
adamdunkels
51f4ab8b2c Changed type from off_t (that potentially conflicts with existing types.h typedefs) to unsigned long 2008-07-03 23:12:10 +00:00
adamdunkels
28331191b3 Changed name of simple-cc2420 to cc2420 2008-07-02 09:38:06 +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
dafa1d89a2 Added cc2420-aes.c (functions for interfacing the build-in AES support of the CC2420) 2008-07-02 08:47:05 +00:00
adamdunkels
1586d8f36f Changed filename of the CC2420 driver from simple-cc2420 to cc2420. 2008-07-01 21:02:51 +00:00
adamdunkels
d134a1fcb1 Moved sky-specific make targets from the tools/sky/Makefile to the more natural platform/sky/Makefile.sky. Added a number of convenient targets for accessing the serial port. 2008-05-29 20:15:49 +00:00
adamdunkels
1263eb8455 Moved old unused files to backyard 2008-05-27 13:16:34 +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
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
nvt-se
776f377a69 Configuration for the Sky platform. 2008-04-28 10:34:33 +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
fros4943
3b5fa2d8e5 added 5 second delay before actually burning the node id (may otherwise cause problems with the .upload script) 2008-02-25 16:34:56 +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
9c57e5e272 Moved old Makefile (non-working) from platform/sky to backyard/platform/sky 2008-02-24 22:22:17 +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
5bcd0ab60b Reduced uIP buffer size to allow for TCP data over Rime mesh routing protocol 2008-02-24 21:11:35 +00:00
adamdunkels
6740d95bfa Initialize serial line with 115200 bps for SLIP 2008-02-11 10:44:12 +00:00
adamdunkels
fbcf9b6fcf Disable watchdog while burning node ID 2008-02-11 10:43:47 +00:00
adamdunkels
8058a49d21 Code style fix 2008-02-11 10:43:31 +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
dc43a9713d Added uIP destimation unreachable message, removed defailt XMAC timer definitions (for now), turned profiling off(for now), added process event number configuration, reduced data memory size for the ELF loader 2008-02-03 21:01:36 +00:00
adamdunkels
68523814c5 Moved from examples/sky into generic platform/sky/apps so that all examples can use it 2008-01-23 20:34:37 +00:00
adamdunkels
c2ef303c24 Updated for the new simple_cc2420 API 2008-01-23 14:58:01 +00:00
nvt-se
6005437b27 Disable the watchdog during the whole erase operation. 2008-01-21 10:40:26 +00:00
nvt-se
bed0963769 Call watchdog_periodic before erasing each sector, because this operation
takes approximately 1s.
2008-01-21 10:28:44 +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
adamdunkels
02ee418313 Moving timesynch.[ch] from sys/ to core/net/rime as they have more to do with Rime than with the kernel 2008-01-14 14:22:16 +00:00
adamdunkels
f935be10c9 Added initalization of the serial library. Changed LPM3 to LPM2 since the current serial driver does not work with LPM3 yet (we need to add start edge detection interrupt support to fix that). 2008-01-08 08:21:03 +00:00
adamdunkels
690805ebe7 Added configuration for upcoming shell improvements, removed PROCESS_CONF_FASTPOLL 2008-01-08 08:19:56 +00:00
adamdunkels
959c4f3ee2 Removed ENERGEST_CONF_ON which is present in contiki-conf.h anyway 2008-01-08 08:18:00 +00:00
oliverschmidt
00d75c8d16 Made use of uip_ipaddr_to_quad(). 2008-01-04 23:28:33 +00:00
nvt-se
692da8fd47 swapped the currents for lpm and cpu. 2007-12-17 18:47:17 +00:00
adamdunkels
381f5dc4cc Initialize Rime address from hardware MAC address if no node ID has been configured. Be more explicit on how Rime address is assigned from node ID. Set time synch authority level from Rime address rather than node ID. Fix bug that put CPU in LPM2 instead of LPM3. 2007-12-17 12:35:23 +00:00
adamdunkels
2b4f33a4dd Enabled support for CC2420 timestamps 2007-12-16 15:05:04 +00:00
adamdunkels
d13648292e Added initialization of the time synchronization module 2007-12-16 15:03:35 +00:00
adamdunkels
b2f030897c Removed unused file rom.c 2007-11-28 23:31:53 +00:00
adamdunkels
be300d6765 Removed inclusion of unused file cxmac.h 2007-11-28 23:28:35 +00:00
adamdunkels
f21225eb1c More reasonable current draw numbers + multiply by voltage 2007-11-28 17:06:55 +00:00
adamdunkels
40d9045a2d Moved energy estimation initialization before starting processes so that processes may turn things on and off without messing up the energy estimates 2007-11-28 14:45:22 +00:00
nifi
d16836d9bb changed to show Contiki version, node id, and autostarted processes at startup 2007-11-21 16:41:44 +00:00
adamdunkels
58d442ab2f Removed buggy button.c that is and should not be used 2007-11-18 12:02:49 +00:00
adamdunkels
ff45f9d2c4 Added watchdog support 2007-11-17 10:29:33 +00:00
adamdunkels
f1271464fd Turned on energy estimation and profiling by default 2007-11-13 21:10:50 +00:00
adamdunkels
2140576ac9 Added battery-sensor.c 2007-11-13 20:37:18 +00:00
adamdunkels
d34f8e0dcc Preliminary untested code for the internal MSP430 battery sensor 2007-11-13 20:29:07 +00:00
adamdunkels
b51977a693 Added Doxygen documentation 2007-11-10 20:45:29 +00:00
adamdunkels
ca6abb286b Added LEDs notification. THe program won't compile without a nodeid=XXX now 2007-11-10 20:45:00 +00:00
adamdunkels
d5430dc4dc Added better boot-up behaviour of the LEDs - they can now be used to determine where in the boot sequence the node hangs (if it hangs) 2007-11-10 20:44:30 +00:00
adamdunkels
0ce1708c76 #ifdef around RF_CHANNEL 2007-11-06 20:28:09 +00:00
adamdunkels
dd8469ee4a Added inclusion of Tmote Sky bulk upload makefile 2007-10-25 13:28:15 +00:00
adamdunkels
d2f90802de Compile profiling support only if PROFILE_CONF_ON is defined 2007-10-25 10:21:48 +00:00