M docs/feature_pointing_device.md => docs/feature_pointing_device.md +1 -0
@@ 150,6 150,7 @@ The PMW 3360 is an SPI driven optical sensor, that uses a built in IR LED for su
|`PMW3360_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` |
|`PMW3360_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `3` |
|`PMW3360_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ |
+|`PMW3360_LIFTOFF_DISTANCE` | (Optional) Sets the lift off distance at run time | `0x02` |
|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 30 degrees directly in the sensor. | `0` |
The CPI range is 100-12000, in increments of 100. Defaults to 1600 CPI.
M drivers/sensors/pmw3360.c => drivers/sensors/pmw3360.c +2 -0
@@ 186,6 186,8 @@ bool pmw3360_init(void) {
spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -30, 30));
+ spi_write_adv(REG_Lift_Config, PMW3360_LIFTOFF_DISTANCE);
+
bool init_success = pmw3360_check_signature();
writePinLow(PMW3360_CS_PIN);
M drivers/sensors/pmw3360.h => drivers/sensors/pmw3360.h +4 -0
@@ 46,6 46,10 @@
# endif
#endif
+#ifndef PMW3360_LIFTOFF_DISTANCE
+# define PMW3360_LIFTOFF_DISTANCE 0x02
+#endif
+
#ifndef ROTATIONAL_TRANSFORM_ANGLE
# define ROTATIONAL_TRANSFORM_ANGLE 0x00
#endif