Commit Graph

1178 Commits

Author SHA1 Message Date
d8f0c8783a Remove sysex API (#14723) 2021-10-06 19:34:46 +11:00
181ba6bbbb Merge remote-tracking branch 'origin/master' into develop 2021-10-06 01:59:09 +00:00
4782e038d9 Added semicolons to rules.mk to allow symlinks from /bin/sh to /bin/zsh to complete the filesize check without error. (#14718)
Co-authored-by: John Beard <jbeard@pipelinerx.com>
2021-10-06 12:58:40 +11:00
90797d903c massdrop alt/ctrl: support saving into nvm (#6068)
* support saving into SmartEEPROM

Signed-off-by: Alexandre d Alton <alex@alexdalton.org>

* atsam: update smarteeprom implementation

- Use define for SmartEEPROM buffer address
- Check buffer overflow
- Do not perform operation when timeout occurs

Signed-off-by: Alexandre d'Alton <alex@alexdalton.org>

* return 0 instead of ff for invalid address or timeout

Signed-off-by: Alexandre d'Alton <alex@alexdalton.org>

* clang-format

* Add extra bounds checks

Co-authored-by: zvecr <git@zvecr.com>
2021-09-30 06:56:13 +10:00
b02a539625 Added power tracking api (#12691)
* Add power tracking API to lufa and chibios targets

* power.c: Pass through power state to the notify function

* power: added notify_power_state_change_user too.

* making it pass the PR linter

* Add a POWER_STATE_NO_INIT state, that we start in before calling power_init();

* Rename *power* to *usb_power*

* removing stray newline

* Rename usb_power* to usb_device_state*

* Update quantum/usb_device_state.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Fix comment

* usb_device_state.h: Don't include quantum.h, only the necessary headers.

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-09-30 06:31:39 +10:00
be3d7063a0 Merge remote-tracking branch 'origin/master' into develop 2021-09-29 18:37:46 +00:00
02ab7b1888 [Core] Fix "6kro enable" and clarify naming (#14563)
* Fix USB_6KRO_ENABLE compilation errors

* Add info to docs

* Rename define to be more accurate

* Remove unused rule

* Refixe docs
2021-09-29 11:37:11 -07:00
4b9b9ebff4 Merge remote-tracking branch 'origin/master' into develop 2021-09-28 20:09:18 +00:00
873a1999bb Move "firmware size check skipped" note to message.mk (#14632) 2021-09-29 06:08:46 +10:00
3a2a39e5ec Initial pass of F405 support (#14584)
* Initial pass of F405 support

* remove some conf files

* docs

* clang
2021-09-25 00:19:41 +01:00
20ea5f3fb5 Relocate Adafruit BLE code (#14530) 2021-09-21 19:58:46 +10:00
5fb6d57f36 [Bug] fix logical minimum in Programmable Button rdesc (#14464) 2021-09-16 17:04:26 +10:00
ceaf35c741 [Bug] Fix descriptor for USB Programmable Buttons (#14455) 2021-09-15 19:24:06 -07:00
84dba25533 Make ChibiOS PAL interactions less STM32 specific - Round 2 (#14456) 2021-09-16 08:18:58 +10:00
58d72ad795 core: fix compilation issues with USB programmable buttons (#14454)
Reported here:
https://github.com/qmk/qmk_firmware/pull/12950#issuecomment-920329569
2021-09-16 06:28:19 +10:00
83988597f4 Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
1a68feb842 Implement F4 eeprom (#14195) 2021-09-15 16:30:26 +01:00
fa141a5a8f Migrate STM32_EEPROM_ENABLE to use EEPROM_DRIVER (#14433) 2021-09-15 01:21:36 -07:00
a78f0e8a0b Refactor use of _STM32_ defines (#14439) 2021-09-15 11:19:51 +10:00
0ca4a56a04 Refactor use of STM32_SYSCLK (#14430)
* Refactor use of STM32_SYSCLK

* clang
2021-09-14 12:18:36 +10:00
bcf4551f74 Move Bluetooth config to common_features.mk (#14404)
* Move Bluetooth config to common_features.mk

* Update common_features.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-09-12 08:22:03 -07:00
d0ac03ec8b Remove unreferenced IBM4704, Sony NEWS, NeXT keyboard code. (#14380) 2021-09-12 02:46:39 +01:00
ac4849df13 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 03:20:08 +00:00
6d43a5daf4 Backport F_CPU/F_USB hack from system76 (#14286)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-08 20:19:06 -07:00
6ca09c6bba Merge remote-tracking branch 'origin/master' into develop 2021-09-05 22:56:53 +00:00
1a494da288 Fix eeprom for Durgod boards (#14324) 2021-09-05 23:56:10 +01:00
147289e173 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 20:37:03 +00:00
8d6d8cfadf Tidy up defines within STM EEPROM emulation (#14275)
* Tidy up defines within stm eeprom emulation

* Fix tests

* Resolve todo

* Still use page notion in clear

* Remove more f4 refs
2021-09-05 21:36:43 +01:00
41c50bb653 Change keyboard level include guards to pragma once (#14248)
* Change keyboard level include guards to `pragma once`

And clean up a lot of layout macros

* Oops

* Remove dangling endif
2021-09-01 19:03:14 +10:00
4d4c61f2e8 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 23:26:17 +00:00
f2c9e82e5b cherry pick tidy up (#14244) 2021-08-31 00:25:41 +01:00
15710db4ad Move feature suspend logic out of platform specific code (#14210) 2021-08-30 20:21:03 +01:00
c9c60d227e add wait_cpuclock() macro for AVR and CPU_CLOCK macro (#12755) 2021-08-24 14:34:24 +01:00
6fd20acf4b Fix Mouse Shared EP functionality (#14136)
Specifically, if you enable the shared endpoint for mouse reports (or keyboard, which force enables it for mouse), and you don't have mousekeys enabled, it does not properly enable shared mouse EP for pointing device (which uses mouse reports).   This cause it to error out in compiling.  This fixes up some of the logic to ensure that all use cases are supported, and consolidates some of the code.
2021-08-24 11:40:24 +10:00
e756a21636 eeprom_stm32: implement high density wear leveling (#12567)
* eeprom_stm32: implement wear leveling
Update EECONFIG_MAGIC_NUMBER
eeprom_stm32: check emulated eeprom size is large enough
* eeprom_stm32: Increasing simulated EEPROM density on stm32
* Adding utility script to decode emulated eeprom
* Adding unit tests
* Applying qmk cformat changes
* cleaned up flash mocking
* Fix for stm32eeprom_parser.py checking via signature with wrong base
* Fix for nk65 keyboard

Co-authored-by: Ilya Zhuravlev <whatever@xyz.is>
Co-authored-by: zvecr <git@zvecr.com>
2021-08-23 23:15:34 +01:00
9af069ecf3 Fix typo (#14118) 2021-08-23 09:31:38 +10:00
c70abc8d04 Warn when building a board that uses arm_atsam (#10904)
* Add deprecation warning during build when building a board that uses arm_atsam.

* Rewording.

* Wording.

* Fixup.
2021-08-22 13:49:33 +10:00
0a1bf7f6aa Support using a timer for wait_us() on ChibiOS-based boards (#12211)
* Support using a timer for wait_us() on ChibiOS-based boards (#12198)

There are spare GPT timers that can be used to get a more accurate
wait_ms() time. This is required for the matrix scan unselect delay (30µs)
to be shorter than the system tick rate of 100µs.

This is limited to the maximum GPT duration of 65535 so values above that
will automatically use the previous implementation based on the system
tick.

Using a specific timer means it can't be shared by another thread at the
same time so when wait_us() is called from anything other than the main
thread it will use the system tick implementation too.

* Update tmk_core/common/chibios/wait.c

* Update tmk_core/common/chibios/wait.c

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-20 00:31:23 +01:00
b16091659c Move USB Host Shield and Arduino core to lib/ (#13973) 2021-08-18 18:20:25 +10:00
ceb3ebda46 Fixup atsam builds. (#14052) 2021-08-18 01:59:22 +01:00
b8e913c8db Migrate platform independent code from tmk_core -> quantum (#13673)
* Migrate action|keyboard|keycode|eeconfig from tmk_core -> quantum
2021-08-18 00:18:58 +01:00
96e2b13d1d Begin to carve out platform/protocol API - Single main loop (#13843)
* Begin to carve out platform/protocol API

* Fix up after rebase
2021-08-18 00:11:07 +01:00
4c9003b177 Move chibios board files to allow tmk_core platform migration (#13777)
* Move board files

* fix up after rebase
2021-08-18 00:04:15 +01:00
1bb7af4d44 Relocate platform specific drivers (#13894)
* Relocate platform specific drivers

* Move stm eeprom

* Tidy up slightly
2021-08-17 23:43:09 +01:00
483691dd73 Fixes for clang not being able to run unit tests (#13546) 2021-08-18 07:12:12 +10:00
75b49aff56 Digitizer HID interface : absolute coordinates for mouse cursor (#12851)
* Add digitizer HID interface for setting the mouse cursor position at
absolute screen coordinates. Tested on Pro Micro, Proton C and
Blackpill.

* Update docs/feature_digitizer.md

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

* Update tmk_core/protocol/usb_descriptor.c

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

* Add missing copyrights
Add V-USB support

* Add support for digitizer dedicated endpoint for lufa and chibios.
Fix formatting issues
Move digitizer_task definition to the feature's base implementation file

* Run cformat on modified files

* Change digitizer report usage to Digitizer instead of Pen to avoid
pointer disappearing on Windows.

* Update tmk_core/protocol/vusb/vusb.c

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

* Run cformat from docker image

* Remove send_digitizer from host_driver_t and instead rely on the
declaration being the interface to the implementation in each
HW-specific usb implementation.

* Fix build : send_digitizer shouldn't be static in vusb and add
weak-linkage implementation for tests without usb implementation

* Change digitizer user interface to match pointing device's

* Update documentation with new API

Co-authored-by: a-chol <nothing@none.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-18 04:52:44 +10:00
4b96d5876e Fix Indicator LED issues (#12097) 2021-08-18 04:44:19 +10:00
37496f4b60 Add alternate ldscript for STM32duino (F103xB) (#12914)
* Add alternate ldscript for STM32duino (F103xB)

* Refactor out common ldscript stuff

* Move ldscripts into stm32duino board dir, add search path to ldflags
2021-08-18 04:23:22 +10:00
2bc8215ce5 Unify behaviour of wait on AVR (#14025) 2021-08-16 17:28:12 +01:00
ab941ce614 Move all the flash logic from tmk_core (#13927) 2021-08-15 21:55:23 +01:00