Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

The PIB(Pan Information Base) attributes related to the TAL are Stored and handled by the TAL PIB storage.

Macros

#define GET_CHINA_FREQ(x)   (11 + (2 * x))
 

Functions

static bool apply_channel_page_configuration (uint8_t ch_page)
 Apply channel page configuartion to transceiver. More...
 
uint8_t convert_phyTransmitPower_to_reg_value (uint8_t phyTransmitPower_value)
 Converts a phyTransmitPower value to a register value. More...
 
static FLASH_DECLARE (uint8_t tx_pwr_table_NA[TX_PWR_TABLE_SIZE]) = { TX_PWR_TABLE_CHINA }
 Tx power table in flash. More...
 
void init_tal_pib (void)
 Initialize the TAL PIB. More...
 
static void limit_tx_pwr (void)
 Limit the phyTransmitPower to the trx limits. More...
 
retval_t tal_pib_get (uint8_t attribute, uint8_t *value)
 Gets a TAL PIB attribute. More...
 
retval_t tal_pib_set (uint8_t attribute, pib_value_t *value)
 Sets a TAL PIB attribute. More...
 
void write_all_tal_pib_to_trx (void)
 Write all shadow PIB variables to the transceiver. More...
 

#define GET_CHINA_FREQ (   x)    (11 + (2 * x))

uint8_t convert_phyTransmitPower_to_reg_value ( uint8_t  phyTransmitPower_value)

Converts a phyTransmitPower value to a register value.

Support and FAQ: visit Atmel Support

Parameters
phyTransmitPower_valuephyTransmitPower value
Returns
register value

References CONV_phyTransmitPower_TO_DBM, i, and PGM_READ_BYTE.

static FLASH_DECLARE ( uint8_t  tx_pwr_table_NA[TX_PWR_TABLE_SIZE]) = { TX_PWR_TABLE_CHINA }
static

Tx power table in flash.

static void limit_tx_pwr ( void  )
static

Limit the phyTransmitPower to the trx limits.

Parameters
phyTransmitPowerphyTransmitPower value

References CONV_DBM_TO_phyTransmitPower, CONV_phyTransmitPower_TO_DBM, MAX_TX_PWR, MAX_TX_PWR_BPSK_20, MAX_TX_PWR_CHINA, MAX_TX_PWR_CHINA_1000, MAX_TX_PWR_OQPSK_100, MIN_TX_PWR, tal_pib, and TX_PWR_TOLERANCE.

Referenced by init_tal_pib(), and tal_pib_set().

retval_t tal_pib_get ( uint8_t  attribute,
uint8_t *  value 
)

Gets a TAL PIB attribute.

This function is called to retrieve the transceiver information base attributes.

Parameters
[in]attributeTAL infobase attribute ID
[out]valueTAL infobase attribute value
Returns
MAC_UNSUPPORTED_ATTRIBUTE if the TAL infobase attribute is not found MAC_SUCCESS otherwise

References mac_i_pan_coordinator, MAC_SUCCESS, MAC_UNSUPPORTED_ATTRIBUTE, macAckWaitDuration, macBattLifeExt, macBeaconOrder, macBeaconTxTime, macIeeeAddress, macMaxBE, macMaxCSMABackoffs, macMaxFrameRetries, macMinBE, macPANId, macPromiscuousMode, macShortAddress, macSuperframeOrder, phyCCAMode, phyChannelsSupported, phyCurrentChannel, phyCurrentPage, phyMaxFrameDuration, phySHRDuration, phySymbolsPerOctet, phyTransmitPower, and tal_pib.

retval_t tal_pib_set ( uint8_t  attribute,
pib_value_t *  value 
)

Sets a TAL PIB attribute.

This function is called to set the transceiver information base attributes.

Parameters
attributeTAL infobase attribute ID
valueTAL infobase attribute value to be set
Returns
  • MAC_UNSUPPORTED_ATTRIBUTE if the TAL info base attribute is not found
  • TAL_BUSY if the TAL is not in TAL_IDLE state. An exception is macBeaconTxTime which can be accepted by TAL even if TAL is not in TAL_IDLE state.
  • MAC_SUCCESS if the attempt to set the PIB attribute was successful
  • TAL_TRX_ASLEEP if trx is in SLEEP mode and access to trx is required

References apply_channel_page_configuration(), Assert, CMD_PLL_ON, CMD_RX_AACK_ON, CMD_RX_ON, CMD_TRX_OFF, convert_phyTransmitPower_to_reg_value(), GET_CHINA_FREQ, i, limit_tx_pwr(), mac_i_pan_coordinator, MAC_INVALID_PARAMETER, MAC_SUCCESS, MAC_UNSUPPORTED_ATTRIBUTE, macAckWaitDuration, macBattLifeExt, macBeaconOrder, macBeaconTxTime, macIeeeAddress, macMaxBE, macMaxCSMABackoffs, macMaxFrameRetries, macMinBE, macPANId, macPromiscuousMode, macShortAddress, macSuperframeOrder, NULL, phyCCAMode, phyCurrentChannel, phyCurrentPage, phyTransmitPower, ptr, RG_IEEE_ADDR_0, RG_PAN_ID_0, RG_PHY_TX_PWR, RG_SHORT_ADDR_0, RX_AACK_ON, set_trx_state(), SR_AACK_I_AM_COORD, SR_CC_NUMBER, SR_CCA_MODE, SR_CHANNEL, SR_MAX_BE, SR_MIN_BE, SR_TX_PWR, TAL_BUSY, TAL_IDLE, tal_pib, tal_rx_buffer, tal_rx_on_required, tal_state, TAL_TRX_ASLEEP, tal_trx_status, tal_trx_wakeup(), TRX_OFF, TRX_SLEEP, TRX_SUPPORTED_CHANNELS, and TRX_SUPPORTED_CHANNELS_CHINA.

void write_all_tal_pib_to_trx ( void  )

Write all shadow PIB variables to the transceiver.

This function writes all shadow PIB variables to the transceiver. It is assumed that the radio does not sleep.

References apply_channel_page_configuration(), CMD_RX_ON, convert_phyTransmitPower_to_reg_value(), i, RG_IEEE_ADDR_0, RG_PAN_ID_0, RG_PHY_TX_PWR, RG_SHORT_ADDR_0, set_trx_state(), SR_AACK_I_AM_COORD, SR_CCA_MODE, SR_CHANNEL, SR_MAX_BE, SR_MAX_CSMA_RETRIES, SR_MAX_FRAME_RETRIES, SR_MIN_BE, SR_TX_PWR, and tal_pib.