From 00eebfb575d6ea0660755cee2c6ccf3b21110312 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 8 Nov 2025 20:49:15 +0000 Subject: [PATCH] Fix pmw33xx sensor initialisation (#25777) --- drivers/sensors/pmw33xx_common.c | 2 +- platforms/progmem.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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))