This pull request provides a new feature to build a firmware in the backend of Remap server.
For keyboard registers/degisners
A new tab "BUILD" is added in the keyboard management page which the keyboard is already approved. The registerer/degisner adds firmware files like the following:
Files in QMK_HOME/keyboards/KB_NAME directory (ex. info.json, config.h and etc.)
Files in QMK_HOME/keyboards/KB_NAME/keymaps/KM_NAME directory (ex. keymap.c, rules.mk and etc.)
The registerer/designer can embed customization points in each file. <remap /> tag is used to embed them.
Number - <remap name="Tapping Term" type="number" default="130" />
For keyboard users
A new "BUILD" tab is added in each keyboard catalog page.
When pressing the "BUILD FIRMWARE" button, a new dialog is displayed. The dialog has a UI to specify customization points which are detected from each registered firmware file. Users can sprcify the parameter value of each customization point on the dialog.
When pressing the "BUILD" button, a new building firmware task is registered. The time to build the firmware will be in a few minutes.
When completing the building task, the standard output/error will be shown.
If the building task is succeeded, users can download and flash the firmware binary file directly from the page.
Limitation logics
Only authenticated users can register a build task.
A user can only register one build task at a time. If a task is already registered by the user, the second registration request is rejected.
All tasks are addressed sequentially using Cloud Tasks. Each waiting time is long according to the count of queued tasks.
This pull request provides a new feature to build a firmware in the backend of Remap server.
For keyboard registers/degisners
A new tab "BUILD" is added in the keyboard management page which the keyboard is already approved. The registerer/degisner adds firmware files like the following:
QMK_HOME/keyboards/KB_NAME
directory (ex.info.json
,config.h
and etc.)QMK_HOME/keyboards/KB_NAME/keymaps/KM_NAME
directory (ex.keymap.c
,rules.mk
and etc.)The registerer/designer can embed customization points in each file.
<remap />
tag is used to embed them.<remap name="Startup Sound" type="text" default="M__NOTE(_C7, 30), M__NOTE(_C6, 30)" />
<remap name="Audio Enable" type="select" default="no" options="yes,no" />
<remap name="Tapping Term" type="number" default="130" />
For keyboard users
A new "BUILD" tab is added in each keyboard catalog page.
When pressing the "BUILD FIRMWARE" button, a new dialog is displayed. The dialog has a UI to specify customization points which are detected from each registered firmware file. Users can sprcify the parameter value of each customization point on the dialog.
When pressing the "BUILD" button, a new building firmware task is registered. The time to build the firmware will be in a few minutes.
When completing the building task, the standard output/error will be shown.
If the building task is succeeded, users can download and flash the firmware binary file directly from the page.
Limitation logics
Implementation