亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zmac.c

?? Zigbee2006入門源代碼,包括了Zigbee的入門介紹,和源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/********************************************************************************************************
    Filename:       zmac.c
    Revised:        $Date: 2006-11-28 13:47:33 -0800 (Tue, 28 Nov 2006) $
    Revision:       $Revision: 12837 $

    Description:

    This file contains the ZStack MAC Porting Layer

    Notes:

    Copyright (c) 2006 by Texas Instruments, Inc.
    All Rights Reserved.  Permission to use, reproduce, copy, prepare
    derivative works, modify, distribute, perform, display or sell this
    software and/or its documentation for any purpose is prohibited
    without the express written consent of Texas Instruments, Inc.
 ********************************************************************************************************/


/********************************************************************************************************
 *                                               INCLUDES
 ********************************************************************************************************/

#include "ZComDef.h"
#include "OSAL.h"
#include "ZMAC.h"

/********************************************************************************************************
 *                                                 MACROS
 ********************************************************************************************************/

/********************************************************************************************************
 *                                               CONSTANTS
 ********************************************************************************************************/
static CONST byte TxPowerSettings[] =
{
  OUTPUT_POWER_0DBM,
  OUTPUT_POWER_N1DBM,
  OUTPUT_POWER_N3DBM,
  OUTPUT_POWER_N5DBM,
  OUTPUT_POWER_N7DBM,
  OUTPUT_POWER_N10DBM,
  OUTPUT_POWER_N15DBM,
  OUTPUT_POWER_N25DBM
};

/********************************************************************************************************
 *                                               GLOBALS
 ********************************************************************************************************/
uint32 _ScanChannels;

extern uint8 aExtendedAddress[];

/********************************************************************************************************
 *                                               LOCALS
 ********************************************************************************************************/

/* Pointer to scan result buffer */
void *ZMac_ScanBuf = NULL;

/********************************************************************************************************
 * LOCAL FUNCTION PROTOTYPES
 ********************************************************************************************************/

/********************************************************************************************************
 *                                                TYPEDEFS
 ********************************************************************************************************/


/********************************************************************************************************
 *                                                FUNCTIONS
 ********************************************************************************************************/

/********************************************************************************************************
 * @fn      ZMacInit
 *
 * @brief   Initialize MAC.
 *
 * @param   none.
 *
 * @return  status.
 ********************************************************************************************************/
ROOT uint8 ZMacInit( void )
{
  uint8 stat;

  MAC_Init();
  MAC_InitDevice();

#if defined ( RTR_NWK )
  MAC_InitCoord();
#endif

  // If OK, initialize the MAC
  stat = ZMacReset( TRUE );

  // Turn off interrupts
  osal_int_disable( INTS_ALL );

  return ( stat );
}

/********************************************************************************************************
 * @fn      ZMacUpdate
 *
 * @brief   Gives MAC (or others) some processing time.
 *
 * @param   none.
 *
 * @return  true if CPU needs to keep running (not sleep).
 ********************************************************************************************************/
ROOT byte ZMacUpdate( void )
{
  /* Put code here that needs to run each OSAL event loop */
  return ( false );
}

/********************************************************************************************************
 * @fn      ZMacReset
 *
 * @brief   Reset the MAC.
 *
 * @param   Default to PIB defaults.
 *
 * @return  status.
 ********************************************************************************************************/
ROOT uint8 ZMacReset( bool SetDefaultPIB )
{
  byte stat;
  byte value;

  stat = MAC_MlmeResetReq( SetDefaultPIB );

  // Don't send PAN ID conflict
  value = FALSE;
  MAC_MlmeSetReq( MAC_ASSOCIATED_PAN_COORD, &value );
  MAC_MlmeSetReq( MAC_EXTENDED_ADDRESS, &aExtendedAddress );

  if (ZMac_ScanBuf)
  {
    osal_mem_free(ZMac_ScanBuf);
    ZMac_ScanBuf = NULL;
  }

  return ( stat );
}


/********************************************************************************************************
 * @fn      ZMacGetReq
 *
 * @brief   Read a MAC PIB attribute.
 *
 * @param   attr - PIB attribute to get
 * @param   value - pointer to the buffer to store the attribute
 *
 * @return  status
 ********************************************************************************************************/
ROOT uint8 ZMacGetReq( uint8 attr, uint8 *value )
{
  if ( attr == ZMacExtAddr )
  {
    osal_cpyExtAddr( value, &aExtendedAddress );
    return ZMacSuccess;
  }

  return (ZMacStatus_t) MAC_MlmeGetReq( attr, value );
}


/********************************************************************************************************
 * @fn      ZMacSetReq
 *
 * @brief   Write a MAC PIB attribute.
 *
 * @param   attr - PIB attribute to Set
 * @param   value - pointer to the data
 *
 * @return  status
 ********************************************************************************************************/
