Commit graph

1362 commits

Author SHA1 Message Date
adamdunkels e06a30fdb0 Added MAC-layer duplicate message suppression, which is very helpful when running with duty cycling turned off 2010-04-05 19:28:07 +00:00
adamdunkels c68ee6e577 Bugfix: memory from the wrong memb was freed. 2010-04-04 21:02:09 +00:00
adamdunkels a4c328785a Small timing tweaks 2010-04-04 21:01:24 +00:00
adamdunkels 62039a530d Removed non-existant cooja-debug.h include 2010-04-04 12:31:47 +00:00
adamdunkels 7d6ff0289e Fiddled more with the timing: the phase seems stable now at least. Still bugs left though... 2010-04-04 12:28:29 +00:00
adamdunkels be117afe04 After a lot of tweaking and twiddling with the timing of the ContikiMAC code and the mechanisms in the CC2420 driver, things seem to work somewhat stable now - knock on wood! 2010-04-04 07:49:30 +00:00
adamdunkels a637ddaf4e Flush the rxfifo when turning off the radio instead of when turning it on. This seems to fix a bug that was seen in mspsim and seemed to appear on real hardware too. 2010-04-03 16:01:00 +00:00
adamdunkels 83eaa70f03 Added pending flag 2010-04-03 13:34:20 +00:00
adamdunkels 121ca946e1 Improved phase lock behaviour when neighbor is not duty cycling: senders notify receivers via the 802.15.4 pending bit that they are not duty cycling. Neighbors then will start sending packets immediately and not wait for neighbors' phase. Tweaking of ContikiMAC timers to make it more reliable. 2010-04-03 13:28:30 +00:00
joxe 6ae86d001d made number of phase neighbors configurable 2010-04-01 17:17:36 +00:00
fros4943 59357e8b75 PRINTF():ed debugging output 2010-04-01 11:08:36 +00:00
adamdunkels cc11c9d3f2 Added missing #define 2010-04-01 10:56:00 +00:00
adamdunkels a8d8b6d31d Improved parent management: parent neighbor is retained until a better neighbor is found (with 1 ETX less than parent). Don't drop parent neighbors when loop is detected (loops are transient anyway). 2010-04-01 10:45:21 +00:00
adamdunkels d7457bc340 Improved parent management: parent neighbor is retained until a better neighbor is found (with 1 ETX less than parent). Don't drop parent neighbors when loop is detected (loops are transient anyway). 2010-04-01 10:03:19 +00:00
adamdunkels add426de4b Bugfixed stream mode: node listens 100% for 0.5 seconds in stream mode. Naming change: is_listening changed is_snooping. 2010-04-01 10:02:04 +00:00
adamdunkels 5b121b4829 Set stream bit only on non-FIN TCP segments 2010-04-01 10:01:01 +00:00
adamdunkels b43f7830b3 Fine-tuned the timing and phase lock optimization 2010-03-31 20:27:15 +00:00
adamdunkels c9ca5d61e2 Rewrote the pending_packet() function to check the FIFOP pin instead of the 'pending' variable - works must better on real hardware and is now supported by the latest mspsim 2010-03-31 19:08:56 +00:00
adamdunkels 4e33112d3e Guard against malformed broadcast announcements 2010-03-31 12:17:24 +00:00
adamdunkels 877eb2fbe9 Fiddled with the timing 2010-03-31 11:54:38 +00:00
fros4943 3bd07ea55a bugfix: refresh correct source route
+
refreshing gateway route whenever data is received via a gateway
2010-03-31 09:38:42 +00:00
adamdunkels bcfa80102d Had previously not included the waiting time that the CC2420 introduces when sending a packet. Also increased the smallest packet size, just to be on the safe side. 2010-03-30 23:01:32 +00:00
adamdunkels 4d5f112960 New return value for invidating a link-layer collision 2010-03-30 23:00:22 +00:00
adamdunkels 5e7f99a2c0 Reverted the removal of the code that checked the FIFOP pin before reading a packet - checking FIFOP is the correct way to do it. Also added TXONCCA for now, including new radio.h return values to indicate a link-layer collision. 2010-03-30 23:00:05 +00:00
adamdunkels 226abb8ec3 Removed non-existant include file 2010-03-29 22:10:03 +00:00
adamdunkels 4e3268e2e2 Added function that removes the header 2010-03-29 21:53:04 +00:00
adamdunkels 4c3b69dc07 Configuration parameter for number of MAC-layer retransmissions 2010-03-29 21:52:25 +00:00
adamdunkels 9c58768b59 Extend packet size after creating 802.15.4 header; prepare radio chip with packet before waiting for neighbor phase to make phase wait time deterministic 2010-03-29 21:51:36 +00:00
adamdunkels b4b7e942b6 Back off a guard time for every non-ack packet 2010-03-29 21:50:01 +00:00
oliverschmidt 315e446584 Adjusted formal parameter to single existing actual parameter. 2010-03-29 20:26:14 +00:00
fros4943 0fcbfae836 updated function: has_value argument was missing 2010-03-29 12:13:35 +00:00
fros4943 671629dea0 moved packet_sent function, it was in a HC06-specific unit 2010-03-29 11:48:09 +00:00
fros4943 b952f97799 stopping watchdog during find_file 2010-03-29 11:31:35 +00:00
joxe bd6cd03c1d moved prefix to avoid compiler warning 2010-03-26 15:12:57 +00:00
nifi 9508d2c4d7 * Added configurable default number of transmissions for CSMA to use when not specified using packetbuf attributes (CSMA_CONF_MAX_MAC_TRANSMISSIONS).
* Renamed packetbuf attribute PACKETBUF_ATTR_MAX_MAC_REXMIT to PACKETBUF_ATTR_MAX_MAC_TRANSMISSIONS where value 0 (attribute not set) means that default number of transmissions should be used.
2010-03-26 12:29:29 +00:00
joxe bec1ccc57d added support for all UDP port compressions in hc06 2010-03-26 10:28:51 +00:00
nifi 0ec8d499e4 Bug fix: only call subscriber if set 2010-03-25 19:30:44 +00:00
adamdunkels a4f9e62295 Added a parameter to collect_open() that specifies whether or not the node should be a router for packets, or only an originator of packets. Updated the collect module to the new annoucement API. 2010-03-25 08:51:07 +00:00
adamdunkels 2559e27414 API change to the announcement module: an annoucement can now be registered without a value. Such announcements are never transmitted to neighbors, until the announcement's value is set. 2010-03-25 08:49:56 +00:00
adamdunkels 4d68bdf74b Bugfix and addition by Dogan Yazar: psock_readbuf() shouldn't wait for a full buffer (which might never happen); a new function for sending strings that batches data and sends full buffers instead of individual strings. 2010-03-24 21:03:32 +00:00
nifi c623616afd Neighbor state notification also when adding new neighbors 2010-03-24 16:29:45 +00:00
nifi 052c8db9f9 Added option for neighbor state changed notifications 2010-03-24 16:16:33 +00:00
joxe 4a6c6b0534 added route_rm_by_nexthop and small code cleanup 2010-03-23 14:21:04 +00:00
fros4943 4833c6555e moved inclusion of rtimer-arch.h to top of rtimer.h, to avoid circular rtimer_clock_t dependencies 2010-03-23 13:35:00 +00:00
fros4943 5eb391dbe1 allows rtimer_clock_t to be defined from contiki-conf.h 2010-03-23 13:24:38 +00:00
fros4943 95e870cc46 bugfix: structs should be declared static 2010-03-22 11:32:29 +00:00
fros4943 3394a3ef23 make sure not to add an already existing list element, as it breaks the list iteration functions 2010-03-22 11:29:58 +00:00
nvt-se 0eae63b29a Set a higher start ETX. Avoiding adding a neighbor after a failed packet transmission. 2010-03-19 16:55:29 +00:00
adamdunkels 9d06d84255 Renamed the neighbor module to collect-neighbor, as it is only used by the collect module and is not a generic neighbor module 2010-03-19 13:25:15 +00:00
adamdunkels 49009e9cbd Extend the length of announcement packets if they are too short 2010-03-19 13:24:58 +00:00
adamdunkels 2e8bfa5d9a Include new broadcast-announcement and renamed collect-neighbor in compilation 2010-03-19 13:21:24 +00:00
adamdunkels f2c9b3e813 Remove old neighbor.h inclusion 2010-03-19 13:20:40 +00:00
adamdunkels a3a8c0e179 Safety check: only try to read a packet if it was preceeded by an interrupt (which sets the pending flag) 2010-03-19 13:18:53 +00:00
adamdunkels 3a5be4a7e4 Added broadcast announcement module and collect-neighbor module 2010-03-19 13:17:55 +00:00
adamdunkels 14453e9fb7 Slight API change to support bump functionality 2010-03-19 13:17:31 +00:00
adamdunkels 7b0606cd58 Renamed the neighbor module to collect-neighbor, as it is only used by the collect module and is not a generic neighbor module 2010-03-19 13:17:00 +00:00
adamdunkels 137e02baac Added a bump method that tells the announcement module that a value has changed sufficiently much for it to be pushed out quicker 2010-03-19 13:16:11 +00:00
adamdunkels 17db783fb0 Broadcast announcement back-end that sends announcement data as broadcasts, with increasing transmission intervals 2010-03-19 13:15:19 +00:00
nifi 7f7922a10d typos 2010-03-19 12:54:38 +00:00
joxe cf9acf4748 made it possible to have zero contexts to avoid stateful compression in hc06 2010-03-19 08:15:20 +00:00
joxe 17a721a7e4 fixed buggy define for Traffic class and Flowlabel compression 2010-03-17 20:57:25 +00:00
adamdunkels 115b3a7c5c Minor timing bugfix: the time between channel checks should not include the time required for the channel check itself 2010-03-17 18:24:06 +00:00
adamdunkels efeb9944fa Increase the required non-activity periods before turning off the radio; remove the strict phase requirement (which messes up things with low-power streaming) 2010-03-17 16:35:52 +00:00
nvt-se 1a9e00ab78 Purge neighbors that go over a configurable ETX limit. Increase the no-ACK penalty. 2010-03-17 15:08:46 +00:00
nvt-se 4e0ceedc47 Enabled external neighbor removal 2010-03-17 15:00:52 +00:00
fros4943 55f780ec19 removed debugging output 2010-03-17 14:36:46 +00:00
joxe 4f27fcf766 added ipaddr variable if not UIP_ROUTER is defined 2010-03-17 12:30:25 +00:00
joxe e8916fe01f added hooks for adding an external header compressor 2010-03-17 12:08:59 +00:00
nifi ea090a60e6 Fixed to call the SLIP callback function also when using IPv6 2010-03-17 07:10:25 +00:00
joxe d113577a8e made UIP_ND6_SEND_RA configurable from platforms and projects 2010-03-16 18:27:22 +00:00
adamdunkels 36b995cc9a Reenabled announcement support 2010-03-16 18:12:34 +00:00
adamdunkels 9be1a65211 Don't set the RELIABLE flag on incoming packets with the ack requested flag set, since it is set on most packets even if they aren't reliable 2010-03-16 18:11:58 +00:00
adamdunkels b1feac5a00 Bugfixes in low-power streaming mode, and re-added support for announcements. These now use the low-power streaming mode so that active listening for announcments have a radio duty cycle of 16% rather than 100% 2010-03-16 18:11:13 +00:00
adamdunkels 67b0170a43 Bugfix: don't care about FIFOP when reading a packet; if the radio rx had been turned off before a packet was read, FIFOP would be zero and the packet would be trashed 2010-03-16 18:10:09 +00:00
nifi 6b7ec2d002 removed uip_router 2010-03-16 15:45:20 +00:00
nifi 75091661e6 fixed typo 2010-03-16 15:41:00 +00:00
joxe b4adc6bcb5 added fallback interface and removed uip_router 2010-03-16 15:35:03 +00:00
joxe 2b44f809fb added support for extending route entries 2010-03-16 14:11:46 +00:00
joxe 453cf7f2e6 refactoring of hc06 code 2010-03-16 10:21:04 +00:00
nifi 55e0fec37e * Changed to write keys to CC2420 RAM big-endian order
* Fixed cc2420_aes_cipher() to wait for encryption to finish before reading result
2010-03-15 23:04:54 +00:00
nifi e834562455 * Fixed FASTSPI_READ_RAM_LE to wait for tx end before reading
* Added FASTSPI_WRITE_RAM_BE to write to RAM (big-endian order)
2010-03-15 23:01:37 +00:00
nvt-se 7f687b99e6 Debug off by default 2010-03-15 19:22:29 +00:00
nifi 3f8b346c29 replaced obsolete netif include with new ds6 2010-03-15 16:54:35 +00:00
joxe fd3d6c44d0 integration of new uip6 code from Mathilde and Julien - adds routing and improved interface handling 2010-03-15 16:41:24 +00:00
joxe 7d5e3fbfde added function to retrieve elapsed time 2010-03-15 15:53:57 +00:00
adamdunkels a9bad71fbd Increased the number of bits that repressent the MAX_RETRANSMITS attribute to allow for more than 7 hop-by-hop retransmissions 2010-03-14 23:01:12 +00:00
adamdunkels 7bab9316da Two major changes:
* Low-power streaming. Experimental support for a low-power mode which
  allows rapid exchange of packets with a 16% duty cycle. Does not
  seem to function correctly yet though.

* Phase locking. When the phase of a neighbor has been detected, the
  sender assumes that the neighbor will keeps it phase and does not
  send more strobes than necessary to hit the receiver's channel
  check - even if the receiver does not acknowledge the reception of
  the strobes when it should have been awake. Instead, the sender
  stops strobing and tries again at a later time.
2010-03-14 22:59:23 +00:00
adamdunkels 0035a70537 Reworked the locking code, which seems to fix a few bugs caused by the interaction with contikimac. Contikimac performs a CCA check in a preempting rtimer, which requires underlying code to properly call the GET_LOCK() macro. This fix seems to solve most problems, but there may be others left. 2010-03-14 22:45:20 +00:00
oliverschmidt def540e6c0 Avoid newlines in macro expansions as cc65 doesn't support them between the macro name and the open parenthesis of the arguments.
There were btw other even longer lines with expansions of the same macro already present.
2010-03-14 12:13:54 +00:00
joxe e8bd53cfd8 added typedef of icmp6_error 2010-03-13 09:25:24 +00:00
dak664 0236c6e725 Leave compiler warning for 16 bit timers 2010-03-12 17:51:07 +00:00
joxe 4c2daf9886 started integration of Mathildes and Juliens new uip6 code + made some ND timers configurable 2010-03-12 16:19:19 +00:00
dak664 7c5eed6bda Add includes needed by AVR-gcc, fix compiler warning 2010-03-12 15:23:57 +00:00
dak664 52c9f4bde3 Remove compiler warning 2010-03-12 15:21:14 +00:00
nifi 2cf0fb9cce Changed to use short address mode with short rime addresses 2010-03-12 14:49:21 +00:00
nvt-se 6be0bac1a1 minor include fix + added documentation 2010-03-12 13:40:13 +00:00
nvt-se 881fac7f50 fixed comment 2010-03-12 13:25:14 +00:00
nvt-se 6ce15b14c9 prepend net/ to include paths 2010-03-12 13:23:50 +00:00
nvt-se c316fc2fa9 Make it possible to provide feedback to the neighbor modules 2010-03-12 13:20:13 +00:00
nvt-se 814dd8bf59 Added generic modules for neighbor information. 2010-03-12 13:19:45 +00:00