simplify reading frame header
This commit is contained in:
@@ -108,17 +108,8 @@ size_t SerialWifiInterface::checkRecvFrame(uint8_t dest[]) {
|
|||||||
if(client.available() >= frame_header_length){
|
if(client.available() >= frame_header_length){
|
||||||
|
|
||||||
// read frame header
|
// read frame header
|
||||||
uint8_t frame_header[3];
|
client.readBytes(&received_frame_header.type, 1);
|
||||||
client.readBytes(frame_header, frame_header_length);
|
client.readBytes((uint8_t*)&received_frame_header.length, 2);
|
||||||
|
|
||||||
// parse frame header
|
|
||||||
uint8_t frame_type = frame_header[0];
|
|
||||||
uint16_t frame_length;
|
|
||||||
memcpy(&frame_length, &frame_header[1], 2);
|
|
||||||
|
|
||||||
// we have received a frame header
|
|
||||||
received_frame_header.type = frame_type;
|
|
||||||
received_frame_header.length = frame_length;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,12 +152,8 @@ size_t SerialWifiInterface::checkRecvFrame(uint8_t dest[]) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// read frame data
|
// read frame data to provided buffer
|
||||||
uint8_t frame_data[MAX_FRAME_SIZE];
|
client.readBytes(dest, frame_length);
|
||||||
client.readBytes(frame_data, frame_length);
|
|
||||||
|
|
||||||
// copy frame to provided buffer
|
|
||||||
memcpy(dest, frame_data, frame_length);
|
|
||||||
|
|
||||||
// ready for next frame
|
// ready for next frame
|
||||||
resetReceivedFrameHeader();
|
resetReceivedFrameHeader();
|
||||||
|
|||||||
Reference in New Issue
Block a user