Microchip® Advanced Software Framework

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

This application Performance Analyzer is a Serial interface based application, which communicates with Wireless Analyzer to demonstrate various features and capabilities of Atmel Transceivers.

Modules

 Range Measurement
 Performs the functionalities of Range measurement mode, Evaluate the Communication coverage of the transceiver.
 
 Serial Parser
 Handles all the serial input and output commands.
 
 Application Initialization Process
 Initializes the Performance Analyzer Application.
 
 
 User Interface
 Handles all User interface related functions such as Button, Print,LED events.
 
 Packet error rate measurement
 Handles the functionalities of Packet Error Rate Measurement(PER) Mode, User can set and get various paramters of Transceiver like Channel,Antenna Diversity,CSMA and do the Packet Error Rate Measurement.
 

Data Structures

struct  state_function_t
 This structure forms the jump table to address various main states in this application. More...
 

Functions

void app_alert ()
 
static void app_task (void)
 Application task. More...
 
void config_node_ib (void)
 Function to init the information base for device. More...
 
void performance_analyzer_task (void)
 This task needs to be called in a while(1) for performing Performance Analyzer tasks. More...
 
void set_main_state (main_state_t state, void *arg)
 Function to set the main state of state machine. More...
 
void tal_ed_end_cb (uint8_t energy_level)
 
void tal_rx_frame_cb (frame_info_t *frame)
 User call back function for frame reception. More...
 
void tal_tx_frame_done_cb (retval_t status, frame_info_t *frame)
 User call back function for frame transmission. More...
 
retval_t transmit_frame (uint8_t dst_addr_mode, uint8_t *dst_addr, uint8_t src_addr_mode, uint8_t msdu_handle, uint8_t *payload, uint16_t payload_length, uint8_t ack_req)
 Function to transmit frames as per 802.15.4 std. More...
 

Variables

void(* state_function_t::func_ed_end_cb )(uint8_t energy_level)
 
void(* state_function_t::func_main_state_exit )(void)
 
void(* state_function_t::func_main_state_init )(void *arg)
 
void(* state_function_t::func_rx_frame_cb )(frame_info_t *frame)
 
void(* state_function_t::func_sub_state_set )(uint8_t state, void *arg)
 
void(* state_function_t::func_task )(void)
 
void(* state_function_t::func_tx_frame_done_cb )(retval_t status, frame_info_t *frame)
 
volatile node_ib_t node_info
 
static state_function_t const state_table [NUM_MAIN_STATES]
 
static uint8_t storage_buffer [LARGE_BUFFER_SIZE]
 

static void app_alert ( void  )

References delay_us.

Referenced by app_timers_init(), init_state_init(), and main().

static void app_task ( void  )
static

Application task.

References state_function_t::func_task, if(), and node_ib_t::main_state.

Referenced by performance_analyzer_task().

void config_node_ib ( void  )
void performance_analyzer_task ( void  )

This task needs to be called in a while(1) for performing Performance Analyzer tasks.

References app_task(), pal_task(), serial_data_handler(), and tal_task().

Referenced by main().

void tal_ed_end_cb ( uint8_t  energy_level)
void tal_rx_frame_cb ( frame_info_t rx_frame)

User call back function for frame reception.

Parameters
rx_framePointer to received frame structure of type frame_info_t or to received frame array

Referenced by process_incoming_frame().

void tal_tx_frame_done_cb ( retval_t  status,
frame_info_t frame 
)

User call back function for frame transmission.

Parameters
statusStatus of frame transmission attempt
framePointer to frame structure of type frame_info_t

Referenced by tx_done(), and tx_done_handling().

retval_t transmit_frame ( uint8_t  dst_addr_mode,
uint8_t *  dst_addr,
uint8_t  src_addr_mode,
uint8_t  msdu_handle,
uint8_t *  payload,
uint16_t  payload_length,
uint8_t  ack_req 
)

Function to transmit frames as per 802.15.4 std.

Parameters
dst_addr_modedestination address mode - can be 16 or 64 bit
dst_addrdestination address
src_addr_modesource address mode - can be 16 or 64 bit
msdu_handlemsdu handle for the upper layers to track packets
payloaddata payload pointer
payload_lengthdata length
ack_reqspecifies ack requested for frame if set to 1
Returns
MAC_SUCCESS if the TAL has accepted the data for frame transmission TAL_BUSY if the TAL is busy servicing the previous tx request

References CCPU_ENDIAN_TO_LE16, convert_16_bit_to_byte_array(), convert_64_bit_to_byte_array(), CSMA_UNSLOTTED, DST_PAN_ID, EXT_ADDR_LEN, FAILURE, FCF_2_SOURCE_ADDR_OFFSET, FCF_ACK_REQUEST, FCF_FRAMETYPE_DATA, FCF_LEN, FCF_LONG_ADDR, FCF_PAN_ID_COMPRESSION, FCF_SET_DEST_ADDR_MODE, FCF_SET_SOURCE_ADDR_MODE, FCF_SHORT_ADDR, FCS_LEN, for(), FRAME_OVERHEAD, i, frame_info_tag::mpdu, frame_info_tag::msduHandle, node_ib_t::msg_seq_num, PAN_ID_LEN, PL_POS_DST_ADDR_START, SHORT_ADDR_LEN, SRC_PAN_ID, tal_pib, tal_tx_frame(), node_ib_t::transmitting, and node_ib_t::tx_frame_info.

Referenced by handle_gts_data_req(), mac_tx_gts_data(), mcps_data_request(), mlme_gts_request(), process_deallocate_data_q(), range_test_frame_tx(), send_disconnect_command(), send_identify_command(), send_parameters_changed(), send_peer_conf(), send_peer_info_req(), send_peer_info_rsp(), send_peer_req(), send_peer_rsp(), send_per_test_start_cmd(), send_range_test_marker_cmd(), send_range_test_marker_rsp(), send_range_test_rsp(), send_range_test_start_cmd(), send_range_test_stop_cmd(), send_remote_cmd(), send_remote_reply_cmd(), send_result_req(), send_result_rsp(), and send_set_default_config_command().

void(* state_function_t::func_ed_end_cb)(uint8_t energy_level)

Referenced by tal_ed_end_cb().

void(* state_function_t::func_main_state_exit)(void)

Referenced by set_main_state().

void(* state_function_t::func_main_state_init)(void *arg)

Referenced by set_main_state().

void(* state_function_t::func_rx_frame_cb)(frame_info_t *frame)

Referenced by tal_rx_frame_cb().

void(* state_function_t::func_sub_state_set)(uint8_t state, void *arg)

Referenced by set_main_state().

void(* state_function_t::func_task)(void)

Referenced by app_task().

void(* state_function_t::func_tx_frame_done_cb)(retval_t status, frame_info_t *frame)

Referenced by tal_tx_frame_done_cb().

state_function_t const state_table[NUM_MAIN_STATES]
static
uint8_t storage_buffer[LARGE_BUFFER_SIZE]
static

Referenced by config_node_ib().