Microchip® Advanced Software Framework

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

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...
 
static 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_EU }
 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...
 
static void set_default_tx_pwr (void)
 Set the default Power Values For Respective Pages and Channels. 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))

static uint8_t convert_phyTransmitPower_to_reg_value ( uint8_t  phyTransmitPower_value)
static

Converts a phyTransmitPower value to a register value.

Parameters
phyTransmitPower_valuephyTransmitPower value
Returns
register value

References CONV_phyTransmitPower_TO_DBM, MAX_TX_PWR, PGM_READ_BYTE, and tal_pib.

Referenced by set_default_tx_pwr(), tal_pib_set(), and write_all_tal_pib_to_trx().

static FLASH_DECLARE ( uint8_t  tx_pwr_table_NA[TX_PWR_TABLE_SIZE]) = { TX_PWR_TABLE_EU }
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, MIN_TX_PWR, tal_pib, and TX_PWR_TOLERANCE.

Referenced by init_tal_pib(), set_default_tx_pwr(), and tal_pib_set().

retval_t tal_pib_get ( uint8_t  attribute,
uint8_t *  value 
)
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, 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, phyCCAMode, phyCurrentChannel, phyCurrentPage, phyTransmitPower, pib_value_t::pib_value_16bit, pib_value_t::pib_value_32bit, pib_value_t::pib_value_64bit, pib_value_t::pib_value_8bit, pib_value_t::pib_value_bool, RG_IEEE_ADDR_0, RG_PAN_ID_0, RG_PHY_TX_PWR, RG_SHORT_ADDR_0, RX_AACK_ON, set_default_tx_pwr(), set_trx_state(), SR_AACK_I_AM_COORD, SR_CC_NUMBER, SR_CCA_MODE, SR_CHANNEL, SR_MAX_BE, SR_MIN_BE, TAL_BUSY, TAL_ED_RUNNING, 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, TRX_SUPPORTED_CHANNELS, and TRX_SUPPORTED_CHANNELS_CHINA.

Referenced by config_per_test_parameters(), configure_pibs(), peer_rsp_rcvd_exit(), peer_rsp_rcvd_init(), peer_search_initiator_init(), peer_search_receptor_init(), per_mode_initiator_ed_end_cb(), per_mode_initiator_init(), per_mode_receptor_init(), recover_all_settings(), set_channel(), set_channel_page(), set_parameter_on_transmitter_node(), set_paramter_on_recptor_node(), set_tx_power(), and start_ed_scan().

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(), 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_MAX_BE, SR_MAX_CSMA_RETRIES, SR_MAX_FRAME_RETRIES, SR_MIN_BE, tal_pib, trx_bit_write(), and trx_reg_write().

Referenced by internal_tal_reset().