summaryrefslogtreecommitdiffstats
path: root/platforms/avr
Commit message (Collapse)AuthorAgeFilesLines
* `:flash`: print bootloader (#18569)Ryan2022-10-031-1/+2
|
* Improve avr wait_us() (#16879)Takeshi ISHII2022-08-141-9/+29
|
* Remove legacy AVR ssd1306 driver (#17864)Joel Challis2022-07-312-416/+0
|
* Include stdint.h in avr/i2c_master.h (#17639)jack2022-07-121-0/+2
|
* [Core] Update mpaland/printf to eyalroz/printf fork (#16163)Stefan Kerkmann2022-07-071-0/+1
| | | | | | | | mpaland printf implementation was abandoned in ~2019 and the fork by eyalroz is now regarded to be the goto replacement of it. So this commit incoporates the changes needed to use this fork in QMK. Note that pointer ptrdiff_t is always supported since commit 51c90f93a97fdaef895783ecbe24569be0db7cb8
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-251-0/+4
|\
| * [Split] Ensure SOFT_SERIAL_PIN is defined if USE_I2C isn't defined (#17466)Drashna Jaelre2022-06-251-0/+4
| |
* | Fix AVR I2C master 1ms timeout (#17174)Daniel Kao2022-06-221-6/+6
| | | | | | | | | | | | | | | | | | | | | | * 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()
* | [Core] Update C standard to GNU11, C++ to GNU++14 (#17114)Stefan Kerkmann2022-06-061-1/+1
| |
* | Improve PS/2 mouse performance (#17111)Andrew Dunai2022-05-301-2/+2
|/
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-05-181-1/+2
|\
| * Fix platforms/avr/drivers/ws2812.c (#17043)Takeshi ISHII2022-05-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Workaround for recent -Werror=array-bounds AVR issues (#17136)Joel Challis2022-05-181-0/+5
| |
* | [Core] Add Reboot keycode to core (#15990)Drashna Jaelre2022-05-146-1/+52
| |
* | Move disable_jtag to platforms (#16960)Joel Challis2022-04-291-1/+12
| |
* | [Core] Allow usage of AVRs minimal printf library (#16266)Stefan Kerkmann2022-04-221-0/+9
| | | | | | Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* | Fixup AVR builds. (#16875)Nick Brassel2022-04-181-0/+6
| | | | | | | | | | | | | | | | | | | | * 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>
* | Expose API for hardware unique ID (#16869)Joel Challis2022-04-181-0/+13
| |
* | HD44780 driver rework (#16370)Ryan2022-03-192-890/+0
| |
* | Force platform pin defs to be included (#16611)Joel Challis2022-03-101-0/+0
| | | | | | | | | | * Force platform pin defs to be included * Always grab first header
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-03-042-4/+1
|\|
| * analog.[ch]: remove unnecessary includes (#16471)Ryan2022-03-042-4/+1
| |
* | [Core] Squeeze AVR some more with `-mrelax` and `-mcall-prologues` (#16269)Stefan Kerkmann2022-02-261-1/+8
|/
* Format code according to conventions (#16322)QMK Bot2022-02-1223-133/+191
|
* Followup to #16220, more test error output. (#16221)Nick Brassel2022-02-051-1/+1
|
* Initial migration of suspend callbacks (#16067)Joel Challis2022-02-051-29/+13
| | | | | * Initial migration of suspend logic * Add header
* Create a build error if no bootloader is specified. (#16181)Nick Brassel2022-02-031-0/+0
| | | | | | | | | * 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>
* Deprecate split transactions status field (#16023)Stefan Kerkmann2022-01-261-32/+7
|
* Remove unused suspend_idle (#16063)Joel Challis2022-01-261-13/+0
|
* Format code according to conventions (#15593)QMK Bot2021-12-276-13/+8
|
* Refactor `bootloader_jump()` implementations (#15450)Ryan2021-12-277-293/+332
| | | | | | | * Refactor `bootloader_jump()` implementations * Fix tests? * Rename `atmel-samba` to `md-boot`
* More GPIO compilation fixes. (#15592)Nick Brassel2021-12-261-0/+1
|
* Defer pin operations to gpio.h (#15589)Nick Brassel2021-12-271-6/+0
|
* Add open-drain GPIO support. (#15282)Nick Brassel2021-12-271-14/+3
| | | | | | | | | * 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.
* Tidy up existing i2c_master implementations (#15376)Joel Challis2021-12-021-2/+5
| | | | | * Move chibios defines out of header * Make some avr defines internal
* Tidy up adjustable ws2812 timing (#15299)Joel Challis2021-11-251-8/+3
|
* Move tmk_core/common/<plat> (#13918)Joel Challis2021-11-1919-0/+1905
|
* Fix uart function prototypes (#15162)Drashna Jaelre2021-11-151-2/+2
|
* Update UART driver API (#14839)Ryan2021-11-132-9/+25
| | | | | | | | | | | | | | | | | | | | | | * 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>
* Manually format develop (#15003)Joel Challis2021-11-011-1/+1
|
* Align usbasp flashing behaviour (#14928)Joel Challis2021-10-241-0/+9
|
* Relocate PS2 code (#14895)Joel Challis2021-10-202-0/+278
| | | | | | | * Relocate ps2 protocol code * clang * Move makefile logic
* i2c_master: Add support for reading/writing to 16-bit registers (#14289)Ryan2021-10-072-0/+58
|
* Move Audio drivers from quantum to platform drivers folder (#14308)Drashna Jaelre2021-10-062-0/+349
| | | | | | | | | * 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>
* Merge remote-tracking branch 'upstream/master' into developfauxpark2021-09-101-3/+3
|\
| * Change USBasp and bootloadHID bootloaders to lowercase (#14354)Ryan2021-09-101-3/+3
| |
* | Remove Arduino-style `analogRead()` (#14348)Ryan2021-09-082-24/+0
|/
* Fix bootloadHID comments breaking :flash (#14133)Drashna Jaelre2021-08-231-2/+2
|
* `--parallel` improvements (#13800)ruro2021-08-181-7/+7
| | | | | | | * improve make parallel jobs support * document the --parallel option * disable the output-sync for interactive targets
* Relocate platform specific drivers (#13894)Joel Challis2021-08-1718-0/+3116
| | | | | | | * Relocate platform specific drivers * Move stm eeprom * Tidy up slightly