From: janhauer Date: Thu, 2 Apr 2009 14:02:11 +0000 (+0000) Subject: updated README.txt, changed a comment X-Git-Tag: rc_6_tinyos_2_1_1~432 X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=commitdiff_plain;h=a3ebb402bf00465e45f4420fb0c472e03432cca9 updated README.txt, changed a comment --- diff --git a/tos/lib/mac/tkn154/DispatchSlottedCsmaP.nc b/tos/lib/mac/tkn154/DispatchSlottedCsmaP.nc index 9d551042..7492d540 100644 --- a/tos/lib/mac/tkn154/DispatchSlottedCsmaP.nc +++ b/tos/lib/mac/tkn154/DispatchSlottedCsmaP.nc @@ -205,7 +205,6 @@ implementation m_lastFrame = m_currentFrame; m_currentFrame = NULL; m_txStatus = IEEE154_NO_BEACON; - dbg_serial("DispatchSlottedCsmaP", "CAP component got token, remaining time: %lu\n"); post signalTxDoneTask(); return; } else if (capDuration < guardTime) { @@ -644,8 +643,11 @@ implementation uint8_t *payload = (uint8_t *) frame->data; uint8_t *mhr = MHR(frame); uint8_t frameType = mhr[MHR_INDEX_FC1] & FC1_FRAMETYPE_MASK; + if (frameType == FC1_FRAMETYPE_CMD) frameType += payload[0]; + dbg("DispatchSlottedCsmaP", "Received frame, DSN: %lu, type: 0x%lu\n", + (uint32_t) mhr[MHR_INDEX_SEQNO], (uint32_t) frameType); atomic { if (DEVICE_ROLE && m_indirectTxPending) { message_t* frameBuf; diff --git a/tos/lib/mac/tkn154/DispatchUnslottedCsmaP.nc b/tos/lib/mac/tkn154/DispatchUnslottedCsmaP.nc index f997b798..b323dcef 100644 --- a/tos/lib/mac/tkn154/DispatchUnslottedCsmaP.nc +++ b/tos/lib/mac/tkn154/DispatchUnslottedCsmaP.nc @@ -468,9 +468,10 @@ implementation uint8_t *mhr = MHR(frame); uint8_t frameType = mhr[MHR_INDEX_FC1] & FC1_FRAMETYPE_MASK; - dbg("DispatchUnslottedCsmaP", "Received frame, DSN: %lu, result: 0x%lx\n", (uint32_t) mhr[MHR_INDEX_SEQNO]); if (frameType == FC1_FRAMETYPE_CMD) frameType += payload[0]; + dbg("DispatchUnslottedCsmaP", "Received frame, DSN: %lu, type: 0x%lu\n", + (uint32_t) mhr[MHR_INDEX_SEQNO], (uint32_t) frameType); atomic { if (m_indirectTxPending) { message_t* frameBuf; diff --git a/tos/lib/mac/tkn154/README.txt b/tos/lib/mac/tkn154/README.txt index 01e3989e..e091c419 100644 --- a/tos/lib/mac/tkn154/README.txt +++ b/tos/lib/mac/tkn154/README.txt @@ -1,29 +1,37 @@ This directory contains "TKN15.4", a platform-independent IEEE 802.15.4-2006 -MAC implementation. The code is under active development, but most of the -functionality described in the standard is implemented (and cursorily tested). -The MAC itself is platform-independent, but it requires (1) a suitable radio -driver, (2) Alarms/Timers with symbol precision and (3) some "platform glue" -code (defining guard times, etc.). Currently the only supported platform is -TelosB (but without additional hardware support on TelosB the timing in +MAC implementation. The code is under active development, but most of the +functionality described in the standard is implemented and tested. +The MAC itself is platform-independent, but it requires (1) a suitable radio +driver, (2) Alarms/Timers with symbol precision and (3) some "platform glue" +code (defining guard times, etc.). Currently the only supported platform is +TelosB (but without additional hardware support on TelosB the timing in beacon-enabled mode is not standard compliant). -This code is the basis for the implementation of the TinyOS 15.4 WG: -http://tinyos.stanford.edu:8000/15.4_WG - -Status 3/4/09 -------------- +Status (last updated 4/2/09) +---------------------------- Missing functionality: -- security - GTS -- PAN ID conflict resolution -- multiple indirect transmissions to the same destination +- security services +- PAN ID conflict notification/resolution +- indirect transmissions are incomplete, this is missing: + -- returning an empty DATA frame when there is no data for the device + -- set pending flag if there are multiple indirect transmissions pending + -- purging indirect transmissions on MLME_PURGE.request + -- keep frame in transaction queue in case CSMA-CA algorithm fails +- responding to active scans in nonbeacon-enabled PANs -Documentation -------------- -A technical report on TKN15.4 is under way and will be available at: -http://www.tkn.tu-berlin.de/publications/reports.jsp +Known Issues: +- resetting the MAC during operation (via MLME_RESET) has not been tested +- if initial beacon Tx timestamp is invalid, then coordinator can hang +- frame pending flags are (need to be) always set in the ACK headers +- transmitting coordinator realignment frames has not been tested +- using an incoming and outgoing superframe at the same time has not been tested +- during an ongoing CSMA-CA transmission incoming frames are ignored +- on a beacon-enabled PAN: if the device cannot find the beacon the DATA frame + is not transmitted (but it should be transmitted using unslotted CSMA-CA, see + Sect. 7.5.6.1 "Transmission") Implementation -------------- @@ -39,6 +47,15 @@ upper case". To match the syntax used in the IEEE 802.15.4 standard the interfaces provided by the MAC to the next higher layer deviate from this convention (they are all caps, e.g. MLME_START). +Documentation +------------- + +A technical report on TKN15.4 is available here: +http://www.tkn.tu-berlin.de/publications/papers/TKN154.pdf + +TKN15.4 is the basis for the implementation of the TinyOS 15.4 WG: +http://tinyos.stanford.edu:8000/15.4_WG + Copyright ---------