summaryrefslogtreecommitdiff
path: root/lcmodule/source/cnh1606344_ldr_communication_module/include/r_measurement_tool.h
diff options
context:
space:
mode:
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.h159
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_ */