~ruther/qmk_firmware

26febb7c24581d5c91e188362684aee1f31edf1b — Drashna Jaelre 3 years ago fe2ef59
Expand rotational range for PMW3360 Optical Sensor (#15431)

2 files changed, 2 insertions(+), 2 deletions(-)

M docs/feature_pointing_device.md
M drivers/sensors/pmw3360.c
M docs/feature_pointing_device.md => docs/feature_pointing_device.md +1 -1
@@ 150,7 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_      |
|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 30 degrees directly in the sensor. | `0`           |
|`ROTATIONAL_TRANSFORM_ANGLE` | (Optional) Allows for the sensor data to be rotated +/- 127 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 +1 -1
@@ 184,7 184,7 @@ bool pmw3360_init(void) {

    spi_write_adv(REG_Config2, 0x00);

    spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -30, 30));
    spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -127, 127));

    bool init_success = pmw3360_check_signature();