Skip to content

Commit

Permalink
[Core] Add configuration of PMW3360 lift off distance (qmk#15424)
Browse files Browse the repository at this point in the history
* sensor code add

* update documentation

* add default #define

* Update drivers/sensors/pmw3360.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
  • Loading branch information
Xelus22 and drashna committed Dec 9, 2021
1 parent b2576dc commit b09c44c
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/feature_pointing_device.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 2 additions & 0 deletions drivers/sensors/pmw3360.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 4 additions & 0 deletions drivers/sensors/pmw3360.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit b09c44c

Please sign in to comment.