Commit graph

23 commits

Author SHA1 Message Date
Takuya Urakawa 2f3dbb1253 Add new keyboard Plaid and ATMEGA328p support (#5379)
* add plaid

* Change usb vid/pid to free id from vusb
Trivial fix for vusb core

* update readme

* update info.json default keymap

* fix typo

* Replace copyright
2019-03-12 11:48:17 -07:00
James Churchill 28929ad017 Simplify split_common Code significantly (#4772)
* Eliminate separate slave loop

Both master and slave run the standard keyboard_task main loop now.

* Refactor i2c/serial specific code

Simplify some of the preprocessor mess by using common function names.

* Fix missing #endif

* Move direct pin mapping support from miniaxe to split_common

For boards with more pins than sense--sorry, switches.

* Reordering and reformatting only

* Don't run matrix_scan_quantum on slave side

* Clean up the offset/slaveOffset calculations

* Cut undebounced matrix size in half

* Refactor debouncing

* Minor fixups

* Split split_common transport and debounce code into their own files

Can now be replaced with custom versions per keyboard using
CUSTOM_TRANSPORT = yes and CUSTOM_DEBOUNCE = yes

* Refactor debounce for non-split keyboards too

* Update handwired/xealous to build using new split_common

* Fix debounce breaking basic test

* Dodgy method to allow a split kb to only include one of i2c/serial

SPLIT_TRANSPORT = serial or SPLIT_TRANSPORT = i2c will include only
that driver code in the binary.

SPLIT_TRANSPORT = custom (or anything else) will include neither, the
keyboard must supply it's own code

if SPLIT_TRANSPORT is not defined then the original behaviour (include
both avr i2c and serial code) is maintained.

This could be better but it would require explicitly updating all the
existing split keyboards.

* Enable LTO to get lets_split/sockets under the line

* Add docs for SPLIT_TRANSPORT, CUSTOM_MATRIX, CUSTOM_DEBOUNCE

* Remove avr-specific sei() from split matrix_setup

Not needed now that slave doesn't have a separate main loop.
Both sides (on avr) call sei() in lufa's main() after exiting
keyboard_setup().

* Fix QUANTUM_LIB_SRC references and simplify SPLIT_TRANSPORT.

* Add comments and fix formatting.
2019-01-17 10:08:14 -08:00
Jack Humbert 3cf179be61 Adds Proton C Conversion (#4661)
* adds proton c base

* fixes custom matrix include

* adds readme.md

* initial proton coversion, no pin mapping

* start of mcu selection

* add pin mapping and sweet16 test

* add at90 to list

* disable backlight, fix d7

* update flag names

* doc updates

* proton c update for mcu selection
2019-01-10 08:22:57 -08:00
Jack Humbert 15f6278aa6
Add support for Atmega32A to pin declarations and universal matrix (#4015)
* add computed pins from mcu type

* update for atmega32a

* doc typo

* add atmega16 chips, link to references

* remove avr include from config

* exclude assembler in config.h includes

* consolodate options, add 646

* fix typo in pindef
2018-11-02 12:31:40 -04:00
yiancar 7fe03d085c Update quantum matrix to support both AVR and Chibios ARM (#3968)
* Update quantum matrix to support both AVR and Chibios ARM

- Addition of STM32 pin definitions
- Created abstruction layer defines to control GPIO (This is a bit pointless for Chibios as we are creating a PAL ontop of a PAL but it is necessary for uniformity with AVR)
- Modified matrix.c to use the above functions

* minor ifdef fix

* Rename of functions and docs

- Added documentation.
- Renamed functions according to Jack's spec.

* Massdrop fix

* Update matrix.c

* Update quantum.h

* Update quantum.h

* Update quantum.h

* Update internals_gpio_control.md
2018-09-28 12:33:11 -04:00
Jack Humbert ade22f8e2c
Adds support for Planck Rev 6 (#2666)
* initial files for rev 6 with encoder

* music map init, dip scan added

* adds ws2812 driver for arm

* flesh out dip and encoder support

* adds default encoder res

* adds default encoder res

* start muse implementation

* muse working with encoder as control

* flip direction

* try mouse wheel again

* dont break other revs

* dont break other revs

* conditional autio

* pwm ws driver (not working)

* update build includes for chibios

* update ws2812 driver/config

* last commit for glasser code

* working example

* remove rgb for now

* finish up rev6

* working encoder keycodes

* add warnings to planck keymaps about the LAYOUT
2018-07-16 11:48:31 -04:00
Jack Humbert 6a3c66776c clean-up planck and preonic keymaps, move audio stuff around 2017-07-23 14:59:29 -04:00
skullydazed 23839b8c6d Clarify the quantum license (#1042)
* Clarify the license for files we have signoff on

* Update against the currently signed off files

* Remove unused and not clearly licensed headers

* Replace an #endif I accidentally removed while resolving merge conflicts
2017-03-28 15:20:36 -07:00
Nikolaus Wittenstein 8cbf61c919 Add new DIODE_DIRECTION option
The previous two options were COL2ROW, ROW2COL; this adds CUSTOM_MATRIX
to disable the built-in matrix scanning code.

Most notably, this obviates the need to set MATRIX_ROW_PINS or
MATRIX_COL_PINS.
2017-02-05 19:47:33 -05:00
Fred Sundvik dd685eceb2 API Sysex fixes
Fix memory leaks by using stack instead of malloc
Reduce memory usage by having less temporary bufffers
Remove warnings by adding includes
Decrease code size by 608 bytes (mostly due to not linking malloc)
More robust handling of buffer overflows
2016-12-29 12:13:30 +02:00
Jack Humbert 6e0f994950 Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7 2016-11-28 23:51:07 -05:00
Priyadi Iman Nurcahyo f2214ce1cb remove define checks. didn't work because of include ordering. 2016-11-26 15:57:48 +07:00
Priyadi Iman Nurcahyo d9d67e7b76 add macro error when a required define is missing 2016-11-26 15:26:02 +07:00
Priyadi Iman Nurcahyo 17acde94ee Fix unterminated ifndef 2016-11-26 14:02:38 +07:00
Priyadi Iman Nurcahyo de1df63953 PS2 pins configuration belongs to each keyboards config.h
Each keyboard might have different pin configuration. And keeping this
here will trigger redefinition warning on keyboards that have PS2
defines.
2016-11-26 13:55:41 +07:00
ofples 0c9d66eb59 Removed comment 2016-11-25 09:20:41 +02:00
ofples 03d6e165bb Added missing endif for ifdef __AVR_ATmega32U4__ and removed the unnecessary one at the end of the file 2016-11-25 09:17:40 +02:00
Jack Humbert 6390033e86 cleaning up midid 2016-11-21 20:14:16 -05:00
IBNobody 936a26d04f Added pin support for A0-A7
Vision Division - It works!
2016-08-25 00:15:41 -05:00
IBNobody 705c775a4a Nightly
Only major change to qmk was the addition of A0-A7 pins for the AT90USB
2016-08-21 22:05:55 -05:00
Jack Humbert 13bb6b4b7f Backlight abstraction and other changes (#439)
* redoes matrix pins, abstracts backlight code for B5,6,7

* slimming down keyboard stuff, backlight breathing implemented

* don't call backlight init when no pin

* cleans up user/kb/quantum calls, keyboard files

* fix pvc atomic

* replaces CHANNEL with correct var in breathing

* removes .hexs, updates readmes, updates template

* cleans-up clueboards, readmes to lowercase

* updates readme
2016-06-23 22:18:20 -04:00
Eric Tang aaa758f1d3 Optimize matrix scanning (#343) 2016-05-23 23:42:21 -04:00
Jack Humbert 35a81f5b8b added ergodox 2015-10-26 16:32:37 -04:00