Commit graph

388 commits

Author SHA1 Message Date
adamdunkels edd509acf5 Added nicer configuration options. Added hack for optimizing X-MAC for unicast packets. Added statistics gathering. Turn radio off when someone else is receiving a packet. Queueing packets when X-MAC cannot send immediately (since someone else is transmitting). 2007-05-22 20:55:24 +00:00
adamdunkels a495d1230b Added Rime statistics 2007-05-22 20:53:24 +00:00
adamdunkels 9b6f6d6822 Added IRQ and SERIAL component. 2007-05-22 20:53:04 +00:00
adamdunkels f5c8869028 Added a function for setting the estimated energy of a component 2007-05-22 20:52:20 +00:00
adamdunkels b8d586b210 Enabled dropping of packets with bad CRC. Added statistics gathering. Bugfix when packets where shorter than 2 bytes 2007-05-22 20:51:30 +00:00
adamdunkels 0e4c30ccb4 Added net include to define u*_t types 2007-05-22 20:50:22 +00:00
adamdunkels a68b8a0a0d Rime statistics gathering 2007-05-22 20:48:41 +00:00
adamdunkels 0a26f4a712 Reliable single-hop unicast bulk transfer 2007-05-22 20:45:49 +00:00
adamdunkels 0206e1cd3b Hop-by-hop reliable multi-hop communication primitive (untested) 2007-05-22 20:45:18 +00:00
oliverschmidt fdded2f77f no message 2007-05-22 20:32:32 +00:00
adamdunkels 940f323801 Removed unused files 2007-05-22 17:35:28 +00:00
bg- 6c19bed556 * Rename field reserved to prefix_sz.
* Literal constant RSSI_THRESHOLD.

* Send fake RREPs to implementations that insist on sending HELLOs.

