Commit Graph

338 Commits

Author SHA1 Message Date
Stefan Kerkmann
3c58f98929
[Core] PMW33XX drivers overhaul (#17613)
* PMW33XX drivers overhaul

This combines the PMW3389 and PM3360 drivers as they only differ in the
firmware blobs and CPI get and set functions. The following changes have
been made:

* PMW3389 now gets the same multi-sensor feature that is already available on the
  PMW3360.

* Introduced a shared pmw33xx_report_t struct is now directly readable via SPI
  transactions instead of individual byte-sized reads, saving multiple
  copies and bitshift operations.

* pmw33(89/60)_get_report functions had unreachable branches in their motion
  detection logic these have been simplied as much as possible.

* The fast firmware upload option has been removed as this becomes obsolete by
  the newly introduced polled waiting functions for ChibiOS polled waiting

* PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options
  have been removed as they don't need to be configurable.

* All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix
  to reduce code duplication and make the defines interchangeable

* Adjust keyboards to PMW33XX naming scheme
2022-07-14 11:50:00 +02:00
Drashna Jaelre
b21a52c824
Fix compilation issue with Cirque Guestures file (#17656) 2022-07-13 09:01:30 +02:00
Daniel Kao
5db705d054
Cirque trackpad features: circular scroll, inertial cursor (#17482) 2022-07-12 21:17:40 -07:00
Nick Brassel
29a2bac469
Fixup SPI. (#17534) 2022-07-05 22:41:35 +02:00
nirim000
fb40abe2f2
Pca9505/6 driver (#17333) 2022-07-03 00:37:02 +01:00
Nick Brassel
9f1c4f304d
Fixup #17438 (#17533) 2022-07-02 14:29:45 +10:00
Nick Brassel
b67ae67687
[QP] Add ILI9488 support. (#17438) 2022-07-02 13:20:45 +10:00
Nick Brassel
34e244cecf
Wear-leveling EEPROM drivers: embedded_flash, spi_flash, legacy (#17376) 2022-06-30 07:42:23 +10:00
Thomas Kriechbaumer
01bc974365
improvements for Cirque Pinnacle trackpads (#17091) 2022-06-25 22:22:28 +02:00
Jamal Bouajjaj
d3858585ac
Added global current to all other issi drivers who don't have it (#17448) 2022-06-23 02:16:39 +01:00
Kyle McCreery
eac0f6d4c9
Cirque Attenuation Setting (#17342) 2022-06-22 21:59:37 +02:00
Jamal Bouajjaj
2bddffeaec
IS31FL3737 Global Current Setting (#17420) 2022-06-19 14:32:37 -07:00
Stefan Kerkmann
fe680a8568
[Core] Split ChibiOS usart split driver in protocol and hardware driver part (#16669) 2022-06-18 08:04:17 +10:00
Nick Brassel
999b91fbd9
SPI Bugfix for ChibiOS 21.11.1 -- also rollback AW20216 mode change issue. (#17371) 2022-06-17 08:03:38 +10:00
jack
d2abfaeacd
Fixup Pimoroni trackball code (#17335) 2022-06-09 10:09:00 -07:00
Xelus22
af84772a5f
initial 24lc32a (#16990) 2022-06-04 01:53:24 +01:00
Andrew Dunai
ecce9900c9
Improve PS/2 mouse performance (#17111) 2022-05-30 23:15:17 -07:00
trwnh
9e2fe4eff6
Make SPI Mode configurable and change default mode to 3 (#17263) 2022-05-31 15:28:55 +10:00
trwnh
b554e4b612
Change AW20216 SPI Mode from 0 to 3, to fix RGB LEDs on GMMK Pro (#17262) 2022-05-31 14:46:21 +10:00
Drashna Jaelre
f090881aeb
[Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (#15657) 2022-05-15 21:24:35 +10:00
QMK Bot
478f83f711 Merge remote-tracking branch 'origin/master' into develop 2022-05-13 06:21:56 +00:00
Kyle McCreery
c199514372
[Bug] Updated Cirque Pinnacle SPI driver to read data correctly (#17074) 2022-05-12 23:21:25 -07:00
uqs
690dc4bdaf
Add support for multiple sensors to pmw3360 (#15996) 2022-04-19 20:29:17 +10:00
QMK Bot
88028dd982 Merge remote-tracking branch 'origin/master' into develop 2022-04-14 03:28:03 +00:00
leah-splitkb
18e56902c9
Fix external flash on AVR (#16851) 2022-04-14 13:27:26 +10:00
Nick Brassel
1f2b1dedcc
Quantum Painter (#10174)
* Install dependencies before executing unit tests.

* Split out UTF-8 decoder.

* Fixup python formatting rules.

* Add documentation for QGF/QFF and the RLE format used.

* Add CLI commands for converting images and fonts.

* Add stub rules.mk for QP.

* Add stream type.

* Add base driver and comms interfaces.

* Add support for SPI, SPI+D/C comms drivers.

* Include <qp.h> when enabled.

* Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789.

* Add support for GC9A01.

* Add support for ILI9341.

* Add support for ILI9163.

* Add support for SSD1351.

* Implement qp_setpixel, including pixdata buffer management.

* Implement qp_line.

* Implement qp_rect.

* Implement qp_circle.

* Implement qp_ellipse.

* Implement palette interpolation.

* Allow for streams to work with either flash or RAM.

* Image loading.

* Font loading.

* QGF palette loading.

* Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images.

* Image drawing.

* Animations.

* Font rendering.

* Check against 256 colours, dump out the loaded palette if debugging enabled.

* Fix build.

* AVR is not the intended audience.

* `qmk format-c`

* Generation fix.

* First batch of docs.

* More docs and examples.

* Review comments.

* Public API documentation.
2022-04-13 18:00:18 +10:00
QMK Bot
ca161fbbd9 Merge remote-tracking branch 'origin/master' into develop 2022-04-03 18:02:55 +00:00
Gompa
0c8109a1ac
fix typo in ps2 set_defaults (#16767) 2022-04-04 04:02:28 +10:00
Simon
dc9eb21332
add the ability to change the pwm frequency for the IS31FL3737B (#16718) 2022-03-24 18:08:22 +00:00
QMK Bot
98e783cc3c
Format code according to conventions (#16686) 2022-03-19 11:52:03 +00:00
Ryan
9ee2effe8e
HD44780 driver rework (#16370) 2022-03-19 17:57:22 +11:00
Ryan
2d9c3f9a89
Add SN74x154 driver and convert AL1 custom matrix (#16331) 2022-03-15 11:38:53 +11:00
Ryan
d412854e37
analog.[ch]: remove unnecessary includes (#16471) 2022-03-04 14:56:59 +11:00
QMK Bot
25ba9b41c1
Format code according to conventions (#16421) 2022-02-21 08:29:54 -08:00
QMK Bot
63646e8906
Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
Joy Lee
71c0b97bce
Added external spi flash driver. (#15419) 2022-02-11 20:26:16 +00:00
Joel Challis
1f67de2001
Align existing pca9555 driver to better match mcp23018 API (#16277) 2022-02-09 19:55:39 +00:00
Joel Challis
74e8a71768
Move driver to core (#15944) 2022-02-09 00:07:42 +00:00
QMK Bot
b7f415d047
Format code according to conventions (#16249) 2022-02-06 09:08:13 -08:00
MasterSpoon
0452ad9479
Add RGB matrix & LED Matrix support for IS31FL3742A, IS31FL3743A, IS31FL3745, IS31FL3746A (#14989)
Co-authored-by: Xelus22 <17491233+Xelus22@users.noreply.github.com>
2022-02-06 09:04:43 -08:00
Ryan
e036c19d06
Add SN74x138 demultiplexer driver (#16217) 2022-02-06 09:02:45 -08:00
Joel Challis
8927d56606
Update outputselect to use platform connected state API (#16185) 2022-02-04 09:55:58 -08:00
Vino Rodrigues
cad8866db1
Add support for Q-series on the ckled2001 LED driver (#16051) 2022-01-30 10:56:54 -08:00
Ryan
7d685956cc
Rename AdafruitBLE to BluefruitLE (#16127) 2022-01-30 17:29:42 +00:00
Stefan Kerkmann
be59e8af2b
Deprecate split transactions status field (#16023) 2022-01-26 21:13:27 -08:00
Drashna Jaelre
6ebb44f17e
[Bug][Core] Fix optical sensor firmware upload (#15919) 2022-01-20 09:23:16 -08:00
Alabastard-64
a8482a4424
PMW3389 Revert Firmware load during Initilization (#15859) 2022-01-13 02:51:05 +00:00
Alabastard-64
2842ab4052
Add PMW3389 optical sensor Support (Updated) (#15740)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-01-11 14:33:13 -08:00
Drashna Jaelre
ec7c3ac12d
Optimize initialization of PMW3360 Sensor (#15821) 2022-01-10 14:57:36 -08:00
Leo Deng
82d3bdb733
IS31FL3733 driver for LED Matrix (#15088) 2022-01-08 19:37:03 -08:00