mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-02-24 07:40:50 +00:00
Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
commit
9e39e8327c
@ -33,7 +33,7 @@
|
|||||||
"blok": {
|
"blok": {
|
||||||
"processor": "RP2040",
|
"processor": "RP2040",
|
||||||
"bootloader": "rp2040",
|
"bootloader": "rp2040",
|
||||||
"board": "QMK_PM2040"
|
"board": "QMK_BLOK"
|
||||||
},
|
},
|
||||||
"michi": {
|
"michi": {
|
||||||
"processor": "RP2040",
|
"processor": "RP2040",
|
||||||
|
@ -5,7 +5,7 @@ from milc import cli
|
|||||||
|
|
||||||
import qmk.keymap
|
import qmk.keymap
|
||||||
import qmk.path
|
import qmk.path
|
||||||
from qmk.commands import parse_configurator_json
|
from qmk.commands import dump_lines, parse_configurator_json
|
||||||
|
|
||||||
|
|
||||||
@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to')
|
@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to')
|
||||||
@ -21,21 +21,8 @@ def json2c(cli):
|
|||||||
# Parse the configurator from json file (or stdin)
|
# Parse the configurator from json file (or stdin)
|
||||||
user_keymap = parse_configurator_json(cli.args.filename)
|
user_keymap = parse_configurator_json(cli.args.filename)
|
||||||
|
|
||||||
# Environment processing
|
|
||||||
if cli.args.output and cli.args.output.name == '-':
|
|
||||||
cli.args.output = None
|
|
||||||
|
|
||||||
# Generate the keymap
|
# Generate the keymap
|
||||||
keymap_c = qmk.keymap.generate_c(user_keymap)
|
keymap_c = qmk.keymap.generate_c(user_keymap)
|
||||||
|
|
||||||
if cli.args.output:
|
# Show the results
|
||||||
cli.args.output.parent.mkdir(parents=True, exist_ok=True)
|
dump_lines(cli.args.output, keymap_c.split('\n'), cli.args.quiet)
|
||||||
if cli.args.output.exists():
|
|
||||||
cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak'))
|
|
||||||
cli.args.output.write_text(keymap_c)
|
|
||||||
|
|
||||||
if not cli.args.quiet:
|
|
||||||
cli.log.info('Wrote keymap to %s.', cli.args.output)
|
|
||||||
|
|
||||||
else:
|
|
||||||
print(keymap_c)
|
|
||||||
|
@ -144,7 +144,7 @@ def test_list_keymaps_no_keyboard_found():
|
|||||||
def test_json2c():
|
def test_json2c():
|
||||||
result = check_subcommand('json2c', 'keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json')
|
result = check_subcommand('json2c', 'keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json')
|
||||||
check_returncode(result)
|
check_returncode(result)
|
||||||
assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n'
|
assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n\n'
|
||||||
|
|
||||||
|
|
||||||
def test_json2c_macros():
|
def test_json2c_macros():
|
||||||
@ -158,7 +158,7 @@ def test_json2c_macros():
|
|||||||
def test_json2c_stdin():
|
def test_json2c_stdin():
|
||||||
result = check_subcommand_stdin('keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json', 'json2c', '-')
|
result = check_subcommand_stdin('keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json', 'json2c', '-')
|
||||||
check_returncode(result)
|
check_returncode(result)
|
||||||
assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n'
|
assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n\n'
|
||||||
|
|
||||||
|
|
||||||
def test_json2c_wrong_json():
|
def test_json2c_wrong_json():
|
||||||
|
9
platforms/chibios/boards/QMK_BLOK/board/board.mk
Normal file
9
platforms/chibios/boards/QMK_BLOK/board/board.mk
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# List of all the board related files.
|
||||||
|
BOARDSRC = $(CHIBIOS)/os/hal/boards/RP_PICO_RP2040/board.c
|
||||||
|
|
||||||
|
# Required include directories
|
||||||
|
BOARDINC = $(CHIBIOS)/os/hal/boards/RP_PICO_RP2040
|
||||||
|
|
||||||
|
# Shared variables
|
||||||
|
ALLCSRC += $(BOARDSRC)
|
||||||
|
ALLINC += $(BOARDINC)
|
12
platforms/chibios/boards/QMK_BLOK/configs/board.h
Normal file
12
platforms/chibios/boards/QMK_BLOK/configs/board.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
// Copyright 2022 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <board.h>
|
||||||
|
|
||||||
|
#undef BOARD_RP_PICO_RP2040
|
||||||
|
#define BOARD_PM2040
|
||||||
|
|
||||||
|
#undef BOARD_NAME
|
||||||
|
#define BOARD_NAME "Blok"
|
13
platforms/chibios/boards/QMK_BLOK/configs/chconf.h
Normal file
13
platforms/chibios/boards/QMK_BLOK/configs/chconf.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Copyright 2022 Stefan Kerkmann
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define CH_CFG_SMP_MODE TRUE
|
||||||
|
#define CH_CFG_ST_RESOLUTION 32
|
||||||
|
#define CH_CFG_ST_FREQUENCY 1000000
|
||||||
|
#define CH_CFG_INTERVALS_SIZE 32
|
||||||
|
#define CH_CFG_TIME_TYPES_SIZE 32
|
||||||
|
#define CH_CFG_ST_TIMEDELTA 20
|
||||||
|
|
||||||
|
#include_next <chconf.h>
|
21
platforms/chibios/boards/QMK_BLOK/configs/config.h
Normal file
21
platforms/chibios/boards/QMK_BLOK/configs/config.h
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// Copyright 2022 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef I2C_DRIVER
|
||||||
|
# define I2C_DRIVER I2CD0
|
||||||
|
#endif
|
||||||
|
#ifndef I2C1_SDA_PIN
|
||||||
|
# define I2C1_SDA_PIN D1
|
||||||
|
#endif
|
||||||
|
#ifndef I2C1_SCL_PIN
|
||||||
|
# define I2C1_SCL_PIN D0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||||
|
# define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||||
|
#endif
|
||||||
|
#ifndef RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT
|
||||||
|
# define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
||||||
|
#endif
|
10
platforms/chibios/boards/QMK_BLOK/configs/halconf.h
Normal file
10
platforms/chibios/boards/QMK_BLOK/configs/halconf.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Copyright 2022 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_ADC TRUE
|
||||||
|
#define HAL_USE_I2C TRUE
|
||||||
|
#define HAL_USE_SPI TRUE
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
112
platforms/chibios/boards/QMK_BLOK/configs/mcuconf.h
Normal file
112
platforms/chibios/boards/QMK_BLOK/configs/mcuconf.h
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
/*
|
||||||
|
ChibiOS - Copyright (C) 2006..2021 Giovanni Di Sirio
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MCUCONF_H
|
||||||
|
#define MCUCONF_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* RP2040_MCUCONF drivers configuration.
|
||||||
|
*
|
||||||
|
* IRQ priorities:
|
||||||
|
* 3...0 Lowest...Highest.
|
||||||
|
*
|
||||||
|
* DMA priorities:
|
||||||
|
* 0...1 Lowest...Highest.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define RP2040_MCUCONF
|
||||||
|
|
||||||
|
/*
|
||||||
|
* HAL driver system settings.
|
||||||
|
*/
|
||||||
|
#define RP_NO_INIT FALSE
|
||||||
|
#define RP_CORE1_START FALSE
|
||||||
|
#define RP_CORE1_VECTORS_TABLE _vectors
|
||||||
|
#define RP_CORE1_ENTRY_POINT _crt0_c1_entry
|
||||||
|
#define RP_CORE1_STACK_END __c1_main_stack_end__
|
||||||
|
|
||||||
|
/*
|
||||||
|
* IRQ system settings.
|
||||||
|
*/
|
||||||
|
#define RP_IRQ_SYSTICK_PRIORITY 2
|
||||||
|
#define RP_IRQ_TIMER_ALARM0_PRIORITY 2
|
||||||
|
#define RP_IRQ_TIMER_ALARM1_PRIORITY 2
|
||||||
|
#define RP_IRQ_TIMER_ALARM2_PRIORITY 2
|
||||||
|
#define RP_IRQ_TIMER_ALARM3_PRIORITY 2
|
||||||
|
#define RP_IRQ_ADC1_PRIORITY 3
|
||||||
|
#define RP_IRQ_UART0_PRIORITY 3
|
||||||
|
#define RP_IRQ_UART1_PRIORITY 3
|
||||||
|
#define RP_IRQ_SPI0_PRIORITY 2
|
||||||
|
#define RP_IRQ_SPI1_PRIORITY 2
|
||||||
|
#define RP_IRQ_USB0_PRIORITY 3
|
||||||
|
#define RP_IRQ_I2C0_PRIORITY 2
|
||||||
|
#define RP_IRQ_I2C1_PRIORITY 2
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ADC driver system settings.
|
||||||
|
*/
|
||||||
|
#define RP_ADC_USE_ADC1 TRUE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* SIO driver system settings.
|
||||||
|
*/
|
||||||
|
#define RP_SIO_USE_UART0 FALSE
|
||||||
|
#define RP_SIO_USE_UART1 FALSE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* SPI driver system settings.
|
||||||
|
*/
|
||||||
|
#define RP_SPI_USE_SPI0 TRUE
|
||||||
|
#define RP_SPI_USE_SPI1 FALSE
|
||||||
|
#define RP_SPI_SPI0_RX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
|
||||||
|
#define RP_SPI_SPI0_TX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
|
||||||
|
#define RP_SPI_SPI1_RX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
|
||||||
|
#define RP_SPI_SPI1_TX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
|
||||||
|
#define RP_SPI_SPI0_DMA_PRIORITY 1
|
||||||
|
#define RP_SPI_SPI1_DMA_PRIORITY 1
|
||||||
|
#define RP_SPI_DMA_ERROR_HOOK(spip)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PWM driver system settings.
|
||||||
|
*/
|
||||||
|
#define RP_PWM_USE_PWM0 FALSE
|
||||||
|
#define RP_PWM_USE_PWM1 FALSE
|
||||||
|
#define RP_PWM_USE_PWM2 FALSE
|
||||||
|
#define RP_PWM_USE_PWM3 FALSE
|
||||||
|
#define RP_PWM_USE_PWM4 FALSE
|
||||||
|
#define RP_PWM_USE_PWM5 FALSE
|
||||||
|
#define RP_PWM_USE_PWM6 FALSE
|
||||||
|
#define RP_PWM_USE_PWM7 FALSE
|
||||||
|
#define RP_PWM_IRQ_WRAP_NUMBER_PRIORITY 3
|
||||||
|
|
||||||
|
/*
|
||||||
|
* I2C driver system settings.
|
||||||
|
*/
|
||||||
|
#define RP_I2C_USE_I2C0 TRUE
|
||||||
|
#define RP_I2C_USE_I2C1 FALSE
|
||||||
|
#define RP_I2C_BUSY_TIMEOUT 50
|
||||||
|
#define RP_I2C_ADDRESS_MODE_10BIT FALSE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* USB driver system settings.
|
||||||
|
*/
|
||||||
|
#define RP_USB_USE_USBD0 TRUE
|
||||||
|
#define RP_USB_FORCE_VBUS_DETECT TRUE
|
||||||
|
#define RP_USE_EXTERNAL_VBUS_DETECT FALSE
|
||||||
|
#define RP_USB_USE_SOF_INTR TRUE
|
||||||
|
#define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE
|
||||||
|
|
||||||
|
#endif /* MCUCONF_H */
|
@ -1,6 +1,6 @@
|
|||||||
# Boardsource Blok MCU settings for converting AVR projects
|
# Boardsource Blok MCU settings for converting AVR projects
|
||||||
MCU := RP2040
|
MCU := RP2040
|
||||||
BOARD := QMK_PM2040
|
BOARD := QMK_BLOK
|
||||||
BOOTLOADER := rp2040
|
BOOTLOADER := rp2040
|
||||||
|
|
||||||
# These are defaults based on what has been implemented for RP2040 boards
|
# These are defaults based on what has been implemented for RP2040 boards
|
||||||
|
Loading…
Reference in New Issue
Block a user