Commit graph

4779 commits

Author SHA1 Message Date
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
adamdunkels 6b523f2446 Fixed compilation without timesynch compiled in 2010-02-18 20:56:12 +00:00
dak664 6df1e0ca58 add experimental cxmac code 2010-02-18 17:24:12 +00:00
dak664 38c5922294 experimental cxmac code 2010-02-18 17:23:19 +00:00
dak664 a83381de30 add rtimers for cxmac 2010-02-18 17:21:44 +00:00
dak664 fee5efb141 additions for cxmac 2010-02-18 17:20:50 +00:00
joxe 470b93c79f added mote attributes to various types of motes 2010-02-18 11:13:20 +00:00
joxe 19c75b30e0 added the MoteAttributes interface for handling mote printouts of #A x=y 2010-02-18 11:06:37 +00:00
adamdunkels 333c14e734 New version of MSPsim from the MSPsim SVN, with support for CC2420 auto ACKs 2010-02-17 18:51:59 +00:00
dak664 72e1528ea7 Make sicslowmac the default! 2010-02-16 23:42:06 +00:00