+ if (bitstream_version == FPGA_BITSTREAM_LF) {
+ reset_fpga_stream(&_binary_fpga_lf_bit_start);
+ } else if (bitstream_version == FPGA_BITSTREAM_HF) {
+ reset_fpga_stream(&_binary_fpga_hf_bit_start);
+ } else
+ return;
+
+ uint16_t i = 0;
+ for (; i < GZIP_HEADER_SIZE; i++) {
+ header[i] = get_from_fpga_stream();
+ }
+
+ // Check for compressed new flash image format (starts with gzip header)
+ if(memcmp(_gzip_header, header, GZIP_HEADER_SIZE) == 0) {
+ init_fpga_inflate();
+ }
+
+ for (; i < FPGA_BITSTREAM_FIXED_HEADER_SIZE; i++) {
+ header[i] = get_from_fpga_stream();
+ }
+
+ // Check for the new flash image format: Should have the .bit file at &_binary_fpga_bit_start
+ if(memcmp(_bitparse_fixed_header, header, FPGA_BITSTREAM_FIXED_HEADER_SIZE) == 0) {
+ unsigned int bitstream_length;
+ if(bitparse_find_section('e', &bitstream_length)) {
+ DownloadFPGA(bitstream_length);
+ downloaded_bitstream = bitstream_version;