* Ignore and clear ACK flag in RREPs.
2007-05-21 15:26:57 +00:00
bg- 0d908b24c8 * Rename field reserved to prefix_sz. 2007-05-21 15:24:44 +00:00
fros4943 75e2463b17 removed:
uip_fw_init() called from process, causing all network interfaces to be reset *after* earlier initialization routines.
2007-05-21 14:30:38 +00:00
bg- 1009c3fabf * Literal constants REMOTE_*. 2007-05-21 14:24:51 +00:00
bg- be3d5e8394 * s/uip-fw-service/uip-fw-drv/ 2007-05-21 14:13:04 +00:00
oliverschmidt 5f3296e943 Changed packet drivers from services to plain processes.
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.

Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
2007-05-20 21:29:39 +00:00
fros4943 42a952981b bugfix: could not store last seen rreqs 2007-05-20 20:08:28 +00:00
oliverschmidt c32b2ca581 Replaced function with macro. 2007-05-20 00:04:18 +00:00
oliverschmidt 9f97290665 Changed Contiki File System (cfs) from a service to a plain library.
This change means that one needs to select _ONE_ cfs implementation at Contiki library link time. But this doesn't appear to be an issue as all platforms have their "favorite" implementation anyway.
2007-05-19 21:05:48 +00:00
oliverschmidt c15984eb24 Avoid function pointer mismatch in set_receive_function(). 2007-05-19 13:19:22 +00:00
oliverschmidt 0e9c61ca0c The PT_* macros contain return statements so a function using them must return a value. 2007-05-19 13:12:00 +00:00
fros4943 41255df6b0 removed old radio_on/off functions 2007-05-18 13:13:18 +00:00
oliverschmidt e5d6dd1db5 Removed sources from makefile which don't exist in the CVS repository. 2007-05-17 19:22:04 +00:00
adamdunkels dc205a6982 Added error return value 2007-05-17 00:24:29 +00:00
adamdunkels c4b212898b Bugfix: should not invoke timer if timer list is empty. 2007-05-17 00:23:58 +00:00
bg- b0884bf41a * Move loaded modules to higher addresses. 2007-05-15 16:21:29 +00:00
bg- 02c2d3c9c0 * Scratch buffer is used as a string more often than not, change to
char * rather than unsigned char *.
2007-05-15 10:28:03 +00:00
adamdunkels 940da856de Bugfixes, updates 2007-05-15 08:09:21 +00:00
adamdunkels a9e8e9f4fe Replaced uabc with polite, uibc with ipolite, added rudolph2 2007-05-15 08:08:05 +00:00
adamdunkels ac9ba33bd5 Yet another network bulk flooding protocol 2007-05-15 08:07:46 +00:00
adamdunkels 18825e05b6 Strobes for unicast packets are now acked immediately. Sleep cycle is now configurable. Many bugfixes 2007-05-15 08:07:07 +00:00
adamdunkels 434a6376d7 Added nullmac 2007-05-15 08:06:07 +00:00
adamdunkels d1c6b2eb0d Added output functions 2007-05-15 08:05:52 +00:00
adamdunkels 5c79330b41 Made scalar values explicitly unsigned long. Preliminary support for cummulative estimates (larger than 32 bits) 2007-05-15 07:54:03 +00:00
adamdunkels af997a93e0 Moved a much code as possible away from interrupt handler; main thread code now do not need to disable interrupts. Added energy estimation code. Added radio driver structure. 2007-05-15 07:53:09 +00:00
adamdunkels 177e07992d A common structure for radio drivers. Used by MAC protocols. 2007-05-15 07:51:57 +00:00
adamdunkels 8437d95d82 Added hard real-time rtimer to standard include file 2007-05-15 07:48:11 +00:00
adamdunkels 7c88f16e47 Added Rime to default network include file 2007-05-15 07:47:54 +00:00
adamdunkels db0571bef3 Identified polite broadcast primitive 2007-05-15 07:41:36 +00:00
adamdunkels f539f4efd8 Polite broadcast primitive 2007-05-15 07:41:22 +00:00
adamdunkels 5728570aa4 A 'null' MAC protocol that does not do anything 2007-05-15 07:40:22 +00:00
bg- 5fb8871fb6 * NULL pointer spotted by Vlasios. 2007-05-13 15:14:48 +00:00
oliverschmidt 4832e803e8 Made use of signed 32 bit data type. 2007-05-12 21:04:05 +00:00
bg- 813b27d234 * Add last two relocs. 2007-05-11 15:40:16 +00:00
bg- 82aa4b4926 * When looking up potentially bad routes use uaodv_rt_lookup_any
rather than uaodv_rt_lookup.
2007-05-09 16:45:03 +00:00
bg- faf94db265 * Respect "destination only" flag in RREQs.
* If our routes seqno is <= requester last known seqno our route must
  be bad (in his eyes). Previos comparison was < which must be wrong.
2007-05-09 14:53:54 +00:00
bg- 34490eeecb * Make it explicit that some seqno:s are in host byte order by naming
them hseqno.

* Change uaodv_rt_add to take argument in (standard) network byte
  order (and change it to be a pointer).
2007-05-09 13:54:41 +00:00
bg- 1b3c2da7ab * Make it explicit that some seqno:s are in host byte order by naming
them hseqno.

* Change uaodv_rt_add to take argument in (standard) network byte
  order (and change it to be a pointer).
2007-05-09 13:45:16 +00:00
bg- 9cde72c806 * Make filtering criterion on rssi more liberal and don't use the
correlation value at all.
2007-05-09 13:07:55 +00:00
bg- 822f8f01f6 * Change function uaodv_bad_route to uaodv_bad_dest. 2007-05-08 16:07:59 +00:00
bg- c23e583129 * Added flag UAODV_RERR_UNKNOWN to deal with unknown errors that are
often the result of rebooting nodes.

* Change function uaodv_bad_route to uaodv_bad_dest.
2007-05-08 13:33:57 +00:00
bg- 9e9cadabaf * Added flag UAODV_RERR_UNKNOWN to deal with unknown errors that are
often the result of rebooting nodes.
2007-05-08 13:32:55 +00:00
bg- 81ad433208 * Change function uaodv_bad_route to uaodv_bad_dest. 2007-05-08 13:31:50 +00:00
bg- a207770a1e * Add attribute to track bad routes and necessary support for this.
* Revamp forwarding to deal with bad routes or request new routes as
  appropriate.

