Commit Graph

87 Commits

Author SHA1 Message Date
0ff53b2498 Rename RGBW define to WS2812_RGBW (#23585) 2024-04-28 00:36:54 +10:00
f7cf40fa77 Add init function to RGBLight driver struct (#23076) 2024-03-18 22:03:27 +11:00
83e6ddbbb4 [Audio] Add support for audio shutdown pin (#22731)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-06 22:02:37 +11:00
8b8f73098b Fix up AVR production build target. (#23190) 2024-03-02 08:44:51 +11:00
2d1aed78a6 Update GPIO macro usages in core (#23093) 2024-02-18 17:08:27 +11:00
b8646bc40b Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
bb71145632 Tidy up print/debug logging headers (#22969) 2024-01-27 04:30:29 +00:00
e9bd7d7ad3 I2C driver cleanup (#21273)
* remove i2c_start and i2c_stop from i2c drivers

* remove static i2c_address variable from chibios i2c driver
2024-01-17 14:05:38 +01:00
a522b1f156 i2c: rename read/write register functions (#22905) 2024-01-16 02:26:40 +00:00
3a5e4253fc Add simpler method for relocating functions to RAM. (#21804) 2023-11-22 12:08:52 +11:00
4c625d8286 Revert "chibios: disable RWX segment warning on newer GNU lds (#22007)" (#22469)
This reverts commit de3c42125b.
2023-11-13 22:41:12 +00:00
de3c42125b chibios: disable RWX segment warning on newer GNU lds (#22007) 2023-11-13 22:29:12 +00:00
fa1c1cbbee avrdude: Version 7.2 changes the text output (#22235)
from "could not find USB device with" to "cannot find USB device with"
This should fix issue #22234

Co-authored-by: Dominik Loidolt <dominik.loidolt@univie.ac.at>
2023-10-09 17:41:00 +01:00
06cec720dd Remove 'Firmware size check does not yet support' message (#21977) 2023-09-12 05:16:39 +01:00
41bd4e35a0 Clean up RGB LED type (#21859) 2023-09-04 01:19:59 +01:00
79491e35e1 Merge remote-tracking branch 'origin/master' into develop 2023-08-23 19:55:42 +00:00
f699fde7d9 Generalize AVR -Werror=array-bounds workaround (#21798)
GCC 13 needs the same workaround as GCC 12.
To avoid having to maintain an ever-growing list of broken versions
apply the workaround wherever it can be used.

If at some point a fixed version of GCC is released the workaround can
be disabled for those fixed versions.

See #17064
2023-08-23 20:55:03 +01:00
4137685f8e backlight: split AVR PWM and timer drivers (#21540) 2023-07-21 09:27:55 +10:00
da2d2f947d quantum: remove direct quantum.h includes (#21507) 2023-07-16 23:42:56 +10:00
b9e5895184 Eliminate TMK_COMMON_* in makefiles (#21517) 2023-07-15 17:27:32 +10:00
cb2331713c Relocate backlight drivers (#21444) 2023-07-08 23:13:10 +10:00
87b11345a5 Get rid of USB_LED_CAPS_LOCK (#21436) 2023-07-06 09:48:02 +01:00
47966dc2a6 Migrate rgblight.pin and RGB_DI_PIN to ws2812.pin (#20303) 2023-04-06 18:00:54 +10:00
06c5c02804 Disable specific warnings to mitigate compilation problems with KEEP_INTERMEDIATES=yes. (#20339) 2023-04-05 14:59:09 +10:00
647c2835e6 WS2812 driver improvements (#20262) 2023-03-30 12:21:02 +11:00
b01dc36fbf Tidy up duplication of MIN/MAX fallback implementations (#20236) 2023-03-23 05:30:30 +00:00
832479c7fb Split out mcu_selection to platform (#19701) 2023-01-29 07:40:47 +11:00
cf935d97ae Fix functions with empty params (#19647)
* Fix functions with empty params

* Found a bunch more
2023-01-20 16:21:17 +00:00
0ce3f6bcfe De-duplicate platform detection (#19603) 2023-01-19 00:27:00 +00:00
46c85c93f0 Revert "De-duplicate platform detection (#19545)" (#19564)
This reverts commit e11235ee14.
2023-01-11 19:58:27 +00:00
e11235ee14 De-duplicate platform detection (#19545) 2023-01-11 02:13:32 +00:00
d9e559a78e Merge remote-tracking branch 'origin/master' into develop 2022-11-06 09:05:52 -08:00
96c48a5f4a Refactor to avoid deprecated wmic execution (#18122)
* wmic deprecated?

* Update platforms/avr/flash.mk

* Update platforms/avr/flash.mk
2022-10-31 20:16:43 +00:00
f5df1b155a Merge remote-tracking branch 'origin/master' into develop 2022-10-03 01:26:40 +00:00
cc1565f2a3 :flash: print bootloader (#18569) 2022-10-03 12:26:04 +11:00
bb6f028833 Move bootloader.mk to platforms (#18228) 2022-08-31 07:17:24 -07:00
d18698a8e8 Remove deprecated USBasp and bootloadHID bootloader types (#18195) 2022-08-28 21:20:43 +01:00
a83afb3fcd Improve avr wait_us() (#16879) 2022-08-14 00:04:03 +01:00
98d5c77521 Remove legacy AVR ssd1306 driver (#17864) 2022-07-31 22:15:01 +01:00
ffb34fc082 Include stdint.h in avr/i2c_master.h (#17639) 2022-07-12 21:55:19 +02:00
d9bb189e25 [Core] Update mpaland/printf to eyalroz/printf fork (#16163)
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
2022-07-07 09:27:50 +02:00
e30cd0fa16 Merge remote-tracking branch 'origin/master' into develop 2022-06-25 19:35:17 +00:00
7fd3d76faa [Split] Ensure SOFT_SERIAL_PIN is defined if USE_I2C isn't defined (#17466) 2022-06-25 12:34:40 -07:00
608404f874 Fix AVR I2C master 1ms timeout (#17174)
* 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-22 00:00:04 +02:00
e89478eb0f [Core] Update C standard to GNU11, C++ to GNU++14 (#17114) 2022-06-06 08:47:22 +10:00
ecce9900c9 Improve PS/2 mouse performance (#17111) 2022-05-30 23:15:17 -07:00
ce9a5aaef3 Merge remote-tracking branch 'origin/master' into develop 2022-05-18 19:58:37 +00:00
80405c6d96 Fix platforms/avr/drivers/ws2812.c (#17043)
* 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-18 20:58:03 +01:00
6503987c84 Workaround for recent -Werror=array-bounds AVR issues (#17136) 2022-05-18 11:06:55 +01:00
787a68948f [Core] Add Reboot keycode to core (#15990) 2022-05-14 13:35:49 +10:00