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
14bc9aa98b
New and improved shell collect test: the new test sends out 10 packets from each node and counts the received packets. If less than 10 packets from each node is received, the test fails
2010-02-23 18:46:20 +00:00
adamdunkels
85a9f7db42
Fix bootup printf() with 32-bit timer values
2010-02-23 18:45:16 +00:00
adamdunkels
eadfe5f3d6
Enabled 32-bit clock ticks to allow longer timeouts; experimentally disabled polite announcements in favour of a non-announcement based collect protocol
2010-02-23 18:44:52 +00:00
adamdunkels
69a5b67523
Updated netsim to new netstack API
2010-02-23 18:44:08 +00:00
adamdunkels
08f06d8039
Updated to new sensors API
2010-02-23 18:43:43 +00:00
adamdunkels
757ca59511
Added netstack init to native platform
2010-02-23 18:43:21 +00:00
adamdunkels
ebea184116
Added netstack config for CC2420 radio driver, and also for cxmac RDC layer (which is not confirmed if it runs on real hardware, only tested in simulation)
2010-02-23 18:42:41 +00:00
adamdunkels
465125c5e7
Added support for 32-bit clock ticks: when reading the 32-bit value, make sure that it does not change between readouts to avoid reading right in the middle of it being updated
2010-02-23 18:41:20 +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
c4c4e8164d
Enabled compilation without timesynch enabled
2010-02-23 18:22:44 +00:00
adamdunkels
2186d70c59
Added per-packet power profile tracing
2010-02-23 18:22:16 +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
dak664
e695e4860d
Allow build with original radio driver using $make RF230BB=0
2010-02-23 17:43:20 +00:00
dak664
7274f1d1ed
Report operating channel with either radio driver
2010-02-23 17:40:09 +00:00
dak664
4ded42db1e
Add sniffer and 802 frame reporting
2010-02-23 17:37:51 +00:00
dak664
64d57a3dd8
Update jackdaw to new radio driver interface
2010-02-23 17:35:49 +00:00
dak664
a64a8674bc
Remove debug print
2010-02-23 02:22:25 +00:00
dak664
b4bc7fc3da
Make RF230BB the default radio driver
2010-02-23 02:01:46 +00:00
dak664
cbb8621e30
update to new driver format
2010-02-22 22:23:18 +00:00
dak664
658c35df11
remove debug printf
2010-02-22 22:21:15 +00:00
fros4943
dbd1cd7b08
show contiki stack trace in error dialog, not just print to console
2010-02-21 21:50:58 +00:00
adamdunkels
5e6fd67213
Powertrace: a program that periodically prints out the power consumption; suitable for experiments or simulations that want to measure power consumption
2010-02-20 14:15:45 +00:00
adamdunkels
60425aa355
ESB uses tr1001 radio
2010-02-18 23:53:21 +00:00
adamdunkels
0b2b7bcdba
Removed inadvertedly left-over include file
2010-02-18 23:52:34 +00:00
adamdunkels
fa4d4db329
Use the common netstack_init
2010-02-18 23:19:03 +00:00
adamdunkels
5cf3b83733
Common initialization code for the netstack
2010-02-18 23:15:26 +00:00
adamdunkels
927aa821c3
Updated to new MAC api
2010-02-18 23:10:06 +00:00
adamdunkels
a2664054c5
Always include netstack.h
2010-02-18 23:09:30 +00:00
adamdunkels
459c550cbd
Updated to match the new netstack api
2010-02-18 23:04:54 +00:00
adamdunkels
51980f0be4
CC2420_CONF_AUTOACK is now defined in contiki-conf.h
2010-02-18 23:03:36 +00:00
adamdunkels
953a8c2015
Turn off timer before updating - needed to avoid bugs in ContikiMAC - not 100% sure why
2010-02-18 22:15:54 +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
oliverschmidt
1817acae15
Now that the C64 mouse driver works we can activate the mouse support for this target :-)
2010-02-18 21:30:31 +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
e18f739f04
Fixed compilation without timesynch compiled in
2010-02-18 21:02:30 +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