diff --git a/drivers/sensors/pmw33xx_common.c b/drivers/sensors/pmw33xx_common.c index 61e309ea27..95d0fe6b4b 100644 --- a/drivers/sensors/pmw33xx_common.c +++ b/drivers/sensors/pmw33xx_common.c @@ -108,7 +108,7 @@ __attribute__((weak)) bool pmw33xx_check_signature(uint8_t sensor) { pmw33xx_read(sensor, REG_Inverse_Product_ID), }; - return memcmp(pmw33xx_firmware_signature, signature_dump, sizeof(signature_dump)) == 0; + return memcmp_P(signature_dump, pmw33xx_firmware_signature, sizeof(signature_dump)) == 0; } bool pmw33xx_upload_firmware(uint8_t sensor) { diff --git a/platforms/progmem.h b/platforms/progmem.h index 3a7a169682..6c4ebcaa01 100644 --- a/platforms/progmem.h +++ b/platforms/progmem.h @@ -7,6 +7,7 @@ # define PROGMEM # define PSTR(x) x # define PGM_P const char* +# define memcmp_P(s1, s2, n) memcmp(s1, s2, n) # define memcpy_P(dest, src, n) memcpy(dest, src, n) # define pgm_read_byte(address_short) *((uint8_t*)(address_short)) # define pgm_read_word(address_short) *((uint16_t*)(address_short))