summaryrefslogtreecommitdiff
path: root/drivers/sensors/pmw3360.c
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2022-01-20 09:23:16 -0800
committerGitHub <noreply@github.com>2022-01-20 09:23:16 -0800
commit6ebb44f17e7bb3df8492c6498289a44c01c59277 (patch)
tree2eb8843cf5bfee953b4aa714b8dc6847a679cc27 /drivers/sensors/pmw3360.c
parent24324378a8ab070775d4e5361d6ce3f9f903c395 (diff)
[Bug][Core] Fix optical sensor firmware upload (#15919)
Diffstat (limited to 'drivers/sensors/pmw3360.c')
-rw-r--r--drivers/sensors/pmw3360.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c
index 0dac600cc2..8d1b08e22b 100644
--- a/drivers/sensors/pmw3360.c
+++ b/drivers/sensors/pmw3360.c
@@ -206,16 +206,12 @@ void pmw3360_upload_firmware(void) {
spi_write(REG_SROM_Load_Burst | 0x80);
wait_us(15);
-#ifdef PMW3360_LEGACY_FIRMWARE_UPLOAD
- unsigned char c;
- for (int i = 0; i < FIRMWARE_LENGTH; i++) {
- c = (unsigned char)pgm_read_byte(firmware_data + i);
- spi_write(c);
+ for (uint16_t i = 0; i < FIRMWARE_LENGTH; i++) {
+ spi_write(pgm_read_byte(firmware_data + i));
+#ifndef PMW3360_FIRMWARE_UPLOAD_FAST
wait_us(15);
- }
-#else
- spi_transmit(firmware_data, sizeof(firmware_data));
#endif
+ }
wait_us(200);
pmw3360_read(REG_SROM_ID);