diff --git a/FEE/rmap.c b/FEE/rmap.c index 6deb6a041c9f968d983fc3a6dd606e352026834e..e6a0846c7aadf6dd1e3c11f42d92fdf15e7df979 100644 --- a/FEE/rmap.c +++ b/FEE/rmap.c @@ -560,6 +560,8 @@ struct rmap_pkt *rmap_pkt_from_buffer(uint8_t *buf) (uint32_t) buf[RMAP_DATALEN_BYTE2 + n]; } + pkt->hdr_crc = buf[RMAP_HEADER_CRC]; + if (pkt->data_len) { pkt->data = (uint8_t *) malloc(pkt->data_len); if (!pkt->data) @@ -567,6 +569,9 @@ struct rmap_pkt *rmap_pkt_from_buffer(uint8_t *buf) for (i = 0; i < pkt->data_len; i++) pkt->data[i] = buf[RMAP_DATA_START + n + i]; + + /* final byte is data crc */ + pkt->data_crc = buf[RMAP_DATA_START + n + i]; } diff --git a/FEE/rmap.h b/FEE/rmap.h index 2d94db27be11bd63d2ab032ae6530d6f9817f230..17e4df102397bea313afd4a6da255fedc5d524c9 100644 --- a/FEE/rmap.h +++ b/FEE/rmap.h @@ -183,6 +183,8 @@ struct rmap_pkt { uint32_t addr; /* (first) data address */ uint8_t *data; uint32_t data_len; /* lenght of data in bytes */ + uint8_t hdr_crc; + uint8_t data_crc; };