|
|
|
|
|
|
|
|
memcpy((uint8_t *)header + header_offset, p, len); |
|
|
memcpy((uint8_t *)header + header_offset, p, len); |
|
|
header_offset += len; |
|
|
header_offset += len; |
|
|
buffer_offset += len; |
|
|
buffer_offset += len; |
|
|
buffer_length -= len; |
|
|
|
|
|
data_length -= len; |
|
|
data_length -= len; |
|
|
if (data_length > 0) return false; |
|
|
if (data_length > 0) return false; |
|
|
// parse the header... |
|
|
// parse the header... |
|
|
|
|
|
|
|
|
memcpy((uint8_t *)header + header_offset, p, len); |
|
|
memcpy((uint8_t *)header + header_offset, p, len); |
|
|
header_offset += len; |
|
|
header_offset += len; |
|
|
buffer_offset += len; |
|
|
buffer_offset += len; |
|
|
buffer_length -= len; |
|
|
|
|
|
data_length -= len; |
|
|
data_length -= len; |
|
|
if (data_length > 0) return false; |
|
|
if (data_length > 0) return false; |
|
|
if (parse_format()) { |
|
|
if (parse_format()) { |
|
|
|
|
|
|
|
|
memcpy((uint8_t *)header + header_offset, p, len); |
|
|
memcpy((uint8_t *)header + header_offset, p, len); |
|
|
header_offset += len; |
|
|
header_offset += len; |
|
|
buffer_offset += len; |
|
|
buffer_offset += len; |
|
|
buffer_length -= len; |
|
|
|
|
|
data_length -= len; |
|
|
data_length -= len; |
|
|
if (data_length > 0) return false; |
|
|
if (data_length > 0) return false; |
|
|
//Serial.print("chunk id = "); |
|
|
//Serial.print("chunk id = "); |
|
|
|
|
|
|
|
|
if (size < data_length) { |
|
|
if (size < data_length) { |
|
|
data_length -= size; |
|
|
data_length -= size; |
|
|
buffer_offset += size; |
|
|
buffer_offset += size; |
|
|
buffer_length -= size; |
|
|
|
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
p += data_length; |
|
|
p += data_length; |
|
|
size -= data_length; |
|
|
size -= data_length; |
|
|
buffer_offset += data_length; |
|
|
buffer_offset += data_length; |
|
|
buffer_length -= data_length; |
|
|
|
|
|
data_length = 8; |
|
|
data_length = 8; |
|
|
header_offset = 0; |
|
|
header_offset = 0; |
|
|
state = STATE_PARSE3; |
|
|
state = STATE_PARSE3; |