ROOT uint8 ZMacSetReq( uint8 attr, byte *value )
{
  if ( attr == ZMacExtAddr )
  {
    osal_cpyExtAddr( &aExtendedAddress, value );
  }

  return (ZMacStatus_t) MAC_MlmeSetReq( attr, value );
}

/********************************************************************************************************
 * @fn      ZMacAssociateReq
 *
 * @brief   Request an association with a coordinator.
 *
 * @param   structure with info need to associate.
 *
 * @return  status
 ********************************************************************************************************/
ROOT uint8 ZMacAssociateReq( ZMacAssociateReq_t *pData )
{
  /* Right now, set security to zero */
  pData->Sec.SecurityLevel = false;

  MAC_MlmeAssociateReq ( (macMlmeAssociateReq_t *)pData);
  return ( ZMacSuccess );
}

/********************************************************************************************************
 * @fn      ZMacAssociateRsp
 *
 * @brief   Request to send an association response message.
 *
 * @param   structure with associate response and info needed to send it.
 *
 * @return  status
 ********************************************************************************************************/
ROOT uint8 ZMacAssociateRsp( ZMacAssociateRsp_t *pData )
{
  /* Right now, set security to zero */
  pData->Sec.SecurityLevel = false;

  MAC_MlmeAssociateRsp( (macMlmeAssociateRsp_t *) pData );
  return ( ZMacSuccess );
}

/********************************************************************************************************
 * @fn      ZMacDisassociateReq
 *
 * @brief   Request to send a disassociate request message.
 *
 * @param   structure with info need send it.
 *
 * @return  status
 ********************************************************************************************************/
ROOT uint8 ZMacDisassociateReq( ZMacDisassociateReq_t *pData )
{
  /* Right now, set security to zero */
  pData->Sec.SecurityLevel = false;

  MAC_MlmeDisassociateReq( (macMlmeDisassociateReq_t *)pData);
  return ( ZMacSuccess );
}

/********************************************************************************************************
 * @fn      ZMacOrphanRsp
 *
 * @brief   Allows next higher layer to respond to an orphan indication message.
 *
 * @param   structure with info need send it.
 *
 * @return  status
 ********************************************************************************************************/
ROOT uint8 ZMacOrphanRsp( ZMacOrphanRsp_t *pData )
{
  /* Right now, set security to zero */
  pData->Sec.SecurityLevel = false;

  MAC_MlmeOrphanRsp( (macMlmeOrphanRsp_t *)pData);
  return ( ZMacSuccess );
}

/********************************************************************************************************
 * @fn      ZMacRxEnableReq
 *
 * @brief   This function contains timing information that tells the
 *          device when to enable or disable its receiver, in order
 *          to schedule a data transfer between itself and another
 *          device. The information is sent from the upper layers
 *          directly to the MAC sublayer.
 *
 * @param   structure with info need send it.
 *
 * @return  status
 ********************************************************************************************************/
ROOT uint8 ZMacRxEnableReq( ZMacRxEnableReq_t *pData )
{
  /* This feature is no longer in the TIMAC */
  return ( ZMacUnsupported );
}

