diff options
author | xmarvla <vlatko.markovic@seavus.com> | 2012-04-02 12:17:04 +0200 |
---|---|---|
committer | Viktor Mladenovski <viktor.mladenovski@seavus.com> | 2012-05-25 14:45:22 +0200 |
commit | 3176413a5633b84e0232f0720f42071f9363c81a (patch) | |
tree | 72d66b435cfeab092321360e8c4cb1d00606d49f | |
parent | ef925129008cf073654d4e41e691b55674baeee7 (diff) |
Rework of implementation for dynamic timeouts.
ST-Ericsson ID: 422299
ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10204
Change-Id: Ia77fcac4606a2fa4733a041a30651094122b5b1c
Depends-On: Ib3b38c6a007593eb37095e7605b8fa2161dbfb93
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/55088
Reviewed-by: QABUILD
Reviewed-by: QATEST
Reviewed-by: Vlatko PISTOLOV <vlatko.pistolov@seavus.com>
Tested-by: Vlatko PISTOLOV <vlatko.pistolov@seavus.com>
6 files changed, 70 insertions, 39 deletions
diff --git a/lcmodule/source/cnh1605204_ldr_transport_layer/source/bulk_protocol.c b/lcmodule/source/cnh1605204_ldr_transport_layer/source/bulk_protocol.c index 9905069..a509408 100644 --- a/lcmodule/source/cnh1605204_ldr_transport_layer/source/bulk_protocol.c +++ b/lcmodule/source/cnh1605204_ldr_transport_layer/source/bulk_protocol.c @@ -936,7 +936,7 @@ ErrorCode_e R15_Bulk_Process_Write(Communication_t *Communication_p, TL_BulkVect if (R15_Bulk_CheckTransmitedChunks(BulkVector_p)) { /* save the current bulk vector before bulk session is closed */ memcpy(&(R15_TRANSPORT(Communication_p))->PreviousBulkVector, BulkVector_p, sizeof(TL_BulkVectorList_t)); - R15_TRANSPORT(Communication_p)->BulkHandle.TimerKey = R15_Bulk_GetTimerChunkRetransmision(Communication_p, R15_TIMEOUTS(Communication_p)->TBCR, (HandleFunction_t)R15_Bulk_RetransmitChunks_CallBack); + R15_TRANSPORT(Communication_p)->BulkHandle.TimerKey = R15_Bulk_GetTimerChunkRetransmision(Communication_p, R15_TIMEOUTS(Communication_p)->TBDR, (HandleFunction_t)R15_Bulk_RetransmitChunks_CallBack); BulkVector_p->State = WAIT_BULK_ACK; C_(printf("bulk_protocol.c(%d) Wait BULK ACK for session (%d)!\n", __LINE__, BulkVector_p->SessionId);) } else if (CHECK_PACKET_FLAGS(BulkVector_p->Entries[BulkVector_p->SendingChunkId].Buffer_p, BUF_TX_SENT)) { diff --git a/lcmodule/source/cnh1605204_ldr_transport_layer/source/r15_transport_layer.c b/lcmodule/source/cnh1605204_ldr_transport_layer/source/r15_transport_layer.c index 220ccec..94d536c 100644 --- a/lcmodule/source/cnh1605204_ldr_transport_layer/source/r15_transport_layer.c +++ b/lcmodule/source/cnh1605204_ldr_transport_layer/source/r15_transport_layer.c @@ -37,9 +37,6 @@ ******************************************************************************/ static void TimerSet(PacketMeta_t *Packet_p, const SendData_LP_t *const InputData_p, Communication_t *Communication_p); static void R15_Transport_OutHashCallback(const void *const Data_p, uint32 Length, const uint8 *const Hash_p, void *Param_p); -#ifdef CFG_ENABLE_LOADER_TYPE -static ErrorCode_e ConfigureDeviceTimeouts(Communication_t *Communication_p); -#endif /******************************************************************************* * File scope types, constants and variables ******************************************************************************/ @@ -70,14 +67,9 @@ ErrorCode_e R15_Transport_Initialize(const Communication_t *const Communication_ R15_TRANSPORT(Communication_p)->BulkSessionCounter = 0; /* Initialize the default timeouts */ -#ifndef CFG_ENABLE_LOADER_TYPE R15_TIMEOUTS(Communication_p)->TCACK = ACK_TIMEOUT_IN_MS; R15_TIMEOUTS(Communication_p)->TBCR = BULK_COMMAND_RECEIVING_TIMEOUT; R15_TIMEOUTS(Communication_p)->TBDR = BULK_DATA_RECEIVING_TIMEOUT; -#else - ReturnValue = ConfigureDeviceTimeouts((Communication_t *)Communication_p); - VERIFY(E_SUCCESS == ReturnValue, ReturnValue); -#endif for (VectorCounter = 0; VectorCounter < MAX_BULK_TL_PROCESSES; VectorCounter++) { R15_TRANSPORT(Communication_p)->BulkVectorList[VectorCounter].Status = BULK_SESSION_IDLE; @@ -88,9 +80,6 @@ ErrorCode_e R15_Transport_Initialize(const Communication_t *const Communication_ R15_TRANSPORT(Communication_p)->BulkHandle.BulkTransferCS = Do_CriticalSection_Create(); R15_TRANSPORT(Communication_p)->BulkHandle.PendingBulkHeader_p = NULL; -#ifdef CFG_ENABLE_LOADER_TYPE -ErrorExit: -#endif return ReturnValue; } @@ -241,6 +230,10 @@ ErrorCode_e R15_SetProtocolTimeouts(Communication_t *Communication_p, void *Time ErrorCode_e ReturnValue = E_INVALID_INPUT_PARAMETERS; R15_Timeouts_t *NewTimeoutData_p = (R15_Timeouts_t *)TimeoutData_p; VERIFY(NULL != TimeoutData_p, E_INVALID_INPUT_PARAMETERS); + C_(printf("R15_SetProtocolTimeouts: Setting new timeouts!\n");) + C_(printf(" TCACK: %d\n", NewTimeoutData_p->TCACK);) + C_(printf(" TBCR: %d\n", NewTimeoutData_p->TBCR);) + C_(printf(" TBDR: %d\n", NewTimeoutData_p->TBDR);) R15_TIMEOUTS(Communication_p)->TCACK = NewTimeoutData_p->TCACK; R15_TIMEOUTS(Communication_p)->TBCR = NewTimeoutData_p->TBCR; @@ -316,29 +309,6 @@ static void TimerSet(PacketMeta_t *Packet_p, const SendData_LP_t *const InputDat } } -#ifdef CFG_ENABLE_LOADER_TYPE -/* - * Function for configuration of timeouts for communication device. - * - * @param [in] Communication_p Communication module context. - * - * @return E_SUCCESS If is successfully executed. - */ -static ErrorCode_e ConfigureDeviceTimeouts(Communication_t *Communication_p) -{ - ErrorCode_e ReturnValue = E_INVALID_INPUT_PARAMETERS; - R15_Timeouts_t NewTimeoutData = {0}; - - ReturnValue = Communication_p->CommunicationDevice_p->SetTimeouts((void *)&NewTimeoutData, (void *)Communication_p); - VERIFY(E_SUCCESS == ReturnValue, ReturnValue); - - ReturnValue = R15_SetProtocolTimeouts(Communication_p, (void *)&NewTimeoutData); - VERIFY(E_SUCCESS == ReturnValue, ReturnValue); - -ErrorExit: - return ReturnValue; -} -#endif /** @} */ /** @} */ diff --git a/lcmodule/source/cnh1606344_ldr_communication_module/config/commands.xml b/lcmodule/source/cnh1606344_ldr_communication_module/config/commands.xml index ead8078..e56e2cb 100644 --- a/lcmodule/source/cnh1606344_ldr_communication_module/config/commands.xml +++ b/lcmodule/source/cnh1606344_ldr_communication_module/config/commands.xml @@ -52,6 +52,9 @@ <value number="64" name="AdvanceServiceModeLevel">AdvanceServiceModeLevel</value> <value number="65" name="LimitedProductionModeLevel">LimitedProductionModeLevel</value> <value number="66" name="VeryLimitedProductionModeLevel">VeryLimitedProductionModeLevel</value> + <value number="70" name="ChangeSimLockLevel">ChangeSimLockLevel</value> + <value number="71" name="ChangeSimLockImeiLevel">ChangeSimLockImeiLevel</value> + <value number="72" name="ChangeSimLockImeiDomainLevel">ChangeSimLockImeiDomainLevel</value> <value number="127" name="ProductionModeLevel">ProductionModeLevel</value> </PermissionList> @@ -100,6 +103,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -122,6 +128,9 @@ <value ref="FlashModeLevel"/> <value ref="AdvanceServiceModeLevel"/> <value ref="ProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -145,6 +154,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -170,6 +182,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -216,6 +231,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -300,6 +318,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -344,6 +365,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -383,6 +407,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -714,6 +741,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -794,6 +824,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1000,6 +1033,7 @@ </authentication> <permissions> <value ref="ProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> </permissions> </command> @@ -1024,6 +1058,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1050,6 +1087,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1072,6 +1112,9 @@ <permissions> <value ref="AdvanceServiceModeLevel"/> <value ref="ProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1091,6 +1134,9 @@ <permissions> <value ref="AdvanceServiceModeLevel"/> <value ref="ProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1147,6 +1193,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1172,6 +1221,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1203,6 +1255,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1231,6 +1286,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1260,6 +1318,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> @@ -1286,6 +1347,9 @@ <value ref="ProductionModeLevel"/> <value ref="LimitedProductionModeLevel"/> <value ref="VeryLimitedProductionModeLevel"/> + <value ref="ChangeSimLockImeiDomainLevel"/> + <value ref="ChangeSimLockImeiLevel"/> + <value ref="ChangeSimLockLevel"/> </permissions> </command> diff --git a/lcmodule/source/cnh1606344_ldr_communication_module/config/errorcode_h.xsl b/lcmodule/source/cnh1606344_ldr_communication_module/config/errorcode_h.xsl index 2a7e3f6..8cbb210 100644 --- a/lcmodule/source/cnh1606344_ldr_communication_module/config/errorcode_h.xsl +++ b/lcmodule/source/cnh1606344_ldr_communication_module/config/errorcode_h.xsl @@ -137,6 +137,7 @@ */ <apply-templates select="status"/> +/** @} */ #endif /* _ERRORCODE_H */ </template> diff --git a/lcmodule/source/cnh1606344_ldr_communication_module/include/t_communication_service.h b/lcmodule/source/cnh1606344_ldr_communication_module/include/t_communication_service.h index 268788a..81fe5da 100644 --- a/lcmodule/source/cnh1606344_ldr_communication_module/include/t_communication_service.h +++ b/lcmodule/source/cnh1606344_ldr_communication_module/include/t_communication_service.h @@ -243,8 +243,6 @@ typedef struct { communication device. */ DeviceCancel_fn Cancel; /**< Pointer to function for canceling current communication with communication device. */ - DeviceSetTimeouts_fn SetTimeouts; /**< Pointer to function for setting timeouts - for the communication device*/ void *Context_p; /**< Pointer to Device description data. */ void *Object_p; /**< Pointer to Object associated with the device. */ } CommunicationDevice_t; diff --git a/source/LCM/include/t_communication_service.h b/source/LCM/include/t_communication_service.h index 268788a..81fe5da 100644 --- a/source/LCM/include/t_communication_service.h +++ b/source/LCM/include/t_communication_service.h @@ -243,8 +243,6 @@ typedef struct { communication device. */ DeviceCancel_fn Cancel; /**< Pointer to function for canceling current communication with communication device. */ - DeviceSetTimeouts_fn SetTimeouts; /**< Pointer to function for setting timeouts - for the communication device*/ void *Context_p; /**< Pointer to Device description data. */ void *Object_p; /**< Pointer to Object associated with the device. */ } CommunicationDevice_t; |