summaryrefslogtreecommitdiff
path: root/platforms/avr/drivers
AgeCommit message (Collapse)Author
2022-07-12Include stdint.h in avr/i2c_master.h (#17639)jack
2022-06-25Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-06-25[Split] Ensure SOFT_SERIAL_PIN is defined if USE_I2C isn't defined (#17466)Drashna Jaelre
2022-06-22Fix AVR I2C master 1ms timeout (#17174)Daniel Kao
* avr i2c_master: Fix 1ms timeout i2c_start() produces a minimum time_slice of 1ms for use as timeout value. The timer granularity is 1ms, it is entirely possible for timer_count to tick up immediately after the last timer read and falsely trigger timeout with a '>= 1' comparison. * avr/drivers/i2c_master: Use timer_elapsed()
2022-05-30Improve PS/2 mouse performance (#17111)Andrew Dunai
2022-05-18Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-05-18Fix platforms/avr/drivers/ws2812.c (#17043)Takeshi ISHII
* Fix platforms/avr/drivers/ws2812.c `platforms/avr/drivers/ws2812.c` has been changed to use `DDRx_ADDRESS()` and `PORTx_ADDRESS()` instead of `_SFR_IO8()` in #8646. To use them, `#include <pin_defs.h>` is required. ## Error Log * create new keyboard ```shell bash-3.2$ qmk new-keyboard Ψ Generating a new QMK keyboard directory Name Your Keyboard Project For more infomation, see: https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject Keyboard Name? ws2812_test .................................. 36. WB32F3G71 Please enter your choice: [12] Ψ Created a new keyboard called ws2812_test. Ψ To start working on things, `cd` into keyboards/ws2812_test, Ψ or open the directory in your preferred text editor. Ψ And build with qmk compile -kb ws2812_test -km default. ``` * Enable RGBLIGHT. ```shell bash-3.2$ echo RGBLIGHT_ENABLE=yes >> ./keyboards/ws2812_test/rules.mk bash-3.2$ echo '#define RGB_DI_PIN B1' >> ./keyboards/ws2812_test/config.h bash-3.2$ echo '#define RGBLED_NUM 6' >> ./keyboards/ws2812_test/config.h ``` * Compile ```shell bash-3.2$ make ws2812_test:default QMK Firmware 0.16.9 Making ws2812_test with keymap default avr-gcc (Homebrew AVR GCC 8.4.0_2) 8.4.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ..................... Compiling: quantum/process_keycode/process_rgb.c [OK] Compiling: platforms/avr/drivers/ws2812.c platforms/avr/drivers/ws2812.c: In function 'ws2812_setleds': platforms/avr/drivers/ws2812.c:40:5: error: implicit declaration of function 'DDRx_ADDRESS' [-Werror=implicit-function-declaration] DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~~~ In file included from <command-line>: ./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'? #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN' DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~ ./keyboards/ws2812_test/config.h:21:20: note: each undeclared identifier is reported only once for each function it appears in #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN' DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~ platforms/avr/drivers/ws2812.c:42:47: error: implicit declaration of function 'PORTx_ADDRESS' [-Werror=implicit-function-declaration] uint8_t masklo = ~(pinmask(RGB_DI_PIN)) & PORTx_ADDRESS(RGB_DI_PIN); ^~~~~~~~~~~~~ In file included from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/io.h:99, from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/interrupt.h:38, from platforms/avr/drivers/ws2812.c:24: platforms/avr/drivers/ws2812.c: In function 'ws2812_sendarray_mask': ./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'? #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:167:69: note: in expansion of macro 'RGB_DI_PIN' : "r"(curbyte), "I"(_SFR_IO_ADDR(PORTx_ADDRESS(RGB_DI_PIN))), "r"(maskhi), "r"(masklo)); ^~~~~~~~~~ cc1: all warnings being treated as errors [ERRORS] | | | make[1]: *** [.build/obj_ws2812_test_default/ws2812.o] Error 1 make: *** [ws2812_test:default] Error 1 Make finished with errors ``` * change include order
2022-03-19HD44780 driver rework (#16370)Ryan
2022-03-04analog.[ch]: remove unnecessary includes (#16471)Ryan
2022-02-12Format code according to conventions (#16322)QMK Bot
2022-01-26Deprecate split transactions status field (#16023)Stefan Kerkmann
2021-12-26More GPIO compilation fixes. (#15592)Nick Brassel
2021-12-27Defer pin operations to gpio.h (#15589)Nick Brassel
2021-12-02Tidy up existing i2c_master implementations (#15376)Joel Challis
* Move chibios defines out of header * Make some avr defines internal
2021-11-25Tidy up adjustable ws2812 timing (#15299)Joel Challis
2021-11-15Fix uart function prototypes (#15162)Drashna Jaelre
2021-11-13Update UART driver API (#14839)Ryan
* Add uart_puts() and uart_gets() * Add some docs * Rework API * Formatting * Update docs/uart_driver.md Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Simplify a uart_write() loop * Update platforms/avr/drivers/uart.c Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com>
2021-11-01Manually format develop (#15003)Joel Challis
2021-10-20Relocate PS2 code (#14895)Joel Challis
* Relocate ps2 protocol code * clang * Move makefile logic
2021-10-07i2c_master: Add support for reading/writing to 16-bit registers (#14289)Ryan
2021-10-06Move Audio drivers from quantum to platform drivers folder (#14308)Drashna Jaelre
* Move Audio drivers from quantum to platform drivers folder * fix path for audio drivers Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-08Remove Arduino-style `analogRead()` (#14348)Ryan
2021-08-17Relocate platform specific drivers (#13894)Joel Challis
* Relocate platform specific drivers * Move stm eeprom * Tidy up slightly