+void FpgaGatherVersion(char *dst, int len)\r
+{\r
+ char *fpga_info; \r
+ unsigned int fpga_info_len;\r
+ dst[0] = 0;\r
+ if(!bitparse_find_section('e', (void**)&fpga_info, &fpga_info_len)) {\r
+ strncat(dst, "FPGA image: legacy image without version information", len-1);\r
+ } else {\r
+ strncat(dst, "FPGA image built", len-1);\r
+ /* USB packets only have 48 bytes data payload, so be terse */\r
+#if 0\r
+ if(bitparse_find_section('a', (void**)&fpga_info, &fpga_info_len) && fpga_info[fpga_info_len-1] == 0 ) {\r
+ strncat(dst, " from ", len-1);\r
+ strncat(dst, fpga_info, len-1);\r
+ }\r
+ if(bitparse_find_section('b', (void**)&fpga_info, &fpga_info_len) && fpga_info[fpga_info_len-1] == 0 ) {\r
+ strncat(dst, " for ", len-1);\r
+ strncat(dst, fpga_info, len-1);\r
+ }\r
+#endif\r
+ if(bitparse_find_section('c', (void**)&fpga_info, &fpga_info_len) && fpga_info[fpga_info_len-1] == 0 ) {\r
+ strncat(dst, " on ", len-1);\r
+ strncat(dst, fpga_info, len-1);\r
+ }\r
+ if(bitparse_find_section('d', (void**)&fpga_info, &fpga_info_len) && fpga_info[fpga_info_len-1] == 0 ) {\r
+ strncat(dst, " at ", len-1);\r
+ strncat(dst, fpga_info, len-1);\r
+ }\r
+ }\r
+}\r
+\r