* Mark bad routes (rather than tossing them) as we are informed by
  other hosts.

* No longer wait two ticks before making route request.
2007-05-08 08:41:26 +00:00
bg- b10eea85f5 * Add attribute to track bad routes and necessary support for this.
* Revamp forwarding to deal with bad routes or request new routes as
  appropriate.
2007-05-08 08:36:00 +00:00
bg- 67e23ee564 * Add attribute to track bad routes and necessary support for this. 2007-05-08 08:30:49 +00:00
bg- 7ec3d191a2 * Need to track if we at the moment are doing forwarding or sending. 2007-05-08 08:28:59 +00:00
bg- 34b1d02607 * Need to track if this was the incoming interface. 2007-05-08 08:27:34 +00:00
bg- 536703d0a2 * Check in with debug off! 2007-05-07 12:02:14 +00:00
bg- d34db6ee92 * Change retransmission scheme both for unicasts and for
broadcasts. Only count retransmissions that actually caused
  transmission (according to the hardware).
2007-05-07 12:01:32 +00:00
bg- b9a3721076 * Keep track of last known seqno. Send last known seqno in RREQs.
* If we have rebooted, bump seqno (gleaned from RREQs).

* Reworked filtering of RREQs.

* Use last known seqno check before responding to RREQ that we have a
  route for. Never graft onto an existing but old route.
2007-05-07 11:51:20 +00:00
bg- cce656e23d * Print LOST in dotted format. 2007-05-07 11:44:40 +00:00
bg- 83f2b1da00 * Use uip_fw return codes.
* Use unicast retransmission scheme also for broadcasts.
2007-05-02 14:51:20 +00:00
bg- 948a88d9e6 * Set route timeout to maximum value for std compliance.
* Rename aodvconn to bcastconn for clarity and uniformity.

* Use uip_udp_packet_send where possible.

* Change a lot of debug printfs.

* Moved call to fwc_add.

* Set ttl to sensible value if AODV_COMPLIANCE.
2007-04-30 15:26:09 +00:00
bg- b2bc97ddba * Constness, voidness. 2007-04-30 15:19:21 +00:00
bg- 5abe5334c8 * Remove forgotten printf. 2007-04-30 09:51:51 +00:00
bg- b14026a394 * Move AODV_COMPLIANCE hack into better place. 2007-04-30 09:51:06 +00:00
bg- 9acf8e021e * Missing return when filtering out bad neigbours.
* Make routing messages bypass routing rather than creating artificial
  neigbours.
2007-04-30 09:49:32 +00:00
bg- b97a9e1c28 * Sending routing messages should bypass same routing protocol.
* Unifdef UAODV_BAD_ROUTE.

* Less confusing debug printf.
2007-04-30 09:47:09 +00:00
bg- f2ea90ba06 * Use literal constant.
* Better debug printf.
2007-04-30 09:42:16 +00:00
bg- e7d7e31bc9 * Better management of "DATA ACK"s. 2007-04-30 09:41:42 +00:00
bg- 9f106aa6fc * Rename cle_upd_reloc to cle_write_reloc and changed first arg to
point to position to be updated.

* Factor cle.c into multiple files.
2007-04-26 13:37:28 +00:00
bg- 7e950141dd * Bug in assertion. 2007-04-26 12:54:52 +00:00
bg- a71b149e29 * Add/update linker & loader error codes. 2007-04-26 12:54:13 +00:00
bg- e82fc60702 * Add GNUC AVR support.
* Add/update linker & loader error codes.
2007-04-26 12:53:49 +00:00
bg- c476a0c1ea * Add GNUC AVR support.
* Change cle_upd_reloc to return consistent errorvalue.

* Suppress stupid GCC warning about casting pointer to wider types
  "(cle_addr)(uintptr_t)".
