소스 검색

Fix for SPI write timing in PMW3360 driver (#15519)

Timing does not match Pixart documentation for this sensor (may have been carried forward from adns9800).
Not aware of any issues coming from this currently.
It should only cause issues when writing to multiple registers in succession which currently only happens during initialization for the PMW3360.
This should prevent future issues with write operations if other features of the sensor are added.
Alabastard-64 3 년 전
부모
커밋
f08824f6eb
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      drivers/sensors/pmw3360.c

+ 3 - 3
drivers/sensors/pmw3360.c

@@ -108,10 +108,10 @@ spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data) {
     status              = spi_write(data);
 
     // tSCLK-NCS for write operation
-    wait_us(20);
+    wait_us(35);
 
-    // tSWW/tSWR (=120us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound
-    wait_us(100);
+    // tSWW/tSWR (=180us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound
+    wait_us(145);
     spi_stop();
     return status;
 }