GINPUT MCU driver update
This commit is contained in:
parent
24e75d96e1
commit
ae7da0770b
3 changed files with 21 additions and 21 deletions
drivers
ginput/touch/MCU
touchscreen/MCU
|
@ -105,7 +105,7 @@ static __inline void release_bus(void) {
|
||||||
*
|
*
|
||||||
* @notapi
|
* @notapi
|
||||||
*/
|
*/
|
||||||
static __inline uint16_t read_x_value(void) {
|
static uint16_t read_x_value(void) {
|
||||||
uint16_t val1, val2;
|
uint16_t val1, val2;
|
||||||
adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
|
adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@ static __inline uint16_t read_x_value(void) {
|
||||||
palSetPadMode(GPIOC, 1, PAL_MODE_INPUT_ANALOG);
|
palSetPadMode(GPIOC, 1, PAL_MODE_INPUT_ANALOG);
|
||||||
palSetPadMode(GPIOC, 2, PAL_MODE_OUTPUT_PUSHPULL);
|
palSetPadMode(GPIOC, 2, PAL_MODE_OUTPUT_PUSHPULL);
|
||||||
palSetPadMode(GPIOC, 3, PAL_MODE_OUTPUT_PUSHPULL);
|
palSetPadMode(GPIOC, 3, PAL_MODE_OUTPUT_PUSHPULL);
|
||||||
|
|
||||||
palSetPad(GPIOC, 2);
|
palSetPad(GPIOC, 2);
|
||||||
palClearPad(GPIOC, 3);
|
palClearPad(GPIOC, 3);
|
||||||
chThdSleepMilliseconds(1);
|
chThdSleepMilliseconds(1);
|
||||||
|
@ -135,7 +135,7 @@ static __inline uint16_t read_x_value(void) {
|
||||||
*
|
*
|
||||||
* @notapi
|
* @notapi
|
||||||
*/
|
*/
|
||||||
static __inline uint16_t read_y_value(void) {
|
static uint16_t read_y_value(void) {
|
||||||
uint16_t val1, val2;
|
uint16_t val1, val2;
|
||||||
adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
|
adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
|
||||||
|
|
||||||
|
@ -143,8 +143,8 @@ static __inline uint16_t read_y_value(void) {
|
||||||
palSetPadMode(GPIOC, 3, PAL_MODE_INPUT_ANALOG);
|
palSetPadMode(GPIOC, 3, PAL_MODE_INPUT_ANALOG);
|
||||||
palSetPadMode(GPIOC, 0, PAL_MODE_OUTPUT_PUSHPULL);
|
palSetPadMode(GPIOC, 0, PAL_MODE_OUTPUT_PUSHPULL);
|
||||||
palSetPadMode(GPIOC, 1, PAL_MODE_OUTPUT_PUSHPULL);
|
palSetPadMode(GPIOC, 1, PAL_MODE_OUTPUT_PUSHPULL);
|
||||||
return 42;
|
|
||||||
palSetPad(GPIOC, 1);
|
palSetPad(GPIOC, 1);
|
||||||
palClearPad(GPIOC, 0);
|
palClearPad(GPIOC, 0);
|
||||||
chThdSleepMilliseconds(1);
|
chThdSleepMilliseconds(1);
|
||||||
adcConvert(&ADCD1, &adc_y_config, samples, ADC_BUF_DEPTH);
|
adcConvert(&ADCD1, &adc_y_config, samples, ADC_BUF_DEPTH);
|
||||||
|
|
|
@ -28,9 +28,9 @@
|
||||||
#define _LLD_GINPUT_MOUSE_CONFIG_H
|
#define _LLD_GINPUT_MOUSE_CONFIG_H
|
||||||
|
|
||||||
#define GINPUT_MOUSE_EVENT_TYPE GEVENT_TOUCH
|
#define GINPUT_MOUSE_EVENT_TYPE GEVENT_TOUCH
|
||||||
#define GINPUT_MOUSE_NEED_CALIBRATION FALSE
|
#define GINPUT_MOUSE_NEED_CALIBRATION TRUE
|
||||||
#define GINPUT_MOUSE_LLD_CALIBRATION_LOADSAVE FALSE
|
#define GINPUT_MOUSE_LLD_CALIBRATION_LOADSAVE FALSE
|
||||||
#define GINPUT_MOUSE_MAX_CALIBRATION_ERROR -1
|
#define GINPUT_MOUSE_MAX_CALIBRATION_ERROR 10
|
||||||
#define GINPUT_MOUSE_READ_CYCLES 4
|
#define GINPUT_MOUSE_READ_CYCLES 4
|
||||||
#define GINPUT_MOUSE_POLL_PERIOD 100
|
#define GINPUT_MOUSE_POLL_PERIOD 100
|
||||||
#define GINPUT_MOUSE_MAX_CLICK_JITTER 4
|
#define GINPUT_MOUSE_MAX_CLICK_JITTER 4
|
||||||
|
|
|
@ -98,27 +98,27 @@ static void ts_lld_filter(void) {
|
||||||
* @notapi
|
* @notapi
|
||||||
*/
|
*/
|
||||||
uint16_t ts_lld_read_x(void) {
|
uint16_t ts_lld_read_x(void) {
|
||||||
uint16_t val1, val2;
|
uint16_t val1, val2;
|
||||||
adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
|
adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
|
||||||
|
|
||||||
palSetPadMode(ts->yd_port, ts->yd_pin, PAL_MODE_INPUT_ANALOG);
|
palSetPadMode(GPIOC, 0, PAL_MODE_INPUT_ANALOG);
|
||||||
palSetPadMode(ts->yu_port, ts->yu_pin, PAL_MODE_INPUT_ANALOG);
|
palSetPadMode(GPIOC, 1, PAL_MODE_INPUT_ANALOG);
|
||||||
palSetPadMode(ts->xl_port, ts->xl_pin, PAL_MODE_OUTPUT_PUSHPULL);
|
palSetPadMode(GPIOC, 2, PAL_MODE_OUTPUT_PUSHPULL);
|
||||||
palSetPadMode(ts->xr_port, ts->xr_pin, PAL_MODE_OUTPUT_PUSHPULL);
|
palSetPadMode(GPIOC, 3, PAL_MODE_OUTPUT_PUSHPULL);
|
||||||
|
|
||||||
palSetPad(ts->xl_port, ts->xl_pin);
|
palSetPad(GPIOC, 2);
|
||||||
palClearPad(ts->xr_port, ts->xr_pin);
|
palClearPad(GPIOC, 3);
|
||||||
chThdSleepMilliseconds(1);
|
chThdSleepMilliseconds(1);
|
||||||
adcConvert(ts->adc_driver, &adc_x_config, samples, ADC_BUF_DEPTH);
|
adcConvert(&ADCD1, &adc_x_config, samples, ADC_BUF_DEPTH);
|
||||||
val1 = ((samples[0] + samples[1])/2);
|
val1 = ((samples[0] + samples[1])/2);
|
||||||
|
|
||||||
palClearPad(ts->xl_port, ts->xl_pin);
|
palClearPad(GPIOC, 2);
|
||||||
palSetPad(ts->xr_port, ts->xr_pin);
|
palSetPad(GPIOC, 3);
|
||||||
chThdSleepMilliseconds(1);
|
chThdSleepMilliseconds(1);
|
||||||
adcConvert(ts->adc_driver, &adc_x_config, samples, ADC_BUF_DEPTH);
|
adcConvert(&ADCD1, &adc_x_config, samples, ADC_BUF_DEPTH);
|
||||||
val2 = ((samples[0] + samples[1])/2);
|
val2 = ((samples[0] + samples[1])/2);
|
||||||
|
|
||||||
return ((val1+((1<<12)-val2))/4);
|
return ((val1+((1<<12)-val2))/4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue