예제 #1
0
/**************************************************************************************************
 * @fn          macPibReset
 *
 * @brief       This function initializes the PIB.
 *
 * input parameters
 *
 * @param       None.
 *
 * output parameters
 *
 * None.
 *
 * @return      None.
 **************************************************************************************************
 */
MAC_INTERNAL_API void macPibReset(void)
{
  /* copy PIB defaults */
  macPib = macPibDefaults;

  /* initialize random sequence numbers */
  macPib.dsn = macRadioRandomByte();
  macPib.bsn = macRadioRandomByte();
}
예제 #2
0
/**************************************************************************************************
 * @fn          macPibReset
 *
 * @brief       This function initializes the PIB.
 *
 * input parameters
 *
 * @param       None.
 *
 * output parameters
 *
 * None.
 *
 * @return      None.
 **************************************************************************************************
 */
MAC_INTERNAL_API void macPibReset(void)
{
  /* copy PIB defaults */
#if defined( FEATURE_MAC_PIB_PTR )  
  *pMacPib = macPibDefaults;
#else
  macPib = macPibDefaults;
#endif /* FEATURE_MAC_PIB_PTR */

  /* initialize random sequence numbers */
  pMacPib->dsn = macRadioRandomByte();
  pMacPib->bsn = macRadioRandomByte();
}
예제 #3
0
/**************************************************************************************************
 * @fn          macPibReset
 *
 * @brief       This function initializes the PIB.
 *
 * input parameters
 *
 * @param       None.
 *
 * output parameters
 *
 * None.
 *
 * @return      None.
 **************************************************************************************************
 */
MAC_INTERNAL_API void macPibReset(void)
{
    /* Preserve initialized proprietary values. */
    uint8 randomSeed[MAC_RANDOM_SEED_LEN];
    osal_memcpy(randomSeed, pMacPib->randomSeed, MAC_RANDOM_SEED_LEN);

    /* copy PIB defaults */
#if defined( FEATURE_MAC_PIB_PTR )
    *pMacPib = macPibDefaults;
#else
    macPib = macPibDefaults;
#endif /* FEATURE_MAC_PIB_PTR */

    osal_memcpy(pMacPib->randomSeed, randomSeed, MAC_RANDOM_SEED_LEN);

    /* initialize random sequence numbers */
    pMacPib->dsn = macRadioRandomByte();
    pMacPib->bsn = macRadioRandomByte();
}
예제 #4
0
파일: mac_tx.c 프로젝트: LILCMU/WRATIOT
/*=================================================================================================
 * @fn          txCsmaPrep
 *
 * @brief       Prepare/initialize for a CSMA transmit.
 *
 * @param       none
 *
 * @return      none
 *=================================================================================================
 */
static void txCsmaPrep(void)
{
  macTxCsmaBackoffDelay = macRadioRandomByte() & ((1 << macTxBe) - 1);

  if (macTxType == MAC_TX_TYPE_SLOTTED_CSMA)
  {
    MAC_RADIO_TX_PREP_CSMA_SLOTTED();
  }
  else
  {
    MAC_RADIO_TX_PREP_CSMA_UNSLOTTED();
  }
}