From b24866225a6301d3a663f874725e83c012dc25d3 Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Wed, 26 Dec 2012 17:36:00 +0100 Subject: digital/beacon: add bitcloud stack into common directory digital/zigbit --- .../Components/NWK/include/private/nwkTxDelay.h | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkTxDelay.h (limited to 'digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkTxDelay.h') diff --git a/digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkTxDelay.h b/digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkTxDelay.h new file mode 100644 index 00000000..fb841445 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/NWK/include/private/nwkTxDelay.h @@ -0,0 +1,101 @@ +/**************************************************************************//** + \file nwkTxDelay.h + + \brief Interface of transmission delays. + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2008-2011, Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 2009-09-20 Max Gekk - Created. + Last change: + $Id: nwkTxDelay.h 18167 2011-08-08 11:26:31Z mgekk $ + ******************************************************************************/ +#if !defined _NWK_TX_DELAY_H +#define _NWK_TX_DELAY_H + +/****************************************************************************** + Includes section + ******************************************************************************/ +#include +#include +#include +#include + +/****************************************************************************** + Types section + ******************************************************************************/ +/** Internal variables of delay component. */ +typedef struct _NwkTxDelay_t +{ + bool isTimerStarted; + HAL_AppTimer_t timer; + QueueDescriptor_t queue; +} NwkTxDelay_t; + +/****************************************************************************** + Prototypes section + ******************************************************************************/ +/**************************************************************************//** + \brief Transmission delay request. + + \param[in] delayReq - pointer to delay request's parameters. + \param[in] macStatus - pointer to MAC status of MLDE-DATA.confirm or NULL if + it is first transmission. + \return further behavior. + ******************************************************************************/ +NWK_PRIVATE NwkTxDelayStatus_t nwkTxDelayReq(NwkTxDelayReq_t *const delayReq, + MAC_Status_t *const macStatus); + +/**************************************************************************//** + \brief The transmission delay has expired. + + \param[in] delayReq - pointer to delay request's parameters. + \param[in] status - status of further behavior. + \return None. + ******************************************************************************/ +NWK_PRIVATE void nwkTxDelayConf(NwkTxDelayReq_t *const delayReq, + const NwkTxDelayStatus_t status); + +/**************************************************************************//** + \brief Flush all delays. + ******************************************************************************/ +NWK_PRIVATE void nwkFlushTxDelays(void); + +/**************************************************************************//** + \brief Reset delay component. + ******************************************************************************/ +NWK_PRIVATE void nwkResetTxDelays(void); + +/****************************************************************************** + \brief nwkTxDelay idle checking. + + \return true, if nwkTxDelay performs no activity, false - otherwise. + ******************************************************************************/ +NWK_PRIVATE bool nwkTxDelayIsIdle(void); + +/**************************************************************************//** + \brief Delivery time of broadcast data transmission on a network. + + \return Current value of broadcast delivery time in milliseconds. + ******************************************************************************/ +NWK_PRIVATE uint32_t nwkGetBroadcastDeliveryTime(void); + +#if defined _NWK_PASSIVE_ACK_ && (defined _ROUTER_ || defined _COORDINATOR_) +/**************************************************************************//** + \brief All expected passive acks are received, confirm the passive ack req. + + \param[in] delayReq - pointer to delay request's parameters. + \return None. + ******************************************************************************/ +NWK_PRIVATE void nwkPassiveAckConf(NwkTxDelayReq_t *const delayReq); +#endif /* _NWK_PASSIVE_ACK_ */ + +#endif /* _NWK_TX_DELAY_H */ +/** eof nwkTxDelay.h */ + -- cgit v1.2.3