From 2bf6a430f568add51549886bdb74657d03fcfc52 Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Sun, 18 Oct 2020 13:31:30 +0300 Subject: Shinko - parsing the received data only when the status from the uart is OK --- .../WHS_Controller_Comm/Shinko/ACS-13AC5E3.c | 19 +++++++++++++------ .../Embedded/Modules/Stubs_Handler/Progress.c | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'Software/Embedded_SW/Embedded') diff --git a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/WHS_Controller_Comm/Shinko/ACS-13AC5E3.c b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/WHS_Controller_Comm/Shinko/ACS-13AC5E3.c index e57e0a21d..3d4b28e77 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/WHS_Controller_Comm/Shinko/ACS-13AC5E3.c +++ b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/WHS_Controller_Comm/Shinko/ACS-13AC5E3.c @@ -126,10 +126,12 @@ void Reading_Shinko_Request_PV() uint8_t Reading_Shinko_Response_PV() { Word_to_Bytes Word2Bytes; + uint8_t Status = OK; - Uart3_Receive(Shinko_Response.buf, Size_Shinko_Res -1 ); + Status = Uart3_Receive(Shinko_Response.buf, Size_Shinko_Res -1 ); - if( (Shinko_Response.Bytes.Header == Shinko_Header_Asccii_ACK) && //0X06 + if( (Status == OK) && // + (Shinko_Response.Bytes.Header == Shinko_Header_Asccii_ACK) && //0X06 (Shinko_Response.Bytes.Address == Shinko_ddress_Asccii) && //0X20 (Shinko_Response.Bytes.Sub_Address == Shinko_SubAddress_Asccii) && //0X20 (Shinko_Response.Bytes.Command_Type == Read_Single) && //0x20 @@ -166,10 +168,12 @@ void Reading_Shinko_Request_SV() uint8_t Reading_Shinko_Response_SV() { Word_to_Bytes Word2Bytes; + uint8_t Status = OK; - Uart3_Receive(Shinko_Response.buf, Size_Shinko_Res -1 ); + Status = Uart3_Receive(Shinko_Response.buf, Size_Shinko_Res -1 ); - if( (Shinko_Response.Bytes.Header == Shinko_Header_Asccii_ACK) && //0x06 + if( (Status == OK) && + (Shinko_Response.Bytes.Header == Shinko_Header_Asccii_ACK) && //0x06 (Shinko_Response.Bytes.Address == Shinko_ddress_Asccii) && //0x20 (Shinko_Response.Bytes.Sub_Address == Shinko_SubAddress_Asccii) && //0x20 (Shinko_Response.Bytes.Command_Type == Read_Single) && //0x20 @@ -206,9 +210,12 @@ void Setting_Shinko_Request_SV() uint8_t Setting_Shinko_Response_SV() { - Uart3_Receive(Shinko_Setting_Response.buf, Size_Shinko_Res -1 ); + uint8_t Status = OK; - if( (Shinko_Setting_Response.Bytes.Header == Shinko_Header_Asccii_ACK) && //0x06 + Status = Uart3_Receive(Shinko_Setting_Response.buf, Size_Shinko_Res -1 ); + + if( (Status == OK) && + (Shinko_Setting_Response.Bytes.Header == Shinko_Header_Asccii_ACK) && //0x06 (Shinko_Setting_Response.Bytes.Address == Shinko_ddress_Asccii) && //0x20 (Shinko_Setting_Response.Bytes.Checksum == shinko_clac_checksum(Shinko_Setting_Response.buf, sizeof(Shinko_Setting_Response.buf))) && //0x3045 (Shinko_Setting_Response.Bytes.Delimiter == Shinko_Delimiter_Asccii_ETX) ) //0x03 diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index ed5f5e560..3f23b0981 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -163,7 +163,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) else if(request->amount == 0xb05) { - response.progress = Test_Uart3(request->delay); + response.progress = Test_Uart3(request->delay);//test Shinko response.has_progress = true; } else -- cgit v1.3.1