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

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)
 
void tal_tx_frame_done_cb (retval_t status, frame_info_t *frame)
 
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_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.

Referenced by main().

void tal_ed_end_cb ( uint8_t  energy_level)
void tal_tx_frame_done_cb ( retval_t  status,
frame_info_t frame 
)
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, FRAME_OVERHEAD, 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.

void(* state_function_t::func_ed_end_cb)(trx_id_t trx, uint8_t energy_level)

Referenced by tal_ed_end_cb().

void(* state_function_t::func_main_state_exit)(trx_id_t trx)

Referenced by set_main_state().

void(* state_function_t::func_main_state_init)(trx_id_t trx, void *arg)

Referenced by set_main_state().

void(* state_function_t::func_rx_frame_cb)(trx_id_t trx, frame_info_t *frame)

Referenced by tal_rx_frame_cb().

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

Referenced by set_main_state().

void(* state_function_t::func_task)(trx_id_t trx)

Referenced by app_task().

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

Referenced by tal_tx_frame_done_cb().

volatile node_ib_t node_info

Referenced by configuration_mode_selection(), configure_frame_sending(), configure_range_test_frame_sending(), disconnect_peer_node(), handle_incoming_msg(), init_after_disconnect(), peer_req_send_task(), peer_rsp_rcvd_exit(), peer_rsp_rcvd_init(), peer_rsp_rcvd_tx_cb(), peer_search_initiator_exit(), peer_search_initiator_init(), peer_search_initiator_rx_cb(), peer_search_initiator_set_sub_state(), peer_search_initiator_task(), peer_search_initiator_tx_done_cb(), peer_search_receptor_exit(), peer_search_receptor_init(), peer_search_receptor_rx_cb(), peer_search_receptor_set_sub_state(), peer_search_receptor_task(), peer_search_receptor_tx_done_cb(), per_mode_initiator_init(), per_mode_initiator_task(), per_mode_initiator_tx_done_cb(), per_mode_receptor_task(), per_mode_receptor_tx_done_cb(), pktstream_test(), range_test_frame_tx(), range_test_timer_handler_cb(), range_test_timer_handler_rf09_cb(), range_test_timer_handler_rf24_cb(), rx_on_test(), 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(), send_set_default_config_command(), send_sun_page_changed(), serial_data_handler(), stop_pkt_streaming(), and wait_for_conf_rx_cb().

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

Referenced by config_node_ib().