2007-04-26 12:52:52 +00:00
bg- 6d25bc6215 * For portability reasons change cle_addr from pointer type. 2007-04-25 15:43:43 +00:00
bg- da798a535b * For portability reasons change cle_addr from pointer type.
* Use loader/sym.h.

* cle_upd_reloc() makes updates in memory copy.
2007-04-25 15:41:02 +00:00
bg- ffb90bfe40 * For portability reasons change cle_addr from pointer type. 2007-04-25 15:36:53 +00:00
bg- f7908e332f * Like symtab but rely on ANSI C features. 2007-04-25 15:33:29 +00:00
bg- 1bd92dae47 * Ensure that rand() srand() signatures are compliant with what can be
found in stdlib.h.
2007-04-24 19:01:39 +00:00
bg- cd0d83a705 * Toggle led before returning.
* Change printf.
2007-04-24 18:38:11 +00:00
bg- a9d536e50c * AODV requires that 255.255.255.255 is not rebroadcasted! Deal with
this using conditional compilation (AODV_COMPLIANCE).
2007-04-24 16:58:58 +00:00
bg- 8b1cd7a470 * Explain that SCMP32 comes from RFC 3561 and is easy to implement
using 2's complement arithmetic. Unfortunately C only defines
  unsigned arithmetic and consequently machines that don't use 2's
  complement (i.e unknown arithmetic) will have to be dealt with on a
  per machine basis.
2007-04-24 16:37:45 +00:00
bg- 42fe071745 * Some more debug printfs.
* Correct hop_count when an existing route is found.
2007-04-24 16:08:10 +00:00
oliverschmidt 195cf8cafb Made it build, but certainly _NOT_ work on non-gcc platforms. 2007-04-18 21:26:09 +00:00
oliverschmidt 13cdcbe393 - Removed ctk_arch_isprint() definition as it is - nomen est omen - platform specific.
- Avoided compiler warnings.
- Rearranged headers.
2007-04-15 13:14:40 +00:00
oliverschmidt eec5ae40c9 Avoid compiler warnings. 2007-04-15 13:09:23 +00:00
oliverschmidt 4bf1ecc20e Made endianess configuration actually work. 2007-04-11 00:25:38 +00:00
adamdunkels 336246f406 Makefile 2007-04-07 05:43:52 +00:00
adamdunkels d335cb8087 Power saving MAC protocol based on X-MAC [SenSys 2006] 2007-04-07 05:43:31 +00:00
bg- e03f25aea7 * Unifdef UAODV_BAD_ROUTE.
* Allow more frequent RREQs but avoid some unnecessary ones.
2007-04-05 12:30:17 +00:00
bg- e486c95da2 * Some constness and signedness.
* Connect new routes to existing routes.

* RERR bad destinations not bad nexthops.
2007-04-05 12:09:32 +00:00
bg- 9c8f01be41 * Major overhaul in order to support route sequence numbers.
* Changes to use network byte order.

* Add RREQ forwading cache.

* Fix some const:ness and casts.

* RERR shall only delete old routes.

* Filter RREQ:s also using cc2420_check_remote().

* LRU management of routes.
2007-04-04 12:12:21 +00:00
bg- 8994d8e0b5 * Make uaodv_rt_add return meaningful value.
* uaodv_rt_lru() moves route to head of list.

* Hop count is only 8 bits.
2007-04-04 11:52:29 +00:00
bg- 1d7932c6b3 * Make uaodv_rt_add return meaningful value.
* uaodv_rt_lru() moves route to head of list.

* Configurable number of routes.
2007-04-04 11:50:54 +00:00
bg- 8c0fa5bc8a * Abbreviate originator as orig rather than src to avoid confusion.
* #if 0 unused defines.
2007-04-04 11:48:49 +00:00
bg- 212f455b71 * Literal constants. 2007-04-04 11:46:47 +00:00
bg- 478953dcf4 * Randomised backoff when broadcasting.
* Only warn about rxfifo overflows when sending.

* More intricate tests to verify if transmission really started.
2007-04-04 11:46:10 +00:00