summaryrefslogtreecommitdiffstats
path: root/drivers/avr
Commit message (Collapse)AuthorAgeFilesLines
* format code according to conventions [skip ci]QMK Bot2020-04-081-5/+5
|
* spi_master for AVR (#8299)Ryan2020-04-082-0/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Change _delay_ms/us() to wait_ms/us() * Switch to platform-agnostic GPIO macros * Add AVR spi_master and migrate Adafruit BLE code * Set verbose back to false * Add clock divisor, bit order and SPI mode configuration for init * Add start and stop functions * Move configuration of mode, endianness and speed to `spi_start()` * Some breaks here would be good * Default Adafruit BLE clock divisor to 4 (2MHz on the Feather 32U4) * Remove mode and divisor enums * Add some docs * No hr at EOF * Add links in sidebar
* Fix AVR ws2812 when ADDRESS_BASE is non zero (#8646)Joel Challis2020-04-022-22/+17
| | | | | | | * Fix AVR ws2812 when ADDRESS_BASE is non zero * fix port * remove unused function defs
* Remove pro_micro.h (#8374)Ryan2020-03-141-324/+0
| | | | | * Remove pro_micro.h * Include quantum.h
* Clean up includes for glcdfont headers (#7745)Ryan2020-03-011-12/+1
| | | | | | | | * Clean up includes for glcdfont headers * Remove pragma once, most of these are not headers * Missed these
* Update split serial code to use driver pattern (#7990)Joel Challis2020-01-242-0/+570
| | | | | | * Move avr serial code to drivers * Update src+= serial.c to driver pattern
* Improve support and docs for ADC driver (#7191)fauxpark2019-12-082-39/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Improve support and docs for ADC driver * Comment ADC channels * Move to Makers and Modders section, and fix usage instructions * Flesh out intro * Superscript 328P note * Fix pin_to_mux LUT * Support USB64/1287 as well * analogReadPin() defaults to 0V mux on invalid pin * Update pinToMux() function documentation * Dot * Accept (some of) the `qmk cformat` changes * Do clang-format properly * More wording tweaks * Link to encoder docs
* Move Ergodox EZ RGB Light code to custom driver (#7309)Drashna Jaelre2019-11-141-127/+2
| | | | | | | | | | | | | | | | | | | * Move Ergodox EZ RGB code to custom driver Also implements full addressing of Ergodox EZ's LED Strip, as written by seebs Co-authored-by: Seebs <seebs@seebs.net> * Make Clipping range accessible for custom drivers * Remove RGBW_BB_TWI from driver and docs * Revert changes to clipping range support * Use just rgblight_set instead of full custom driver * Convert to i2c_master commands * Rename rgblight driver and clean up includes
* Unify RGB and RGBW commands (#7297)Drashna Jaelre2019-11-093-25/+12
| | | | | | | | | | | | | | | | | | | | | | * Fix unicode in comments Co-Authored-By: fauxpark <fauxpark@gmail.com> * Remove separate RGBW implementation for a unified function * Set White to 0 in RGBW LEDs This is just to get this working, later, proper brightness can be handled elsewhere. * Use us instead of nanoseconds(?) since it renders correctly on web * Remove RGBW function from arm/ws2812.h * Remove RGBW function from arm/ws2812.c * Formatting changes * Add doc info
* Refactor ps2avrgb i2c ws2812 to core (#7183)Joel Challis2019-10-291-0/+31
| | | | | | | | | | | | | | | | | | | | * Refactor ps2avrgb i2c ws2812 to core * Refactor jj40 to use ws2812 i2c driver * Refactor ps2avrgb template to use ws2812 i2c driver * Add ws2812 stub files * clang-format and driver config * Add ws2812 driver docs * Fix default config values * Update tmk_core/protocol/vusb/main.c Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Reduce duplication for ARM/AVR ws2812 RGB Matrix driver (#7180)Joel Challis2019-10-292-57/+11
| | | | | | * Reduce duplication for ARM/AVR ws2812 rgb_matrix driver * Reduce duplication for ARM/AVR ws2812 rgb_matrix driver - Fix setled_all use of r,g,b
* Fix battery level code in adafruit_ble.cpp (#6648)bwhelm2019-09-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix battery level code in adafruit_ble.cpp The code in tsk_core/protocol/lufa/adafluit_ble.cpp that polls the battery level for the Adafruit feather BLE controller reads the regulated voltage, not the raw voltage coming from the battery. To do that, the Adafruit Feather docs say you should read from pin A9: https://learn.adafruit.com/adafruit-feather-32u4-basic-proto/power-management#measuring-battery-4-9. (See also https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/pinouts#logic-pins-2-9.) I'm not sure why, but analogRead(9); doesn't read the correct pin. Checking all available analog pins experimentally, it turns out that analogRead(7); returns the correct value. So the code above should read: state.vbat = analogRead(7); * Update tmk_core/protocol/lufa/adafruit_ble.cpp Co-Authored-By: Drashna Jaelre <drashna@live.com> * Remove old comment * Fix linking error * Remove `#ifdef` around `#include analog.h`. * Really fix linking error
* Removed prescaler define from avr i2c, as it was impossible to use (#6617)Mikkel Jeppesen2019-08-301-2/+2
|
* clang-format changesskullY2019-08-3016-1603/+1195
|
* Add GPL3 header to avr i2c files (#6332)Drashna Jaelre2019-07-154-2/+62
| | | | | | | | * Add GPL3 header to avr i2c files * Add for i2c_slave as well * Fix formatting of license header
* Moving rgb typedefs into a single location (#5978)XScorpion22019-06-042-2/+2
| | | | | Because someone named the define poorly Using full relative path as handwired/promethium has a color.h file
* Fixing incorrect usage of RGBLED_NUM in ws2812 driver when used with RGB ↵XScorpion22019-05-011-1/+1
| | | | Matrix (#5744)
* OLED Driver FeatureRyan Caltabiano2019-04-202-5/+5
|
* Features/ws2812 matrix driver (#5418)XScorpion22019-04-142-1/+29
| | | | | | * WS2812 driver implementation for RGB Matrix * Added driver configuration docs
* i2c_init update to work with atmega32a boards (#5562)MechMerlin2019-04-061-0/+12
| | | | | | | * 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
* Fix return value of i2c_readReg and i2c_receive (#5410)zvecr2019-03-151-2/+2
|
* Next set of split_common changes (#4974)James Churchill2019-03-123-95/+69
| | | | | | | | | | | | | | | | * 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
* Added APA102 support (#4940)Mikkel Jeppesen2019-02-152-0/+147
| | | | | | | | | | | | * Fixed pin for RGB * Re-did apa102 stuff * changed to use pincontrol functions * Removed a newline? * Changed to comply with project style
* Practice60 RGB and PWM Backlight (#4929)Andrew Kannan2019-01-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Rename i2c_slave functions so it can coexist with i2c_master (#4875)James Churchill2019-01-222-20/+18
| | | Also merges tx/rx buffers, as only one is necessary.
* Adds support for JacoBurge's TouchPad (#4186)Jack Humbert2019-01-101-1/+4
| | | | | | | | | | | | | | | | * add touchpad * progress * working with leds and vibrations * adds readme * Update keyboards/touchpad/readme.md Co-Authored-By: jackhumbert <jack.humb@gmail.com> * updates
* Remove all of the deprecated RGB definesDrashna Jaelre2018-10-221-3/+0
| | | | Fixes #3641
* DC01 updates and I2C avr speed overwrite (#4088)yiancar2018-10-081-0/+2
| | | | | | | | | * 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
* Rgb matrix arm (#3648)yiancar2018-08-152-476/+0
| | | | | | | | | | | * 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
* DC01 keyboard addition (#3428)yiancar2018-07-184-142/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Integrating Peter Fleury's HD44780 LCD library (#3209)Max Audron2018-07-152-0/+963
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Add I2C slave libraryyiancar2018-07-152-0/+119
| | | | - Add I2C slave library for general use.
* remove comment codeJack Humbert2018-06-231-1/+0
|
* adds immediate i2c return, fixes ez matrix codeJack Humbert2018-06-232-6/+9
|
* refactor, non-workingJack Humbert2018-06-224-108/+147
|
* start updating i2c for timeoutsJack Humbert2018-06-202-71/+46
|
* adds timeout to avr i2cJack Humbert2018-06-124-42/+115
|
* revert some attempts, update i2cJack Humbert2018-06-121-1/+1
|
* i2c fixJack Humbert2018-05-152-21/+28
|
* Rgb matrix fixes, I2C library can now retry if it has failed (#2943)yiancar2018-05-145-339/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Adds IS31FL3731 RGB Matrix Implementation (#2910)Jack Humbert2018-05-084-0/+786
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* update to driver separationJack Humbert2017-09-151-17/+1
|
* fix implementation issues from SSD1306 clean up, added rotation (#1494)ishtob2017-07-122-8/+9
| | | | | | | | | | * 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
* clean up ssd1306 implementationJack Humbert2017-07-112-160/+91
|
* update drivers to exclude lets_split includeJack Humbert2017-07-111-1/+0
|
* Start mvoing hardware drivers to /drivers/ (#1433)Jack Humbert2017-07-108-0/+1679
* start driver isolation * update nyquist and orthodox boards * update atreus62 * move drivers to avr * update avr conditional