Browse Source

Merge remote-tracking branch 'origin/master' into develop

QMK Bot 1 year ago
parent
commit
17be3e4a54
1 changed files with 10 additions and 8 deletions
  1. 10 8
      drivers/sensors/adns9800.c

+ 10 - 8
drivers/sensors/adns9800.c

@@ -67,14 +67,15 @@
 #define REG_SROM_Load_Burst              0x62
 #define REG_Pixel_Burst                  0x64
 
-#define MIN_CPI           200
-#define MAX_CPI           8200
-#define CPI_STEP          200
-#define CLAMP_CPI(value)  value<MIN_CPI ? MIN_CPI : value> MAX_CPI ? MAX_CPI : value
-#define US_BETWEEN_WRITES 120
-#define US_BETWEEN_READS  20
-#define US_BEFORE_MOTION  100
-#define MSB1              0x80
+#define MIN_CPI             200
+#define MAX_CPI             8200
+#define CPI_STEP            200
+#define CLAMP_CPI(value)    value<MIN_CPI ? MIN_CPI : value> MAX_CPI ? MAX_CPI : value
+#define US_BETWEEN_WRITES   120
+#define US_BETWEEN_READS    20
+#define US_DELAY_AFTER_ADDR 100
+#define US_BEFORE_MOTION    100
+#define MSB1                0x80
 // clang-format on
 
 void adns9800_spi_start(void) {
@@ -92,6 +93,7 @@ void adns9800_write(uint8_t reg_addr, uint8_t data) {
 uint8_t adns9800_read(uint8_t reg_addr) {
     adns9800_spi_start();
     spi_write(reg_addr & 0x7f);
+    wait_us(US_DELAY_AFTER_ADDR);
     uint8_t data = spi_read();
     spi_stop();
     wait_us(US_BETWEEN_READS);