forked from mirrors/qmk_userspace
Rework and expand Pointing Device support (#14343)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
This commit is contained in:
parent
462c3a6151
commit
56e3f06a26
60 changed files with 2107 additions and 1705 deletions
|
@ -18,18 +18,48 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifndef ADNS9800_CPI
|
||||
# define ADNS9800_CPI 1600
|
||||
#endif
|
||||
|
||||
#ifndef ADNS9800_CLOCK_SPEED
|
||||
# define ADNS9800_CLOCK_SPEED 2000000
|
||||
#endif
|
||||
|
||||
#ifndef ADNS9800_SPI_LSBFIRST
|
||||
# define ADNS9800_SPI_LSBFIRST false
|
||||
#endif
|
||||
|
||||
#ifndef ADNS9800_SPI_MODE
|
||||
# define ADNS9800_SPI_MODE 3
|
||||
#endif
|
||||
|
||||
#ifndef ADNS9800_SPI_DIVISOR
|
||||
# ifdef __AVR__
|
||||
# define ADNS9800_SPI_DIVISOR (F_CPU / ADNS9800_CLOCK_SPEED)
|
||||
# else
|
||||
# define ADNS9800_SPI_DIVISOR 64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef ADNS9800_CS_PIN
|
||||
# error "No chip select pin defined -- missing ADNS9800_CS_PIN"
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
/* 200 - 8200 CPI supported */
|
||||
uint16_t cpi;
|
||||
} config_adns_t;
|
||||
} config_adns9800_t;
|
||||
|
||||
typedef struct {
|
||||
int16_t x;
|
||||
int16_t y;
|
||||
} report_adns_t;
|
||||
} report_adns9800_t;
|
||||
|
||||
void adns_init(void);
|
||||
config_adns_t adns_get_config(void);
|
||||
void adns_set_config(config_adns_t);
|
||||
void adns9800_init(void);
|
||||
config_adns9800_t adns9800_get_config(void);
|
||||
void adns9800_set_config(config_adns9800_t);
|
||||
uint16_t adns9800_get_cpi(void);
|
||||
void adns9800_set_cpi(uint16_t cpi);
|
||||
/* Reads and clears the current delta values on the ADNS sensor */
|
||||
report_adns_t adns_get_report(void);
|
||||
report_adns9800_t adns9800_get_report(void);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue