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
joxe
d75ec2da53
fixed so that uip6 sends icmp6 errors from correct source when acting as router - improves support for tracert, etc.
2010-03-11 18:07:37 +00:00
nifi
58c55340ed
fixed to work with IPv6
2010-03-10 22:30:39 +00:00
adamdunkels
90bb63a383
Set the (correct) packet attribute to let the MAC layer perform retransmissions
2010-03-09 20:40:50 +00:00
adamdunkels
4b60301727
Don't set the ack flag for broadcast packets
2010-03-09 20:40:11 +00:00
adamdunkels
17f6b3a324
Simplified the structure of the code
2010-03-09 20:38:55 +00:00
adamdunkels
d0e6436a20
Don't call up the netstack if the transmission was deferred
2010-03-09 20:37:02 +00:00
c_oflynn
dc3e6c1877
Fix TC/FL errors in hc-06. Need to verify further
2010-03-09 16:19:44 +00:00
joxe
48a9bff889
added support for dropping packets if hop limit is reached
2010-03-09 15:50:15 +00:00
joxe
1214b1fa40
made cc2420 panid and short address not dependent on endianness
2010-03-09 15:45:29 +00:00
c_oflynn
1d483a5da4
Fix UDP compression to work per hc-06. More commits to come to fix Traffic Class stuff...
2010-03-09 15:18:03 +00:00
nvt-se
bf2e85a57f
supply an argument of the same type as the print format
2010-03-09 14:14:36 +00:00
adamdunkels
edda6dd86c
Minor bugfix: don't subtract collisions and deferrals from the number of transmissions
2010-03-09 13:23:58 +00:00
adamdunkels
5a6fc2ade0
Bugfix: set up rtmetric before starting to announce it. Set the number of MAC layer retransmissions correctly
2010-03-09 13:21:28 +00:00
adamdunkels
2c3d3e3d73
Bugfix: handle deferred transmissions correctly (don't count them)
2010-03-09 13:20:08 +00:00
adamdunkels
79722b4247
Rework of the timing conditions of ContikiMAC: the old timing did not work well on real hardware, the new one seems to work better
2010-03-09 13:19:05 +00:00
adamdunkels
cc7d3ae142
Reset CCA mode to default. Make sure that the radio gto switched on when reading RSSI; otherwise node will reboot because of watchdog
2010-03-09 13:18:16 +00:00
nvt-se
96eb20d235
forward arguments even if REXMIT is not set
2010-03-04 14:17:43 +00:00
dak664
c65e09ceb2
Remove compiler warnings
2010-03-02 15:41:23 +00:00
nifi
5e43a6998b
Replaced old framer (framer_get/framer_set) with new NETSTACK style configuration. Added nullrdc-framer that is a nullrdc with framer support.
2010-03-01 13:30:21 +00:00
nifi
0c084b8c68
added random init of sequence number
2010-03-01 13:17:01 +00:00
adamdunkels
524625dfd2
Removed debug string names of packet attribtues
2010-02-28 20:20:19 +00:00
adamdunkels
410d860a93
Improved handling of neighbor phase estimation: instead of busy-waiting while waiting for neighbor's phase, the new code schedules a timer just before neighbor wakes up
2010-02-28 20:19:47 +00:00
adamdunkels
e6fceb7200
Added MAC-layer return value to indicate that a packet transmission was deferred
2010-02-28 20:18:30 +00:00
adamdunkels
ec928a2a19
Make max queueing time depend on retransmission timeout
2010-02-28 14:15:58 +00:00
adamdunkels
e06acc4525
Prod the watchdog if waiting for along time
2010-02-28 14:15:16 +00:00
adamdunkels
74da90a06b
Don't count collisions as transmissions
2010-02-28 10:07:17 +00:00
adamdunkels
f95a6cce85
Added function for obtaining packet queue length
2010-02-28 09:20:32 +00:00
adamdunkels
8fe15f7b45
New packet attribute for specifiying MAC layer retransmissions; reorder and commented packet attributes
2010-02-28 09:19:43 +00:00
adamdunkels
970a9eb9c7
Increased neighbor lifetime to allow for longer neighbor announcement intervals
2010-02-28 09:19:04 +00:00
adamdunkels
7165a3866f
Significant rework of the Contiki data collection protocol:
...
* the new version makes use of MAC-layer feedback so that bad paths
can be identified quicker and then avoided.
* the new code uses transport layer ACKs that contain feedback from
the collect protocol: when a packet cannot be forwarded due to lack
of resources, the ACK contains a flag that indicates that the packet
could not be forwarded. ACKs also contain the routing metric of the
sender, which improves agility in face of rapid path changes.
* loop detection and management has been improved: with higher path
metric agility, the system is more prone to short-lived routing
loops. Instead of dropping looping packets, the new version adjusts
the routing metric for the routes that exhibit loops so that the
risk for future loops is reduced.
* make use of packet attributes to inform the MAC layer of how many
times packets should be retransmitted.
2010-02-28 09:18:01 +00:00
adamdunkels
b6b4941871
Made the number of MAC-layer retransmissions configurable on a per-packet basis, via a packet attribute
2010-02-28 08:35:16 +00:00
adamdunkels
ed88f487c8
Improved detection of link-layer ACKs; increased the time ContikiMAC waits when it has detected a link-layer ACK; increased the number of silence periods required to detect a CCA false positive
2010-02-28 08:33:21 +00:00
adamdunkels
fa1a96636e
Bugfix: the compile-time check for UIP_LLADDR_LEN previously generated a run-time error, when it should have generated a compile-time error
2010-02-28 08:30:39 +00:00
adamdunkels
ba0e50a7b7
Set the default number of MAC layer retransmissions for IPv6 packets to 2
2010-02-28 08:29:42 +00:00
adamdunkels
b9827d2b36
Bugfix: didn't correctly reset the pending flag when a packet was read from the radio
2010-02-25 16:06:44 +00:00
joxe
0ab2bc9a31
upgraded sicslowpan to hc-06 - no 48 bit multicast compression support yet
2010-02-25 15:50:58 +00:00
nifi
b50d47fb80
added missing function in sicslowmac_driver
2010-02-23 22:45:11 +00:00
nifi
1cfcc8a73a
Removed the combined name of CSMA and NETSTACK_RDC. The name of NETSTACK_RDC can be accessed separately if needed.
2010-02-23 20:42:45 +00:00
nifi
c20047f657
Changed the network stack to use different structures for the different layers (network_driver, mac_driver, rdc_driver, radio_driver). This helps to avoid incorrect configuration.
2010-02-23 20:09:11 +00:00
adamdunkels
bb62749de7
Made debug printfs optional
2010-02-23 18:49:58 +00:00
adamdunkels
0ab2ba433f
Bugfix: the wrong callback pointer was passed to higher layers.
2010-02-23 18:49:45 +00:00
adamdunkels
ed52586e18
Rework of parts of the ContikiMAC code based on input from experimental results. When channel check is triggered because of a false positive, the new version checks the radio several times to make sure that there really is an incoming packet. Otherwise, the radio is switched off. Cleaned up and removed old unused code. Added a few temporary debugging mechanisms and functions.
2010-02-23 18:49:05 +00:00
adamdunkels
50e1452564
Ugly workaround for internal error in mspgcc when applying the >= operator to two 32-bit values
2010-02-23 18:40:08 +00:00
adamdunkels
0c4c88ae66
Improved per-packet power profiling: if a packet is retransmitted, the new energy is added to the old energy so that it is possible to measure the full energy for all transmissions of the packet
2010-02-23 18:39:00 +00:00
adamdunkels
ca0417a923
Added the MAC layer callback functionality so that the Rime network layer gets information from the MAC about the status of sent packets: were they successfully transmitted, or was there a collisions? How many retries were there?
2010-02-23 18:38:05 +00:00
adamdunkels
f10eedab3e
Added debug printout
2010-02-23 18:37:15 +00:00
adamdunkels
2d13fecea7
Improved backoff management: timer is now doubled on every transmission, until the using module calls the neighbor_discovery_start() function again. Don't cancel the transmission even if a lower value arrives (this fixes a problem with multi-hop ETX propagaion).
2010-02-23 18:36:50 +00:00
adamdunkels
0eade2886c
Better loop handling: when a loop is detected, the neighbor to which the packet was originally sent gets an inflated ETX; made sure that collect without announcments work; increased timeouts, to work nicer in larger networks
2010-02-23 18:35:23 +00:00
adamdunkels
a4d9d6651b
Added the option to specify the old value to observers so that they can determine if the announcement should be sent out quicklier than otherwise
2010-02-23 18:32:44 +00:00
adamdunkels
b746b7fc06
Reworked the Rime/Chameleon interface so that packets now always hit Rime before Chameleon. Chameleon is now only called by Rime. This makes packet sniffing easier, and allows for sniffing packets after their header has been processed by Chameleon, thereby making per-packet power profiling much easier to implement
2010-02-23 18:29:53 +00:00
adamdunkels
d8cce42d28
Set the default radio driver to nullradio
2010-02-23 18:28:04 +00:00
adamdunkels
47578806b5
Removed semicolon from #define to allow the semicolon to be placed naturally after the macro is used
2010-02-23 18:27:04 +00:00
adamdunkels
4b04fdd328
Minor style fix
2010-02-23 18:26:26 +00:00
adamdunkels
1ee32c3074
Removed non-functional time synchronization code; added some experimental code for CCA checks (enabled CCA mode 1, a temporary development function for setting the CCA threshold); enable the possibility to switch off radio even if a packet is currently arriving
2010-02-23 18:24:49 +00:00
adamdunkels
5292005962
A null radio driver that does not do anything - useful in the native port and as a template for new radio drivers
2010-02-23 18:18:53 +00:00
adamdunkels
0b2b7bcdba
Removed inadvertedly left-over include file
2010-02-18 23:52:34 +00:00
adamdunkels
5cf3b83733
Common initialization code for the netstack
2010-02-18 23:15:26 +00:00
adamdunkels
a2664054c5
Always include netstack.h
2010-02-18 23:09:30 +00:00
adamdunkels
f49ebfe1c4
Temporarily disabled rime route udp because it breaks with newest MAC interfaces
2010-02-18 21:53:08 +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
adamdunkels
f8c804e28b
ntikiMAC: a new radio duty cycling mechanism that uses a combination
...
of link-layer and MAC-layer mechanisms to achieve a very low power
consumption: during idle listening the radio is switched off between
99.2% and 99.6% of the time. One unicast transmission typically adds
between 0.07% and 1.2% additional radio time, depending on packet
size.
ContikiMAC uses the standard IEEE 802.15.4 message format and adds no
additional headers.
ContikiMAC is simple: it uses periodic two-shot channel sampling
during idle listening to keep the radio on-time down. Transmissions
are done with repeated transmissions until a link-layer ACK is
received.
2010-02-18 21:26:15 +00:00
adamdunkels
f5c48751b5
Reworked 802.15.4 header creation and parsing so that it works regardless of the size of the rimeaddr_t typedef
2010-02-18 21:00:28 +00:00
adamdunkels
2fbf21b2b3
Refactored the phase optimization functionality into a separate module
2010-02-18 20:58:59 +00:00
adamdunkels
515a391ee4
Removed left-over debug printfs
2010-02-15 23:31:05 +00:00
dak664
bb9afb4fb1
Remove compiler warning
2010-02-15 20:49:38 +00:00
adamdunkels
4bb0375251
Buffer name definition bugfix
2010-02-15 19:23:54 +00:00
adamdunkels
9bb149ca13
Bugfix by Raimondas Sasnauskas: TCP SYN duplicate receptions in the SYN_RCVD state was not correctly handled
2010-02-15 18:03:07 +00:00
adamdunkels
d67d1f7340
Major bugfix, found by Raimondas Sasnauskas: the TCP periodic timer was not started when a new connection request arrived. If there were no other active TCP connections, this means that the SYNACK would never be retransmitted, potentially leading to a forever stale TCP connection.
2010-02-09 12:58:53 +00:00
adamdunkels
4a522c96dd
Added debugging statements for packet drops
2010-02-08 21:59:49 +00:00
adamdunkels
2b6a651233
Added missing include, made debug statement more explicit
2010-02-08 21:59:21 +00:00
adamdunkels
2eba08e8f6
Made queuebuf statistics configurable, and off by default
2010-02-08 21:10:32 +00:00
nvt-se
f4d19560fc
Fixed a performance problem by not allowing GC while doing merges of files and micro logs.
2010-02-08 14:08:14 +00:00
oliverschmidt
c284092a53
- Set cursor in ctk_draw_init() to top left corner as it is called for re-initialization on Contiki exit.
2010-02-07 21:43:03 +00:00