Compare commits
10 Commits
1875659df0
...
1f1d98ba77
| Author | SHA1 | Date | |
|---|---|---|---|
| 1f1d98ba77 | |||
| bbbb483aa5 | |||
|
|
4443fa8a32 | ||
|
|
7836906f3e | ||
|
|
9ae4d01e33 | ||
|
|
73bddf0ea6 | ||
|
|
1919644934 | ||
|
|
092ef661af | ||
|
|
21276de7d5 | ||
|
|
c060876692 |
@@ -4,39 +4,39 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# We recommend you to keep these unchanged
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[{*.yaml,*.yml}] # To match GitHub Actions formatting
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
indent_size = 4
|
||||
|
||||
[{qmk,*.py}]
|
||||
charset = utf-8
|
||||
max_line_length = 200
|
||||
|
||||
# Make these match what we have in .gitattributes
|
||||
[*.mk]
|
||||
end_of_line = lf
|
||||
[{Makefile,*.mk}]
|
||||
indent_style = tab
|
||||
|
||||
[Makefile]
|
||||
end_of_line = lf
|
||||
indent_style = tab
|
||||
|
||||
[*.sh]
|
||||
end_of_line = lf
|
||||
|
||||
# The gitattributes file will handle the line endings conversion properly according to the operating system settings for other files
|
||||
|
||||
|
||||
# We don't have gitattributes properly for these
|
||||
# So if the user have for example core.autocrlf set to true
|
||||
# the line endings would be wrong.
|
||||
# Don't override anything in `lib/`...
|
||||
[lib/**]
|
||||
indent_style = unset
|
||||
indent_size = unset
|
||||
tab_width = unset
|
||||
end_of_line = unset
|
||||
charset = unset
|
||||
spelling_language = unset
|
||||
trim_trailing_whitespace = unset
|
||||
insert_final_newline = unset
|
||||
|
||||
# ...except QMK's `lib/python`.
|
||||
[{*.py,lib/python/**.py}]
|
||||
end_of_line = lf
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
max_line_length = 200
|
||||
|
||||
2
.github/workflows/format.yml
vendored
2
.github/workflows/format.yml
vendored
@@ -36,6 +36,8 @@ jobs:
|
||||
- name: Get changed files
|
||||
id: file_changes
|
||||
uses: tj-actions/changed-files@v42
|
||||
with:
|
||||
use_rest_api: true
|
||||
|
||||
- name: Run qmk formatters
|
||||
shell: 'bash {0}'
|
||||
|
||||
2
.github/workflows/format_push.yml
vendored
2
.github/workflows/format_push.yml
vendored
@@ -47,7 +47,7 @@ jobs:
|
||||
git config user.email 'hello@qmk.fm'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
uses: peter-evans/create-pull-request@v6
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
|
||||
12
.github/workflows/lint.yml
vendored
12
.github/workflows/lint.yml
vendored
@@ -28,6 +28,8 @@ jobs:
|
||||
- name: Get changed files
|
||||
id: file_changes
|
||||
uses: tj-actions/changed-files@v42
|
||||
with:
|
||||
use_rest_api: true
|
||||
|
||||
- name: Print info
|
||||
run: |
|
||||
@@ -62,10 +64,12 @@ jobs:
|
||||
|
||||
qmk format-text ${{ steps.file_changes.outputs.all_changed_files}} || true
|
||||
for file in ${{ steps.file_changes.outputs.all_changed_files}}; do
|
||||
if ! git diff --quiet $file; then
|
||||
echo "File '${file}' Requires Formatting"
|
||||
echo "::error file=${file}::Requires Formatting"
|
||||
exit_code=$(($exit_code + 1))
|
||||
if [[ -f $file ]]; then
|
||||
if ! git diff --quiet $file; then
|
||||
echo "File '${file}' Requires Formatting"
|
||||
echo "::error file=${file}::Requires Formatting"
|
||||
exit_code=$(($exit_code + 1))
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
2
.github/workflows/regen_push.yml
vendored
2
.github/workflows/regen_push.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
||||
git config user.email 'hello@qmk.fm'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
uses: peter-evans/create-pull-request@v6
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
|
||||
@@ -75,45 +75,45 @@
|
||||
{"matrix": [2, 13], "x": 13.5, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.75, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.75, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.75, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.75, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.75, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.75, "y": 3, "w": 1.75},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 3.5, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.5, "y": 4},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 4},
|
||||
{"matrix": [4, 6], "x": 6.5, "y": 4},
|
||||
{"matrix": [4, 7], "x": 7.5, "y": 4},
|
||||
{"matrix": [4, 8], "x": 8.5, "y": 4},
|
||||
{"matrix": [4, 9], "x": 9.5, "y": 4},
|
||||
{"matrix": [4, 10], "x": 10.5, "y": 4},
|
||||
{"matrix": [4, 11], "x": 11.5, "y": 4},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4},
|
||||
{"matrix": [4, 7], "x": 7.25, "y": 4},
|
||||
{"matrix": [4, 8], "x": 8.25, "y": 4},
|
||||
{"matrix": [4, 9], "x": 9.25, "y": 4},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4},
|
||||
{"matrix": [4, 12], "x": 12.25, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.25},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5},
|
||||
{"matrix": [5, 2], "x": 3, "y": 5, "w": 1.5},
|
||||
{"matrix": [5, 3], "x": 4.5, "y": 5, "w": 1.5},
|
||||
{"matrix": [5, 4], "x": 6, "y": 5,"w": 2},
|
||||
{"matrix": [5, 5], "x": 7, "y": 5,"w": 1.5},
|
||||
{"matrix": [5, 6], "x": 8, "y": 5},
|
||||
{"matrix": [5, 7], "x": 9.5, "y": 5},
|
||||
{"matrix": [5, 8], "x": 10.5, "y": 5},
|
||||
{"matrix": [5, 9], "x": 11.5, "y": 5},
|
||||
{"matrix": [5, 10], "x": 12.5, "y": 5,"w": 1.25}
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.5},
|
||||
{"matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.5},
|
||||
{"matrix": [5, 3], "x": 4.25, "y": 5, "w": 1.5},
|
||||
{"matrix": [5, 4], "x": 5.75, "y": 5,"w": 2},
|
||||
{"matrix": [5, 5], "x": 7.75, "y": 5,"w": 1.5},
|
||||
{"matrix": [5, 6], "x": 9.25, "y": 5},
|
||||
{"matrix": [5, 7], "x": 10.25, "y": 5},
|
||||
{"matrix": [5, 8], "x": 11.25, "y": 5},
|
||||
{"matrix": [5, 9], "x": 12.25, "y": 5},
|
||||
{"matrix": [5, 10], "x": 13.25, "y": 5,"w": 1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -218,7 +218,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -325,7 +325,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -431,7 +431,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -537,7 +537,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -641,7 +641,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -336,7 +336,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -443,7 +443,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -549,7 +549,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -655,7 +655,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
@@ -759,7 +759,7 @@
|
||||
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
||||
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
|
||||
@@ -15,7 +15,7 @@ from qmk.json_schema import load_jsonschema
|
||||
from qmk.path import keyboard
|
||||
from qmk.json_encoders import InfoJSONEncoder
|
||||
from qmk.json_schema import deep_update, json_load
|
||||
from qmk.constants import MCU2BOOTLOADER
|
||||
from qmk.constants import MCU2BOOTLOADER, QMK_FIRMWARE
|
||||
|
||||
COMMUNITY = Path('layouts/default/')
|
||||
TEMPLATE = Path('data/templates/keyboard/')
|
||||
@@ -254,6 +254,6 @@ def new_keyboard(cli):
|
||||
augment_community_info(community_info, keyboard(kb_name) / community_info.name)
|
||||
|
||||
cli.log.info(f'{{fg_green}}Created a new keyboard called {{fg_cyan}}{kb_name}{{fg_green}}.{{fg_reset}}')
|
||||
cli.log.info(f'To start working on things, `cd` into {{fg_cyan}}keyboards/{kb_name}{{fg_reset}},')
|
||||
cli.log.info('or open the directory in your preferred text editor.')
|
||||
cli.log.info(f"And build with {{fg_yellow}}qmk compile -kb {kb_name} -km default{{fg_reset}}.")
|
||||
cli.log.info(f"Build Command: {{fg_yellow}}qmk compile -kb {kb_name} -km default{{fg_reset}}.")
|
||||
cli.log.info(f'Project Location: {{fg_cyan}}{QMK_FIRMWARE}/{keyboard(kb_name)}{{fg_reset}},')
|
||||
cli.log.info("{{fg_yellow}}Now update the config files to match the hardware!{{fg_reset}}")
|
||||
|
||||
@@ -108,6 +108,11 @@
|
||||
# if defined(STM32F1XX) || defined(STM32F2XX) || defined(STM32F4XX) || defined(STM32L1XX)
|
||||
# define USE_I2CV1
|
||||
# endif
|
||||
|
||||
# if defined(STM32G0XX) || defined(STM32G4XX) || defined(STM32L5XX) || defined(STM32H7XX)
|
||||
# define USE_USARTV3
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
// GD32 compatibility
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define RAW_ENABLE
|
||||
|
||||
#ifndef CORTEX_ENABLE_WFI_IDLE
|
||||
# define CORTEX_ENABLE_WFI_IDLE TRUE
|
||||
#endif // CORTEX_ENABLE_WFI_IDLE
|
||||
|
||||
@@ -16,7 +16,7 @@ static SIOConfig sioConfig = {
|
||||
#else
|
||||
static SIOConfig sioConfig = {
|
||||
.baud = SIO_DEFAULT_BITRATE,
|
||||
# if defined(MCU_STM32) && defined(CHIBIOS_HAL_USARTv3)
|
||||
# if defined(MCU_STM32) && defined(USE_USARTV3)
|
||||
.presc = USART_PRESC1,
|
||||
# endif
|
||||
.cr1 = UART_CR1,
|
||||
|
||||
@@ -329,17 +329,6 @@ ifeq ($(strip $(USE_CHIBIOS_CONTRIB)),yes)
|
||||
EXTRAINCDIRS += $(PLATFORMINC_CONTRIB) $(HALINC_CONTRIB) $(CHIBIOS_CONTRIB)/os/various
|
||||
endif
|
||||
|
||||
#
|
||||
# Extract supported HAL drivers
|
||||
##############################################################################
|
||||
|
||||
define add_lld_driver_define
|
||||
$(eval driver := $(word 2,$(subst /LLD/, ,$(1))))
|
||||
$(eval OPT_DEFS += -DCHIBIOS_HAL_$(driver))
|
||||
endef
|
||||
|
||||
$(foreach dir,$(EXTRAINCDIRS),$(if $(findstring /LLD/,$(dir)),$(call add_lld_driver_define,$(dir))))
|
||||
|
||||
#
|
||||
# Project, sources and paths
|
||||
##############################################################################
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "usb_descriptor.h"
|
||||
#include "usb_driver.h"
|
||||
#include "usb_types.h"
|
||||
#include "rgblight.h"
|
||||
|
||||
#ifdef NKRO_ENABLE
|
||||
# include "keycode_config.h"
|
||||
@@ -973,10 +974,29 @@ void raw_hid_send(uint8_t *data, uint8_t length) {
|
||||
chnWrite(&drivers.raw_driver.driver, data, length);
|
||||
}
|
||||
|
||||
__attribute__((weak)) void raw_hid_receive(uint8_t *data, uint8_t length) {
|
||||
// Users should #include "raw_hid.h" in their own code
|
||||
// and implement this function there. Leave this as weak linkage
|
||||
// so users can opt to not handle data coming in.
|
||||
enum HID_RGBLED_COMMAND { HID_PING = 0, HID_SET_HSV, HID_SET_RGB };
|
||||
void raw_hid_receive(uint8_t *data, uint8_t length) {
|
||||
switch (data[0]) {
|
||||
case HID_PING:
|
||||
data[0] = 1;
|
||||
data[1] = 'R';
|
||||
data[2] = 'G';
|
||||
data[3] = 'B';
|
||||
break;
|
||||
case HID_SET_HSV:
|
||||
rgblight_sethsv_noeeprom(data[1], data[2], data[3]);
|
||||
data[0] = 1;
|
||||
break;
|
||||
case HID_SET_RGB:
|
||||
rgblight_setrgb(data[1], data[2], data[3]);
|
||||
data[0] = 1;
|
||||
break;
|
||||
default:
|
||||
data[1] = data[0];
|
||||
data[0] = 0;
|
||||
break;
|
||||
}
|
||||
raw_hid_send(data, length);
|
||||
}
|
||||
|
||||
void raw_hid_task(void) {
|
||||
|
||||
@@ -55,6 +55,8 @@
|
||||
#include "usb_device_state.h"
|
||||
#include <util/atomic.h>
|
||||
|
||||
#include "rgblight.h"
|
||||
|
||||
#ifdef VIRTSER_ENABLE
|
||||
# include "virtser.h"
|
||||
#endif
|
||||
@@ -137,16 +139,30 @@ void raw_hid_send(uint8_t *data, uint8_t length) {
|
||||
send_report(RAW_IN_EPNUM, data, RAW_EPSIZE);
|
||||
}
|
||||
|
||||
/** \brief Raw HID Receive
|
||||
*
|
||||
* FIXME: Needs doc
|
||||
*/
|
||||
__attribute__((weak)) void raw_hid_receive(uint8_t *data, uint8_t length) {
|
||||
// Users should #include "raw_hid.h" in their own code
|
||||
// and implement this function there. Leave this as weak linkage
|
||||
// so users can opt to not handle data coming in.
|
||||
enum HID_RGBLED_COMMAND { HID_PING = 0, HID_SET_HSV, HID_SET_RGB };
|
||||
void raw_hid_receive(uint8_t *data, uint8_t length) {
|
||||
switch (data[0]) {
|
||||
case HID_PING:
|
||||
data[0] = 1;
|
||||
data[1] = 'R';
|
||||
data[2] = 'G';
|
||||
data[3] = 'B';
|
||||
break;
|
||||
case HID_SET_HSV:
|
||||
rgblight_sethsv_noeeprom(data[1], data[2], data[3]);
|
||||
data[0] = 1;
|
||||
break;
|
||||
case HID_SET_RGB:
|
||||
rgblight_setrgb(data[1], data[2], data[3]);
|
||||
data[0] = 1;
|
||||
break;
|
||||
default:
|
||||
data[1] = data[0];
|
||||
data[0] = 0;
|
||||
break;
|
||||
}
|
||||
raw_hid_send(data, length);
|
||||
}
|
||||
|
||||
/** \brief Raw HID Task
|
||||
*
|
||||
* FIXME: Needs doc
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RAW_ENABLE
|
||||
#include <LUFA/Drivers/USB/USB.h>
|
||||
|
||||
#ifdef PROTOCOL_CHIBIOS
|
||||
|
||||
Reference in New Issue
Block a user