Compare commits
117 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 711e8b968b | |||
| 3c10cf81ee | |||
| e28bc93a0c | |||
| 6d53f61608 | |||
| d154237847 | |||
| 6e2d02852c | |||
| bdcf3c69c9 | |||
| 37fcefb0e8 | |||
| 21e231ef48 | |||
| 708d7f03b4 | |||
| d9cf993f1c | |||
| 0b62a4ef72 | |||
| c55c7fed83 | |||
| 40380c2684 | |||
| a68b620112 | |||
| aa7628641c | |||
| ea4136bc2b | |||
| cdf640578b | |||
| 7138fa4582 | |||
| ccb37b155c | |||
| 64b84385cd | |||
| e90d9fcfff | |||
| d61a5f4343 | |||
| 713427c086 | |||
| e1afcda1c0 | |||
| ab4013a69e | |||
| 974c01b4f8 | |||
| f2d4dace06 | |||
| 387b64a79b | |||
| 9dc53f6cd2 | |||
| 6d8a1aa676 | |||
| 7ce0874617 | |||
| fc5eb10822 | |||
| 952cdc7be5 | |||
| db9f5c6013 | |||
| fff2249a7c | |||
| f48a88fc72 | |||
| 29f2e9f19a | |||
| d2c755c3dd | |||
| 40a4ee5114 | |||
| bb8c5cd54a | |||
| 2cef3465e8 | |||
| e0a09ff728 | |||
| 990ee8075e | |||
| 697f53a154 | |||
| cefef18ceb | |||
| 6e5ff018e3 | |||
| 75b7140cbd | |||
| 28c11ed348 | |||
| d732b0b849 | |||
| 6d965d486c | |||
| ce417226b2 | |||
| 0382a25e35 | |||
| 83dcbefeed | |||
| 18335ddda5 | |||
| 051485c579 | |||
| 5012dfd719 | |||
| 641698d356 | |||
| 75edefe541 | |||
| 7e6eba674a | |||
| 26b35a54cf | |||
| 38700f7e3f | |||
| ed72c423be | |||
| bc6db2823c | |||
| fb706f42a2 | |||
| 9132c64389 | |||
| 6e0acf0548 | |||
| 2c375e6478 | |||
| a5e68e5f74 | |||
| e9b36bebb2 | |||
| df7b56e0ea | |||
| 2e766a9c7a | |||
| 4ba3fdfad2 | |||
| 655c24d29d | |||
| eab2b8faa0 | |||
| d058091d0b | |||
| 596319c92f | |||
| 4d17fe2a99 | |||
| 1d045e854b | |||
| f7176f070f | |||
| 687883cf7d | |||
| f56cf93fa1 | |||
| 1fd30b3391 | |||
| 37f205ec1a | |||
| 26e0bfd494 | |||
| a434507ab4 | |||
| ee8c86702e | |||
| 246cf99b4b | |||
| eb52984a94 | |||
| a5272a1575 | |||
| d06ce0153b | |||
| c58610bea3 | |||
| 12de0297ed | |||
| 4992df56b8 | |||
| f3f0bf6dbe | |||
| 8a5e8ed88e | |||
| fb6557acf1 | |||
| 2d7240f730 | |||
| 1d1c407e4e | |||
| 9152928f02 | |||
| 15a106b1ef | |||
| ac9f9f9efb | |||
| ec83c0b185 | |||
| d300811009 | |||
| 27e6e27d3a | |||
| 5687fc7646 | |||
| ebe36ea83c | |||
| 6b205c3064 | |||
| b5d0c44690 | |||
| d0e0b9e583 | |||
| b0dc99fbd8 | |||
| 5b8dae0d61 | |||
| fd56a2a1dc | |||
| be9f6e679b | |||
| b53356f7ab | |||
| c402bac023 | |||
| a030e8094f |
@@ -31,7 +31,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Bump version and push tag
|
||||
uses: anothrNick/github-tag-action@1.61.0
|
||||
uses: anothrNick/github-tag-action@1.62.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
DEFAULT_BUMP: 'patch'
|
||||
|
||||
@@ -4,22 +4,27 @@ permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 0,12 * * *'
|
||||
inputs:
|
||||
branch:
|
||||
type: choice
|
||||
description: 'Branch to build'
|
||||
options: [master, develop]
|
||||
|
||||
concurrency: ci_build-${{ github.event.inputs.branch || github.ref_name }}
|
||||
|
||||
jobs:
|
||||
ci_builds:
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
name: "CI Build"
|
||||
runs-on: self-hosted
|
||||
timeout-minutes: 1380
|
||||
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
branch: [master, develop]
|
||||
keymap: [default, via]
|
||||
|
||||
container: qmkfm/qmk_cli
|
||||
@@ -31,7 +36,7 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
ref: ${{ matrix.branch }}
|
||||
ref: ${{ github.event.inputs.branch || github.ref }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip3 install -r requirements.txt
|
||||
@@ -51,10 +56,19 @@ jobs:
|
||||
uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: artifacts-${{ matrix.branch }}-${{ matrix.keymap }}
|
||||
name: artifacts-${{ github.event.inputs.branch || github.ref_name }}-${{ matrix.keymap }}
|
||||
if-no-files-found: ignore
|
||||
path: |
|
||||
*.bin
|
||||
*.hex
|
||||
*.uf2
|
||||
.build/failed.*
|
||||
|
||||
- name: 'CI Discord Notification'
|
||||
if: always()
|
||||
working-directory: util/ci/
|
||||
env:
|
||||
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
|
||||
run: |
|
||||
python3 -m pip install -r requirements.txt
|
||||
python3 ./discord-results.py --branch ${{ github.event.inputs.branch || github.ref_name }} --keymap ${{ matrix.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
@@ -27,12 +27,16 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt-get update && apt-get install -y rsync nodejs npm doxygen
|
||||
npm install -g moxygen
|
||||
|
||||
- name: Build docs
|
||||
- name: Build doxygen docs
|
||||
run: |
|
||||
qmk --verbose generate-docs
|
||||
|
||||
@@ -42,5 +46,5 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
BASE_BRANCH: master
|
||||
BRANCH: gh-pages
|
||||
FOLDER: .build/docs
|
||||
FOLDER: .build/docs/build
|
||||
GIT_CONFIG_EMAIL: hello@qmk.fm
|
||||
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
git config user.email 'hello@qmk.fm'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
git config user.email 'hello@qmk.fm'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
|
||||
@@ -30,6 +30,9 @@ quantum/version.h
|
||||
*.qmk
|
||||
*.uf2
|
||||
|
||||
# DD config at wrong location
|
||||
/keyboards/**/keymaps/*/info.json
|
||||
|
||||
# Old-style QMK Makefiles
|
||||
/keyboards/**/Makefile
|
||||
|
||||
@@ -52,12 +55,9 @@ quantum/version.h
|
||||
.history/
|
||||
build/
|
||||
cmake-build-debug
|
||||
# CMakeLists.txt
|
||||
CMakeLists.txt
|
||||
*.pdf
|
||||
|
||||
# cmake toolchain downloads
|
||||
/toolchains
|
||||
|
||||
# Let these ones be user specific, since we have so many different configurations
|
||||
*.code-workspace
|
||||
.stfolder
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name": "AVR GCC",
|
||||
"compilers": {
|
||||
"CC": "C:\\QMK_MSYS\\mingw64\\bin\\avr-gcc.exe",
|
||||
"CXX": "C:\\QMK_MSYS\\mingw64\\bin\\avr-g++.exe"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -1,10 +1,11 @@
|
||||
// Suggested extensions
|
||||
{
|
||||
"recommendations": [
|
||||
"EditorConfig.EditorConfig",
|
||||
"editorconfig.editorconfig",
|
||||
"xaver.clang-format",
|
||||
"ms-vscode.cpptools",
|
||||
"bierner.github-markdown-preview",
|
||||
"donjayamanne.git-extension-pack"
|
||||
"donjayamanne.git-extension-pack",
|
||||
"kevgo.vscode-markdown-ide"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// Configure glob patterns for excluding files and folders.
|
||||
"files.exclude": {
|
||||
"**/.build": true,
|
||||
// "**/*.hex": true,
|
||||
// "**/*.bin": true,
|
||||
"**/*.hex": true,
|
||||
"**/*.bin": true,
|
||||
"**/*.uf2": true
|
||||
},
|
||||
"files.associations": {
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "Load Keyboard",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn":[
|
||||
"Only Load Keyboard",
|
||||
"Configure CMake"
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Only Load Keyboard",
|
||||
"type": "shell",
|
||||
"command": "cmake -D QMK_KEYBOARD_FOLDER=\"${input:all_keyboards}\" -D QMK_KEYMAP_FOLDER=\"${input:keyboard_keymap}\" -P ${workspaceFolder}/cmake/ConfigureKeyboard.cmake",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "Configure CMake",
|
||||
"type": "cmake",
|
||||
"command": "configure"
|
||||
},
|
||||
{
|
||||
"label": "Build",
|
||||
"problemMatcher": [
|
||||
{
|
||||
"base": "$gcc",
|
||||
"fileLocation": ["relative", "${workspaceFolder}/build"]
|
||||
},
|
||||
],
|
||||
"options": {
|
||||
"environment": {
|
||||
"CLICOLOR_FORCE": "1"
|
||||
}
|
||||
},
|
||||
"type": "cmake",
|
||||
"command": "build",
|
||||
"targets":[
|
||||
"${input:keyboard_target}"
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
},
|
||||
// {
|
||||
// "label": "Rebuild",
|
||||
// "problemMatcher": [
|
||||
// {
|
||||
// "base": "$gcc",
|
||||
// "fileLocation": ["relative", "${workspaceFolder}/build"]
|
||||
// },
|
||||
// ],
|
||||
// "options": {
|
||||
// "environment": {
|
||||
// "CLICOLOR_FORCE": "1"
|
||||
// }
|
||||
// },
|
||||
// "type": "cmake",
|
||||
// "command": "cleanRebuild",
|
||||
// "targets":[
|
||||
// "${input:keyboard_target}"
|
||||
// ],
|
||||
// "group": {
|
||||
// "kind": "build",
|
||||
// "isDefault": true
|
||||
// },
|
||||
// }
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"id": "keyboard_target",
|
||||
"type": "command",
|
||||
"command": "shellCommand.execute",
|
||||
"args": {
|
||||
"command": "type build\\targets",
|
||||
"description": "Target:",
|
||||
"fieldSeparator": "|"
|
||||
},
|
||||
},
|
||||
{
|
||||
"id": "all_keyboards",
|
||||
"type": "command",
|
||||
"command": "shellCommand.execute",
|
||||
"args": {
|
||||
"command": "type build\\all_keyboards",
|
||||
"description": "Keyboard:",
|
||||
"default": ""
|
||||
},
|
||||
},
|
||||
{
|
||||
"id": "keymap",
|
||||
"description": "Keymap:",
|
||||
"type": "pickString",
|
||||
"options":[
|
||||
"default"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "keyboard_keymap",
|
||||
"type": "command",
|
||||
"command": "shellCommand.execute",
|
||||
"args": {
|
||||
"command": "cmake -D QMK_KEYBOARD_FOLDER=\"${input:all_keyboards}\" -P ${workspaceFolder}/cmake/GetKeymaps.cmake && type build\\keyboard_keymaps",
|
||||
"description": "Keymap:",
|
||||
"default": ""
|
||||
},
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
|
||||
include(UpdateSubmodule)
|
||||
include(ResolveKeyboard)
|
||||
include(ValidateJson)
|
||||
include(ProcessKeyboard)
|
||||
|
||||
set(QMK_KEYBOARDS_FOLDER "${CMAKE_SOURCE_DIR}/keyboards")
|
||||
|
||||
function(_get_all_cmake_targets out_var current_dir)
|
||||
get_property(targets DIRECTORY ${current_dir} PROPERTY BUILDSYSTEM_TARGETS)
|
||||
get_property(subdirs DIRECTORY ${current_dir} PROPERTY SUBDIRECTORIES)
|
||||
|
||||
foreach(subdir ${subdirs})
|
||||
_get_all_cmake_targets(subdir_targets ${subdir})
|
||||
list(APPEND targets ${subdir_targets})
|
||||
endforeach()
|
||||
|
||||
set(${out_var} ${targets} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
if(NOT DEFINED QMK_KEYBOARD)
|
||||
# configure step - populate targets
|
||||
project(qmk_firmware)
|
||||
|
||||
add_subdirectory(keyboards)
|
||||
|
||||
else()
|
||||
# build step
|
||||
if(NOT DEFINED QMK_KEYMAP_FOLDER)
|
||||
set(QMK_KEYMAP_FOLDER "default")
|
||||
endif()
|
||||
|
||||
resolve_keyboard(${QMK_KEYBOARD_FOLDER} QMK_KEYBOARD_FOLDER_ABS)
|
||||
cmake_path(IS_PREFIX QMK_KEYBOARDS_FOLDER "${QMK_KEYBOARD_FOLDER_ABS}" IS_KEYBOARDS_FOLDER)
|
||||
resolve_config_h(${QMK_KEYBOARD_FOLDER_ABS} QMK_KEYBOARD_CONFIG_H)
|
||||
process_keyboard()
|
||||
resolve_keyboard_h(${QMK_KEYBOARD_FOLDER_ABS} QMK_KEYBOARD_H)
|
||||
resolve_keymap_c(${QMK_KEYBOARD_FOLDER_ABS} ${QMK_KEYMAP_FOLDER} QMK_KEYMAP_C)
|
||||
|
||||
message(STATUS "config.h: ${QMK_KEYBOARD_CONFIG_H}")
|
||||
message(STATUS "keyboard.h: ${QMK_KEYBOARD_H}")
|
||||
message(STATUS "keymap.c: ${QMK_KEYMAP_C}")
|
||||
|
||||
|
||||
project(${QMK_KEYBOARD}
|
||||
LANGUAGES C CXX ASM
|
||||
HOMEPAGE_URL ${URL}
|
||||
VERSION ${DEVICE_VER})
|
||||
|
||||
# add_compile_options(
|
||||
# -include ${QMK_KEYBOARD_CONFIG_H}
|
||||
# )
|
||||
add_compile_definitions(
|
||||
QMK_KEYBOARD_H="${QMK_KEYBOARD_H}"
|
||||
KEYBOARD_${QMK_KEYBOARD}
|
||||
KEYMAP_C="${QMK_KEYMAP_C}"
|
||||
MATRIX_ROWS=8
|
||||
MATRIX_COLS=6
|
||||
)
|
||||
|
||||
if(DEFINED DIODE_DIRECTION)
|
||||
add_compile_definitions(DIODE_DIRECTION=${DIODE_DIRECTION})
|
||||
endif()
|
||||
|
||||
include_directories(${CMAKE_SOURCE_DIR})
|
||||
|
||||
# if(EXISTS ${QMK_KEYBOARD_FOLDER_ABS}/CMakeLists.txt)
|
||||
# add_subdirectory(${QMK_KEYBOARD_FOLDER_ABS})
|
||||
# else()
|
||||
file(GLOB KEYBOARD_SRC "${QMK_KEYBOARD_FOLDER_ABS}/*.c")
|
||||
list(REMOVE_ITEM KEYBOARD_SRC "${QMK_KEYMAP_C}")
|
||||
add_qmk_executable(${TARGET_NAME} ${KEYBOARD_SRC})
|
||||
|
||||
# endif()
|
||||
# add_library(qmk)
|
||||
|
||||
target_precompile_headers(qmk PUBLIC
|
||||
${QMK_KEYBOARD_CONFIG_H}
|
||||
)
|
||||
|
||||
resolve_keyboard_includes(${QMK_KEYBOARD_FOLDER_ABS})
|
||||
|
||||
add_subdirectory(quantum)
|
||||
add_subdirectory(platforms)
|
||||
add_subdirectory(tmk_core/protocol)
|
||||
|
||||
include(features/oled)
|
||||
include(features/backlight)
|
||||
include(features/eeprom)
|
||||
include(features/matrix)
|
||||
include(features/fnv)
|
||||
endif()
|
||||
@@ -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 = .build/doxygen
|
||||
OUTPUT_DIRECTORY = docs/static
|
||||
ALLOW_UNICODE_NAMES = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
@@ -183,7 +183,7 @@ IGNORE_PREFIX =
|
||||
# Configuration options related to disabled outputs
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
GENERATE_HTML = NO
|
||||
GENERATE_HTML = YES
|
||||
GENERATE_LATEX = NO
|
||||
GENERATE_RTF = NO
|
||||
GENERATE_MAN = NO
|
||||
@@ -191,11 +191,18 @@ GENERATE_DOCBOOK = NO
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
GENERATE_PERLMOD = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
HTML_OUTPUT = doxygen
|
||||
# HTML_FILE_EXTENSION =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
GENERATE_XML = YES
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_PROGRAMLISTING = YES
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# Dependencies
|
||||
/node_modules
|
||||
|
||||
# Production
|
||||
/build
|
||||
/static/doxygen
|
||||
|
||||
# Generated files
|
||||
.docusaurus
|
||||
.cache-loader
|
||||
|
||||
# Misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
|
||||
};
|
||||
@@ -0,0 +1,285 @@
|
||||
// @ts-check
|
||||
// Note: type annotations allow type checking and IDEs autocompletion
|
||||
|
||||
const lightCodeTheme = require("prism-react-renderer/themes/github");
|
||||
const darkCodeTheme = require("prism-react-renderer/themes/dracula");
|
||||
|
||||
/** @type {import('@docusaurus/types').Config} */
|
||||
const config = {
|
||||
title: "QMK Firmware",
|
||||
tagline: "The full documentation of the open-source firmware",
|
||||
favicon: "img/favicon.ico",
|
||||
url: "https://docs.qmk.fm",
|
||||
baseUrl: "/",
|
||||
organizationName: "qmk",
|
||||
projectName: "qmk_firmware",
|
||||
deploymentBranch: "gh-pages",
|
||||
onBrokenLinks: "warn",
|
||||
onBrokenMarkdownLinks: "warn",
|
||||
i18n: {
|
||||
defaultLocale: "en",
|
||||
locales: ["en"], //, 'ja', 'zh-cn'],
|
||||
},
|
||||
themes: [
|
||||
[
|
||||
"classic",
|
||||
{
|
||||
customCss: require.resolve("./src/css/custom.css"),
|
||||
}
|
||||
],
|
||||
[
|
||||
require.resolve("@easyops-cn/docusaurus-search-local"),
|
||||
{
|
||||
indexBlog: false,
|
||||
docsRouteBasePath: '/',
|
||||
searchResultLimits: 12,
|
||||
searchBarShortcut: false,
|
||||
},
|
||||
],
|
||||
],
|
||||
plugins: [
|
||||
[
|
||||
"@docusaurus/plugin-content-docs",
|
||||
{
|
||||
sidebarPath: require.resolve("./sidebars.js"),
|
||||
path: "../../docs",
|
||||
routeBasePath: "/",
|
||||
exclude: [
|
||||
"node_modules",
|
||||
"src",
|
||||
"static",
|
||||
"ja",
|
||||
"zh-cn",
|
||||
"gitbook",
|
||||
// "ChangeLog"
|
||||
],
|
||||
editUrl:
|
||||
"https://github.com/qmk/qmk_firmware/edit/master/docs/",
|
||||
},
|
||||
],
|
||||
[
|
||||
"@docusaurus/plugin-client-redirects",
|
||||
{
|
||||
// fromExtensions: ['md', 'html'],
|
||||
redirects: [
|
||||
// from index.html
|
||||
{
|
||||
from: '/adding_a_keyboard_to_qmk',
|
||||
to: '/hardware_keyboard_guidelines',
|
||||
},
|
||||
{
|
||||
from: '/build_environment_setup',
|
||||
to: '/newbs_getting_started',
|
||||
},
|
||||
{
|
||||
from: '/cli_dev_configuration',
|
||||
to: '/cli_configuration',
|
||||
},
|
||||
{
|
||||
from: '/dynamic_macros',
|
||||
to: '/feature_dynamic_macros',
|
||||
},
|
||||
{
|
||||
from: '/feature_common_shortcuts',
|
||||
to: '/feature_advanced_keycodes',
|
||||
},
|
||||
{
|
||||
from: '/glossary',
|
||||
to: '/reference_glossary',
|
||||
},
|
||||
{
|
||||
from: '/key_lock',
|
||||
to: '/feature_key_lock',
|
||||
},
|
||||
{
|
||||
from: '/make_instructions',
|
||||
to: '/getting_started_make_guide',
|
||||
},
|
||||
{
|
||||
from: ['/space_cadet_shift', '/feature_space_cadet_shift'],
|
||||
to: '/feature_space_cadet',
|
||||
},
|
||||
{
|
||||
from: '/getting_started_getting_help',
|
||||
to: '/support',
|
||||
},
|
||||
{
|
||||
from: '/tap_dance',
|
||||
to: '/feature_tap_dance',
|
||||
},
|
||||
{
|
||||
from: '/unicode',
|
||||
to: '/feature_unicode',
|
||||
},
|
||||
{
|
||||
from: '/python_development',
|
||||
to: '/cli_development',
|
||||
},
|
||||
{
|
||||
from: '/getting_started_build_tools',
|
||||
to: '/newbs_getting_started',
|
||||
},
|
||||
{
|
||||
from: '/tutorial',
|
||||
to: '/newbs',
|
||||
},
|
||||
// from redirects.json
|
||||
// {
|
||||
// from: "/adding_a_keyboard_to_qmk",
|
||||
// to: "/hardware_keyboard_guidelines"
|
||||
// },
|
||||
// {
|
||||
// from: "/build_environment_setup",
|
||||
// to: "/getting_started_build_tools"
|
||||
// },
|
||||
// {
|
||||
// from: "/dynamic_macros",
|
||||
// to: "/feature_dynamic_macros"
|
||||
// },
|
||||
// {
|
||||
// from: "/feature_common_shortcuts",
|
||||
// to: "/feature_advanced_keycodes"
|
||||
// },
|
||||
// {
|
||||
// from: "/glossary",
|
||||
// to: "/reference_glossary"
|
||||
// },
|
||||
// {
|
||||
// from: "/key_lock",
|
||||
// to: "/feature_key_lock"
|
||||
// },
|
||||
// {
|
||||
// from: "/make_instructions",
|
||||
// to: "/getting_started_make_guide"
|
||||
// },
|
||||
// {
|
||||
// from: "/porting_your_keyboard_to_qmk",
|
||||
// to: "/hardware_avr"
|
||||
// },
|
||||
// {
|
||||
// from: "/space_cadet_shift",
|
||||
// to: "/feature_space_cadet_shift"
|
||||
// },
|
||||
// {
|
||||
// from: "/tap_dance",
|
||||
// to: "/feature_tap_dance"
|
||||
// },
|
||||
// {
|
||||
// from: "/unicode",
|
||||
// to: "/feature_unicode"
|
||||
// },
|
||||
// {
|
||||
// from: "/python_development",
|
||||
// to: "/cli_development"
|
||||
// }
|
||||
],
|
||||
},
|
||||
],
|
||||
],
|
||||
|
||||
themeConfig:
|
||||
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
||||
({
|
||||
image: "img/qmk-social-card.jpg",
|
||||
navbar: {
|
||||
title: "QMK Firmware Docs",
|
||||
logo: {
|
||||
alt: "QMK Firmware",
|
||||
src: "img/qmk-new-light.svg",
|
||||
srcDark: "img/qmk-new-dark.svg",
|
||||
width: 32,
|
||||
height: 32,
|
||||
},
|
||||
items: [
|
||||
// {
|
||||
// type: 'localeDropdown',
|
||||
// position: 'right',
|
||||
// },
|
||||
{
|
||||
href: "https://github.com/qmk/qmk_firmware",
|
||||
label: "GitHub",
|
||||
position: "right",
|
||||
},
|
||||
],
|
||||
},
|
||||
docs: {
|
||||
sidebar: {
|
||||
autoCollapseCategories: false,
|
||||
},
|
||||
},
|
||||
footer: {
|
||||
style: "dark",
|
||||
links: [
|
||||
{
|
||||
title: "Docs",
|
||||
items: [
|
||||
{
|
||||
label: "Docs",
|
||||
to: "/",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Community",
|
||||
items: [
|
||||
{
|
||||
label: "Discord",
|
||||
href: "https://discord.gg/Uq7gcHh",
|
||||
},
|
||||
{
|
||||
label: "Reddit",
|
||||
href: "https://reddit.com/r/olkb",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "More",
|
||||
items: [
|
||||
{
|
||||
label: "GitHub",
|
||||
href: "https://github.com/qmk/qmk_firmware",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
copyright: `Copyright © ${new Date().getFullYear()} QMK. Built with Docusaurus.`,
|
||||
},
|
||||
prism: {
|
||||
theme: lightCodeTheme,
|
||||
darkTheme: darkCodeTheme,
|
||||
},
|
||||
// applied for - will fill out once we hear back
|
||||
//
|
||||
// algolia: {
|
||||
// // The application ID provided by Algolia
|
||||
// appId: 'YOUR_APP_ID',
|
||||
|
||||
// // Public API key: it is safe to commit it
|
||||
// apiKey: 'YOUR_SEARCH_API_KEY',
|
||||
|
||||
// indexName: 'YOUR_INDEX_NAME',
|
||||
|
||||
// // Optional: see doc section below
|
||||
// contextualSearch: true,
|
||||
|
||||
// // Optional: Specify domains where the navigation should occur through window.location instead on history.push. Useful when our Algolia config crawls multiple documentation sites and we want to navigate with window.location.href to them.
|
||||
// externalUrlRegex: 'external\\.com|domain\\.com',
|
||||
|
||||
// // Optional: Replace parts of the item URLs from Algolia. Useful when using the same search index for multiple deployments using a different baseUrl. You can use regexp or string in the `from` param. For example: localhost:3000 vs myCompany.com/docs
|
||||
// replaceSearchResultPathname: {
|
||||
// from: '/docs/', // or as RegExp: /\/docs\//
|
||||
// to: '/',
|
||||
// },
|
||||
|
||||
// // Optional: Algolia search parameters
|
||||
// searchParameters: {},
|
||||
|
||||
// // Optional: path for search page that enabled by default (`false` to disable it)
|
||||
// searchPagePath: 'search',
|
||||
|
||||
// //... other Algolia params
|
||||
// },
|
||||
}),
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "qmk_firmware_docs",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"docusaurus": "docusaurus",
|
||||
"start": "docusaurus start --host 0.0.0.0 --port 8936",
|
||||
"build": "docusaurus build",
|
||||
"swizzle": "docusaurus swizzle",
|
||||
"deploy": "docusaurus deploy",
|
||||
"clear": "docusaurus clear",
|
||||
"serve": "docusaurus serve --host 0.0.0.0 --port 8936",
|
||||
"write-translations": "docusaurus write-translations",
|
||||
"write-heading-ids": "docusaurus write-heading-ids"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "2.4.0",
|
||||
"@docusaurus/plugin-client-redirects": "^2.4.0",
|
||||
"@docusaurus/preset-classic": "2.4.0",
|
||||
"@easyops-cn/docusaurus-search-local": "^0.35.0",
|
||||
"@mdx-js/react": "^1.6.22",
|
||||
"clsx": "^1.2.1",
|
||||
"prism-react-renderer": "^1.3.5",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "2.4.0"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.5%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.14"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import React, { useEffect } from 'react';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
|
||||
function removeHashSlash(url) {
|
||||
return url.replace(/\/#\//, '/');
|
||||
}
|
||||
|
||||
export default function DocsifyForwarder(props) {
|
||||
const history = useHistory();
|
||||
|
||||
useEffect(() => {
|
||||
const currentUrl = window.location.href;
|
||||
if (currentUrl.includes('/#/')) {
|
||||
const newUrl = removeHashSlash(currentUrl);
|
||||
window.history.replaceState({}, '', newUrl);
|
||||
const relativePath = new URL(newUrl).pathname;
|
||||
history.push(relativePath);
|
||||
}
|
||||
}, [history]);
|
||||
|
||||
return "";
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Any CSS included here will be global. The classic template
|
||||
* bundles Infima by default. Infima is a CSS framework designed to
|
||||
* work well for content-centric websites.
|
||||
*/
|
||||
|
||||
/* You can override the default Infima variables here. */
|
||||
:root {
|
||||
--ifm-color-primary: #2d6fc5;
|
||||
--ifm-color-primary-dark: #294e78;
|
||||
--ifm-color-primary-darker: #274d71;
|
||||
--ifm-color-primary-darkest: #20355d;
|
||||
--ifm-color-primary-light: #335c92;
|
||||
--ifm-color-primary-lighter: #355899;
|
||||
--ifm-color-primary-lightest: #3c60ad;
|
||||
--ifm-code-font-size: 95%;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
||||
[data-theme='dark'] {
|
||||
--ifm-color-primary: #c26e25;
|
||||
--ifm-color-primary-dark: #af7621;
|
||||
--ifm-color-primary-darker: #a5641f;
|
||||
--ifm-color-primary-darkest: #885a1a;
|
||||
--ifm-color-primary-light: #d58229;
|
||||
--ifm-color-primary-lighter: #d88232;
|
||||
--ifm-color-primary-lightest: #dd964f;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* CSS files with the .module.css suffix will be treated as CSS modules
|
||||
* and scoped locally.
|
||||
*/
|
||||
|
||||
.heroBanner {
|
||||
padding: 4rem 0;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 996px) {
|
||||
.heroBanner {
|
||||
padding: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 793 B After Width: | Height: | Size: 793 B |
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 281 281" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1,0,0,1,-597.647,-5630.35)">
|
||||
<g id="qmk-new-dark" transform="matrix(0.632083,0,0,0.627831,726.192,4200.78)">
|
||||
<rect x="-203.366" y="2277" width="443" height="446" style="fill:none;"/>
|
||||
<g transform="matrix(1.58207,0,0,1.59279,-651.083,-6690.94)">
|
||||
<path d="M342,5738.86L321.5,5738.86C317.361,5738.86 314,5735.49 314,5731.36C314,5727.22 317.361,5723.86 321.5,5723.86L342,5723.86L342,5715.47C342,5700.78 353.924,5688.86 368.61,5688.86L376.567,5688.86L376.567,5668.86C376.567,5664.75 379.897,5661.42 384,5661.42C388.103,5661.42 391.433,5664.75 391.433,5668.86L391.433,5688.86L416.067,5688.86L416.067,5668.86C416.067,5664.75 419.397,5661.42 423.5,5661.42C427.603,5661.42 430.933,5664.75 430.933,5668.86L430.933,5688.86L454.567,5688.86L454.567,5668.86C454.567,5664.75 457.897,5661.42 462,5661.42C466.103,5661.42 469.433,5664.75 469.433,5668.86L469.433,5688.86L477.39,5688.86C492.076,5688.86 504,5700.78 504,5715.47L504,5723.86L524.5,5723.86C528.639,5723.86 532,5727.22 532,5731.36C532,5735.49 528.639,5738.86 524.5,5738.86L504,5738.86L504,5762.36L524.5,5762.36C528.639,5762.36 532,5765.72 532,5769.86C532,5773.99 528.639,5777.36 524.5,5777.36L504,5777.36L504,5801.86L524.5,5801.86C528.639,5801.86 532,5805.22 532,5809.36C532,5813.49 528.639,5816.86 524.5,5816.86L504,5816.86L504,5824.25C504,5838.93 492.076,5850.86 477.39,5850.86L469.5,5850.86L469.5,5871.86C469.5,5875.99 466.139,5879.36 462,5879.36C457.861,5879.36 454.5,5875.99 454.5,5871.86L454.5,5850.86L431,5850.86L431,5871.86C431,5875.99 427.639,5879.36 423.5,5879.36C419.361,5879.36 416,5875.99 416,5871.86L416,5850.86L391.5,5850.86L391.5,5871.86C391.5,5875.99 388.139,5879.36 384,5879.36C379.861,5879.36 376.5,5875.99 376.5,5871.86L376.5,5850.86L368.61,5850.86C353.924,5850.86 342,5838.93 342,5824.25L342,5816.86L321.5,5816.86C317.361,5816.86 314,5813.49 314,5809.36C314,5805.22 317.361,5801.86 321.5,5801.86L342,5801.86L342,5777.36L321.5,5777.36C317.361,5777.36 314,5773.99 314,5769.86C314,5765.72 317.361,5762.36 321.5,5762.36L342,5762.36L342,5738.86Z" style="fill:white;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.58207,0,0,1.59279,-651.083,-6690.94)">
|
||||
<path d="M416.067,5800.49C402.166,5799.34 393.38,5795 387.738,5790.24C376.29,5780.57 376.567,5768.36 376.567,5768.36L376.567,5731.36C376.567,5727.25 379.897,5723.92 384,5723.92C388.103,5723.92 391.433,5727.25 391.433,5731.36L391.433,5768.36C391.434,5768.36 391.712,5774.14 397.326,5778.88C401.148,5782.1 407.068,5784.67 416.067,5785.57L416.067,5731.36C416.067,5727.25 419.397,5723.92 423.5,5723.92C427.603,5723.92 430.933,5727.25 430.933,5731.36L430.933,5785.55C439.5,5784.63 445.157,5782.11 448.818,5778.94C454.317,5774.18 454.567,5768.36 454.567,5768.36L454.567,5731.36C454.567,5727.25 457.897,5723.92 462,5723.92C466.103,5723.92 469.433,5727.25 469.433,5731.36L469.433,5768.36C469.433,5768.36 469.685,5780.53 458.55,5790.18C453.039,5794.95 444.473,5799.3 430.933,5800.48L430.933,5809.36C430.933,5813.46 427.603,5816.79 423.5,5816.79C419.397,5816.79 416.067,5813.46 416.067,5809.36L416.067,5800.49Z" style="fill:rgb(16,16,16);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 281 281" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1,0,0,1,-282.994,-5630.35)">
|
||||
<g id="qmk-new-light" transform="matrix(0.632083,0,0,0.627831,411.538,4200.78)">
|
||||
<rect x="-203.366" y="2277" width="443" height="446" style="fill:none;"/>
|
||||
<g transform="matrix(1.58207,0,0,1.59279,-651.083,-6690.94)">
|
||||
<path d="M342,5738.86L321.5,5738.86C317.361,5738.86 314,5735.49 314,5731.36C314,5727.22 317.361,5723.86 321.5,5723.86L342,5723.86L342,5715.47C342,5700.78 353.924,5688.86 368.61,5688.86L376.567,5688.86L376.567,5668.86C376.567,5664.75 379.897,5661.42 384,5661.42C388.103,5661.42 391.433,5664.75 391.433,5668.86L391.433,5688.86L416.067,5688.86L416.067,5668.86C416.067,5664.75 419.397,5661.42 423.5,5661.42C427.603,5661.42 430.933,5664.75 430.933,5668.86L430.933,5688.86L454.567,5688.86L454.567,5668.86C454.567,5664.75 457.897,5661.42 462,5661.42C466.103,5661.42 469.433,5664.75 469.433,5668.86L469.433,5688.86L477.39,5688.86C492.076,5688.86 504,5700.78 504,5715.47L504,5723.86L524.5,5723.86C528.639,5723.86 532,5727.22 532,5731.36C532,5735.49 528.639,5738.86 524.5,5738.86L504,5738.86L504,5762.36L524.5,5762.36C528.639,5762.36 532,5765.72 532,5769.86C532,5773.99 528.639,5777.36 524.5,5777.36L504,5777.36L504,5801.86L524.5,5801.86C528.639,5801.86 532,5805.22 532,5809.36C532,5813.49 528.639,5816.86 524.5,5816.86L504,5816.86L504,5824.25C504,5838.93 492.076,5850.86 477.39,5850.86L469.5,5850.86L469.5,5871.86C469.5,5875.99 466.139,5879.36 462,5879.36C457.861,5879.36 454.5,5875.99 454.5,5871.86L454.5,5850.86L431,5850.86L431,5871.86C431,5875.99 427.639,5879.36 423.5,5879.36C419.361,5879.36 416,5875.99 416,5871.86L416,5850.86L391.5,5850.86L391.5,5871.86C391.5,5875.99 388.139,5879.36 384,5879.36C379.861,5879.36 376.5,5875.99 376.5,5871.86L376.5,5850.86L368.61,5850.86C353.924,5850.86 342,5838.93 342,5824.25L342,5816.86L321.5,5816.86C317.361,5816.86 314,5813.49 314,5809.36C314,5805.22 317.361,5801.86 321.5,5801.86L342,5801.86L342,5777.36L321.5,5777.36C317.361,5777.36 314,5773.99 314,5769.86C314,5765.72 317.361,5762.36 321.5,5762.36L342,5762.36L342,5738.86Z" style="fill:rgb(16,16,16);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.58207,0,0,1.59279,-651.083,-6690.94)">
|
||||
<path d="M416.067,5800.49C402.166,5799.34 393.38,5795 387.738,5790.24C376.29,5780.57 376.567,5768.36 376.567,5768.36L376.567,5731.36C376.567,5727.25 379.897,5723.92 384,5723.92C388.103,5723.92 391.433,5727.25 391.433,5731.36L391.433,5768.36C391.434,5768.36 391.712,5774.14 397.326,5778.88C401.148,5782.1 407.068,5784.67 416.067,5785.57L416.067,5731.36C416.067,5727.25 419.397,5723.92 423.5,5723.92C427.603,5723.92 430.933,5727.25 430.933,5731.36L430.933,5785.55C439.5,5784.63 445.157,5782.11 448.818,5778.94C454.317,5774.18 454.567,5768.36 454.567,5768.36L454.567,5731.36C454.567,5727.25 457.897,5723.92 462,5723.92C466.103,5723.92 469.433,5727.25 469.433,5731.36L469.433,5768.36C469.433,5768.36 469.685,5780.53 458.55,5790.18C453.039,5794.95 444.473,5799.3 430.933,5800.48L430.933,5809.36C430.933,5813.46 427.603,5816.79 423.5,5816.79C419.397,5816.79 416.067,5813.46 416.067,5809.36L416.067,5800.49Z" style="fill:white;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 40 KiB |
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"MKL26Z64" : {
|
||||
"MCU" : "cortex-m0plus",
|
||||
"ARMV": 6,
|
||||
"MCU_FAMILY": "KINETIS",
|
||||
"MCU_SERIES": "KL2x",
|
||||
"MCU_LDSCRIPT": "MKL26Z64",
|
||||
"MCU_STARTUP": "kl2x",
|
||||
"BOARD": "PJRC_TEENSY_LC"
|
||||
},
|
||||
"MK20DX128" : {
|
||||
"MCU" : "cortex-m4",
|
||||
"ARMV": 7,
|
||||
"MCU_FAMILY": "KINETIS",
|
||||
"MCU_SERIES": "K20x",
|
||||
"MCU_LDSCRIPT": "MK20DX128",
|
||||
"MCU_STARTUP": "k20x5",
|
||||
"BOARD": "PJRC_TEENSY_3"
|
||||
},
|
||||
"MK20DX256" : {
|
||||
"MCU" : "cortex-m4",
|
||||
"ARMV": 7,
|
||||
"MCU_FAMILY": "KINETIS",
|
||||
"MCU_SERIES": "K20x",
|
||||
"MCU_LDSCRIPT": "MK20DX256",
|
||||
"MCU_STARTUP": "k20x7",
|
||||
"BOARD": "PJRC_TEENSY_3_1"
|
||||
},
|
||||
"STM32F303" : {
|
||||
"MCU" : "cortex-m4",
|
||||
"ARMV": 7,
|
||||
"MCU_FAMILY": "STM32",
|
||||
"MCU_SERIES": "STM32F3xx",
|
||||
"MCU_LDSCRIPT": "STM32F303xC",
|
||||
"MCU_STARTUP": "stm32f3xx",
|
||||
"BOARD": "GENERIC_STM32_F303XC",
|
||||
"USE_FPU": true,
|
||||
"UF2_FAMILY": "STM32F3",
|
||||
"STM32_BOOTLOADER_ADDRESS": "0x1FFFD800"
|
||||
}
|
||||
}
|
||||