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.

Functions

uint8_t convert_phyTransmitPower_to_reg_value (uint8_t phyTransmitPower_value)
 Converts a phyTransmitPower value to a register value. More...
 
 FLASH_DECLARE (int8_t tx_pwr_table[16])
 
void init_tal_pib (void)
 Initialize the TAL PIB. More...
 
static uint8_t limit_tx_pwr (uint8_t curr_transmit_power)
 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...
 

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.

FLASH_DECLARE ( int8_t  tx_pwr_table[16])
static uint8_t limit_tx_pwr ( uint8_t  curr_transmit_power)
static

Limit the phyTransmitPower to the trx limits.

Parameters
phyTransmitPowerphyTransmitPower value
Returns
limited tal_pib_TransmitPower

References CONV_DBM_TO_phyTransmitPower, CONV_phyTransmitPower_TO_DBM, PGM_READ_BYTE, 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(), for(), 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_SHORT_ADDR_0, RX_AACK_ON, set_trx_state(), SR_AACK_I_AM_COORD, 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_bit_write(), TRX_OFF, trx_reg_write(), TRX_SLEEP, and TRX_SUPPORTED_CHANNELS.

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(), for(), i, RG_IEEE_ADDR_0, RG_PAN_ID_0, 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, tal_pib, trx_bit_write(), and trx_reg_write().