Commit graph

744 commits

Author SHA1 Message Date
nvt-se
2cc0135e35 cleaned up and fixed an error checking problem in the locking code. 2008-02-28 15:11:22 +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
oliverschmidt
d74fd06536 Now that process initialization has been changed (back) to synchronous it needs to be called after reading the config file and setting the mouse sprite in order to preserve the existing logic. 2008-02-17 14:12:52 +00:00
oliverschmidt
93789de9dd Now that process initialization has been changed (back) to synchronous it needs to be called after reading the config file in order to preserve the existing logic. 2008-02-17 14:11:48 +00:00
oliverschmidt
df441f50a3 Replaced (now obsolete) PROCESS_LOADABLE with AUTOSTART_ENABLE. 2008-02-15 16:51:06 +00:00
nvt-se
a06b85f74b adjusted uIP parameters. 2008-02-13 15:41:04 +00:00
fros4943
27ac84d009 simlog function declaration 2008-02-11 18:45:18 +00:00
fros4943
4c56fce697 updated cfs_write arguments 2008-02-11 18:40:16 +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
oliverschmidt
b252bb9fc9 Removed finally unnecessary cast (and reverted unintentionally commited change). 2008-02-10 22:52:41 +00:00
oliverschmidt
2632f8f937 Removed finally unnecessary cast. 2008-02-10 22:36:36 +00:00
oliverschmidt
0e96534ca8 Now that process initialization has been changed (back) to synchronous it needs to be called after adding program handler menu items in order to preserve the the existing program handler logic. 2008-02-10 19:14:48 +00:00
oliverschmidt
8823dfe250 Adjusted to the new shell. 2008-02-10 12:13:06 +00:00
oliverschmidt
2b1abd87af Replaced (now obsolete) PROCESS_LOADABLE with AUTOSTART_ENABLE (and use it now in the platform build to start the program handler). 2008-02-10 11:29:24 +00:00
oliverschmidt
034bc4ec66 Adjusted to the new shell. 2008-02-09 18:56:26 +00:00
oliverschmidt
614fa668cd Removed SELFSTART_PROCESS as AUTOSTART_ENABLE generally serves that purpose - and AUTOSTART_ENABLE gets already set as required :-) 2008-02-08 22:48:28 +00:00
oliverschmidt
0655839603 Removed superfluous semicolon. 2008-02-08 12:14:52 +00:00
oliverschmidt
fe6a55d1a4 Accomodate for the now more complex shell output. 2008-02-07 23:06:03 +00:00
oliverschmidt
806f79bb03 Replaced (now obsolete) PROCESS_LOADABLE with SELFSTART_PROCESS. 2008-02-07 16:34:18 +00:00
oliverschmidt
155a27ff59 Switched from (now obsolete) 'process_load' to 'autostart_processes'. 2008-02-07 15:53:43 +00:00
oliverschmidt
a105e1a40c Added 'const'. 2008-02-06 16:41:19 +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
f5b08ff115 Added a crude hack for drawing lines between nodes 2008-02-03 20:49:50 +00:00
adamdunkels
28a3a51f82 Added uIP ICMP destimation unreachable message generation 2008-01-24 23:09:40 +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
nifi
3e0e3d4965 added energest-arch.c 2008-01-18 18:26:02 +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
7a356d0fb5 Added support for (simulated) serial data input. Data written to netsim's standard input are now sent as serial data to the main node. 2008-01-14 09:38:16 +00:00
fros4943
4c131d6975 added max printf2log message size 2008-01-11 15:37:38 +00:00
adamdunkels
0cb1efe718 Added cfs-posix 2008-01-08 14:27:28 +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
adamdunkels
bd9230b4b3 Added serial input from stdin, removed uIP initialization since uIP is not used anyway, made stdout unbuffered 2008-01-08 08:08:57 +00:00
adamdunkels
b7ab95499f Added serial and cfs-posix-dir 2008-01-08 08:08:05 +00:00
oliverschmidt
26a554e7c2 Added C128 port. It runs the example webserver both in the cgi and cfs variant - although the latter only with a reduced MTU size due to memory constraints. 2008-01-05 22:30:23 +00:00
oliverschmidt
a9a1a00f27 Moved GTK port to the backyard as it doesn't work for quite some time by now. 2008-01-05 21:06:38 +00:00
oliverschmidt
00d75c8d16 Made use of uip_ipaddr_to_quad(). 2008-01-04 23:28:33 +00:00
oliverschmidt
74fc3b4576 Made netsim gateway ip addr on Windows/Cygwin configurable at the command line. 2008-01-04 23:23:29 +00:00
oliverschmidt
5bff4631e4 Minor reformatting. 2008-01-04 23:09:03 +00:00
oliverschmidt
f75d01a428 Log ip addr in the ordinary way. 2008-01-04 22:21:04 +00:00
oliverschmidt
b96c9deebc Added "usual" comments. 2008-01-04 21:53:32 +00:00
oliverschmidt
bb19396d21 Introduced yet another high-level config macro. 2008-01-01 19:47:03 +00:00
oliverschmidt
852d2c0283 Introduced very lightweight pfs implementation based on Apple ProDOS.
ProDOS requires for each opened file a user-supplied page-aligned 1024 byte i/o buffer. This makes the generic POSIX file i/o library contained in the cc65 C-library quite heavyweight.

