diff options
author | norly <ny-git@enpas.org> | 2017-03-22 22:49:41 +0100 |
---|---|---|
committer | norly <ny-git@enpas.org> | 2017-03-22 22:49:41 +0100 |
commit | b991d41291c8bbd85f41d8c8361207b3b9ff3496 (patch) | |
tree | bddbbffc54ba8d6b01c8077defbe1c2b84062bca | |
parent | d76d7c087d4018321bd48981a3a1e93b63cf20f0 (diff) |
Extract len_done from BAP_Frame
-rw-r--r-- | vw-bap.c | 13 | ||||
-rw-r--r-- | vw-bap.h | 3 |
2 files changed, 8 insertions, 8 deletions
@@ -100,9 +100,9 @@ struct BAP_Frame* vw_bap_handle_can_frame(struct BAP_RXer *bap, struct can_frame } memcpy(&bap_frame->data[0], &frame->data[frame->can_dlc - this_len], this_len); - bap_frame->len_done = this_len; + bap->len_done[mfchannel] = this_len; - if (bap_frame->len_done == bap_frame->len) { + if (bap->len_done[mfchannel] == bap_frame->len) { /* Frame is complete, remove from buffer */ bap->mfchannel[mfchannel] = NULL; return bap_frame; @@ -123,7 +123,7 @@ struct BAP_Frame* vw_bap_handle_can_frame(struct BAP_RXer *bap, struct can_frame this_len = frame->can_dlc - 1; - if ((bap_frame->len_done + this_len) > bap_frame->len) { + if ((bap->len_done[mfchannel] + this_len) > bap_frame->len) { printf("bap_handle_can_frame: len_done + this_len > len\n"); free(bap_frame); @@ -132,12 +132,12 @@ struct BAP_Frame* vw_bap_handle_can_frame(struct BAP_RXer *bap, struct can_frame return NULL; } - memcpy(&bap_frame->data[bap_frame->len_done], + memcpy(&bap_frame->data[bap->len_done[mfchannel]], &frame->data[frame->can_dlc - this_len], this_len); - bap_frame->len_done += this_len; + bap->len_done[mfchannel] += this_len; - if (bap_frame->len_done == bap_frame->len) { + if (bap->len_done[mfchannel] == bap_frame->len) { /* Frame is complete, remove from buffer */ bap->mfchannel[mfchannel] = NULL; return bap_frame; @@ -165,7 +165,6 @@ struct BAP_Frame* vw_bap_handle_can_frame(struct BAP_RXer *bap, struct can_frame bap_frame->len = this_len; memcpy(&bap_frame->data[0], &frame->data[frame->can_dlc - this_len], this_len); - bap_frame->len_done = this_len; return bap_frame; } @@ -15,13 +15,14 @@ struct BAP_Frame { BAP_SubNode subnode; BAP_SubFunction function; BAP_FrameLen len; - BAP_FrameLen len_done; + char data[4096]; }; struct BAP_RXer { struct BAP_Frame *mfchannel[8]; + BAP_FrameLen len_done[8]; }; |