summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Doxyfile6
-rw-r--r--lib/python/qmk/cli/generate/docs.py16
-rw-r--r--quantum/encoder.c8
4 files changed, 20 insertions, 11 deletions
diff --git a/.gitignore b/.gitignore
index e3a02fe8f6..3f646c6b01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,7 +19,6 @@
# QMK-specific
api_data/v1
-doxygen/
quantum/version.h
*.bin
*.eep
diff --git a/Doxyfile b/Doxyfile
index 218d77b4dd..4b0ea3f086 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -21,7 +21,7 @@ DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "QMK Firmware"
PROJECT_NUMBER = https://github.com/qmk/qmk_firmware
PROJECT_BRIEF = "Keyboard controller firmware for Atmel AVR and ARM USB families"
-OUTPUT_DIRECTORY = doxygen
+OUTPUT_DIRECTORY = .build/doxygen
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
@@ -145,7 +145,7 @@ FILE_PATTERNS = *.c \
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
+EXCLUDE_PATTERNS = */protocol/arm_atsam/*
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
@@ -209,7 +209,7 @@ EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
-PREDEFINED =
+PREDEFINED = __DOXYGEN__ PROGMEM
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
diff --git a/lib/python/qmk/cli/generate/docs.py b/lib/python/qmk/cli/generate/docs.py
index 749336fea5..74112d834d 100644
--- a/lib/python/qmk/cli/generate/docs.py
+++ b/lib/python/qmk/cli/generate/docs.py
@@ -7,7 +7,9 @@ from subprocess import DEVNULL
from milc import cli
DOCS_PATH = Path('docs/')
-BUILD_PATH = Path('.build/docs/')
+BUILD_PATH = Path('.build/')
+BUILD_DOCS_PATH = BUILD_PATH / 'docs'
+DOXYGEN_PATH = BUILD_PATH / 'doxygen'
@cli.subcommand('Build QMK documentation.', hidden=False if cli.config.user.developer else True)
@@ -18,10 +20,12 @@ def generate_docs(cli):
* [ ] Add a real build step... something static docs
"""
- if BUILD_PATH.exists():
- shutil.rmtree(BUILD_PATH)
+ if BUILD_DOCS_PATH.exists():
+ shutil.rmtree(BUILD_DOCS_PATH)
+ if DOXYGEN_PATH.exists():
+ shutil.rmtree(DOXYGEN_PATH)
- shutil.copytree(DOCS_PATH, BUILD_PATH)
+ shutil.copytree(DOCS_PATH, BUILD_DOCS_PATH)
# When not verbose we want to hide all output
args = {
@@ -34,6 +38,6 @@ def generate_docs(cli):
# Generate internal docs
cli.run(['doxygen', 'Doxyfile'], **args)
- cli.run(['moxygen', '-q', '-a', '-g', '-o', BUILD_PATH / 'internals_%s.md', 'doxygen/xml'], **args)
+ cli.run(['moxygen', '-q', '-g', '-o', BUILD_DOCS_PATH / 'internals_%s.md', DOXYGEN_PATH / 'xml'], **args)
- cli.log.info('Successfully generated internal docs to %s.', BUILD_PATH)
+ cli.log.info('Successfully generated internal docs to %s.', BUILD_DOCS_PATH)
diff --git a/quantum/encoder.c b/quantum/encoder.c
index 59133f872a..438c7d8564 100644
--- a/quantum/encoder.c
+++ b/quantum/encoder.c
@@ -59,6 +59,10 @@ static uint8_t thisHand, thatHand;
static uint8_t encoder_value[NUMBER_OF_ENCODERS] = {0};
#endif
+__attribute__((weak)) void encoder_wait_pullup_charge(void) {
+ wait_us(100);
+}
+
__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
@@ -88,7 +92,9 @@ void encoder_init(void) {
for (int i = 0; i < NUMBER_OF_ENCODERS; i++) {
setPinInputHigh(encoders_pad_a[i]);
setPinInputHigh(encoders_pad_b[i]);
-
+ }
+ encoder_wait_pullup_charge();
+ for (int i = 0; i < NUMBER_OF_ENCODERS; i++) {
encoder_state[i] = (readPin(encoders_pad_a[i]) << 0) | (readPin(encoders_pad_b[i]) << 1);
}