mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-22 08:27:56 +06:00
Cirque Attenuation Setting (#17342)
This commit is contained in:
parent
2e27eb318e
commit
eac0f6d4c9
|
@ -72,7 +72,6 @@ The Analog Joystick is an analog (ADC) driven sensor. There are a variety of jo
|
|||
|`ANALOG_JOYSTICK_SPEED_MAX` | (Optional) The maximum value used for motion. | `2` |
|
||||
|`ANALOG_JOYSTICK_CLICK_PIN` | (Optional) The pin wired up to the press switch of the analog stick. | _not defined_ |
|
||||
|
||||
|
||||
### Cirque Trackpad
|
||||
|
||||
To use the Cirque Trackpad sensor, add this to your `rules.mk`:
|
||||
|
@ -96,21 +95,30 @@ This supports the Cirque Pinnacle 1CA027 Touch Controller, which is used in the
|
|||
|`CIRQUE_PINNACLE_X_UPPER` | (Optional) The maximum reachable X value on the sensor. | `1919` |
|
||||
|`CIRQUE_PINNACLE_Y_LOWER` | (Optional) The minimum reachable Y value on the sensor. | `63` |
|
||||
|`CIRQUE_PINNACLE_Y_UPPER` | (Optional) The maximum reachable Y value on the sensor. | `1471` |
|
||||
|`CIRQUE_PINNACLE_ATTENUATION` | (Optional) Sets the attenuation of the sensor data. | `ADC_ATTENUATE_4X` |
|
||||
|`CIRQUE_PINNACLE_TAPPING_TERM` | (Optional) Length of time that a touch can be to be considered a tap. | `TAPPING_TERM`/`200` |
|
||||
|`CIRQUE_PINNACLE_TOUCH_DEBOUNCE` | (Optional) Length of time that a touch can be to be considered a tap. | `TAPPING_TERM`/`200` |
|
||||
|
||||
**`CIRQUE_PINNACLE_ATTENUATION`** is a measure of how much data is suppressed in regards to sensitivity. The higher the attenuation, the less sensitive the touchpad will be.
|
||||
|
||||
Default attenuation is set to 4X, although if you are using a thicker overlay (such as the curved overlay) you will want a lower attenuation such as 2X. The possible values are:
|
||||
* `ADC_ATTENUATE_4X`: Least sensitive
|
||||
* `ADC_ATTENUATE_3X`
|
||||
* `ADC_ATTENUATE_2X`
|
||||
* `ADC_ATTENUATE_1X`: Most sensitive
|
||||
|
||||
| I2C Setting | Description | Default |
|
||||
|--------------------------|---------------------------------------------------------------------------------|---------|
|
||||
|`CIRQUE_PINNACLE_ADDR` | (Required) Sets the I2C Address for the Cirque Trackpad | `0x2A` |
|
||||
|`CIRQUE_PINNACLE_TIMEOUT` | (Optional) The timeout for i2c communication with the trackpad in milliseconds. | `20` |
|
||||
|
||||
| SPI Setting | Description | Default |
|
||||
|-------------------------------|------------------------------------------------------------------------|---------------|
|
||||
|`CIRQUE_PINNACLE_CLOCK_SPEED` | (Optional) Sets the clock speed that the sensor runs at. | `1000000` |
|
||||
|`CIRQUE_PINNACLE_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` |
|
||||
|`CIRQUE_PINNACLE_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `1` |
|
||||
|`CIRQUE_PINNACLE_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ |
|
||||
|`CIRQUE_PINNACLE_SPI_CS_PIN` | (Required) Sets the Cable Select pin connected to the sensor. | _not defined_ |
|
||||
| SPI Setting | Description | Default |
|
||||
|-------------------------------|------------------------------------------------------------------------|----------------|
|
||||
|`CIRQUE_PINNACLE_CLOCK_SPEED` | (Optional) Sets the clock speed that the sensor runs at. | `1000000` |
|
||||
|`CIRQUE_PINNACLE_SPI_LSBFIRST` | (Optional) Sets the Least/Most Significant Byte First setting for SPI. | `false` |
|
||||
|`CIRQUE_PINNACLE_SPI_MODE` | (Optional) Sets the SPI Mode for the sensor. | `1` |
|
||||
|`CIRQUE_PINNACLE_SPI_DIVISOR` | (Optional) Sets the SPI Divisor used for SPI communication. | _varies_ |
|
||||
|`CIRQUE_PINNACLE_SPI_CS_PIN` | (Required) Sets the Cable Select pin connected to the sensor. | _not defined_ |
|
||||
|
||||
Default Scaling/CPI is 1024.
|
||||
|
||||
|
|
|
@ -38,6 +38,10 @@
|
|||
#define ADC_ATTENUATE_3X 0x80
|
||||
#define ADC_ATTENUATE_4X 0xC0
|
||||
|
||||
#ifndef CIRQUE_PINNACLE_ATTENUATION
|
||||
# define CIRQUE_PINNACLE_ATTENUATION ADC_ATTENUATE_4X
|
||||
#endif
|
||||
|
||||
// Register config values for this demo
|
||||
#define SYSCONFIG_1_VALUE 0x00
|
||||
#define FEEDCONFIG_1_VALUE 0x03 // 0x03 for absolute mode 0x01 for relative mode
|
||||
|
@ -213,7 +217,8 @@ void cirque_pinnacle_init(void) {
|
|||
// Host sets z-idle packet count to 5 (default is 30)
|
||||
RAP_Write(Z_IDLE_COUNT, Z_IDLE_COUNT_VALUE);
|
||||
|
||||
cirque_pinnacle_set_adc_attenuation(0xFF);
|
||||
cirque_pinnacle_set_adc_attenuation(CIRQUE_PINNACLE_ATTENUATION);
|
||||
|
||||
cirque_pinnacle_tune_edge_sensitivity();
|
||||
cirque_pinnacle_enable_feed(true);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user