summaryrefslogtreecommitdiff
path: root/platforms/avr
AgeCommit message (Collapse)Author
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-06-06[Core] Update C standard to GNU11, C++ to GNU++14 (#17114)Stefan Kerkmann
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-05-18Workaround for recent -Werror=array-bounds AVR issues (#17136)Joel Challis
2022-05-14[Core] Add Reboot keycode to core (#15990)Drashna Jaelre
2022-04-29Move disable_jtag to platforms (#16960)Joel Challis
2022-04-22[Core] Allow usage of AVRs minimal printf library (#16266)Stefan Kerkmann
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-04-18Fixup AVR builds. (#16875)Nick Brassel
* Fixup AVR builds. * Update platforms/avr/hardware_id.c Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2022-04-18Expose API for hardware unique ID (#16869)Joel Challis
2022-03-19HD44780 driver rework (#16370)Ryan
2022-03-10Force platform pin defs to be included (#16611)Joel Challis
* Force platform pin defs to be included * Always grab first header
2022-03-04Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-03-04analog.[ch]: remove unnecessary includes (#16471)Ryan
2022-02-26[Core] Squeeze AVR some more with `-mrelax` and `-mcall-prologues` (#16269)Stefan Kerkmann
2022-02-12Format code according to conventions (#16322)QMK Bot
2022-02-05Followup to #16220, more test error output. (#16221)Nick Brassel
2022-02-05Initial migration of suspend callbacks (#16067)Joel Challis
* Initial migration of suspend logic * Add header
2022-02-03Create a build error if no bootloader is specified. (#16181)Nick Brassel
* Create a build error if no bootloader is specified. * Update builddefs/bootloader.mk Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2022-01-26Deprecate split transactions status field (#16023)Stefan Kerkmann
2022-01-26Remove unused suspend_idle (#16063)Joel Challis
2021-12-27Format code according to conventions (#15593)QMK Bot
2021-12-27Refactor `bootloader_jump()` implementations (#15450)Ryan
* Refactor `bootloader_jump()` implementations * Fix tests? * Rename `atmel-samba` to `md-boot`
2021-12-26More GPIO compilation fixes. (#15592)Nick Brassel
2021-12-27Defer pin operations to gpio.h (#15589)Nick Brassel
2021-12-27Add open-drain GPIO support. (#15282)Nick Brassel
* Add open-drain GPIO support. * `qmk format-c` * Wording. * Remove port GPIO implementations as the only board that uses it has its own internal defs anyway. Will wait for first-class handling of ports in core before reimplementing.
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-19Move tmk_core/common/<plat> (#13918)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-24Align usbasp flashing behaviour (#14928)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-10Merge remote-tracking branch 'upstream/master' into developfauxpark
2021-09-10Change USBasp and bootloadHID bootloaders to lowercase (#14354)Ryan
2021-09-08Remove Arduino-style `analogRead()` (#14348)Ryan
2021-08-23Fix bootloadHID comments breaking :flash (#14133)Drashna Jaelre
2021-08-18`--parallel` improvements (#13800)ruro
* improve make parallel jobs support * document the --parallel option * disable the output-sync for interactive targets
2021-08-17Relocate platform specific drivers (#13894)Joel Challis
* Relocate platform specific drivers * Move stm eeprom * Tidy up slightly
2021-08-15Move all the flash logic from tmk_core (#13927)Joel Challis