summaryrefslogtreecommitdiff
path: root/drivers/arm
AgeCommit message (Collapse)Author
2020-06-12Initial arm->chibios pass - simplify some platform logic (#8450)Joel Challis
2020-06-12ARM - ADC cleanup (#8385)Joel Challis
* Update switch to array to allow custom values * Add adc keymap * update docs to reflect alignment of default 10 bit * start conversion to USE_ADCVn * samplerate is hella wrong...stub out for now * basic f1 and f4 functionality * Tidy up current changes * Restore old pinToMux function * Add back sample rate for supported platforms * F0 compile fixes * wordsmithery Co-Authored-By: Ryan <fauxpark@gmail.com> * Remove reference to avr only function Co-authored-by: Ryan <fauxpark@gmail.com>
2020-06-12Add ADC support for STM32F3 and STM32F0 devices (#7681)Drew Mills
* Add ADC support for STM32F3 and STM32F0 devices * Add section about configration options available to the ARM ADC implementation * Fix STM32 typo
2020-06-12PWM DMA based RGB Underglow for STM32 (#7928)Joel Challis
* Add pwm ws2812 driver * Add docs for pwm ws2812 driver * Update ws2812_pwm for ChibiOS 19 Co-Authored-By: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
2020-06-122020 February 29 Breaking Changes Update (#8064)James Young
2020-02-26Add thread safety around i2c_master for ChibiOS/ARM.Nick Brassel
2020-02-26Add central location for ChibiOS defines (#7542)Joel Challis
* Add central location for chibios defines * Add central location for chibios defines - actually add files this time.... * Add Copyright header * Update include order to resolve i2cv1 build errors
2020-02-26Apollo (#246)Florian Didron
* Add External EEPROM driver * Add keyboard * Fix i2c address * Revert i2c address for eeprom * Reduce page size for 24LC128 * Disable External EEPROM for now * Fix up RGB Matrix and layout * Cleanup moonlander.c file * Fix led array center * Disable External EEPROM for now * Cleanup and optimization of files * Add and clean up mappings * Enable "ZSA" defaults for Moonlander * Update matrix to use i2c_readReg * Disable render limit for rgb matrix * Update pin controls to GPIO Commands * Add proper changed mechanism * Additional cleanup * Run clang-format on moonlander files * Align keymap * Limit brightness for rgb matrix to 200 To prevent power draw issues * Add USB-IF VID/PID * Add RGB Matrix Sleep code * Enable External EEPROM on Moonlander * Port over Ergodox Expander error handling and retry code * Re-init RGB Matrix drivers when half is reconnected * Add threaded LED display * Correct layer state settings after moonlander_led_task * Update Moonlander to include Oryx configuration * Add webUSB Stuff * Update default keymap * fix: merge conflict Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-01-09fixed I2C driver support for stm32f4 (#7526)yulei
* correct i2c driver for stm32f4 * update pin mode definitions * update macro definition
2020-01-09WS2812 Overhaul (#210)Drashna Jaelre
* ARM - ws2812 bitbang (#7173) * Initial ARM bitbang ws2812 driver * Unify chibios platform to run rgblight_task * Remove 'avr only' comments from ws2812 docs * Remove 'avr only' comments from ws2812 docs * Unify chibios platform to run rgblight_task - review comments * Remove debug flags from keymap * Add comments from review * Add defines for STM32L0XX * Attempt to get arm ws2812 working on multiple gcc versions * Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280) Copypasta from the AVR suspend implementation with a Teensy-specific hack removed * Unify RGB and RGBW commands (#7297) * 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 * Remove force of debug on within rgblight - causes lockups waiting for hid_listen (#7330) * Move Ergodox EZ RGB Light code to custom driver (#7309) * 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 * Use White channel on RGBW LEDs * SPI DMA based RGB Underglow for STM32 (#7674) * Initial stash of ws2812 spi driver * Update comment, add sync backup plan * Add testing notes to spi ws2812 driver * Align RGBW error messages Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Jonathan Rascher <jon@bcat.name> Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-01-09Correct ARM STM32 I2C frequency. (#7080)yiancar
It was beleaved that this setting result in a 400Khz I2C bus. This was incorrect, actual frequency measure with a logic analyzer was around 150Khz. This is derived from the excel sheet linked in the .h file. Also confirmed with the ST IDE.
2019-11-04 Refactor ps2avrgb i2c ws2812 to core (#7183)Joel Challis
* 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>
2019-09-17clang-format changesskullY
2019-07-19Align ARM i2c_readReg with AVR (#6314)Joel Challis
* Align arm i2c_readReg with avr * Align arm i2c_readReg with avr - fix cannonkeys
2019-07-19Add ARM I2Cv1 support to i2c_master (#6262)Joel Challis
* Add ARM I2Cv1 support to i2c_master * Add I2Cv1 docs
2019-06-06Parameterise STM32 I2C pin modes and timing parameters. (#5671) (#71)Drashna Jaelre
I2C timing parameters were seemingly set up for an STM32F303 target MCU, at a specific clock speed. This commit allows specifying the timing parameters via config.h, allowing other STM32 MCUs to be targeted, potentially at different clock frequencies. Alternate function modes for the I2C pins are now also configurable, allowing for remapping to other pins.
2019-04-22OLED Driver FeatureRyan Caltabiano
2019-03-12Next set of split_common changes (#4974)James Churchill
* 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-02-10cleanupskullY
2019-02-10led_matrix works nowskullY
2018-12-19Also fix use of weak stm32 internal pullupyiancar
2018-12-19Minor STM32 i2c driver cleanupyiancar
2018-12-04adding Hadron v3 keyboard, QWIIC devices support, haptic feedback support ↵ishtob
(#4462) * add initial support for hadron ver3 * add initial support for hadron ver3 * pull qwiic support for micro_led to be modified for use in hadron's 64x24 ssd1306 oled display * initial work on OLED using qwiic driver * early work to get 128x32 oled working by redefining qwiic micro oled parameters. Currently working, but would affect qwiic's micro oled functionality * moved oled defines to config.h and added ifndef to micro_oled driver * WORKING :D - note, still work in progress to get the start location correct on the 128x32 display. * added equation to automatically calculate display offset based on screen width * adding time-out timer to oled display * changed read lock staus via read_led_state * lock indications fixes * Added scroll lock indication to oled * add support for DRV2605 haptic driver * Improve readabiity of DRV2605 driver. -added typedef for waveform library -added unions for registers * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Fixes for PR * PR fixes * fix old persistent layer function to use new set_single_persistent_default_layer * fix issues with changing makefile defines that broken per-key haptic pulse * Comment fixes * Add definable parameter and auto-calibration based on motor choice
2018-11-10I2C driver docs (#4298)yiancar
* I2C driver docs - Added I2C driver docs. - Changed arm master i2c driver to have a weak i2c_init as it is impossible to account for all possible port configuration in the STM32 world. * Update docs/i2c_driver.md Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy> * Update docs/i2c_driver.md Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy> * Update docs/i2c_driver.md Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy> * Update docs/i2c_driver.md Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy> * GPIO release fix
2018-08-28ISSI31FL3733 driver (#3679)yiancar
* ISSI31FL3733 driver - Addapted IS31 driver for the above driver * fix my branch * ISSI31FL3733 driver - Inclusion of above ISSI led driver * IS31fl3733 driver - Added correct function for control registers * Finalized support for ISSI31fl3733 led driver - Finalized and tested driver. - Modified i2c_master for arm due to declaration mistake. - Fixed spaces/tabs in quantum.h file. - Fixed spaces/tabs in common_features.mk file. - Removed unnecessary includes from rgb_matrix.c file. - Added local definitions for MIN and MAX macros in rgb_matrix.c file. - Adjusted chevron effect. - Added necessary define (RGB_3733_MATRIX_ENABLE) for makefile. - Added necessary C define (ISSI3733) to aid with inclusion of the correct header file. - Added documentation for the new driver. * Driver structure update - Changed rule includes to be more condensed (RGB_MATRIX_ENABLE = IS31FL3731) and (RGB_MATRIX_ENABLE = IS31FL3733) - Updated documentation - Reverted to the use of differently named functions for each driver and selecting the needed ones within rgb_matrix.c * ISSI Drivers refractoring - Moved issi drivers in a dedicated folder - Updated documentation * I2C library fix I released the special pins incorrectly before. It is now fixed.
2018-08-15Rgb matrix arm (#3648)yiancar
* 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