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:
@ -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) {
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
Reference in New Issue
Block a user