Commit graph

27 commits

Author SHA1 Message Date
MechMerlin
410984486b i2c_init update to work with atmega32a boards (#5562)
* On i2c_init, enable two wire interface, twi interrupt, and slave
address ACK along with pull up resistors.

* thanks to some testing by drashna, we know that setting TWI doesn't work for all boards. Putting the new code into an ifdef block
2019-04-06 17:30:48 -07:00
zvecr
e0a03bfa6c Fix return value of i2c_readReg and i2c_receive (#5410) 2019-03-15 08:55:07 -07:00
James Churchill
37932c293c Next set of split_common changes (#4974)
* Update split_common to use standard i2c drivers

* Eliminate RGB_DIRTY/BACKLIT_DIRTY

* Fix avr i2c_master error handling

* Fix i2c_slave addressing

* Remove unneeded timeout on i2c_stop()

* Fix RGB I2C transfers

* Remove incorrect comment
2019-03-12 10:23:28 -07:00
Mikkel Jeppesen
6f50c7eba1 Added APA102 support (#4940)
* Fixed pin for RGB

* Re-did apa102 stuff

* changed to use pincontrol functions

* Removed a newline?

* Changed to comply with project style
2019-02-15 11:32:31 -08:00
Andrew Kannan
0f507f0169 Practice60 RGB and PWM Backlight (#4929)
* Update Practice60 to enable RGB via SPI DMA and use PWM backlight breathing

* Correct stm32f103c8t6 flash size in eeprom definition

* Remove unused files and improve ifdef checks

* Update quantum/rgblight.c

Co-Authored-By: awkannan <andrew.kannan@klaviyo.com>

* Update quantum/rgblight.c

Co-Authored-By: awkannan <andrew.kannan@klaviyo.com>

* EEPROM implementation fix and updated p60 code

* Update define

* Remove dead code

* Update keymap to remove test key

* Update keymap again
2019-01-28 16:40:02 -08:00
James Churchill
8cf7265f8f Rename i2c_slave functions so it can coexist with i2c_master (#4875)
Also merges tx/rx buffers, as only one is necessary.
2019-01-22 08:57:13 -08:00
Jack Humbert
d28684da90 Adds support for JacoBurge's TouchPad (#4186)
* add touchpad

* progress

* working with leds and vibrations

* adds readme

* Update keyboards/touchpad/readme.md

Co-Authored-By: jackhumbert <jack.humb@gmail.com>

* updates
2019-01-10 08:26:40 -08:00
Drashna Jaelre
7e99d869de Remove all of the deprecated RGB defines
Fixes #3641
2018-10-22 14:55:57 -04:00
yiancar
98a63d8d6e DC01 updates and I2C avr speed overwrite (#4088)
* DC01 updates and I2C avr speed overwrite

- General updating of DC01
- Made F_SCL define in AVR I2C driver overwritable from config.h

* Update drivers/avr/i2c_master.c
2018-10-08 18:27:04 -04:00
yiancar
ad2bb529c7 Rgb matrix arm (#3648)
* Addition of I2C master driver for STM32, Generalization of ISSI3731 driver

- Addition of an i2c_master driver for STM32 to replicate expectations of AVR driver.
- Moved ISSI3731 driver one level up to make it accesible by both architectures.
- Renamed ISSI3731 functions to a more general name for preparation of other ISSI drivers.
- Added compiler directives where necessary to differenciate each architecture.

* converted tabs to spaces
2018-08-15 01:19:38 -04:00
yiancar
72fd49b146 DC01 keyboard addition (#3428)
* DC01 initial commit

- Addition of directories
- Left readme

* Initial commit of left half

* Initial files for right half

* arrow

* i2c adjustments

* I2C slave and DC01 refractoring

- Cleaned up state machine of I2C slave driver
- Modified DC01 left to use already pressent I2C master driver
- Modified DC01 matrixes

* Fixed tabs to spaces

* Addition of Numpad

* Add keymaps

- Orthopad keymap for numpad module
- Numpad keymap for numpad module
- ISO, ANSI and HHKB version of keymap for right module

* Minor matrix.c fixes

* Update Readmes
2018-07-18 12:55:57 -04:00
Max Audron
bbea9dadbc Integrating Peter Fleury's HD44780 LCD library (#3209)
* integrated Peter Fleury's LCD library for HD44780 LCDs

* fixed typo

* cleanup finished

* add documentation

* added HD44780 documentation

* removed keyboard from .gitmodules

* resolved merge conflict

* removed edit of kira75s rules.mk made by merge

* moved hd44780 to drivers/avr

* Added licence info to hd44780 files

* Added link to hd44780 docs.
2018-07-15 13:31:45 -04:00
yiancar
60797c8439 Add I2C slave library
- Add I2C slave library for general use.
2018-07-15 13:00:50 -04:00
Jack Humbert
08283f6124 remove comment code 2018-06-23 14:34:41 -04:00
Jack Humbert
7a44ad83fc adds immediate i2c return, fixes ez matrix code 2018-06-23 14:18:47 -04:00
Jack Humbert
6380f83190 refactor, non-working 2018-06-22 21:26:30 -04:00
Jack Humbert
76e0d23887 start updating i2c for timeouts 2018-06-20 16:26:43 -04:00
Jack Humbert
bad56a4f2b adds timeout to avr i2c 2018-06-12 23:37:06 -04:00
Jack Humbert
b8564f5dd0 revert some attempts, update i2c 2018-06-12 14:27:22 -04:00
Jack Humbert
682555faac i2c fix 2018-05-15 22:30:58 -04:00
yiancar
a98a91cf1b Rgb matrix fixes, I2C library can now retry if it has failed (#2943)
* Added Modular keyboards L,R and NUM

Created code modules for the 3 modules of the modular keyboard.
Original idea by MechboardsUK. Uses i2c implementation similar to lets
split

* Remove modular from master

This is to fix incorrect branching

* General fixes for RGB_matrix

- Complited speed support for all effects
- Fixed raindrop effects to initialized after toggle
- Fixed raindrop effects to use all available LEDs
- Fixed effect step reverse function
- Moved RGB_MATRIX_SOLID_REACTIVE under correct flag

* Documentation update for RGBmatrix

* More doc updates

* I2C library can now retry if it has failed

- Replaced the original TWIlib by LFKeyboard's modified version
- Allows for an extra argument on TWITransmitData, if blocking is set to 1 function will retry to transmit on failure. Good for noisy boards.

* RGB Matrix, use alternative I2C library

TWIlib seems to be hanging for me sometimes probably due to ISR routine. I have used i2c_master as a good alternative.

Note: this commit is for Wilba6582 to verify before merge

* Update rgb_matrix.c

* RGB matrix cleanup

- Remove TWIlib
2018-05-14 10:17:24 -04:00
Jack Humbert
14b7602a65
Adds IS31FL3731 RGB Matrix Implementation (#2910)
* adds is31fl3731 rgb matrix implementation

* fix build script for force pushes

* allow bootloader size to be overwritten

* adds planck light implementation

* split led config into 2 arrays

* idk

* betterize register handling

* update planck implementation

* update planck

* refine rgb interface

* cleanup names, rgb matrix

* start documentation

* finish up docs

* add effects list

* clean-up merge

* add RGB_MATRIX_SKIP_FRAMES

* add support for at90usb1286 to bootloader options
2018-05-08 15:24:18 -04:00
Jack Humbert
dc7d0c7b74 update to driver separation 2017-09-15 21:43:58 -04:00
ishtob
087af43dee fix implementation issues from SSD1306 clean up, added rotation (#1494)
* moved OLED update task to keymap

* fix splitting render display to keymap

* Added rotation option for OLED, fixed splitting display render update to keymap

* issues with attribute
2017-07-12 12:10:28 -04:00
Jack Humbert
cc468523df clean up ssd1306 implementation 2017-07-11 14:23:26 -04:00
Jack Humbert
387b07404a update drivers to exclude lets_split include 2017-07-11 13:57:58 -04:00
Jack Humbert
42d5a324eb Start mvoing hardware drivers to /drivers/ (#1433)
* start driver isolation

* update nyquist and orthodox boards

* update atreus62

* move drivers to avr

* update avr conditional
2017-07-10 11:18:47 -04:00