Commit graph

25 commits

Author SHA1 Message Date
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
fros4943 583dd11c55 rime_output() now returns RIME_OK or RIME_ERR depending on the MAC return value.
this patch may affect Rime sniffers running on top of MAC protocols that do not yet return generic MAC return values
2009-11-13 09:10:24 +00:00
nvt-se 4b6c110706 fixed documentation typos. 2009-03-17 20:28:44 +00:00
adamdunkels 65eb5fd4e8 Renamed the rimebuf module to packetbuf to signal that the module is used outside of a pure Rime context (e.g., the sicslowpan code uses it). 2009-03-12 21:58:20 +00:00
adamdunkels 3efb83c338 Added announcement includes 2009-02-09 21:09:42 +00:00
adamdunkels 4687c2c948 Renamed Rime module mh to multihop 2008-07-03 22:36:02 +00:00
adamdunkels ec22f3c2fc Renamed Rime nf module to netflood 2008-07-03 22:02:09 +00:00
adamdunkels c2c3835110 Changed name of Rime module ruc to unicast 2008-07-03 21:52:25 +00:00
adamdunkels 7054083d88 Reverted mistakenly added #include for non-existant file 2008-06-30 20:00:53 +00:00
adamdunkels 651a374eca Removed unused sibc module 2008-06-30 19:56:08 +00:00
adamdunkels e7fb51b14c Added generic return valued 2008-01-24 06:17:33 +00:00
adamdunkels 94f8978443 Rewrote the sniffer code to use a list, which makes it possible to add any number of sniffers. Sniffers now can be both for incoming and outoing packets. 2008-01-14 09:35:53 +00:00
adamdunkels 5b454bbd5f Added a simple sniffer callback, which currently is a hack - a better solution would be a list of sniffers for both outgoing and incoming packets, but this will do for now. Added trickle, neighbor & route includes. 2008-01-08 07:52:31 +00:00
adamdunkels 758411d06d Cleaned up #includes to avoid cyclic dependencies - the Rime includes no longer depend on rime.h 2007-12-17 09:14:08 +00:00
adamdunkels 442516356a Expose the Rime MAC driver so that applications can use it - a bit of a hack, but it works for now 2007-12-05 13:21:58 +00:00
adamdunkels d9bda3bc80 Added mh.h and rmh.h to the default includes 2007-11-28 19:54:24 +00:00
adamdunkels 52eb372890 Modified to use the new MAC layer API 2007-05-25 08:06:44 +00:00
adamdunkels a495d1230b Added Rime statistics 2007-05-22 20:53:24 +00:00
adamdunkels d1c6b2eb0d Added output functions 2007-05-15 08:05:52 +00:00
adamdunkels 36bc77d27f Documentation fixes 2007-03-29 23:38:07 +00:00
adamdunkels f67a47aff4 Documentation update, removed unneeded includes 2007-03-25 17:16:25 +00:00
oliverschmidt b3ab4b4e8f Added missing include. 2007-03-25 09:19:16 +00:00
adamdunkels de8a3fd507 Removed mesh and tree, added queuebuf 2007-03-22 19:03:07 +00:00
adamdunkels cc87617ef2 Removed inclusion of non-existant file rime-types.h 2007-03-16 09:16:40 +00:00
adamdunkels e4e57fca96 Renamed input function to rime_input() and the output function to rime_driver_send() 2007-03-15 21:24:11 +00:00