Skip to content

Commit

Permalink
PMW3389 Revert Firmware load during Initilization (qmk#15859)
Browse files Browse the repository at this point in the history
  • Loading branch information
Alabastard-64 authored Jan 13, 2022
1 parent bd2af5c commit a8482a4
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 5 deletions.
1 change: 0 additions & 1 deletion docs/feature_pointing_device.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,6 @@ The PMW 3389 is an SPI driven optical sensor, that uses a built in IR LED for su
|`PMW3389_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ |
|`PMW3389_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` |
|`PMW3389_LEGACY_FIRMWARE_UPLOAD` | (Optional) Switches to older, manual upload of firmware, for compatibility. | _not defined_ |

The CPI range is 50-16000, in increments of 50. Defaults to 2000 CPI.

Expand Down
6 changes: 2 additions & 4 deletions drivers/sensors/pmw3389.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,16 +210,14 @@ void pmw3389_upload_firmware(void) {
spi_write(REG_SROM_Load_Burst | 0x80);
wait_us(15);

#ifdef PMW3389_LEGACY_FIRMWARE_UPLOAD
// legacy only for PMW3389 spi_transmit failed to load firmware
unsigned char c;
for (int i = 0; i < FIRMWARE_LENGTH; i++) {
c = (unsigned char)pgm_read_byte(firmware_data + i);
spi_write(c);
wait_us(15);
}
#else
spi_transmit(firmware_data, sizeof(firmware_data));
#endif

wait_us(200);

pmw3389_read(REG_SROM_ID);
Expand Down

0 comments on commit a8482a4

Please sign in to comment.