mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-12-04 08:55:10 +00:00
129 lines
6.0 KiB
Python
129 lines
6.0 KiB
Python
"""Information that should be available to the python library.
|
|
"""
|
|
from os import environ
|
|
from datetime import date
|
|
from pathlib import Path
|
|
|
|
# The root of the qmk_firmware tree.
|
|
QMK_FIRMWARE = Path.cwd()
|
|
|
|
# Upstream repo url
|
|
QMK_FIRMWARE_UPSTREAM = 'qmk/qmk_firmware'
|
|
|
|
# This is the number of directories under `qmk_firmware/keyboards` that will be traversed. This is currently a limitation of our make system.
|
|
MAX_KEYBOARD_SUBFOLDERS = 5
|
|
|
|
# Supported processor types
|
|
CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK66FX1M0', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32L412', 'STM32L422', 'STM32L432', 'STM32L433', 'STM32L442', 'STM32L443', 'GD32VF103', 'WB32F3G71'
|
|
LUFA_PROCESSORS = 'at90usb162', 'atmega16u2', 'atmega32u2', 'atmega16u4', 'atmega32u4', 'at90usb646', 'at90usb647', 'at90usb1286', 'at90usb1287', None
|
|
VUSB_PROCESSORS = 'atmega32a', 'atmega328p', 'atmega328', 'attiny85'
|
|
|
|
# Common format strings
|
|
DATE_FORMAT = '%Y-%m-%d'
|
|
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S %Z'
|
|
TIME_FORMAT = '%H:%M:%S'
|
|
|
|
# Used when generating matrix locations
|
|
COL_LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijilmnopqrstuvwxyz'
|
|
ROW_LETTERS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop'
|
|
|
|
# Mapping between info.json and config.h keys
|
|
LED_INDICATORS = {
|
|
'caps_lock': 'LED_CAPS_LOCK_PIN',
|
|
'num_lock': 'LED_NUM_LOCK_PIN',
|
|
'scroll_lock': 'LED_SCROLL_LOCK_PIN',
|
|
}
|
|
|
|
# Constants that should match their counterparts in make
|
|
BUILD_DIR = environ.get('BUILD_DIR', '.build')
|
|
KEYBOARD_OUTPUT_PREFIX = f'{BUILD_DIR}/obj_'
|
|
|
|
# Headers for generated files
|
|
this_year = date.today().year
|
|
GPL2_HEADER_C_LIKE = f'''\
|
|
/* Copyright {this_year} QMK
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
'''
|
|
|
|
GPL2_HEADER_SH_LIKE = f'''\
|
|
# Copyright {this_year} QMK
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
'''
|
|
|
|
GENERATED_HEADER_C_LIKE = '''\
|
|
/*******************************************************************************
|
|
88888888888 888 d8b .d888 d8b 888 d8b
|
|
888 888 Y8P d88P" Y8P 888 Y8P
|
|
888 888 888 888
|
|
888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
|
|
888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
|
|
888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
|
|
888 888 888 888 X88 888 888 888 Y8b. 888 X88
|
|
888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
|
|
|
|
888 888
|
|
888 888
|
|
888 888
|
|
.d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
|
|
d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
|
|
888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
|
|
Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
|
|
"Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
|
|
888
|
|
Y8b d88P
|
|
"Y88P"
|
|
*******************************************************************************/
|
|
'''
|
|
|
|
GENERATED_HEADER_SH_LIKE = '''\
|
|
################################################################################
|
|
#
|
|
# 88888888888 888 d8b .d888 d8b 888 d8b
|
|
# 888 888 Y8P d88P" Y8P 888 Y8P
|
|
# 888 888 888 888
|
|
# 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
|
|
# 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
|
|
# 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
|
|
# 888 888 888 888 X88 888 888 888 Y8b. 888 X88
|
|
# 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
|
|
#
|
|
# 888 888
|
|
# 888 888
|
|
# 888 888
|
|
# .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
|
|
# d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
|
|
# 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
|
|
# Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
|
|
# "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
|
|
# 888
|
|
# Y8b d88P
|
|
# "Y88P"
|
|
#
|
|
################################################################################
|
|
'''
|