diff options
author | xmarvla <vlatko.markovic@seavus.com> | 2011-06-16 14:45:38 +0100 |
---|---|---|
committer | Viktor Mladenovski <viktor.mladenovski@seavus.com> | 2011-08-17 22:10:43 +0200 |
commit | b9b4df06ddb81a6d14354fc0d42e22acf0b4c30c (patch) | |
tree | 48b17930f3f28c72094f090ba38e6761aa43416b /lcmodule/source/cnh1606344_ldr_communication_module/source/r15_family.c | |
parent | c9d1f9613e3ac18d5dd3b9432646e289bb88cec9 (diff) |
LCM R1T and LCDriver R1N official release.
ST-Ericsson ID: 345044
ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10204
Change-Id: Ib1901abfc2efa6c887c70b8583ddd2258e21aa78
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25187
Tested-by: Vlatko STENKOSKI
Tested-by: Cvetko MLADENOVSKI <cvetko.mladenovski@seavus.com>
Tested-by: Aleksandar GASOSKI <aleksandar.gasoski@seavus.com>
Reviewed-by: Zoran ANCEVSKI <zoran.ancevski@seavus.com>
Reviewed-by: QATEST
Reviewed-by: Vlatko PISTOLOV <vlatko.pistolov@seavus.com>
Conflicts:
lcmodule/win_binaries/LCM.dll
win_binaries/LCDriver_CNH1606432.dll
Diffstat (limited to 'lcmodule/source/cnh1606344_ldr_communication_module/source/r15_family.c')
-rw-r--r-- | lcmodule/source/cnh1606344_ldr_communication_module/source/r15_family.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/lcmodule/source/cnh1606344_ldr_communication_module/source/r15_family.c b/lcmodule/source/cnh1606344_ldr_communication_module/source/r15_family.c index bf9c24a..29be578 100644 --- a/lcmodule/source/cnh1606344_ldr_communication_module/source/r15_family.c +++ b/lcmodule/source/cnh1606344_ldr_communication_module/source/r15_family.c @@ -57,16 +57,20 @@ ErrorCode_e R15_Family_Init(Communication_t *Communication_p) R15_NETWORK(Communication_p)->Inbound.StopTransfer = FALSE; if (NULL != Communication_p->BackupCommBuffer_p) { - if (Communication_p->BackupCommBufferSize <= HEADER_LENGTH) { + if (Communication_p->BackupCommBufferSize < ALIGNED_HEADER_LENGTH) { memcpy(R15_NETWORK(Communication_p)->Inbound.Scratch, Communication_p->BackupCommBuffer_p, Communication_p->BackupCommBufferSize); - R15_NETWORK(Communication_p)->Inbound.ReqData = HEADER_LENGTH - Communication_p->BackupCommBufferSize; + R15_NETWORK(Communication_p)->Inbound.ReqData = ALIGNED_HEADER_LENGTH - Communication_p->BackupCommBufferSize; R15_NETWORK(Communication_p)->Inbound.ReqBuffOffset = Communication_p->BackupCommBufferSize; R15_NETWORK(Communication_p)->Inbound.RecBackupData = Communication_p->BackupCommBufferSize; Communication_p->BackupCommBufferSize = 0; } else { - memcpy(R15_NETWORK(Communication_p)->Inbound.Scratch, Communication_p->BackupCommBuffer_p, HEADER_LENGTH); - Communication_p->BackupCommBufferSize = Communication_p->BackupCommBufferSize - HEADER_LENGTH; - R15_NETWORK(Communication_p)->Inbound.RecBackupData = HEADER_LENGTH; + /* Copy content of backup buffer into scratch buffer */ + memcpy(R15_NETWORK(Communication_p)->Inbound.Scratch, Communication_p->BackupCommBuffer_p, ALIGNED_HEADER_LENGTH); + /* Move rest of backup data at the beginning of the backup buffer */ + memcpy(Communication_p->BackupCommBuffer_p, Communication_p->BackupCommBuffer_p + ALIGNED_HEADER_LENGTH, Communication_p->BackupCommBufferSize - ALIGNED_HEADER_LENGTH); + /* Update the size of the backup buffer */ + Communication_p->BackupCommBufferSize = Communication_p->BackupCommBufferSize - ALIGNED_HEADER_LENGTH; + R15_NETWORK(Communication_p)->Inbound.RecBackupData = ALIGNED_HEADER_LENGTH; } C_(printf("r15_family.c(%d) BackupBuffer=0x%x Size=%d\n", __LINE__, Communication_p->BackupCommBuffer_p, Communication_p->BackupCommBufferSize);) @@ -89,7 +93,7 @@ ErrorExit: /* - * R15 family protocols sutdown. + * R15 family protocols shutdown. * * @param [in] Communication_p Communication module context. * @@ -136,10 +140,10 @@ ErrorExit: } /* - * R15 Cancel Transmition. + * R15 Cancel Transmission. * * @param [in] Communication_p Communication module context. - * @param [in] PacketsBeforeTransferStop Number of packets that will be transmited before stopping the transmition. + * @param [in] PacketsBeforeTransferStop Number of packets that will be transmitted before stopping the transmission. * * @retval E_SUCCESS After successful execution. * @retval E_INVALID_INPUT_PARAMETERS Invalid input parameter. @@ -150,12 +154,12 @@ ErrorCode_e R15_CancelReceiver(Communication_t *Communication_p, uint8 PacketsBe VERIFY(NULL != Communication_p, E_INVALID_INPUT_PARAMETERS); - R15_NETWORK(Communication_p)->Inbound.PacketsBeforeReceiverStop = PacketsBeforeReceiverStop; + R15_NETWORK(Communication_p)->Inbound.PacketsBeforeReceiverStop = PacketsBeforeReceiverStop; R15_NETWORK(Communication_p)->Inbound.StopTransfer = TRUE; ErrorExit: A_(printf("protrom_family.c(%d) ErrorCode=%d\n", __LINE__, ReturnValue);) - return ReturnValue; + return ReturnValue; } /** @} */ |