In contrast the lightweight pfs implementation uses the uIP packet buffer as ProDOS i/o buffer. Therefore:
- Only one file may be open at any time.
- That file may not be open while the uIP packet buffer is used by uIP. The open()/read()/close() sequence should be completed before Contiki event scheduling or inside handling a single Contiki event.
- The uIP packet buffer must be large enough to hold the ProDOS I/O buffer. Depending on the position of the uIP buffer in memory this means between 1024 and 1024 + 256 bytes. Therefore in an Ethernet environment setting the MTU_SIZE to at least 1266 is safe (So the default of 1500 is just fine).
2008-01-01 18:49:50 +00:00
oliverschmidt
69faf1ff4d Set sprite color. 2007-12-24 15:01:49 +00:00
oliverschmidt
5592b1df6c Implement cfs API on preprocessor level using POSIX functions.. 2007-12-23 15:29:19 +00:00
oliverschmidt
fda38428d9 Introduced some more high-level config macros. 2007-12-23 13:55:38 +00:00
oliverschmidt
14a8cf7200 Made use of the new high-level config macros. 2007-12-23 12:33:57 +00:00
oliverschmidt
125f261b7d Introduced high-level macros to be set on the make command line. They allow easy configuration of Contiki for typical (cc65-)project scenarios. 2007-12-23 12:32:43 +00:00
oliverschmidt
0564cc50fd Splitted POSIX based cfs implementation to avoid pulling in potentially large POSIX directory I/O functions without needing them at all. 2007-12-21 01:36:01 +00:00
oliverschmidt
fe023c6d3e Introduced very lightweight log implementation not depending on any file I/O library. 2007-12-21 00:43:57 +00:00
oliverschmidt
c36697fca9 Added target-specifc mouse configuration values. 2007-12-20 22:59:41 +00:00
oliverschmidt
e63610e1c9 Added target-specifc mouse support (sprite handling). 2007-12-20 22:54:22 +00:00
oliverschmidt
ff6622310f Added target-specifc mouse configuration values. 2007-12-20 22:52:18 +00:00
oliverschmidt
eab988e84d Added target-specifc ctk (and www) configuration values. 2007-12-20 20:54:15 +00:00
nvt-se
f0891be218 added clear channel assessment timeout. long to begin with. 2007-12-20 14:44:31 +00:00
fros4943
d8f6f03edc moving radio init to init-net files 2007-12-20 13:43:24 +00:00
fros4943
d0997c2dab major bugfix: padding synch with zero 2007-12-20 13:36:59 +00:00
nvt-se
abb2731ed7 corrected comparison when bits don't need shifting. 2007-12-20 10:48:01 +00:00
nvt-se
7a6a9e62e4 improved logic. 2007-12-19 13:25:41 +00:00
nvt-se
1f00c20815 state variable must be volatile. 2007-12-19 13:09:01 +00:00
oliverschmidt
70fe24817e Added target-specifc ctk (and www) configuration values. 2007-12-18 17:51:20 +00:00
nvt-se
b4a8641dda removed printf's. 2007-12-18 15:27:43 +00:00
nvt-se
f9d24f0d24 Wake up from sleep in the interrupt when the receiver process is going
to be polled.
2007-12-18 15:26:25 +00:00
fros4943
d21572da02 configurable port 2007-12-18 11:55:01 +00:00
nvt-se
ab115e4b10 Removed deprecated function. 2007-12-17 20:18:29 +00:00
nvt-se
1566f55e04 use smaller payload buffer size and provision for synchronization word in
the total buffer.
2007-12-17 20:15:53 +00:00
nvt-se
bcefffb0e7 set ev to valid value. 2007-12-17 18:48:50 +00:00
nvt-se
692da8fd47 swapped the currents for lpm and cpu. 2007-12-17 18:47:17 +00:00
nvt-se
004143b6b8 set rxlen to zero before enabling interrupts. 2007-12-17 16:37:15 +00:00
nvt-se
2288cdecbb small cleanup. 2007-12-17 16:23:32 +00:00
nvt-se
2d5f331b34 new line. 2007-12-17 16:20:34 +00:00
fros4943
479d74ce6a added receiver process outside interrupt 2007-12-17 15:53:57 +00:00
fros4943
7886d51045 removed old dma_init 2007-12-17 15:47:55 +00:00
fros4943
3936e0c275 updated version 2007-12-17 15:47:40 +00:00
nvt-se
5f1ca4ccdf use synchronous transmission. 2007-12-17 15:26:47 +00:00
nvt-se
2a0351afb4 improved uip support and cleaned up the source. 2007-12-17 13:33:09 +00:00
nvt-se
86ce511469 Separate files for network initialization. 2007-12-17 13:20:54 +00:00
nifi
babb455dae More explicit assignment of Rime address from node ID 2007-12-17 13:04:10 +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
nifi
f4ddc371e8 changed the way that rime address is set 2007-12-17 12:17:23 +00:00
fros4943
4da695ce72 bugfix: adding cc1020_init again, node hangs at cc1020_on (calib) otherwise 2007-12-17 11:23:57 +00:00
nvt-se
6a42706847 removed duplicate. 2007-12-17 11:15:21 +00:00
nvt-se
a305e3ccbb removed lpm_on. 2007-12-17 11:14:28 +00:00
fros4943
3969ea6f9d not using usb port to program the msb 2007-12-17 11:10:45 +00:00
oliverschmidt
e991edc24d Added route handling to the Cygwin build. It is done similiar to the other builds by simply shelling out to 'route'. However the coding isn't placed in the driver but in the netsim node main method - and it is fully parametrized.
Cygwin doesn't seem to call exit functions on SIGTERM so I needed to go for a signal handler in order to delete the route.
2007-12-17 01:12:09 +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