diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ps2/ps2_busywait.c | 5 | ||||
-rw-r--r-- | drivers/sensors/analog_joystick.c | 4 | ||||
-rw-r--r-- | drivers/sensors/cirque_pinnacle_spi.c | 5 | ||||
-rw-r--r-- | drivers/sensors/pmw3360.c | 4 | ||||
-rw-r--r-- | drivers/sensors/pmw3360.h | 4 |
5 files changed, 13 insertions, 9 deletions
diff --git a/drivers/ps2/ps2_busywait.c b/drivers/ps2/ps2_busywait.c index 983194eea8..a426090155 100644 --- a/drivers/ps2/ps2_busywait.c +++ b/drivers/ps2/ps2_busywait.c @@ -125,11 +125,10 @@ uint8_t ps2_host_recv_response(void) { // Command may take 25ms/20ms at most([5]p.46, [3]p.21) // 250 * 100us(wait for start bit in ps2_host_recv) uint8_t data = 0; - uint8_t try - = 250; + uint8_t try = 250; do { data = ps2_host_recv(); - } while (try --&&ps2_error); + } while (try-- && ps2_error); return data; } diff --git a/drivers/sensors/analog_joystick.c b/drivers/sensors/analog_joystick.c index 0f4d1d7a4c..1666bed047 100644 --- a/drivers/sensors/analog_joystick.c +++ b/drivers/sensors/analog_joystick.c @@ -30,7 +30,7 @@ int16_t xOrigin, yOrigin; uint16_t lastCursor = 0; -int16_t axisCoordinate(uint8_t pin, uint16_t origin) { +int16_t axisCoordinate(pin_t pin, uint16_t origin) { int8_t direction; int16_t distanceFromOrigin; int16_t range; @@ -60,7 +60,7 @@ int16_t axisCoordinate(uint8_t pin, uint16_t origin) { } } -int8_t axisToMouseComponent(uint8_t pin, int16_t origin, uint8_t maxSpeed) { +int8_t axisToMouseComponent(pin_t pin, int16_t origin, uint8_t maxSpeed) { int16_t coordinate = axisCoordinate(pin, origin); if (coordinate != 0) { float percent = (float)coordinate / 100; diff --git a/drivers/sensors/cirque_pinnacle_spi.c b/drivers/sensors/cirque_pinnacle_spi.c index f3eee88758..ed40abd9fa 100644 --- a/drivers/sensors/cirque_pinnacle_spi.c +++ b/drivers/sensors/cirque_pinnacle_spi.c @@ -15,7 +15,7 @@ extern bool touchpad_init; void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { uint8_t cmdByte = READ_MASK | address; // Form the READ command byte if (touchpad_init) { - if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_TRACKPAD_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { + if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { spi_write(cmdByte); spi_read(); // filler spi_read(); // filler @@ -27,7 +27,6 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { dprintf("error right touchpad\n"); #endif touchpad_init = false; - j } spi_stop(); } @@ -38,7 +37,7 @@ void RAP_Write(uint8_t address, uint8_t data) { uint8_t cmdByte = WRITE_MASK | address; // Form the WRITE command byte if (touchpad_init) { - if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_TRACKPAD_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { + if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { spi_write(cmdByte); spi_write(data); } else { diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 2b27dccbb6..50d1c35801 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -143,7 +143,7 @@ void pmw3360_set_cpi(uint16_t cpi) { uint16_t pmw3360_get_cpi(void) { uint8_t cpival = spi_read_adv(REG_Config1); - return (uint16_t)(cpival & 0xFF) * 100; + return (uint16_t)((cpival + 1) & 0xFF) * 100; } bool pmw3360_init(void) { @@ -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); diff --git a/drivers/sensors/pmw3360.h b/drivers/sensors/pmw3360.h index 7b2bef5b80..9aa8e13f8e 100644 --- a/drivers/sensors/pmw3360.h +++ b/drivers/sensors/pmw3360.h @@ -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 |