CPLD: Remove checksum function from libhackrf and hackrf_info.

The checksum calculation process was causing the CPLD configuration to reload from flash. With the new SRAM loading mechanism, flash contents may not be up to date, so the CPLD bitstream may regress to the point of not working or not working correctly. This commit is a short-term fix for mossmann/hackrf issue #609.
This commit is contained in:
Jared Boone
2019-03-27 12:16:39 -07:00
parent 53e8d698c7
commit ef5b907295
3 changed files with 7 additions and 2 deletions

View File

@ -125,7 +125,8 @@ int main(void)
printf("Operacake found, address: 0x%02x\n", operacakes[j]); printf("Operacake found, address: 0x%02x\n", operacakes[j]);
} }
} }
#ifdef HACKRF_ISSUE_609_IS_FIXED
uint32_t cpld_crc = 0; uint32_t cpld_crc = 0;
result = hackrf_cpld_checksum(device, &cpld_crc); result = hackrf_cpld_checksum(device, &cpld_crc);
if ((result != HACKRF_SUCCESS) && (result != HACKRF_ERROR_USB_API_VERSION)) { if ((result != HACKRF_SUCCESS) && (result != HACKRF_ERROR_USB_API_VERSION)) {
@ -136,6 +137,7 @@ int main(void)
if(result == HACKRF_SUCCESS) { if(result == HACKRF_SUCCESS) {
printf("CPLD checksum: 0x%08x\n", cpld_crc); printf("CPLD checksum: 0x%08x\n", cpld_crc);
} }
#endif /* HACKRF_ISSUE_609_IS_FIXED */
result = hackrf_close(device); result = hackrf_close(device);
if (result != HACKRF_SUCCESS) { if (result != HACKRF_SUCCESS) {

View File

@ -2105,6 +2105,7 @@ int ADDCALL hackrf_operacake_gpio_test(hackrf_device* device, const uint8_t addr
} }
} }
#ifdef HACKRF_ISSUE_609_IS_FIXED
int ADDCALL hackrf_cpld_checksum(hackrf_device* device, int ADDCALL hackrf_cpld_checksum(hackrf_device* device,
uint32_t* crc) uint32_t* crc)
{ {
@ -2133,6 +2134,7 @@ int ADDCALL hackrf_cpld_checksum(hackrf_device* device,
return HACKRF_SUCCESS; return HACKRF_SUCCESS;
} }
} }
#endif /* HACKRF_ISSUE_609_IS_FIXED */
#ifdef __cplusplus #ifdef __cplusplus
} // __cplusplus defined. } // __cplusplus defined.

View File

@ -254,9 +254,10 @@ extern ADDAPI int ADDCALL hackrf_set_clkout_enable(hackrf_device* device, const
extern ADDAPI int ADDCALL hackrf_operacake_gpio_test(hackrf_device* device, extern ADDAPI int ADDCALL hackrf_operacake_gpio_test(hackrf_device* device,
uint8_t address, uint8_t address,
uint16_t* test_result); uint16_t* test_result);
#ifdef HACKRF_ISSUE_609_IS_FIXED
extern ADDAPI int ADDCALL hackrf_cpld_checksum(hackrf_device* device, extern ADDAPI int ADDCALL hackrf_cpld_checksum(hackrf_device* device,
uint32_t* crc); uint32_t* crc);
#endif /* HACKRF_ISSUE_609_IS_FIXED */
#ifdef __cplusplus #ifdef __cplusplus
} // __cplusplus defined. } // __cplusplus defined.