Commit graph

13735 commits

Author SHA1 Message Date
Drashna Jaelre
9e32e9be46
Add AT90USB support for serial.c (#10706)
* Expand list of supported controllers for serial.c

* Fix pin defines based on mtei's feedback

* Fix EICRx checks in soft_serial_target_init

* Fix copy-paste typo

* Add defines for EICRx
2020-11-18 16:49:44 -08:00
Nick Brassel
f63e3e12b9
Allow for certain code in the codebase assuming length of string. (#10974) 2020-11-19 05:54:01 +11:00
Nick Brassel
4ef4965b02
Fixup version.h writing when using SKIP_VERSION=yes (#10972) 2020-11-19 05:34:22 +11:00
Dave Allie
f7ae095473
Fix cursor position bug in oled_write_raw functions (#10800)
The documentation for these APIs say that they write to the buffer
from the current current position, but they would always write
from the start of the buffer irrespective of the current cursor.
2020-11-15 11:46:57 -08:00
Xelus22
0bfec7bf6f
[Keyboard] Add Valor FRL TKL (+refactor) (#10512)
* frl tkl

* refator

* removebootloaderfile

* zvecr recommended changes

* fix default keymap

* Update keyboards/xelus/valor/frl_tkl/keymaps/default/config.h

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/xelus/valor/frl_tkl/keymaps/via/config.h

Co-authored-by: Joel Challis <git@zvecr.com>

* remove accidental

* move frl tkl to its own keyboard

* fixup readme

Co-authored-by: Joel Challis <git@zvecr.com>
2020-11-15 10:51:07 -08:00
James Young
e3a2407b17
Remove HD44780 References, Part 4 (#10735)
* remove HD44780_ENABLE rules: I-M

* remove HD44780_ENABLE config: I-M

* remove HD44780_ENABLE rules: N-S

* remove HD44780_ENABLE config: N-S

* remove HD44780_ENABLE rules: T-Z

* remove HD44780_ENABLE config: T-Z
2020-11-15 08:35:14 -08:00
yulei
55e2a42047
update chibios os usb for the otg driver (#8893)
* add support for otg

* update endpoint numbering for stm32f4

* removed testing file

* add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)

Add a Make variable to easily enable DEBUG_MATRIX_SCAN_RATE on the command line.

eg.
```
make DEBUG_MATRIX_SCAN_RATE_ENABLE=yes  KEYBOARD:KEYMAP
```

* [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549)

* Added `add_oneshot_mods` & `del_oneshot_mods`

Deleted undefined and unused prototypes:
- void oneshot_enable(void)
- void oneshot_disable(void)
- void oneshot_toggle(void)

Reordered the oneshot functions to follow the same order as other mod
functions, that is to say : get, add, del, set, clear

* Stricter conditions on add_oneshot_mods & del_oneshot_mods

Prevent extending the one shot timer if the called add_oneshot_mods or del_oneshot_mods do not change anything to the current one shot mod state.

Co-authored-by: David Kosorin <david@kosorin.net>

Co-authored-by: David Kosorin <david@kosorin.net>

* add support for otg

* update endpoint numbering for stm32f4

* removed testing file

* added missing #endif

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: David Kosorin <david@kosorin.net>
2020-11-11 03:17:42 +11:00
precondition
3dcb0463ad
[Core] Added add_oneshot_mods & del_oneshot_mods (#10549)
* Added `add_oneshot_mods` & `del_oneshot_mods`

Deleted undefined and unused prototypes:
- void oneshot_enable(void)
- void oneshot_disable(void)
- void oneshot_toggle(void)

Reordered the oneshot functions to follow the same order as other mod
functions, that is to say : get, add, del, set, clear

* Stricter conditions on add_oneshot_mods & del_oneshot_mods

Prevent extending the one shot timer if the called add_oneshot_mods or del_oneshot_mods do not change anything to the current one shot mod state.

Co-authored-by: David Kosorin <david@kosorin.net>

Co-authored-by: David Kosorin <david@kosorin.net>
2020-11-10 20:27:35 +11:00
Takeshi ISHII
28d6b9d7be
add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)
Add a Make variable to easily enable DEBUG_MATRIX_SCAN_RATE on the command line.

eg.
```
make DEBUG_MATRIX_SCAN_RATE_ENABLE=yes  KEYBOARD:KEYMAP
```
2020-11-10 19:03:15 +11:00
Xelus22
2098d98e57
Refactor xelus/dawn60 for Rev2 later (#10584)
* refactor for rev2 incoming

* fix cr

* Update keyboards/xelus/dawn60/rev1/config.h

* Update keyboards/xelus/dawn60/dawn60.h

* Update keyboards/xelus/dawn60/config.h

* Update keyboards/xelus/dawn60/dawn60.h

* fix tabs

* small update
2020-11-09 15:05:49 -08:00
Xelus22
7d836cba12
aeboards/ext65 refactor (#10820)
* ext65 refactor

* Update rev2.c

* update keymap

* Update keyboards/aeboards/ext65/readme.md

* update with suggestions
2020-11-09 12:57:44 -08:00
Rodolphe Belouin
38527f9a3b
Add step sequencer feature (#9703)
* sequencer: create togglable feature

* sequencer: add support for steps

* sequencer: add support for tempo and resolutions

* sequencer: schedule a message print at the right frequency

* sequencer: send a hardcoded note

* sequencer: add support for 8 tracks

* sequencer: play several notes simultaneously

* sequencer: only play the active tracks for a given step

* sequencer: change the default behavior of the track toggler

* sequencer: make number of tracks and track notes customizable

* sequencer: move the keycodes down

Not adding them at the end of the list apparently risks breaking
compatibility with VIA.

Source: https://github.com/qmk/qmk_firmware/pull/9703#discussion_r459202733

* sequencer: add unit tests

* sequencer: add unit test for matrix_scan_sequencer

* sequencer: expose internal state for better unit-testability

* sequencer: add unit tests for matrix_scan_sequencer
2020-11-07 19:35:14 -08:00
Leo Deng
4cdd3005d6
[quantum] combine repeated lines of code (#10837) 2020-11-02 20:32:00 +00:00
Evy Dekkers
b968a53c7e
Maartenwut/Maarten namechange to evyd13/Evy (#10274) 2020-11-01 09:40:51 -08:00
Paul Ewing
c3221d4e71
[Keyboard] Update the Speedo firmware for v3.0 (#10657)
* Update the Speedo firmware for v3.0

* Cleanup recommendations from the PR checklist

* Address PR feedback

* Update build instructions in readme

* Restructure folders and restore v2 firmware

* Clean up layouts in info.json

* Remove unnecessary files

* Address more PR feedback
2020-10-30 13:23:08 -07:00
Nick Brassel
991c75081c
qmk cformat (#10767) 2020-10-30 13:23:07 -07:00
Takeshi ISHII
75a18e69f9
Some GPIO manipulations in matrix.c change to atomic. (#10491)
* Changed the processing of select_xxx()/unselect_xxx() in quantum/matrix.c to be atomic.

* Changed the processing of select_xxx()/unselect_xxx() in quantum/split_common/matrix.c to be atomic.

* update matrix.c

* add ATOMIC_BLOCK_FORCEON macro to quantum/quantum_atomic_extend.h

* quantum_atomic_extend.h's contents move into quantum.h

* update ATOMIC_BLOCK_xxx for unknown platform

* ATOMIC_BLOCK macro support PROTOCOL_ARM_ATSAM

* Add Atomic Operation section in docs/internals_gpio_control.md
2020-10-30 13:23:06 -07:00
XScorpion2
69d8bbf1f4
Minor change to behavior allowing display updates to continue between task ticks (#10750) 2020-10-30 13:23:05 -07:00
MakotoKurauchi
3ede17e729
Reduce Helix keyboard build variation (#8669)
* modify helix config. 'helix/rev2' always OLED on

* reduce helix build variation pattern

* helix/rev2/keymaps/xulkal/rules.mk: Explicitly disable helix standard post-processing

**Compilation result does not change**

* helix readmes update

* add temporary test script

* test end. -- Revert "add temporary test script"

This reverts commit 6229ed41f2ff8bac52015150837eaa51d9815e13.

* rename rev2/split_common/rules.mk -> rev2/sc/rules.mk

* rename pico/split_common/rules.mk -> pico/sc/rules.mk

* update keymaps/default/reademe.md

* add 'helix/pico/qmk_conf' and 'helix/rev2/qmk_conf' target

* add ChangeLog for Helix: PR 8669

* fix helix/pico/qmk_conf compile error

Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
2020-10-30 13:23:04 -07:00
Nick Brassel
f22a61e7e9
Rescale both ChibiOS and AVR backlighting. 2020-10-30 13:23:04 -07:00
Nick Brassel
c4ecae1d77
Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) 2020-10-30 13:23:03 -07:00
Nick Brassel
de4cbe34ff
Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638) 2020-10-30 13:23:02 -07:00
ridingqwerty
daea43debf
New feature: Retro Tapping per key (#10622) 2020-10-30 13:23:01 -07:00
Nick Brassel
c1295a3557
Add definition based on currently-selected serial driver. (#10716)
* Add definition based on currently-selected serial driver.

* Apply suggestions from code review

Suggestions from zvecr.

Co-authored-by: Joel Challis <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-30 13:23:00 -07:00
Takeshi ISHII
12be012e3d
OLED display update interval support (#10388)
* add OLED_UPDATE_INTERVAL_MS support

* update docs/feature_oled_driver.md

* Update docs/feature_oled_driver.md

Co-authored-by: Joel Challis <git@zvecr.com>

* Update drivers/oled/oled_driver.c

* Update drivers/oled/oled_driver.c

Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-30 13:20:54 -07:00
Ryan
94fea35e18
XD75 cleanup (#10524)
* XD75 cleanup

* LAYOUT-ify keymaps
2020-10-30 13:15:51 -07:00
Purdea Andrei
c904520f72
Haptic and solenoid cleanup (#9700)
* solenoid: remove two functions that do nothing.

These functions modify the argument, and so they do nothing.

Note: versions of these functions exist in mtdjr's user folder,
however to core solenoid support and mtdjr user-specific solenoid
support are exclusive (only one can be used at a time).

So removing these confusing functions does no harm.

* solenoid: bugfix: don't allow dwell time to go 1ms below minimum time.

The previous code allowed dwell time to go 1ms below the configured minimum.
This change corrects it.

* solenoid: bugfix: when incrementing above maximum dwell time, jump back to minimum, not to 1

The previous code used to jump back to 1, which might be way under the configured minimum setting.

* solenoid: bugfix: on startup actually use the eeprom-stored dwell-time

This is because the dwell time is stored in two variables.

* solenoid: bugfix: on haptic_reset, actually use the newly set default dwell time.

This is needed because dwell time is configured in two variables.

* solenoid: on HPT_RST set buzz to a default value

* solenoid: buzz: reworked to make more configurable. Previous behaviour maintained.

* solenoid: documentation: clarify meaning of dwell time

* solenoid: add feature SOLENOID_DWELL_STEP_SIZE

* solenoid: documentation: added note about the precision of the solenoid time settings

* haptic: Correctly call haptic_reset when eeprom is corrupt.

* haptic: improve what happens if haptic is enabled without erasing eeprom

* haptic: improve what happens if solenoid is enabled without erasing eeprom

* drivers/haptic: fix compilation issue, when haptic is enabled, but solenoid isn't
2020-10-30 13:15:50 -07:00
Nick Brassel
2e1232c6bd
ChibiOS upgrade: configuration file migrator (#9952)
* Initial commit for ChibiOS conf migration.

* Modify paths, normalise chconf.h and halconf.h to be common.

* Allow deletion of non-overridden files.
2020-10-30 13:15:49 -07:00
Nick Brassel
46d7b25e4d
ChibiOS upgrade: early init conversions (#10214)
* Migrate at_at/660m to use new ChibiOS early initialisation code, use generic F072 board.

* Migrate cannonkeys/satisfaction75 to use new ChibiOS early initialisation code, use generic F072 board.

* Migrate nebula12 to use new ChibiOS early initialisation code, use generic F072 board.

* Defer GENERIC_STM32_F072XB board files to ChibiOS.

* Create generic mcuconf.h file for GENERIC_STM32_F072XB.

* Create generic mcuconf.h file for STM32_F103_STM32DUINO.

* Create generic mcuconf.h file for GENERIC_STM32_F042X6.

* Allow boards to override EARLY_INIT_PERFORM_BOOTLOADER_JUMP.
2020-10-30 13:15:48 -07:00
Zach White
fa6bd5cbe5
Add milc as a dependency and remove the installed milc (#10563)
* Add milc as a dependency and remove the installed milc

* update doctor.py too

* pyformat

* remove rather than shim questions
2020-10-30 13:15:47 -07:00
Nick Brassel
53f2b5b944
Support for STM32 GPIOF,G,H,I,J,K (#10206)
* Add GPIOF/GPIOH.

* Also add GPIOI,GPIOJ,GPIOK, to match ChibiOS 20.x.

* Make GPIOK opt-in, describe what a keyboard designer needs to do in order to gain access.
2020-10-30 13:15:46 -07:00
Nick Brassel
46869ddc7e
Naming change. 2020-10-30 13:15:45 -07:00
Drashna Jaelre
08caa7afd6
Add advanced/efficient RGB Matrix Indicators (#8564)
* Add Advanced RGB Matrix effects

Add a new option, so that we can better handle custom indicators

* Switch to led min/max instead of params

Because params has already been incremented and is wrong now

* Add indicator color function for use with advanced indicator functions

* Add docs and helper macros

* Add comment for explanations

* Fix macro variables

* Fix typo

* Run clang-format on rgb_matrix.h
2020-10-30 13:15:44 -07:00
LSChyi
b1a6b161f3
Add hotfix for chibios keyboards not wake (#10088) 2020-10-30 13:15:43 -07:00
Manna Harbour
eecedf0db5
Share button state from mousekey to pointing_device (#10179)
* Branch point for 2020 November 28 Breaking Change

Update readme.md

* Share button state from mousekey to pointing_device

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2020-10-30 13:15:42 -07:00
Ryan
310662fce9
Per-encoder resolutions (#10259)
* Per-encoder resolutions

* Resolutions for right hand
2020-10-30 13:15:41 -07:00
seb-pau
f728c249ce
Joystick 16-bit support (#10439)
* Joystick 16-bit support

* Add variable joystick axes resolution

* Moved #define statements to .h files

* Moved definitions to quantum/joystick.h

  Removed duplicate definitions from usb_descriptor.h and
  process_joysick.h

  Adjust process_joystick.c and usb_descriptor.c to use the pre-computed
  "JOYSTICK_RESOLUTION" value which contains the logical maximum value
  of a joystick axis

* Cleaning up unnecessary code

* Update docs/feature_joystick.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Workaround to joystick.h not being included to report.h

* Removed unnecessary newlines, updated report.h

Changed JOYSTICK_AXES_RESOLUTION conditional in report.h

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-30 13:15:41 -07:00
Nick Brassel
9664723595
Make bootloader_jump weak for ChibiOS. (#10417) 2020-10-30 13:15:40 -07:00
Nick Brassel
2f2432f0e5
Actually use eeprom_driver_init(). 2020-10-30 13:15:39 -07:00
Nick Brassel
b1b7696347
Add ability to build a subset of all keyboards based on platform. 2020-10-30 13:15:38 -07:00
jakobkg
bf84d35117
Change MIDI velocity implementation to allow direct control of velocity value (#9940)
* Initial changes to expose "real" MIDI velocity

* Change MI_VELU and MI_VELD to fit new logic

* Apply cleanups from fauxpark's review

my bad on the errant whitespace and else {} placements

* Slight changes to MI_VELD to match values when velocity is falling to when it is rising

* Add keycode MI_VEL_0

* Update compute_velocity() to handle MI_VEL_0

* Store velocity as 7 bits to hard cap value at 127
2020-10-30 13:15:37 -07:00
Naoto Takai
73d20754bb
Add support for soft serial to ATmega32U2 (#10204)
* Add support for soft serial to ATmega32U2

* Update drivers/avr/serial.c

* Update drivers/avr/serial.c

* Update drivers/avr/serial.c

* Fix comment

* Update drivers/avr/serial.c
2020-10-30 13:15:36 -07:00
Sergey Vlasov
53ad78b4b6
Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183)
The matrix_col_t type was added in commit 0284431ad9 (part of #3449),
but then the code which used that type was removed in #6140, and no
other users were added since that time.  The presence of that type,
however, limits MATRIX_ROWS to 32, which probably does not matter for a
real keyboard, but prevents doing things like making a firmware to test
all existing pins on a board like Teensy++ 2.0 (which has 46 GPIOs).
2020-10-30 13:15:35 -07:00
James Young
47fff7484e
Branch point for 2020 November 28 Breaking Change
Update readme.md
2020-10-30 13:15:26 -07:00
Ryan
fb579aae49
Fix implicit declaration of function 'get_host_led_state' (#10803) 2020-10-30 13:29:19 +00:00
Ryan
67654e4a82
DK60 refactor (#10791) 2020-10-31 00:14:13 +11:00
Ryan
952a4c8312
Hnah108 refactor (#10787)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-10-30 22:06:47 +11:00
Ryan
b9ea10a80d
YMD75 rev3: fix swapped backslash and enter (#10801) 2020-10-30 01:32:24 -07:00
Jay Greco
4e72224aa3
[Keyboard] Adding info.json files for NIBBLE 65% keyboard (#10769) 2020-10-29 01:29:31 -07:00
Leon Anavi
1bfec6ddd9
[Keymap] Add KiCad keymap for ANAVI Macro Pad 8 (#10766)
KiCad is a cross platform, free and open source electronics design
automation (EDA) suite. It was used to create ANAVI Macro Pad 8.

This keymap contains 2 layers for KiCad hotkeys and a 3rd layer
for controlling the backlighting and the underlighting.

- Layer for KiCad Schematic hotkeys:
  m - to move selected component
  r - to rotate selected component
  w - to wire components
  v - to edit component value
  F1 - zoom in
  F2 - zoom out
  F4 - zoom center

- Layer for KiCad PCB layout hotkets:
  m - to move selected component
  r - to rotate selected component
  x - to route a new track
  v - to add a via
  F1 - zoom in
  F2 - zoom out
  F4 - zoom center

Signed-off-by: Leon Anavi <leon@anavi.org>
2020-10-29 01:28:13 -07:00