diff options
Diffstat (limited to 'lcmodule/source/cnh1606344_ldr_communication_module/include/r_measurement_tool.h')
-rw-r--r-- | lcmodule/source/cnh1606344_ldr_communication_module/include/r_measurement_tool.h | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/lcmodule/source/cnh1606344_ldr_communication_module/include/r_measurement_tool.h b/lcmodule/source/cnh1606344_ldr_communication_module/include/r_measurement_tool.h new file mode 100644 index 0000000..25884b8 --- /dev/null +++ b/lcmodule/source/cnh1606344_ldr_communication_module/include/r_measurement_tool.h @@ -0,0 +1,159 @@ +/******************************************************************************* + * Copyright (C) ST-Ericsson SA 2011 + * License terms: 3-clause BSD license + ******************************************************************************/ +#ifndef R_MEASUREMENT_TOOL_H_ +#define R_MEASUREMENT_TOOL_H_ +/** + * @addtogroup ldr_communication_module + * @{ + * @addtogroup measurement_serv Measurement services + * Measurement functions is tool for performance measurement. Can be used + * for flashing performance, communication performance and i.t.c. + * + * @{ + * + */ + +/******************************************************************************* + * Includes + ******************************************************************************/ + +#include "t_basicdefinitions.h" +#include "t_measurement_tool.h" +#include "error_codes.h" + +/******************************************************************************* + * Declaration of functions + ******************************************************************************/ + +#define MP(x, y, z) Do_Measurement_AddMeasurementData( x, Do_Timer_ReadTime(NULL,x->TimerId), y, z); +#define MFINISH(x) Do_Measurement_CompleteResults( x); +/** + * Initialization of measurement module. + * + * @param [in] MeasurementData_p Pointer to curren measurement data block. + * + * @retval E_SUCCESS If initialization is done. + */ +ErrorCode_e Do_Measurment_Init(Measurement_t *MeasurementData_p); + +/** + * This function create general measurement data block. + * + * @param [in] Communication_p Communication module context. + * @param [in] MeasurementData_pp Pointer to the created measurement data block. + * @param [in] Type Type of measurement. + * + * @retval E_SUCCESS After successful execution. + * @retval E_ALLOCATE_FAILED If failed to allocate session measurement + * data block. + */ +ErrorCode_e Do_Measurement_CreateMeasurementData(Communication_t *Communication_p, Measurement_t **MeasurementData_pp, uint32 Type); + +/** + * This function collect all data from measurement buffer. + * + * @param [in] Communication_p Communication module context. + * @param [in, out] Data_pp Point to pointer that should be initialized to point + * on outgoing buffer. + * + * @return Number of characters successfully readied from measurement + * buffer. + */ +uint32 Do_Measurement_GetMeasurementData(Communication_t *Communication_p, uint8 **Data_pp); + +/** + * This function create measurement data block for bulk session. + * + * @param [in] Communication_p Communication module context. + * @param [in] SessionMeasurement_pp Pointer to the created session + * measurement data block. + * @param [in] PreviousSessionDataBlock_p Pointer to the previouse session + * measurement data block. + * @param [in] ChunkNr Number of chunks in this session. + * @param [in] Session Session number. + * + * @retval E_SUCCESS After successful execution. + * @retval E_ALLOCATE_FAILED If failed to allocate session measurement + * data block. + */ +ErrorCode_e Do_Measurement_CreateSessionMeasurementData(Communication_t *Communication_p, + SessionMeasurement_t **SessionMeasurement_pp, + SessionMeasurement_t *PreviousSessionDataBlock_p, + uint32 ChunkNr, uint32 Session); + +/** + * This function create measurement data block for measure chunks transfer. + * + * @param [in] Communication_p Communication module context. + * @param [in] ChunkMeasurement_pp Pointer to the created chunk + * measurement data block. + * @param [in] PreviousChunkDataBlock_p Pointer to the previouse chunk + * measurement data block. + * @param [in] ChunkId Chunk ID. + * + * @retval E_SUCCESS After successful execution. + * @retval E_ALLOCATE_FAILED If failed to allocate session measurement + * data block. + */ +ErrorCode_e Do_Measurement_CreateChunkMeasurementData(Communication_t *Communication_p, + ChunkMeasurement_t **ChunkMeasurement_pp, + ChunkMeasurement_t *PreviousChunkDataBlock_p, + uint32 ChunkId); +/** + * This function destroy measurement data block for bulk session. + * + * @param [in] MeasurementData_pp Pointer to the measurement data block. + * + * @retval E_SUCCESS After successful execution. + */ +ErrorCode_e Do_Measurement_DestroySessionMeasurementData(SessionMeasurement_t **MeasurementData_pp); + +/** + * This function destroy measurement data block for bulk chunks. + * + * @param [in] MeasurementData_pp Pointer to the main measurement data block. + * + * @retval E_SUCCESS After successful execution. + */ +ErrorCode_e Do_Measurement_DestroyChunkMeasurementData(ChunkMeasurement_t **MeasurementData_pp); + +/** + * This function destroy general measurement data block. + * + * @param [in] MeasurementData_pp Pointer to the main measurement data block. + * + * @retval E_SUCCESS After successful execution. + */ +ErrorCode_e Do_Measurement_DestroyMeasurementData(Measurement_t **MeasurementData_pp); + +/** + * This function make zero reference for all measured data. + * + * @param [in] MeasurementData_p Pointer to the main measurement data block. + * + * @retval E_SUCCESS After successful execution. + */ +ErrorCode_e Do_Measurement_ZeroReferenceMeasurementData(Measurement_t *MeasurementData_p); + +/** + * This function add measured time in specified measurement data block. + * + * @param [in] MeasurementData_p Pointer to the main measurement data block. + * @param [in] Time Measured time. + * @param [in] ChunkID Chunk ID + * @param [in] Parameter Parameter in the measurement data block. + * + * @retval E_SUCCESS After successful execution. + */ +ErrorCode_e Do_Measurement_AddMeasurementData(Measurement_t *MeasurementData_p, uint32 Time, uint32 ChunkID, MeasurementParameter_t Parameter); + +/** + * + */ +ErrorCode_e Do_Measurement_CompleteResults(Measurement_t *Measurement_p); + +/** @} */ +/** @} */ +#endif /* R_MEASUREMENT_TOOL_H_ */ |