/********************************************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美巨大另类极品videosbest | 久久久国产一区二区三区四区小说| 91精品国产综合久久香蕉的特点| 51久久夜色精品国产麻豆| 欧美成人一区二区三区在线观看 | 亚洲色图制服诱惑| 三级亚洲高清视频| 国产乱码精品1区2区3区| 99精品欧美一区二区三区小说| 欧美天堂亚洲电影院在线播放| 日韩欧美你懂的| 成人av在线影院| 日韩欧美一卡二卡| 国产精品美女久久久久久久久久久| 亚洲成人黄色小说| 成人精品国产一区二区4080| 91精品国产综合久久久蜜臀粉嫩 | 久久精品人人爽人人爽| 亚洲成av人片观看| 成人国产亚洲欧美成人综合网| 欧美精品日韩综合在线| 亚洲欧美另类小说| 欧美精品一卡二卡| 久久精品一区二区三区不卡牛牛 | 国产高清精品久久久久| 欧美二区在线观看| 亚洲另类一区二区| 国产福利精品一区| 精品久久久久久久久久久久久久久久久 | 91精品福利视频| 中国色在线观看另类| 国产在线国偷精品免费看| 欧美一区二区三区在线电影 | 亚洲激情图片一区| 99这里只有久久精品视频| 久久久不卡影院| 国产原创一区二区三区| 欧美videos大乳护士334| 青青草91视频| 欧美成人官网二区| 国产在线不卡一区| 国产精品亚洲一区二区三区妖精| 91精品国产综合久久福利| 丝袜美腿成人在线| 欧美一区二区三区在线电影| 看电影不卡的网站| 欧美精品一区二区三| 国产麻豆视频一区二区| 日本一区二区三区免费乱视频| 国产成人av电影在线| 国产欧美精品在线观看| 99久久国产综合精品色伊| 亚洲精品精品亚洲| 3atv一区二区三区| 狠狠色丁香久久婷婷综| 国产女同性恋一区二区| 欧美在线小视频| 久久99国产精品麻豆| 中文字幕中文字幕一区二区| 欧美日韩美女一区二区| 毛片一区二区三区| 亚洲欧洲99久久| 欧美精品亚洲一区二区在线播放| 久草精品在线观看| 亚洲精品国产精品乱码不99| 91精品国产91久久久久久一区二区| 国产一区美女在线| 亚洲一区二区精品视频| 久久免费电影网| 欧美伊人精品成人久久综合97| 狠狠色丁香久久婷婷综| 亚洲午夜一区二区三区| 国产精品乱码一区二三区小蝌蚪| 欧美剧在线免费观看网站| 久久免费午夜影院| 91精品国产高清一区二区三区| 色综合久久中文综合久久牛| 久久99国产精品免费网站| 五月天激情综合网| 国产成人日日夜夜| 丝袜美腿亚洲综合| 亚洲永久免费视频| 亚洲码国产岛国毛片在线| 久久精品亚洲精品国产欧美| 亚洲国产视频一区| 亚洲乱码国产乱码精品精可以看| 久久婷婷久久一区二区三区| 6080亚洲精品一区二区| 一本久久a久久精品亚洲| 波多野结衣中文字幕一区 | 亚洲综合激情另类小说区| 国产精品美女久久久久久久久| 欧美电视剧在线看免费| 欧美一区二区播放| 欧美大片一区二区| 337p日本欧洲亚洲大胆色噜噜| 91精品国产综合久久久蜜臀图片| 欧美撒尿777hd撒尿| 欧美色图片你懂的| 一区二区三区日本| 国产精品久久午夜夜伦鲁鲁| 国产亚洲成aⅴ人片在线观看| 久久久精品一品道一区| 国产精品美女久久久久高潮| 国产精品国产三级国产aⅴ无密码| 国产精品网站一区| 亚洲欧美在线视频| 亚洲午夜电影网| 日韩成人一级大片| 国产麻豆视频精品| 在线中文字幕一区二区| 欧美日韩不卡一区| 久久久精品2019中文字幕之3| 亚洲欧洲日本在线| 亚洲国产日韩综合久久精品| 九色porny丨国产精品| 成人av中文字幕| 日韩一区和二区| 亚洲欧美日韩电影| 国产中文字幕一区| 色婷婷av久久久久久久| 亚洲视频一二区| 久久99精品久久久久久国产越南 | 国产成人精品亚洲777人妖| 91国偷自产一区二区三区成为亚洲经典| 欧美无砖专区一中文字| 欧美国产一区二区| 午夜精品久久久久影视| 成人av午夜电影| 久久综合九色综合久久久精品综合| 亚洲男人的天堂av| 国产一本一道久久香蕉| 7777精品伊人久久久大香线蕉超级流畅 | 韩国毛片一区二区三区| 91免费版pro下载短视频| 久久久久久97三级| 蜜臂av日日欢夜夜爽一区| 色综合天天性综合| 国产精品视频一区二区三区不卡| 美女尤物国产一区| 56国语精品自产拍在线观看| 玉足女爽爽91| 丁香一区二区三区| 国产午夜精品福利| 国产不卡视频在线播放| 精品动漫一区二区三区在线观看 | 国产成人精品在线看| 久久久99免费| 国产·精品毛片| 国产精品丝袜久久久久久app| 99久久99久久精品免费看蜜桃| 国产精品女同一区二区三区| 国产成人午夜电影网| 欧美国产日韩a欧美在线观看| 高清国产一区二区三区| 亚洲色图制服诱惑| 在线免费av一区| 99精品视频中文字幕| 亚洲午夜在线视频| 欧美日韩不卡在线| 极品尤物av久久免费看| 国产午夜亚洲精品理论片色戒| 成人黄色在线视频| 亚洲综合区在线| 日韩欧美久久一区| 不卡av电影在线播放| 亚洲成人动漫在线观看| 欧美成人精品3d动漫h| hitomi一区二区三区精品| 亚洲综合色视频| 久久久久久99久久久精品网站| 不卡一区二区中文字幕| 日韩成人免费电影| 国产日韩精品一区二区浪潮av | 奇米888四色在线精品| 国产精品污污网站在线观看| 51精品视频一区二区三区| 国产精品99久久久| 日韩在线一区二区三区| 国产亚洲成aⅴ人片在线观看| 欧美三区在线观看| 成人黄色大片在线观看| 全国精品久久少妇| 一区二区三区四区在线免费观看 | 欧美精品免费视频| av资源网一区| 国产一区视频网站| 秋霞国产午夜精品免费视频| 国产精品高潮久久久久无| 日韩三区在线观看| 欧美色欧美亚洲另类二区| av午夜一区麻豆| 国产精品99久久久久久有的能看| 亚洲一级二级三级在线免费观看| 欧美激情一区在线观看| 精品国产乱码久久久久久夜甘婷婷| 欧洲一区二区av| 一本色道久久加勒比精品| 色综合亚洲欧洲| 色婷婷综合中文久久一本|