mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2025-02-16 22:37:35 +00:00
🔨 Better build, envs, tests
This commit is contained in:
parent
a53ad3b631
commit
550a30300d
97 changed files with 14228 additions and 12681 deletions
30
Makefile
30
Makefile
|
@ -5,13 +5,14 @@ CONTAINER_IMAGE := marlin-dev
|
|||
|
||||
help:
|
||||
@echo "Tasks for local development:"
|
||||
@echo "* format-pins: Reformat all pins files
|
||||
@echo "* tests-single-ci: Run a single test from inside the CI"
|
||||
@echo "* tests-single-local: Run a single test locally"
|
||||
@echo "* tests-single-local-docker: Run a single test locally, using docker"
|
||||
@echo "* tests-all-local: Run all tests locally"
|
||||
@echo "* tests-all-local-docker: Run all tests locally, using docker"
|
||||
@echo "* setup-local-docker: Build the local docker image"
|
||||
@echo "make marlin : Build marlin for the configured board"
|
||||
@echo "make format-pins : Reformat all pins files"
|
||||
@echo "make tests-single-ci : Run a single test from inside the CI"
|
||||
@echo "make tests-single-local : Run a single test locally"
|
||||
@echo "make tests-single-local-docker : Run a single test locally, using docker"
|
||||
@echo "make tests-all-local : Run all tests locally"
|
||||
@echo "make tests-all-local-docker : Run all tests locally, using docker"
|
||||
@echo "make setup-local-docker : Build the local docker image"
|
||||
@echo ""
|
||||
@echo "Options for testing:"
|
||||
@echo " TEST_TARGET Set when running tests-single-*, to select the"
|
||||
|
@ -24,46 +25,41 @@ help:
|
|||
@echo " VERBOSE_PLATFORMIO If you want the full PIO output, set any value"
|
||||
@echo " GIT_RESET_HARD Used by CI: reset all local changes. WARNING:"
|
||||
@echo " THIS WILL UNDO ANY CHANGES YOU'VE MADE!"
|
||||
.PHONY: help
|
||||
|
||||
marlin:
|
||||
./buildroot/bin/mftest -a
|
||||
.PHONY: marlin
|
||||
|
||||
tests-single-ci:
|
||||
export GIT_RESET_HARD=true
|
||||
$(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) PLATFORMIO_BUILD_FLAGS=-DGITHUB_ACTION
|
||||
.PHONY: tests-single-ci
|
||||
|
||||
tests-single-local:
|
||||
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local" ; return 1; fi
|
||||
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
|
||||
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
|
||||
&& run_tests . $(TEST_TARGET) "$(ONLY_TEST)"
|
||||
.PHONY: tests-single-local
|
||||
|
||||
tests-single-local-docker:
|
||||
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi
|
||||
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
|
||||
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
|
||||
.PHONY: tests-single-local-docker
|
||||
|
||||
tests-all-local:
|
||||
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
|
||||
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
|
||||
&& for TEST_TARGET in $$($(SCRIPTS_DIR)/get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done
|
||||
.PHONY: tests-all-local
|
||||
|
||||
tests-all-local-docker:
|
||||
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
|
||||
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
|
||||
.PHONY: tests-all-local-docker
|
||||
|
||||
setup-local-docker:
|
||||
$(CONTAINER_RT_BIN) build -t $(CONTAINER_IMAGE) -f docker/Dockerfile .
|
||||
.PHONY: setup-local-docker
|
||||
|
||||
PINS := $(shell find Marlin/src/pins -mindepth 2 -name '*.h')
|
||||
|
||||
.PHONY: $(PINS)
|
||||
|
||||
$(PINS): %:
|
||||
@echo "Formatting $@" && node buildroot/share/scripts/pinsformat.js $@
|
||||
@echo "Formatting $@" && node $(SCRIPTS_DIR)/pinsformat.js $@
|
||||
|
||||
format-pins: $(PINS)
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
# build_all_examples [...] branch [resume-from]
|
||||
#
|
||||
|
||||
. mfutil
|
||||
HERE=`dirname $0`
|
||||
|
||||
. "$HERE/mfutil"
|
||||
|
||||
GITREPO=https://github.com/MarlinFirmware/Configurations.git
|
||||
STAT_FILE=./.pio/.buildall
|
||||
|
@ -123,7 +125,7 @@ CONF_TREE=$( ls -d "$TMP"/config/examples/*/ "$TMP"/config/examples/*/*/ "$TMP"/
|
|||
for CONF in $CONF_TREE ; do
|
||||
|
||||
# Get a config's directory name
|
||||
DIR=$( echo $CONF | sed "s|$TMP/config/examples/||" )
|
||||
DIR=$( echo $CONF | "$SED" "s|$TMP/config/examples/||" )
|
||||
|
||||
# If looking for a config, skip others
|
||||
[[ $FIRST_CONF ]] && [[ $FIRST_CONF != $DIR && "$FIRST_CONF/" != $DIR ]] && continue
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
# Usage: build_example internal config-home config-folder
|
||||
#
|
||||
|
||||
. mfutil
|
||||
HERE=`dirname $0`
|
||||
|
||||
. "$HERE/mfutil"
|
||||
|
||||
# Require 'internal' as the first argument
|
||||
[[ "$1" == "internal" ]] || { echo "Don't call this script directly, use build_all_examples instead." ; exit 1 ; }
|
||||
|
@ -36,6 +38,6 @@ unset IFS; set +f
|
|||
echo -e "\n#define NO_CONTROLLER_CUSTOM_WIRING_WARNING" >> Marlin/Configuration.h
|
||||
|
||||
echo "Building the firmware now..."
|
||||
$HERE/mftest -s -a -n1 || { echo "Failed"; exit 1; }
|
||||
"$HERE/mftest" -s -a -n1 || { echo "Failed"; exit 1; }
|
||||
|
||||
echo "Success"
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
[[ -d Marlin/src ]] || { echo "Please 'cd' to the Marlin repo root." ; exit 1 ; }
|
||||
|
||||
which pio || { echo "Make sure 'pio' is in your execution PATH." ; exit 1 ; }
|
||||
|
||||
perror() { echo -e "$0: \033[0;31m$1 -- $2\033[0m" ; }
|
||||
errout() { echo -e "\033[0;31m$1\033[0m" ; }
|
||||
bugout() { ((DEBUG)) && echo -e "\033[0;32m$1\033[0m" ; }
|
||||
|
|
|
@ -7,13 +7,12 @@
|
|||
which curl 1>/dev/null 2>&1 || { echo "curl not found! Please install it."; exit ; }
|
||||
which git 1>/dev/null 2>&1 || { echo "git not found! Please install it."; exit ; }
|
||||
|
||||
SED=$(command -v gsed 2>/dev/null || command -v sed 2>/dev/null)
|
||||
SED=$(which gsed sed | head -n1)
|
||||
[[ -z "$SED" ]] && { echo "No sed found, please install sed" ; exit 1 ; }
|
||||
|
||||
OPEN=$( which gnome-open xdg-open open | head -n1 )
|
||||
|
||||
SELF=`basename "$0"`
|
||||
HERE=`dirname "$0"`
|
||||
|
||||
# Check if called in the right location
|
||||
[[ -e "Marlin/src" ]] || { echo -e "This script must be called from a Marlin working copy with:\n ./buildroot/bin/$SELF $1" ; exit ; }
|
||||
|
|
|
@ -15,11 +15,11 @@
|
|||
]
|
||||
],
|
||||
"ldscript": "ldscript.ld",
|
||||
"mcu": "stm32f401rct6",
|
||||
"variant": "MARLIN_CREALITY_STM32F401RC"
|
||||
"mcu": "stm32f401ret6",
|
||||
"variant": "MARLIN_CREALITY_STM32F401RE"
|
||||
},
|
||||
"debug": {
|
||||
"jlink_device": "STM32F401RC",
|
||||
"jlink_device": "STM32F401RE",
|
||||
"openocd_target": "stm32f4x",
|
||||
"svd_path": "STM32F40x.svd",
|
||||
"tools": {
|
||||
|
@ -45,11 +45,11 @@
|
|||
"arduino",
|
||||
"stm32cube"
|
||||
],
|
||||
"name": "STM32F401RC (64k RAM. 256k Flash)",
|
||||
"name": "STM32F401RE (64k RAM. 512k Flash)",
|
||||
"upload": {
|
||||
"disable_flushing": false,
|
||||
"maximum_ram_size": 65536,
|
||||
"maximum_size": 262144,
|
||||
"maximum_size": 514288,
|
||||
"protocol": "stlink",
|
||||
"protocols": [
|
||||
"stlink",
|
||||
|
@ -60,6 +60,6 @@
|
|||
"use_1200bps_touch": false,
|
||||
"wait_for_upload_port": false
|
||||
},
|
||||
"url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f401rc.html",
|
||||
"url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f401re.html",
|
||||
"vendor": "Generic"
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"build": {
|
||||
"cpu": "cortex-m4",
|
||||
"extra_flags": "-DSTM32F446xx",
|
||||
"f_cpu": "180000000L",
|
||||
"mcu": "stm32f446ret6",
|
||||
"variant": "MARLIN_F446VE"
|
||||
},
|
||||
"connectivity": [
|
||||
"can"
|
||||
],
|
||||
"debug": {
|
||||
"jlink_device": "STM32F446RE",
|
||||
"openocd_target": "stm32f4x",
|
||||
"svd_path": "STM32F446x.svd"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"stm32cube"
|
||||
],
|
||||
"name": "3D Printer control board",
|
||||
"upload": {
|
||||
"maximum_ram_size": 131072,
|
||||
"maximum_size": 524288,
|
||||
"protocol": "stlink",
|
||||
"protocols": [
|
||||
"jlink",
|
||||
"stlink",
|
||||
"blackmagic",
|
||||
"serial"
|
||||
]
|
||||
},
|
||||
"url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f446.html",
|
||||
"vendor": "FYSETC"
|
||||
}
|
|
@ -4,16 +4,16 @@
|
|||
"cpu": "cortex-m7",
|
||||
"extra_flags": "-DSTM32H7xx -DSTM32H723xx",
|
||||
"f_cpu": "550000000L",
|
||||
"mcu": "stm32h723vet6",
|
||||
"mcu": "stm32h723vgt6",
|
||||
"product_line": "STM32H723xx",
|
||||
"variant": "MARLIN_H723Vx"
|
||||
"variant": "MARLIN_H723VG"
|
||||
},
|
||||
"connectivity": [
|
||||
"can",
|
||||
"ethernet"
|
||||
],
|
||||
"debug": {
|
||||
"jlink_device": "STM32H723VE",
|
||||
"jlink_device": "STM32H723VG",
|
||||
"openocd_target": "stm32h7x",
|
||||
"svd_path": "STM32H7x3.svd",
|
||||
"tools": {
|
||||
|
@ -39,11 +39,11 @@
|
|||
"arduino",
|
||||
"stm32cube"
|
||||
],
|
||||
"name": "STM32H723VE (564k RAM. 512k Flash)",
|
||||
"name": "STM32H723VG (564k RAM. 1024k Flash)",
|
||||
"upload": {
|
||||
"disable_flushing": false,
|
||||
"maximum_ram_size": 577536,
|
||||
"maximum_size": 524288,
|
||||
"maximum_size": 1048576,
|
||||
"protocol": "stlink",
|
||||
"protocols": [
|
||||
"stlink",
|
||||
|
@ -56,6 +56,6 @@
|
|||
"use_1200bps_touch": false,
|
||||
"wait_for_upload_port": false
|
||||
},
|
||||
"url": "https://www.st.com/en/microcontrollers-microprocessors/stm32h723ze.html",
|
||||
"url": "https://www.st.com/en/microcontrollers-microprocessors/stm32h723vg.html",
|
||||
"vendor": "ST"
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
"f_cpu": "550000000L",
|
||||
"mcu": "stm32h723zet6",
|
||||
"product_line": "STM32H723xx",
|
||||
"variant": "MARLIN_H723Zx"
|
||||
"variant": "MARLIN_H723ZE"
|
||||
},
|
||||
"connectivity": [
|
||||
"can",
|
|
@ -6,7 +6,7 @@
|
|||
"f_cpu": "480000000L",
|
||||
"mcu": "stm32h743vit6",
|
||||
"product_line": "STM32H743xx",
|
||||
"variant": "MARLIN_H743Vx"
|
||||
"variant": "MARLIN_H743VI"
|
||||
},
|
||||
"connectivity": [
|
||||
"can",
|
14
buildroot/share/PlatformIO/ldscripts/creality256k.ld
Normal file
14
buildroot/share/PlatformIO/ldscripts/creality256k.ld
Normal file
|
@ -0,0 +1,14 @@
|
|||
MEMORY
|
||||
{
|
||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 48K - 40
|
||||
rom (rx) : ORIGIN = 0x08007000, LENGTH = 256K - 28K
|
||||
}
|
||||
|
||||
/* Provide memory region aliases for common.inc */
|
||||
REGION_ALIAS("REGION_TEXT", rom);
|
||||
REGION_ALIAS("REGION_DATA", ram);
|
||||
REGION_ALIAS("REGION_BSS", ram);
|
||||
REGION_ALIAS("REGION_RODATA", rom);
|
||||
|
||||
/* Let common.inc handle the real work. */
|
||||
INCLUDE common.inc
|
|
@ -54,7 +54,7 @@
|
|||
#define HAS_MENU_BACKLASH
|
||||
#endif
|
||||
#if ENABLED(LCD_BED_TRAMMING)
|
||||
#define HAS_MENU_BED_CORNERS
|
||||
#define HAS_MENU_BED_TRAMMING
|
||||
#endif
|
||||
#if ENABLED(CANCEL_OBJECTS)
|
||||
#define HAS_MENU_CANCELOBJECT
|
||||
|
@ -99,7 +99,7 @@
|
|||
#define HAS_MENU_TOUCH_SCREEN
|
||||
#endif
|
||||
#if ENABLED(ASSISTED_TRAMMING_WIZARD)
|
||||
#define HAS_MENU_TRAMMING
|
||||
#define HAS_MENU_TRAMMING_WIZARD
|
||||
#endif
|
||||
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||
#define HAS_MENU_UBL
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
import pioutil
|
||||
if pioutil.is_pio_build():
|
||||
|
||||
import subprocess,os,re
|
||||
import subprocess,os,re,fnmatch,glob
|
||||
srcfilepattern = re.compile(r".*[.](cpp|c)$")
|
||||
marlinbasedir = os.path.join(os.getcwd(), "Marlin/")
|
||||
Import("env")
|
||||
|
||||
from platformio.package.meta import PackageSpec
|
||||
|
@ -129,6 +131,7 @@ if pioutil.is_pio_build():
|
|||
def apply_features_config():
|
||||
load_features()
|
||||
blab("========== Apply enabled features...")
|
||||
build_filters = ' '.join(env.GetProjectOption('build_src_filter'))
|
||||
for feature in FEATURE_CONFIG:
|
||||
if not env.MarlinHas(feature):
|
||||
continue
|
||||
|
@ -175,23 +178,87 @@ if pioutil.is_pio_build():
|
|||
|
||||
if 'build_src_filter' in feat:
|
||||
blab("========== Adding build_src_filter for %s... " % feature, 2)
|
||||
build_src_filter = ' '.join(env.GetProjectOption('build_src_filter'))
|
||||
# first we need to remove the references to the same folder
|
||||
my_srcs = re.findall(r'[+-](<.*?>)', feat['build_src_filter'])
|
||||
cur_srcs = re.findall(r'[+-](<.*?>)', build_src_filter)
|
||||
for d in my_srcs:
|
||||
if d in cur_srcs:
|
||||
build_src_filter = re.sub(r'[+-]' + d, '', build_src_filter)
|
||||
|
||||
build_src_filter = feat['build_src_filter'] + ' ' + build_src_filter
|
||||
set_env_field('build_src_filter', [build_src_filter])
|
||||
env.Replace(SRC_FILTER=build_src_filter)
|
||||
build_filters = build_filters + ' ' + feat['build_src_filter']
|
||||
# Just append the filter in the order that the build environment specifies.
|
||||
# Important here is the order of entries in the "features.ini" file.
|
||||
|
||||
if 'lib_ignore' in feat:
|
||||
blab("========== Adding lib_ignore for %s... " % feature, 2)
|
||||
lib_ignore = env.GetProjectOption('lib_ignore') + [feat['lib_ignore']]
|
||||
set_env_field('lib_ignore', lib_ignore)
|
||||
|
||||
build_src_filter = ""
|
||||
if True:
|
||||
# Build the actual equivalent build_src_filter list based on the inclusions by the features.
|
||||
# PlatformIO doesn't do it this way, but maybe in the future....
|
||||
cur_srcs = set()
|
||||
# Remove the references to the same folder
|
||||
my_srcs = re.findall(r'([+-]<.*?>)', build_filters)
|
||||
for d in my_srcs:
|
||||
# Assume normalized relative paths
|
||||
plain = d[2:-1]
|
||||
if d[0] == '+':
|
||||
def addentry(fullpath, info=None):
|
||||
relp = os.path.relpath(fullpath, marlinbasedir)
|
||||
if srcfilepattern.match(relp):
|
||||
if info:
|
||||
blab("Added src file %s (%s)" % (relp, str(info)), 3)
|
||||
else:
|
||||
blab("Added src file %s " % relp, 3)
|
||||
cur_srcs.add(relp)
|
||||
# Special rule: If a direct folder is specified add all files within.
|
||||
fullplain = os.path.join(marlinbasedir, plain)
|
||||
if os.path.isdir(fullplain):
|
||||
blab("Directory content addition for %s " % plain, 3)
|
||||
gpattern = os.path.join(fullplain, "**")
|
||||
for fname in glob.glob(gpattern, recursive=True):
|
||||
addentry(fname, "dca")
|
||||
else:
|
||||
# Add all the things from the pattern by GLOB.
|
||||
def srepl(matchi):
|
||||
g0 = matchi.group(0)
|
||||
return r"**" + g0[1:]
|
||||
gpattern = re.sub(r'[*]($|[^*])', srepl, plain)
|
||||
gpattern = os.path.join(marlinbasedir, gpattern)
|
||||
|
||||
for fname in glob.glob(gpattern, recursive=True):
|
||||
addentry(fname)
|
||||
else:
|
||||
# Special rule: If a direct folder is specified then remove all files within.
|
||||
def onremove(relp, info=None):
|
||||
if info:
|
||||
blab("Removed src file %s (%s)" % (relp, str(info)), 3)
|
||||
else:
|
||||
blab("Removed src file %s " % relp, 3)
|
||||
fullplain = os.path.join(marlinbasedir, plain)
|
||||
if os.path.isdir(fullplain):
|
||||
blab("Directory content removal for %s " % plain, 2)
|
||||
def filt(x):
|
||||
common = os.path.commonpath([plain, x])
|
||||
if not common == os.path.normpath(plain): return True
|
||||
onremove(x, "dcr")
|
||||
return False
|
||||
cur_srcs = set(filter(filt, cur_srcs))
|
||||
else:
|
||||
# Remove matching source entries.
|
||||
def filt(x):
|
||||
if not fnmatch.fnmatch(x, plain): return True
|
||||
onremove(x)
|
||||
return False
|
||||
cur_srcs = set(filter(filt, cur_srcs))
|
||||
# Transform the resulting set into a string.
|
||||
for x in cur_srcs:
|
||||
if build_src_filter != "": build_src_filter += ' '
|
||||
build_src_filter += "+<" + x + ">"
|
||||
|
||||
#blab("Final build_src_filter: " + build_src_filter, 3)
|
||||
else:
|
||||
build_src_filter = build_filters
|
||||
|
||||
# Update in PlatformIO
|
||||
set_env_field('build_src_filter', [build_src_filter])
|
||||
env.Replace(SRC_FILTER=build_src_filter)
|
||||
|
||||
#
|
||||
# Use the compiler to get a list of all enabled features
|
||||
#
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
#
|
||||
# random-bin.py
|
||||
# Set a unique firmware name based on current date and time
|
||||
#
|
||||
import pioutil
|
||||
if pioutil.is_pio_build():
|
||||
from datetime import datetime
|
||||
Import("env")
|
||||
env['PROGNAME'] = datetime.now().strftime("firmware-%Y%m%d-%H%M%S")
|
|
@ -80,7 +80,26 @@ def load_boards():
|
|||
return ''
|
||||
|
||||
#
|
||||
# Extract a schema from the current configuration files
|
||||
# Extract the current configuration files in the form of a structured schema.
|
||||
# Contains the full schema for the configuration files, not just the enabled options,
|
||||
# Contains the current values of the options, not just data structure, so "schema" is a slight misnomer.
|
||||
#
|
||||
# The returned object is a nested dictionary with the following indexing:
|
||||
#
|
||||
# - schema[filekey][section][define_name] = define_info
|
||||
#
|
||||
# Where the define_info contains the following keyed fields:
|
||||
# - section = The @section the define is in
|
||||
# - name = The name of the define
|
||||
# - enabled = True if the define is enabled (not commented out)
|
||||
# - line = The line number of the define
|
||||
# - sid = A serial ID for the define
|
||||
# - value = The value of the define, if it has one
|
||||
# - type = The type of the define, if it has one
|
||||
# - requires = The conditions that must be met for the define to be enabled
|
||||
# - comment = The comment for the define, if it has one
|
||||
# - units = The units for the define, if it has one
|
||||
# - options = The options for the define, if it has one
|
||||
#
|
||||
def extract():
|
||||
# Load board names from boards.h
|
||||
|
|
|
@ -8,24 +8,54 @@ import subprocess,re,json,hashlib
|
|||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
#
|
||||
# Return all macro names in a header as an array, so we can take
|
||||
# the intersection with the preprocessor output, giving a decent
|
||||
# reflection of all enabled options that (probably) came from the
|
||||
# configuration files. We end up with the actual configured state,
|
||||
# better than what the config files say. You can then use the
|
||||
# resulting config.ini to produce more exact configuration files.
|
||||
#
|
||||
def extract_defines(filepath):
|
||||
def enabled_defines(filepath):
|
||||
'''
|
||||
Return all enabled #define items from a given C header file in a dictionary.
|
||||
A "#define" in a multi-line comment could produce a false positive if it's not
|
||||
preceded by a non-space character (like * in a multi-line comment).
|
||||
|
||||
Output:
|
||||
Each entry is a dictionary with a 'name' and a 'section' key. We end up with:
|
||||
{ MOTHERBOARD: { name: "MOTHERBOARD", section: "hardware" }, ... }
|
||||
|
||||
The 'name' key might get dropped as redundant, but it's useful for debugging.
|
||||
|
||||
Because the option names are the keys, only the last occurrence is retained.
|
||||
Use the Schema class for a more complete list of options, soon with full parsing.
|
||||
|
||||
This list is used to filter what is actually a config-defined option versus
|
||||
defines from elsewhere.
|
||||
|
||||
While the Schema class parses the configurations on its own, this script will
|
||||
get the preprocessor output and get the intersection of the enabled options from
|
||||
our crude scraping method and the actual compiler output.
|
||||
We end up with the actual configured state,
|
||||
better than what the config files say. You can then use the
|
||||
a decent reflection of all enabled options that (probably) came from
|
||||
resulting config.ini to produce more exact configuration files.
|
||||
'''
|
||||
outdict = {}
|
||||
section = "user"
|
||||
spatt = re.compile(r".*@section +([-a-zA-Z0-9_\s]+)$") # must match @section ...
|
||||
|
||||
f = open(filepath, encoding="utf8").read().split("\n")
|
||||
|
||||
# Get the full contents of the file and remove all block comments.
|
||||
# This will avoid false positives from #defines in comments
|
||||
f = re.sub(r'/\*.*?\*/', '', '\n'.join(f), flags=re.DOTALL).split("\n")
|
||||
|
||||
a = []
|
||||
for line in f:
|
||||
sline = line.strip()
|
||||
m = re.match(spatt, sline) # @section ...
|
||||
if m:
|
||||
section = m.group(1).strip()
|
||||
continue
|
||||
if sline[:7] == "#define":
|
||||
# Extract the key here (we don't care about the value)
|
||||
kv = sline[8:].strip().split()
|
||||
a.append(kv[0])
|
||||
return a
|
||||
outdict[kv[0]] = { 'name':kv[0], 'section': section }
|
||||
return outdict
|
||||
|
||||
# Compute the SHA256 hash of a file
|
||||
def get_file_sha256sum(filepath):
|
||||
|
@ -44,25 +74,25 @@ def compress_file(filepath, storedname, outpath):
|
|||
with zipfile.ZipFile(outpath, 'w', compression=zipfile.ZIP_BZIP2, compresslevel=9) as zipf:
|
||||
zipf.write(filepath, arcname=storedname, compress_type=zipfile.ZIP_BZIP2, compresslevel=9)
|
||||
|
||||
#
|
||||
# Compute the build signature by extracting all configuration settings and
|
||||
# building a unique reversible signature that can be included in the binary.
|
||||
# The signature can be reversed to get a 1:1 equivalent configuration file.
|
||||
#
|
||||
def compute_build_signature(env):
|
||||
if 'BUILD_SIGNATURE' in env:
|
||||
return
|
||||
'''
|
||||
Compute the build signature by extracting all configuration settings and
|
||||
building a unique reversible signature that can be included in the binary.
|
||||
The signature can be reversed to get a 1:1 equivalent configuration file.
|
||||
'''
|
||||
if 'BUILD_SIGNATURE' in env: return
|
||||
env.Append(BUILD_SIGNATURE=1)
|
||||
|
||||
build_path = Path(env['PROJECT_BUILD_DIR'], env['PIOENV'])
|
||||
marlin_json = build_path / 'marlin_config.json'
|
||||
marlin_zip = build_path / 'mc.zip'
|
||||
|
||||
# Definitions from these files will be kept
|
||||
files_to_keep = [ 'Marlin/Configuration.h', 'Marlin/Configuration_adv.h' ]
|
||||
header_paths = [ 'Marlin/Configuration.h', 'Marlin/Configuration_adv.h' ]
|
||||
|
||||
# Check if we can skip processing
|
||||
hashes = ''
|
||||
for header in files_to_keep:
|
||||
for header in header_paths:
|
||||
hashes += get_file_sha256sum(header)[0:10]
|
||||
|
||||
# Read a previously exported JSON file
|
||||
|
@ -77,121 +107,211 @@ def compute_build_signature(env):
|
|||
except:
|
||||
pass
|
||||
|
||||
# Get enabled config options based on preprocessor
|
||||
from preprocessor import run_preprocessor
|
||||
complete_cfg = run_preprocessor(env)
|
||||
|
||||
# Dumb #define extraction from the configuration files
|
||||
# Extract "enabled" #define lines by scraping the configuration files.
|
||||
# This data also contains the @section for each option.
|
||||
conf_defines = {}
|
||||
all_defines = []
|
||||
for header in files_to_keep:
|
||||
defines = extract_defines(header)
|
||||
# To filter only the define we want
|
||||
all_defines += defines
|
||||
# To remember from which file it cames from
|
||||
conf_defines[header.split('/')[-1]] = defines
|
||||
conf_names = []
|
||||
for hpath in header_paths:
|
||||
# Get defines in the form of { name: { name:..., section:... }, ... }
|
||||
defines = enabled_defines(hpath)
|
||||
# Get all unique define names into a flat array
|
||||
conf_names += defines.keys()
|
||||
# Remember which file these defines came from
|
||||
conf_defines[hpath.split('/')[-1]] = defines
|
||||
|
||||
# Get enabled config options based on running GCC to preprocess the config files.
|
||||
# The result is a list of line strings, each starting with '#define'.
|
||||
from preprocessor import run_preprocessor
|
||||
build_output = run_preprocessor(env)
|
||||
|
||||
# Dumb regex to filter out some dumb macros
|
||||
r = re.compile(r"\(+(\s*-*\s*_.*)\)+")
|
||||
|
||||
# First step is to collect all valid macros
|
||||
defines = {}
|
||||
for line in complete_cfg:
|
||||
|
||||
# Split the define from the value
|
||||
# Extract all the #define lines in the build output as key/value pairs
|
||||
build_defines = {}
|
||||
for line in build_output:
|
||||
# Split the define from the value.
|
||||
key_val = line[8:].strip().decode().split(' ')
|
||||
key, value = key_val[0], ' '.join(key_val[1:])
|
||||
|
||||
# Ignore values starting with two underscore, since it's low level
|
||||
if len(key) > 2 and key[0:2] == "__" :
|
||||
continue
|
||||
# Ignore values containing a parenthesis (likely a function macro)
|
||||
if '(' in key and ')' in key:
|
||||
continue
|
||||
|
||||
if len(key) > 2 and key[0:2] == "__": continue
|
||||
# Ignore values containing parentheses (likely a function macro)
|
||||
if '(' in key and ')' in key: continue
|
||||
# Then filter dumb values
|
||||
if r.match(value):
|
||||
continue
|
||||
if r.match(value): continue
|
||||
|
||||
defines[key] = value if len(value) else ""
|
||||
build_defines[key] = value if len(value) else ""
|
||||
|
||||
#
|
||||
# Continue to gather data for CONFIGURATION_EMBEDDING or CONFIG_EXPORT
|
||||
#
|
||||
if not ('CONFIGURATION_EMBEDDING' in defines or 'CONFIG_EXPORT' in defines):
|
||||
if not ('CONFIGURATION_EMBEDDING' in build_defines or 'CONFIG_EXPORT' in build_defines):
|
||||
return
|
||||
|
||||
# Second step is to filter useless macro
|
||||
resolved_defines = {}
|
||||
for key in defines:
|
||||
# Filter out useless macros from the output
|
||||
cleaned_build_defines = {}
|
||||
for key in build_defines:
|
||||
# Remove all boards now
|
||||
if key.startswith("BOARD_") and key != "BOARD_INFO_NAME":
|
||||
continue
|
||||
if key.startswith("BOARD_") and key != "BOARD_INFO_NAME": continue
|
||||
# Remove all keys ending by "_T_DECLARED" as it's a copy of extraneous system stuff
|
||||
if key.endswith("_T_DECLARED"):
|
||||
continue
|
||||
if key.endswith("_T_DECLARED"): continue
|
||||
# Remove keys that are not in the #define list in the Configuration list
|
||||
if key not in all_defines + [ 'DETAILED_BUILD_VERSION', 'STRING_DISTRIBUTION_DATE' ]:
|
||||
continue
|
||||
if key not in conf_names + [ 'DETAILED_BUILD_VERSION', 'STRING_DISTRIBUTION_DATE' ]: continue
|
||||
# Add to a new dictionary for simplicity
|
||||
cleaned_build_defines[key] = build_defines[key]
|
||||
|
||||
# Don't be that smart guy here
|
||||
resolved_defines[key] = defines[key]
|
||||
|
||||
# Generate a build signature now
|
||||
# We are making an object that's a bit more complex than a basic dictionary here
|
||||
data = {}
|
||||
data['__INITIAL_HASH'] = hashes
|
||||
# First create a key for each header here
|
||||
# And we only care about defines that (most likely) came from the config files
|
||||
# Build a dictionary of dictionaries with keys: 'name', 'section', 'value'
|
||||
# { 'file1': { 'option': { 'name':'option', 'section':..., 'value':... }, ... }, 'file2': { ... } }
|
||||
real_config = {}
|
||||
for header in conf_defines:
|
||||
data[header] = {}
|
||||
|
||||
# Then populate the object where each key is going to (that's a O(N^2) algorithm here...)
|
||||
for key in resolved_defines:
|
||||
for header in conf_defines:
|
||||
real_config[header] = {}
|
||||
for key in cleaned_build_defines:
|
||||
if key in conf_defines[header]:
|
||||
data[header][key] = resolved_defines[key]
|
||||
if key[0:2] == '__': continue
|
||||
val = cleaned_build_defines[key]
|
||||
real_config[header][key] = { 'file':header, 'name': key, 'value': val, 'section': conf_defines[header][key]['section']}
|
||||
|
||||
# Every python needs this toy
|
||||
def tryint(key):
|
||||
try:
|
||||
return int(defines[key])
|
||||
except:
|
||||
return 0
|
||||
try: return int(build_defines[key])
|
||||
except: return 0
|
||||
|
||||
# Get the CONFIG_EXPORT value and do an extended dump if > 100
|
||||
# For example, CONFIG_EXPORT 102 will make a 'config.ini' with a [config:] group for each schema @section
|
||||
config_dump = tryint('CONFIG_EXPORT')
|
||||
extended_dump = config_dump > 100
|
||||
if extended_dump: config_dump -= 100
|
||||
|
||||
#
|
||||
# Produce an INI file if CONFIG_EXPORT == 2
|
||||
#
|
||||
if config_dump == 2:
|
||||
print("Generating config.ini ...")
|
||||
|
||||
ini_fmt = '{0:40} = {1}'
|
||||
ext_fmt = '{0:40} {1}'
|
||||
ignore = ('CONFIGURATION_H_VERSION', 'CONFIGURATION_ADV_H_VERSION', 'CONFIG_EXPORT')
|
||||
|
||||
if extended_dump:
|
||||
# Extended export will dump config options by section
|
||||
|
||||
# We'll use Schema class to get the sections
|
||||
try:
|
||||
conf_schema = schema.extract()
|
||||
except Exception as exc:
|
||||
print("Error: " + str(exc))
|
||||
exit(1)
|
||||
|
||||
# Then group options by schema @section
|
||||
sections = {}
|
||||
for header in real_config:
|
||||
for name in real_config[header]:
|
||||
#print(f" name: {name}")
|
||||
if name not in ignore:
|
||||
ddict = real_config[header][name]
|
||||
#print(f" real_config[{header}][{name}]:", ddict)
|
||||
sect = ddict['section']
|
||||
if sect not in sections: sections[sect] = {}
|
||||
sections[sect][name] = ddict
|
||||
|
||||
# Get all sections as a list of strings, with spaces and dashes replaced by underscores
|
||||
long_list = [ re.sub(r'[- ]+', '_', x).lower() for x in sections.keys() ]
|
||||
# Make comma-separated lists of sections with 64 characters or less
|
||||
sec_lines = []
|
||||
while len(long_list):
|
||||
line = long_list.pop(0) + ', '
|
||||
while len(long_list) and len(line) + len(long_list[0]) < 64 - 1:
|
||||
line += long_list.pop(0) + ', '
|
||||
sec_lines.append(line.strip())
|
||||
sec_lines[-1] = sec_lines[-1][:-1] # Remove the last comma
|
||||
|
||||
else:
|
||||
sec_lines = ['all']
|
||||
|
||||
# Build the ini_use_config item
|
||||
sec_list = ini_fmt.format('ini_use_config', sec_lines[0])
|
||||
for line in sec_lines[1:]: sec_list += '\n' + ext_fmt.format('', line)
|
||||
|
||||
config_ini = build_path / 'config.ini'
|
||||
with config_ini.open('w') as outfile:
|
||||
ignore = ('CONFIGURATION_H_VERSION', 'CONFIGURATION_ADV_H_VERSION', 'CONFIG_EXPORT')
|
||||
filegrp = { 'Configuration.h':'config:basic', 'Configuration_adv.h':'config:advanced' }
|
||||
vers = defines["CONFIGURATION_H_VERSION"]
|
||||
vers = build_defines["CONFIGURATION_H_VERSION"]
|
||||
dt_string = datetime.now().strftime("%Y-%m-%d at %H:%M:%S")
|
||||
ini_fmt = '{0:40}{1}\n'
|
||||
|
||||
outfile.write(
|
||||
'#\n'
|
||||
+ '# Marlin Firmware\n'
|
||||
+ '# config.ini - Options to apply before the build\n'
|
||||
+ '#\n'
|
||||
+ f'# Generated by Marlin build on {dt_string}\n'
|
||||
+ '#\n'
|
||||
+ '\n'
|
||||
+ '[config:base]\n'
|
||||
+ ini_fmt.format('ini_use_config', ' = all')
|
||||
+ ini_fmt.format('ini_config_vers', f' = {vers}')
|
||||
)
|
||||
# Loop through the data array of arrays
|
||||
for header in data:
|
||||
if header.startswith('__'):
|
||||
continue
|
||||
outfile.write('\n[' + filegrp[header] + ']\n')
|
||||
for key in sorted(data[header]):
|
||||
if key not in ignore:
|
||||
val = 'on' if data[header][key] == '' else data[header][key]
|
||||
outfile.write(ini_fmt.format(key.lower(), ' = ' + val))
|
||||
f'''#
|
||||
# Marlin Firmware
|
||||
# config.ini - Options to apply before the build
|
||||
#
|
||||
# Generated by Marlin build on {dt_string}
|
||||
#
|
||||
[config:base]
|
||||
#
|
||||
# ini_use_config - A comma-separated list of actions to apply to the Configuration files.
|
||||
# The actions will be applied in the listed order.
|
||||
# - none
|
||||
# Ignore this file and don't apply any configuration options
|
||||
#
|
||||
# - base
|
||||
# Just apply the options in config:base to the configuration
|
||||
#
|
||||
# - minimal
|
||||
# Just apply the options in config:minimal to the configuration
|
||||
#
|
||||
# - all
|
||||
# Apply all 'config:*' sections in this file to the configuration
|
||||
#
|
||||
# - another.ini
|
||||
# Load another INI file with a path relative to this config.ini file (i.e., within Marlin/)
|
||||
#
|
||||
# - https://me.myserver.com/path/to/configs
|
||||
# Fetch configurations from any URL.
|
||||
#
|
||||
# - example/Creality/Ender-5 Plus @ bugfix-2.1.x
|
||||
# Fetch example configuration files from the MarlinFirmware/Configurations repository
|
||||
# https://raw.githubusercontent.com/MarlinFirmware/Configurations/bugfix-2.1.x/config/examples/Creality/Ender-5%20Plus/
|
||||
#
|
||||
# - example/default @ release-2.0.9.7
|
||||
# Fetch default configuration files from the MarlinFirmware/Configurations repository
|
||||
# https://raw.githubusercontent.com/MarlinFirmware/Configurations/release-2.0.9.7/config/default/
|
||||
#
|
||||
# - [disable]
|
||||
# Comment out all #defines in both Configuration.h and Configuration_adv.h. This is useful
|
||||
# to start with a clean slate before applying any config: options, so only the options explicitly
|
||||
# set in config.ini will be enabled in the configuration.
|
||||
#
|
||||
# - [flatten] (Not yet implemented)
|
||||
# Produce a flattened set of Configuration.h and Configuration_adv.h files with only the enabled
|
||||
# #defines and no comments. A clean look, but context-free.
|
||||
#
|
||||
{sec_list}
|
||||
{ini_fmt.format('ini_config_vers', vers)}
|
||||
''' )
|
||||
|
||||
if extended_dump:
|
||||
|
||||
# Loop through the sections
|
||||
for skey in sorted(sections):
|
||||
#print(f" skey: {skey}")
|
||||
sani = re.sub(r'[- ]+', '_', skey).lower()
|
||||
outfile.write(f"\n[config:{sani}]\n")
|
||||
opts = sections[skey]
|
||||
for name in sorted(opts):
|
||||
val = opts[name]['value']
|
||||
if val == '': val = 'on'
|
||||
#print(f" {name} = {val}")
|
||||
outfile.write(ini_fmt.format(name.lower(), val) + '\n')
|
||||
|
||||
else:
|
||||
|
||||
# Standard export just dumps config:basic and config:advanced sections
|
||||
for header in real_config:
|
||||
outfile.write(f'\n[{filegrp[header]}]\n')
|
||||
for name in sorted(real_config[header]):
|
||||
if name not in ignore:
|
||||
val = real_config[header][name]['value']
|
||||
if val == '': val = 'on'
|
||||
outfile.write(ini_fmt.format(name.lower(), val) + '\n')
|
||||
|
||||
#
|
||||
# CONFIG_EXPORT 3 = schema.json, 4 = schema.yml
|
||||
|
@ -229,28 +349,51 @@ def compute_build_signature(env):
|
|||
import yaml
|
||||
schema.dump_yaml(conf_schema, build_path / 'schema.yml')
|
||||
|
||||
# Append the source code version and date
|
||||
data['VERSION'] = {}
|
||||
data['VERSION']['DETAILED_BUILD_VERSION'] = resolved_defines['DETAILED_BUILD_VERSION']
|
||||
data['VERSION']['STRING_DISTRIBUTION_DATE'] = resolved_defines['STRING_DISTRIBUTION_DATE']
|
||||
try:
|
||||
curver = subprocess.check_output(["git", "describe", "--match=NeVeRmAtCh", "--always"]).strip()
|
||||
data['VERSION']['GIT_REF'] = curver.decode()
|
||||
except:
|
||||
pass
|
||||
|
||||
#
|
||||
# Produce a JSON file for CONFIGURATION_EMBEDDING or CONFIG_EXPORT == 1
|
||||
# Skip if an identical JSON file was already present.
|
||||
#
|
||||
if not same_hash and (config_dump == 1 or 'CONFIGURATION_EMBEDDING' in defines):
|
||||
if not same_hash and (config_dump == 1 or 'CONFIGURATION_EMBEDDING' in build_defines):
|
||||
with marlin_json.open('w') as outfile:
|
||||
json.dump(data, outfile, separators=(',', ':'))
|
||||
|
||||
json_data = {}
|
||||
if extended_dump:
|
||||
print("Extended dump ...")
|
||||
for header in real_config:
|
||||
confs = real_config[header]
|
||||
json_data[header] = {}
|
||||
for name in confs:
|
||||
c = confs[name]
|
||||
s = c['section']
|
||||
if s not in json_data[header]: json_data[header][s] = {}
|
||||
json_data[header][s][name] = c['value']
|
||||
else:
|
||||
for header in real_config:
|
||||
conf = real_config[header]
|
||||
#print(f"real_config[{header}]", conf)
|
||||
for name in conf:
|
||||
json_data[name] = conf[name]['value']
|
||||
|
||||
json_data['__INITIAL_HASH'] = hashes
|
||||
|
||||
# Append the source code version and date
|
||||
json_data['VERSION'] = {
|
||||
'DETAILED_BUILD_VERSION': cleaned_build_defines['DETAILED_BUILD_VERSION'],
|
||||
'STRING_DISTRIBUTION_DATE': cleaned_build_defines['STRING_DISTRIBUTION_DATE']
|
||||
}
|
||||
try:
|
||||
curver = subprocess.check_output(["git", "describe", "--match=NeVeRmAtCh", "--always"]).strip()
|
||||
json_data['VERSION']['GIT_REF'] = curver.decode()
|
||||
except:
|
||||
pass
|
||||
|
||||
json.dump(json_data, outfile, separators=(',', ':'))
|
||||
|
||||
#
|
||||
# The rest only applies to CONFIGURATION_EMBEDDING
|
||||
#
|
||||
if not 'CONFIGURATION_EMBEDDING' in defines:
|
||||
if not 'CONFIGURATION_EMBEDDING' in build_defines:
|
||||
(build_path / 'mc.zip').unlink(missing_ok=True)
|
||||
return
|
||||
|
||||
# Compress the JSON file as much as we can
|
||||
|
@ -269,10 +412,8 @@ def compute_build_signature(env):
|
|||
for b in (build_path / 'mc.zip').open('rb').read():
|
||||
result_file.write(b' 0x%02X,' % b)
|
||||
count += 1
|
||||
if count % 16 == 0:
|
||||
result_file.write(b'\n ')
|
||||
if count % 16:
|
||||
result_file.write(b'\n')
|
||||
if count % 16 == 0: result_file.write(b'\n ')
|
||||
if count % 16: result_file.write(b'\n')
|
||||
result_file.write(b'};\n')
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
@ -27,118 +27,118 @@ extern "C" {
|
|||
* Pins
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
#define PA0 0 //D0
|
||||
#define PA1 1 //D1
|
||||
#define PA2 2 //D2
|
||||
#define PA3 3 //D3
|
||||
#define PA4 4 //D4
|
||||
#define PA5 5 //D5
|
||||
#define PA6 6 //D6
|
||||
#define PA7 7 //D7
|
||||
#define PA8 8 //D8
|
||||
#define PA9 9 //D9
|
||||
#define PA10 10 //D10
|
||||
#define PA11 11 //D11
|
||||
#define PA12 12 //D12
|
||||
#define PA13 13 //D13
|
||||
#define PA14 14 //D14
|
||||
#define PA15 15 //D15
|
||||
#define PB0 16 //D16
|
||||
#define PB1 17 //D17
|
||||
#define PB2 18 //D18
|
||||
#define PB3 19 //D19
|
||||
#define PB4 20 //D20
|
||||
#define PB5 21 //D21
|
||||
#define PB6 22 //D22
|
||||
#define PB7 23 //D23
|
||||
#define PB8 24 //D24
|
||||
#define PB9 25 //D25
|
||||
#define PB10 26 //D26
|
||||
#define PB11 27 //D27
|
||||
#define PB12 28 //D28
|
||||
#define PB13 29 //D29
|
||||
#define PB14 30 //D30
|
||||
#define PB15 31 //D31
|
||||
#define PC0 32 //D32
|
||||
#define PC1 33 //D33
|
||||
#define PC2 34 //D34
|
||||
#define PC3 35 //D35
|
||||
#define PC4 36 //D36
|
||||
#define PC5 37 //D37
|
||||
#define PC6 38 //D38
|
||||
#define PC7 39 //D39
|
||||
#define PC8 40 //D40
|
||||
#define PC9 41 //D41
|
||||
#define PC10 42 //D42
|
||||
#define PC11 43 //D43
|
||||
#define PC12 44 //D44
|
||||
#define PC13 45 //D45
|
||||
#define PC14 46 //D46
|
||||
#define PC15 47 //D47
|
||||
#define PD0 48 //D48
|
||||
#define PD1 49 //D49
|
||||
#define PD2 50 //D50
|
||||
#define PD3 51 //D51
|
||||
#define PD4 52 //D52
|
||||
#define PD5 53 //D53
|
||||
#define PD6 54 //D54
|
||||
#define PD7 55 //D55
|
||||
#define PD8 56 //D56
|
||||
#define PD9 57 //D57
|
||||
#define PD10 58 //D58
|
||||
#define PD11 59 //D59
|
||||
#define PD12 60 //D60
|
||||
#define PD13 61 //D61
|
||||
#define PD14 62 //D62
|
||||
#define PD15 63 //D63
|
||||
#define PE0 64 //D64
|
||||
#define PE1 65 //D65
|
||||
#define PE2 66 //D66
|
||||
#define PE3 67 //D67
|
||||
#define PE4 68 //D68
|
||||
#define PE5 69 //D69
|
||||
#define PE6 70 //D70
|
||||
#define PE7 71 //D71
|
||||
#define PE8 72 //D72
|
||||
#define PE9 73 //D73
|
||||
#define PE10 74 //D74
|
||||
#define PE11 75 //D75
|
||||
#define PE12 76 //D76
|
||||
#define PE13 77 //D77
|
||||
#define PE14 78 //D78
|
||||
#define PE15 79 //D79
|
||||
#define PF0 80 //D64
|
||||
#define PF1 81 //D65
|
||||
#define PF2 82 //D66
|
||||
#define PF3 83 //D67
|
||||
#define PF4 84 //D68
|
||||
#define PF5 85 //D69
|
||||
#define PF6 86 //D70
|
||||
#define PF7 87 //D71
|
||||
#define PF8 88 //D72
|
||||
#define PF9 89 //D73
|
||||
#define PF10 90 //D74
|
||||
#define PF11 91 //D75
|
||||
#define PF12 92 //D76
|
||||
#define PF13 93 //D77
|
||||
#define PF14 94 //D78
|
||||
#define PF15 95 //D79
|
||||
#define PG0 96 //D64
|
||||
#define PG1 97 //D65
|
||||
#define PG2 98 //D66
|
||||
#define PG3 99 //D67
|
||||
#define PG4 100 //D68
|
||||
#define PG5 101 //D69
|
||||
#define PG6 102 //D70
|
||||
#define PG7 103 //D71
|
||||
#define PG8 104 //D72
|
||||
#define PG9 105 //D73
|
||||
#define PG10 106 //D74
|
||||
#define PG11 107 //D75
|
||||
#define PG12 108 //D76
|
||||
#define PG13 109 //D77
|
||||
#define PG14 110 //D78
|
||||
#define PG15 111 //D79
|
||||
#define PA0 0
|
||||
#define PA1 1
|
||||
#define PA2 2
|
||||
#define PA3 3
|
||||
#define PA4 4
|
||||
#define PA5 5
|
||||
#define PA6 6
|
||||
#define PA7 7
|
||||
#define PA8 8
|
||||
#define PA9 9
|
||||
#define PA10 10
|
||||
#define PA11 11
|
||||
#define PA12 12
|
||||
#define PA13 13
|
||||
#define PA14 14
|
||||
#define PA15 15
|
||||
#define PB0 16
|
||||
#define PB1 17
|
||||
#define PB2 18
|
||||
#define PB3 19
|
||||
#define PB4 20
|
||||
#define PB5 21
|
||||
#define PB6 22
|
||||
#define PB7 23
|
||||
#define PB8 24
|
||||
#define PB9 25
|
||||
#define PB10 26
|
||||
#define PB11 27
|
||||
#define PB12 28
|
||||
#define PB13 29
|
||||
#define PB14 30
|
||||
#define PB15 31
|
||||
#define PC0 32
|
||||
#define PC1 33
|
||||
#define PC2 34
|
||||
#define PC3 35
|
||||
#define PC4 36
|
||||
#define PC5 37
|
||||
#define PC6 38
|
||||
#define PC7 39
|
||||
#define PC8 40
|
||||
#define PC9 41
|
||||
#define PC10 42
|
||||
#define PC11 43
|
||||
#define PC12 44
|
||||
#define PC13 45
|
||||
#define PC14 46
|
||||
#define PC15 47
|
||||
#define PD0 48
|
||||
#define PD1 49
|
||||
#define PD2 50
|
||||
#define PD3 51
|
||||
#define PD4 52
|
||||
#define PD5 53
|
||||
#define PD6 54
|
||||
#define PD7 55
|
||||
#define PD8 56
|
||||
#define PD9 57
|
||||
#define PD10 58
|
||||
#define PD11 59
|
||||
#define PD12 60
|
||||
#define PD13 61
|
||||
#define PD14 62
|
||||
#define PD15 63
|
||||
#define PE0 64
|
||||
#define PE1 65
|
||||
#define PE2 66
|
||||
#define PE3 67
|
||||
#define PE4 68
|
||||
#define PE5 69
|
||||
#define PE6 70
|
||||
#define PE7 71
|
||||
#define PE8 72
|
||||
#define PE9 73
|
||||
#define PE10 74
|
||||
#define PE11 75
|
||||
#define PE12 76
|
||||
#define PE13 77
|
||||
#define PE14 78
|
||||
#define PE15 79
|
||||
#define PF0 80
|
||||
#define PF1 81
|
||||
#define PF2 82
|
||||
#define PF3 83
|
||||
#define PF4 84
|
||||
#define PF5 85
|
||||
#define PF6 86
|
||||
#define PF7 87
|
||||
#define PF8 88
|
||||
#define PF9 89
|
||||
#define PF10 90
|
||||
#define PF11 91
|
||||
#define PF12 92
|
||||
#define PF13 93
|
||||
#define PF14 94
|
||||
#define PF15 95
|
||||
#define PG0 96
|
||||
#define PG1 97
|
||||
#define PG2 98
|
||||
#define PG3 99
|
||||
#define PG4 100
|
||||
#define PG5 101
|
||||
#define PG6 102
|
||||
#define PG7 103
|
||||
#define PG8 104
|
||||
#define PG9 105
|
||||
#define PG10 106
|
||||
#define PG11 107
|
||||
#define PG12 108
|
||||
#define PG13 109
|
||||
#define PG14 110
|
||||
#define PG15 111
|
||||
|
||||
// This must be a literal with the same value as PEND
|
||||
#define NUM_DIGITAL_PINS 112
|
||||
|
|
|
@ -27,118 +27,118 @@ extern "C" {
|
|||
* Pins
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
#define PA0 0 //D0
|
||||
#define PA1 1 //D1
|
||||
#define PA2 2 //D2
|
||||
#define PA3 3 //D3
|
||||
#define PA4 4 //D4
|
||||
#define PA5 5 //D5
|
||||
#define PA6 6 //D6
|
||||
#define PA7 7 //D7
|
||||
#define PA8 8 //D8
|
||||
#define PA9 9 //D9
|
||||
#define PA10 10 //D10
|
||||
#define PA11 11 //D11
|
||||
#define PA12 12 //D12
|
||||
#define PA13 13 //D13
|
||||
#define PA14 14 //D14
|
||||
#define PA15 15 //D15
|
||||
#define PB0 16 //D16
|
||||
#define PB1 17 //D17
|
||||
#define PB2 18 //D18
|
||||
#define PB3 19 //D19
|
||||
#define PB4 20 //D20
|
||||
#define PB5 21 //D21
|
||||
#define PB6 22 //D22
|
||||
#define PB7 23 //D23
|
||||
#define PB8 24 //D24
|
||||
#define PB9 25 //D25
|
||||
#define PB10 26 //D26
|
||||
#define PB11 27 //D27
|
||||
#define PB12 28 //D28
|
||||
#define PB13 29 //D29
|
||||
#define PB14 30 //D30
|
||||
#define PB15 31 //D31
|
||||
#define PC0 32 //D32
|
||||
#define PC1 33 //D33
|
||||
#define PC2 34 //D34
|
||||
#define PC3 35 //D35
|
||||
#define PC4 36 //D36
|
||||
#define PC5 37 //D37
|
||||
#define PC6 38 //D38
|
||||
#define PC7 39 //D39
|
||||
#define PC8 40 //D40
|
||||
#define PC9 41 //D41
|
||||
#define PC10 42 //D42
|
||||
#define PC11 43 //D43
|
||||
#define PC12 44 //D44
|
||||
#define PC13 45 //D45
|
||||
#define PC14 46 //D46
|
||||
#define PC15 47 //D47
|
||||
#define PD0 48 //D48
|
||||
#define PD1 49 //D49
|
||||
#define PD2 50 //D50
|
||||
#define PD3 51 //D51
|
||||
#define PD4 52 //D52
|
||||
#define PD5 53 //D53
|
||||
#define PD6 54 //D54
|
||||
#define PD7 55 //D55
|
||||
#define PD8 56 //D56
|
||||
#define PD9 57 //D57
|
||||
#define PD10 58 //D58
|
||||
#define PD11 59 //D59
|
||||
#define PD12 60 //D60
|
||||
#define PD13 61 //D61
|
||||
#define PD14 62 //D62
|
||||
#define PD15 63 //D63
|
||||
#define PE0 64 //D64
|
||||
#define PE1 65 //D65
|
||||
#define PE2 66 //D66
|
||||
#define PE3 67 //D67
|
||||
#define PE4 68 //D68
|
||||
#define PE5 69 //D69
|
||||
#define PE6 70 //D70
|
||||
#define PE7 71 //D71
|
||||
#define PE8 72 //D72
|
||||
#define PE9 73 //D73
|
||||
#define PE10 74 //D74
|
||||
#define PE11 75 //D75
|
||||
#define PE12 76 //D76
|
||||
#define PE13 77 //D77
|
||||
#define PE14 78 //D78
|
||||
#define PE15 79 //D79
|
||||
#define PF0 80 //D64
|
||||
#define PF1 81 //D65
|
||||
#define PF2 82 //D66
|
||||
#define PF3 83 //D67
|
||||
#define PF4 84 //D68
|
||||
#define PF5 85 //D69
|
||||
#define PF6 86 //D70
|
||||
#define PF7 87 //D71
|
||||
#define PF8 88 //D72
|
||||
#define PF9 89 //D73
|
||||
#define PF10 90 //D74
|
||||
#define PF11 91 //D75
|
||||
#define PF12 92 //D76
|
||||
#define PF13 93 //D77
|
||||
#define PF14 94 //D78
|
||||
#define PF15 95 //D79
|
||||
#define PG0 96 //D64
|
||||
#define PG1 97 //D65
|
||||
#define PG2 98 //D66
|
||||
#define PG3 99 //D67
|
||||
#define PG4 100 //D68
|
||||
#define PG5 101 //D69
|
||||
#define PG6 102 //D70
|
||||
#define PG7 103 //D71
|
||||
#define PG8 104 //D72
|
||||
#define PG9 105 //D73
|
||||
#define PG10 106 //D74
|
||||
#define PG11 107 //D75
|
||||
#define PG12 108 //D76
|
||||
#define PG13 109 //D77
|
||||
#define PG14 110 //D78
|
||||
#define PG15 111 //D79
|
||||
#define PA0 0
|
||||
#define PA1 1
|
||||
#define PA2 2
|
||||
#define PA3 3
|
||||
#define PA4 4
|
||||
#define PA5 5
|
||||
#define PA6 6
|
||||
#define PA7 7
|
||||
#define PA8 8
|
||||
#define PA9 9
|
||||
#define PA10 10
|
||||
#define PA11 11
|
||||
#define PA12 12
|
||||
#define PA13 13
|
||||
#define PA14 14
|
||||
#define PA15 15
|
||||
#define PB0 16
|
||||
#define PB1 17
|
||||
#define PB2 18
|
||||
#define PB3 19
|
||||
#define PB4 20
|
||||
#define PB5 21
|
||||
#define PB6 22
|
||||
#define PB7 23
|
||||
#define PB8 24
|
||||
#define PB9 25
|
||||
#define PB10 26
|
||||
#define PB11 27
|
||||
#define PB12 28
|
||||
#define PB13 29
|
||||
#define PB14 30
|
||||
#define PB15 31
|
||||
#define PC0 32
|
||||
#define PC1 33
|
||||
#define PC2 34
|
||||
#define PC3 35
|
||||
#define PC4 36
|
||||
#define PC5 37
|
||||
#define PC6 38
|
||||
#define PC7 39
|
||||
#define PC8 40
|
||||
#define PC9 41
|
||||
#define PC10 42
|
||||
#define PC11 43
|
||||
#define PC12 44
|
||||
#define PC13 45
|
||||
#define PC14 46
|
||||
#define PC15 47
|
||||
#define PD0 48
|
||||
#define PD1 49
|
||||
#define PD2 50
|
||||
#define PD3 51
|
||||
#define PD4 52
|
||||
#define PD5 53
|
||||
#define PD6 54
|
||||
#define PD7 55
|
||||
#define PD8 56
|
||||
#define PD9 57
|
||||
#define PD10 58
|
||||
#define PD11 59
|
||||
#define PD12 60
|
||||
#define PD13 61
|
||||
#define PD14 62
|
||||
#define PD15 63
|
||||
#define PE0 64
|
||||
#define PE1 65
|
||||
#define PE2 66
|
||||
#define PE3 67
|
||||
#define PE4 68
|
||||
#define PE5 69
|
||||
#define PE6 70
|
||||
#define PE7 71
|
||||
#define PE8 72
|
||||
#define PE9 73
|
||||
#define PE10 74
|
||||
#define PE11 75
|
||||
#define PE12 76
|
||||
#define PE13 77
|
||||
#define PE14 78
|
||||
#define PE15 79
|
||||
#define PF0 80
|
||||
#define PF1 81
|
||||
#define PF2 82
|
||||
#define PF3 83
|
||||
#define PF4 84
|
||||
#define PF5 85
|
||||
#define PF6 86
|
||||
#define PF7 87
|
||||
#define PF8 88
|
||||
#define PF9 89
|
||||
#define PF10 90
|
||||
#define PF11 91
|
||||
#define PF12 92
|
||||
#define PF13 93
|
||||
#define PF14 94
|
||||
#define PF15 95
|
||||
#define PG0 96
|
||||
#define PG1 97
|
||||
#define PG2 98
|
||||
#define PG3 99
|
||||
#define PG4 100
|
||||
#define PG5 101
|
||||
#define PG6 102
|
||||
#define PG7 103
|
||||
#define PG8 104
|
||||
#define PG9 105
|
||||
#define PG10 106
|
||||
#define PG11 107
|
||||
#define PG12 108
|
||||
#define PG13 109
|
||||
#define PG14 110
|
||||
#define PG15 111
|
||||
|
||||
// This must be a literal with the same value as PEND
|
||||
#define NUM_DIGITAL_PINS 112
|
||||
|
|
|
@ -23,9 +23,8 @@
|
|||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
// | DIGITAL | ANALOG | USART | TWI | SPI | SPECIAL |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// | DIGITAL | ANALOG | USART | TWI | SPI | SPECIAL |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PA0 0 // | 0 | A0 | | | | |
|
||||
#define PA1 1 // | 1 | A1 | | | | |
|
||||
#define PA2 2 // | 2 | A2 | USART2_TX | | | |
|
||||
|
@ -42,7 +41,7 @@ extern "C" {
|
|||
#define PA13 13 // | 13 | | | | | SWD_SWDIO |
|
||||
#define PA14 14 // | 14 | | | | | SWD_SWCLK |
|
||||
#define PA15 15 // | 15 | | | | SPI3_SS, (SPI1_SS) | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PB0 16 // | 16 | A8 | | | | |
|
||||
#define PB1 17 // | 17 | A9 | | | | |
|
||||
#define PB2 18 // | 18 | | | | | BOOT1 |
|
||||
|
@ -58,7 +57,7 @@ extern "C" {
|
|||
#define PB13 28 // | 28 | | | | SPI2_SCK | |
|
||||
#define PB14 29 // | 29 | | | | SPI2_MISO | |
|
||||
#define PB15 30 // | 30 | | | | SPI2_MOSI | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PC0 31 // | 31 | A10 | | | | |
|
||||
#define PC1 32 // | 32 | A11 | | | | |
|
||||
#define PC2 33 // | 33 | A12 | | | SPI2_MISO | |
|
||||
|
@ -75,12 +74,12 @@ extern "C" {
|
|||
#define PC13 44 // | 44 | | | | | |
|
||||
#define PC14 45 // | 45 | | | | | OSC32_IN |
|
||||
#define PC15 46 // | 46 | | | | | OSC32_OUT |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PD2 47 // | 47 | | | | | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PH0 48 // | 48 | | | | | OSC_IN |
|
||||
#define PH1 49 // | 49 | | | | | OSC_OUT |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
|
||||
// This must be a literal
|
||||
#define NUM_DIGITAL_PINS 50
|
||||
|
|
|
@ -0,0 +1,252 @@
|
|||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (c) 2019, STMicroelectronics
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************
|
||||
* Automatically generated from STM32F401R[(B-C)|(D-E)]Tx.xml
|
||||
*/
|
||||
#include "Arduino.h"
|
||||
#include "PeripheralPins.h"
|
||||
|
||||
/* =====
|
||||
* Note: Commented lines are alternative possibilities which are not used per default.
|
||||
* If you change them, you will have to know what you do
|
||||
* =====
|
||||
*/
|
||||
|
||||
//*** ADC ***
|
||||
|
||||
#ifdef HAL_ADC_MODULE_ENABLED
|
||||
WEAK const PinMap PinMap_ADC[] = {
|
||||
{PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0
|
||||
{PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1
|
||||
{PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2
|
||||
{PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3
|
||||
{PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4
|
||||
{PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5
|
||||
{PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6
|
||||
{PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7
|
||||
{PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8
|
||||
{PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9
|
||||
{PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10
|
||||
{PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11
|
||||
{PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12
|
||||
{PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13
|
||||
{PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14
|
||||
{PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15
|
||||
{NC, NP, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
//*** No DAC ***
|
||||
|
||||
//*** I2C ***
|
||||
|
||||
#ifdef HAL_I2C_MODULE_ENABLED
|
||||
WEAK const PinMap PinMap_I2C_SDA[] = {
|
||||
{PB_3, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF9_I2C2)},
|
||||
{PB_4, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF9_I2C3)},
|
||||
{PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
|
||||
{PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
|
||||
{PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
|
||||
WEAK const PinMap PinMap_I2C_SCL[] = {
|
||||
{PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
|
||||
{PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
|
||||
{PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
|
||||
{PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
//*** PWM ***
|
||||
|
||||
#ifdef HAL_TIM_MODULE_ENABLED
|
||||
WEAK const PinMap PinMap_PWM[] = {
|
||||
//{PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
|
||||
{PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1
|
||||
//{PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2
|
||||
{PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2
|
||||
//{PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3
|
||||
{PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3
|
||||
//{PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1
|
||||
//{PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4
|
||||
{PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4
|
||||
//{PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2
|
||||
{PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
|
||||
{PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
|
||||
//{PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
|
||||
{PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
|
||||
{PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1
|
||||
{PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
|
||||
{PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3
|
||||
{PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4
|
||||
{PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
|
||||
//{PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
|
||||
{PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3
|
||||
//{PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
|
||||
{PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
|
||||
{PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2
|
||||
{PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
|
||||
{PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
|
||||
{PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1
|
||||
{PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2
|
||||
{PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3
|
||||
//{PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1
|
||||
{PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4
|
||||
//{PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1
|
||||
{PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3
|
||||
{PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
|
||||
{PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
|
||||
{PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
|
||||
{PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
|
||||
{PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
|
||||
{PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3
|
||||
{PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
|
||||
{NC, NP, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
//*** SERIAL ***
|
||||
|
||||
#ifdef HAL_UART_MODULE_ENABLED
|
||||
WEAK const PinMap PinMap_UART_TX[] = {
|
||||
{PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
|
||||
{PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
|
||||
{PA_11, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
|
||||
{PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
|
||||
{PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
|
||||
WEAK const PinMap PinMap_UART_RX[] = {
|
||||
{PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
|
||||
{PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
|
||||
{PA_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
|
||||
{PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
|
||||
{PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
|
||||
WEAK const PinMap PinMap_UART_RTS[] = {
|
||||
{PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
|
||||
{PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
|
||||
WEAK const PinMap PinMap_UART_CTS[] = {
|
||||
{PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
|
||||
{PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
//*** SPI ***
|
||||
|
||||
#ifdef HAL_SPI_MODULE_ENABLED
|
||||
WEAK const PinMap PinMap_SPI_MOSI[] = {
|
||||
{PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
|
||||
//{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
|
||||
{PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
|
||||
{PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
|
||||
{PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
|
||||
{PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
|
||||
WEAK const PinMap PinMap_SPI_MISO[] = {
|
||||
{PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
|
||||
//{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
|
||||
{PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
|
||||
{PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
|
||||
{PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
|
||||
{PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
|
||||
WEAK const PinMap PinMap_SPI_SCLK[] = {
|
||||
{PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
|
||||
//{PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
|
||||
{PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
|
||||
{PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
|
||||
{PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
|
||||
{PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
|
||||
WEAK const PinMap PinMap_SPI_SSEL[] = {
|
||||
{PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
|
||||
//{PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
|
||||
//{PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
|
||||
{PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
|
||||
{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
|
||||
{PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
|
||||
{NC, NP, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
//*** No CAN ***
|
||||
|
||||
//*** No ETHERNET ***
|
||||
|
||||
//*** No QUADSPI ***
|
||||
|
||||
//*** USB ***
|
||||
|
||||
#ifdef HAL_PCD_MODULE_ENABLED
|
||||
WEAK const PinMap PinMap_USB_OTG_FS[] = {
|
||||
#ifndef ARDUINO_CoreBoard_F401RC
|
||||
{PA_8, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_SOF
|
||||
{PA_9, USB_OTG_FS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_FS_VBUS
|
||||
{PA_10, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_ID
|
||||
#endif
|
||||
{PA_11, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_DM
|
||||
{PA_12, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_DP
|
||||
{NC, NP, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
//*** No USB_OTG_HS ***
|
||||
|
||||
//*** SD ***
|
||||
|
||||
#ifdef HAL_SD_MODULE_ENABLED
|
||||
WEAK const PinMap PinMap_SD[] = {
|
||||
{PB_8, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO)}, // SDIO_D4
|
||||
{PB_9, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO)}, // SDIO_D5
|
||||
{PC_6, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO)}, // SDIO_D6
|
||||
{PC_7, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO)}, // SDIO_D7
|
||||
{PC_8, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO)}, // SDIO_D0
|
||||
{PC_9, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO)}, // SDIO_D1
|
||||
{PC_10, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO)}, // SDIO_D2
|
||||
{PC_11, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO)}, // SDIO_D3
|
||||
{PC_12, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF12_SDIO)}, // SDIO_CK
|
||||
{PD_2, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF12_SDIO)}, // SDIO_CMD
|
||||
{NC, NP, 0}
|
||||
};
|
||||
#endif
|
|
@ -0,0 +1,33 @@
|
|||
/* SYS_WKUP */
|
||||
#ifdef PWR_WAKEUP_PIN1
|
||||
SYS_WKUP1 = PA_0,
|
||||
#endif
|
||||
#ifdef PWR_WAKEUP_PIN2
|
||||
SYS_WKUP2 = NC,
|
||||
#endif
|
||||
#ifdef PWR_WAKEUP_PIN3
|
||||
SYS_WKUP3 = NC,
|
||||
#endif
|
||||
#ifdef PWR_WAKEUP_PIN4
|
||||
SYS_WKUP4 = NC,
|
||||
#endif
|
||||
#ifdef PWR_WAKEUP_PIN5
|
||||
SYS_WKUP5 = NC,
|
||||
#endif
|
||||
#ifdef PWR_WAKEUP_PIN6
|
||||
SYS_WKUP6 = NC,
|
||||
#endif
|
||||
#ifdef PWR_WAKEUP_PIN7
|
||||
SYS_WKUP7 = NC,
|
||||
#endif
|
||||
#ifdef PWR_WAKEUP_PIN8
|
||||
SYS_WKUP8 = NC,
|
||||
#endif
|
||||
/* USB */
|
||||
#ifdef USBCON
|
||||
USB_OTG_FS_SOF = PA_8,
|
||||
USB_OTG_FS_VBUS = PA_9,
|
||||
USB_OTG_FS_ID = PA_10,
|
||||
USB_OTG_FS_DM = PA_11,
|
||||
USB_OTG_FS_DP = PA_12,
|
||||
#endif
|
|
@ -0,0 +1,495 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file stm32f4xx_hal_conf.h
|
||||
* @brief HAL configuration file.
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© Copyright (c) 2017 STMicroelectronics.
|
||||
* All rights reserved.</center></h2>
|
||||
*
|
||||
* This software component is licensed by ST under BSD 3-Clause license,
|
||||
* the "License"; You may not use this file except in compliance with the
|
||||
* License. You may obtain a copy of the License at:
|
||||
* opensource.org/licenses/BSD-3-Clause
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __STM32F4xx_HAL_CONF_CUSTOM
|
||||
#define __STM32F4xx_HAL_CONF_CUSTOM
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
||||
/* ########################## Module Selection ############################## */
|
||||
/**
|
||||
* @brief This is the list of modules to be used in the HAL driver
|
||||
*/
|
||||
#define HAL_MODULE_ENABLED
|
||||
#define HAL_ADC_MODULE_ENABLED
|
||||
#define HAL_CRC_MODULE_ENABLED
|
||||
#define HAL_DMA_MODULE_ENABLED
|
||||
#define HAL_FLASH_MODULE_ENABLED
|
||||
#define HAL_GPIO_MODULE_ENABLED
|
||||
#define HAL_I2C_MODULE_ENABLED
|
||||
#define HAL_IWDG_MODULE_ENABLED
|
||||
#define HAL_PWR_MODULE_ENABLED
|
||||
#define HAL_RCC_MODULE_ENABLED
|
||||
#define HAL_RTC_MODULE_ENABLED
|
||||
#define HAL_SPI_MODULE_ENABLED
|
||||
#define HAL_TIM_MODULE_ENABLED
|
||||
#define HAL_CORTEX_MODULE_ENABLED
|
||||
//#define HAL_PCD_MODULE_ENABLED // Automatically added if any type of USB is enabled, as in Arduino IDE. (STM32 v3.10700.191028)
|
||||
|
||||
//#define HAL_CAN_MODULE_ENABLED
|
||||
//#define HAL_CAN_LEGACY_MODULE_ENABLED
|
||||
//#define HAL_CEC_MODULE_ENABLED
|
||||
//#define HAL_CRYP_MODULE_ENABLED
|
||||
//#define HAL_DAC_MODULE_ENABLED
|
||||
//#define HAL_DCMI_MODULE_ENABLED
|
||||
//#define HAL_DMA2D_MODULE_ENABLED
|
||||
//#define HAL_ETH_MODULE_ENABLED
|
||||
//#define HAL_NAND_MODULE_ENABLED
|
||||
//#define HAL_NOR_MODULE_ENABLED
|
||||
//#define HAL_PCCARD_MODULE_ENABLED
|
||||
//#define HAL_SRAM_MODULE_ENABLED
|
||||
//#define HAL_SDRAM_MODULE_ENABLED
|
||||
//#define HAL_HASH_MODULE_ENABLED
|
||||
//#define HAL_EXTI_MODULE_ENABLED
|
||||
//#define HAL_SMBUS_MODULE_ENABLED
|
||||
//#define HAL_I2S_MODULE_ENABLED
|
||||
//#define HAL_LTDC_MODULE_ENABLED
|
||||
//#define HAL_DSI_MODULE_ENABLED
|
||||
//#define HAL_QSPI_MODULE_ENABLED
|
||||
//#define HAL_RNG_MODULE_ENABLED
|
||||
//#define HAL_SAI_MODULE_ENABLED
|
||||
#define HAL_SD_MODULE_ENABLED
|
||||
//#define HAL_UART_MODULE_ENABLED
|
||||
//#define HAL_USART_MODULE_ENABLED
|
||||
//#define HAL_IRDA_MODULE_ENABLED
|
||||
//#define HAL_SMARTCARD_MODULE_ENABLED
|
||||
//#define HAL_WWDG_MODULE_ENABLED
|
||||
//#define HAL_HCD_MODULE_ENABLED
|
||||
//#define HAL_FMPI2C_MODULE_ENABLED
|
||||
//#define HAL_SPDIFRX_MODULE_ENABLED
|
||||
//#define HAL_DFSDM_MODULE_ENABLED
|
||||
//#define HAL_LPTIM_MODULE_ENABLED
|
||||
//#define HAL_MMC_MODULE_ENABLED
|
||||
|
||||
/* ########################## HSE/HSI Values adaptation ##################### */
|
||||
/**
|
||||
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
|
||||
* This value is used by the RCC HAL module to compute the system frequency
|
||||
* (when HSE is used as system clock source, directly or through the PLL).
|
||||
*/
|
||||
#ifndef HSE_VALUE
|
||||
#define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */
|
||||
#endif /* HSE_VALUE */
|
||||
|
||||
#ifndef HSE_STARTUP_TIMEOUT
|
||||
#define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */
|
||||
#endif /* HSE_STARTUP_TIMEOUT */
|
||||
|
||||
/**
|
||||
* @brief Internal High Speed oscillator (HSI) value.
|
||||
* This value is used by the RCC HAL module to compute the system frequency
|
||||
* (when HSI is used as system clock source, directly or through the PLL).
|
||||
*/
|
||||
#ifndef HSI_VALUE
|
||||
#define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz */
|
||||
#endif /* HSI_VALUE */
|
||||
|
||||
/**
|
||||
* @brief Internal Low Speed oscillator (LSI) value.
|
||||
*/
|
||||
#ifndef LSI_VALUE
|
||||
#define LSI_VALUE 32000U /*!< LSI Typical Value in Hz */
|
||||
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
|
||||
The real value may vary depending on the variations
|
||||
in voltage and temperature. */
|
||||
/**
|
||||
* @brief External Low Speed oscillator (LSE) value.
|
||||
*/
|
||||
#ifndef LSE_VALUE
|
||||
#define LSE_VALUE 32768U /*!< Value of the External Low Speed oscillator in Hz */
|
||||
#endif /* LSE_VALUE */
|
||||
|
||||
#ifndef LSE_STARTUP_TIMEOUT
|
||||
#define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */
|
||||
#endif /* LSE_STARTUP_TIMEOUT */
|
||||
|
||||
/**
|
||||
* @brief External clock source for I2S peripheral
|
||||
* This value is used by the I2S HAL module to compute the I2S clock source
|
||||
* frequency, this source is inserted directly through I2S_CKIN pad.
|
||||
*/
|
||||
#ifndef EXTERNAL_CLOCK_VALUE
|
||||
#define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the External oscillator in Hz*/
|
||||
#endif /* EXTERNAL_CLOCK_VALUE */
|
||||
|
||||
/* Tip: To avoid modifying this file each time you need to use different HSE,
|
||||
=== you can define the HSE value in your toolchain compiler preprocessor. */
|
||||
|
||||
/* ########################### System Configuration ######################### */
|
||||
/**
|
||||
* @brief This is the HAL system configuration section
|
||||
*/
|
||||
#if !defined (VDD_VALUE)
|
||||
#define VDD_VALUE 3300U /*!< Value of VDD in mv */
|
||||
#endif
|
||||
#if !defined (TICK_INT_PRIORITY)
|
||||
#define TICK_INT_PRIORITY 0x00U /*!< tick interrupt priority */
|
||||
#endif
|
||||
#if !defined (USE_RTOS)
|
||||
#define USE_RTOS 0U
|
||||
#endif
|
||||
#if !defined (PREFETCH_ENABLE)
|
||||
#define PREFETCH_ENABLE 1U
|
||||
#endif
|
||||
#if !defined (INSTRUCTION_CACHE_ENABLE)
|
||||
#define INSTRUCTION_CACHE_ENABLE 1U
|
||||
#endif
|
||||
#if !defined (DATA_CACHE_ENABLE)
|
||||
#define DATA_CACHE_ENABLE 1U
|
||||
#endif
|
||||
|
||||
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
|
||||
#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */
|
||||
#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
|
||||
#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */
|
||||
#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
|
||||
#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */
|
||||
#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */
|
||||
#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */
|
||||
#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */
|
||||
#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
|
||||
#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */
|
||||
#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */
|
||||
#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
|
||||
#define USE_HAL_FMPI2C_REGISTER_CALLBACKS 0U /* FMPI2C register callback disabled */
|
||||
#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
|
||||
#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
|
||||
#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */
|
||||
#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */
|
||||
#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */
|
||||
#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */
|
||||
#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */
|
||||
#define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */
|
||||
#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */
|
||||
#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */
|
||||
#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */
|
||||
#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
|
||||
#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */
|
||||
#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */
|
||||
#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
|
||||
#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */
|
||||
#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
|
||||
#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
|
||||
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
|
||||
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
|
||||
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
|
||||
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
|
||||
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
|
||||
#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
|
||||
|
||||
/* ########################## Assert Selection ############################## */
|
||||
/**
|
||||
* @brief Uncomment the line below to expanse the "assert_param" macro in the
|
||||
* HAL drivers code
|
||||
*/
|
||||
/* #define USE_FULL_ASSERT 1U */
|
||||
|
||||
/* ################## Ethernet peripheral configuration ##################### */
|
||||
|
||||
/* Section 1 : Ethernet peripheral configuration */
|
||||
|
||||
/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */
|
||||
#define MAC_ADDR0 2U
|
||||
#define MAC_ADDR1 0U
|
||||
#define MAC_ADDR2 0U
|
||||
#define MAC_ADDR3 0U
|
||||
#define MAC_ADDR4 0U
|
||||
#define MAC_ADDR5 0U
|
||||
|
||||
/* Definition of the Ethernet driver buffers size and count */
|
||||
#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */
|
||||
#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */
|
||||
#define ETH_RXBUFNB ((uint32_t)4U) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */
|
||||
#define ETH_TXBUFNB ((uint32_t)4U) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */
|
||||
|
||||
/* Section 2: PHY configuration section */
|
||||
|
||||
/* DP83848_PHY_ADDRESS Address*/
|
||||
#define DP83848_PHY_ADDRESS 0x01U
|
||||
/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/
|
||||
#define PHY_RESET_DELAY 0x000000FFU
|
||||
/* PHY Configuration delay */
|
||||
#define PHY_CONFIG_DELAY 0x00000FFFU
|
||||
|
||||
#define PHY_READ_TO 0x0000FFFFU
|
||||
#define PHY_WRITE_TO 0x0000FFFFU
|
||||
|
||||
/* Section 3: Common PHY Registers */
|
||||
|
||||
#define PHY_BCR ((uint16_t)0x0000) /*!< Transceiver Basic Control Register */
|
||||
#define PHY_BSR ((uint16_t)0x0001) /*!< Transceiver Basic Status Register */
|
||||
|
||||
#define PHY_RESET ((uint16_t)0x8000) /*!< PHY Reset */
|
||||
#define PHY_LOOPBACK ((uint16_t)0x4000) /*!< Select loop-back mode */
|
||||
#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100) /*!< Set the full-duplex mode at 100 Mb/s */
|
||||
#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000) /*!< Set the half-duplex mode at 100 Mb/s */
|
||||
#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100) /*!< Set the full-duplex mode at 10 Mb/s */
|
||||
#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000) /*!< Set the half-duplex mode at 10 Mb/s */
|
||||
#define PHY_AUTONEGOTIATION ((uint16_t)0x1000) /*!< Enable auto-negotiation function */
|
||||
#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200) /*!< Restart auto-negotiation function */
|
||||
#define PHY_POWERDOWN ((uint16_t)0x0800) /*!< Select the power down mode */
|
||||
#define PHY_ISOLATE ((uint16_t)0x0400) /*!< Isolate PHY from MII */
|
||||
|
||||
#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020) /*!< Auto-Negotiation process completed */
|
||||
#define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */
|
||||
#define PHY_JABBER_DETECTION ((uint16_t)0x0002) /*!< Jabber condition detected */
|
||||
|
||||
/* Section 4: Extended PHY Registers */
|
||||
#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */
|
||||
|
||||
#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */
|
||||
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */
|
||||
|
||||
/* ################## SPI peripheral configuration ########################## */
|
||||
|
||||
/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
|
||||
* Activated: CRC code is present inside driver
|
||||
* Deactivated: CRC code cleaned from driver
|
||||
*/
|
||||
#ifndef USE_SPI_CRC
|
||||
#define USE_SPI_CRC 0U
|
||||
#endif
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Include module's header file
|
||||
*/
|
||||
|
||||
#ifdef HAL_RCC_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_rcc.h"
|
||||
#endif /* HAL_RCC_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_GPIO_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_gpio.h"
|
||||
#endif /* HAL_GPIO_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_EXTI_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_exti.h"
|
||||
#endif /* HAL_EXTI_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_DMA_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_dma.h"
|
||||
#endif /* HAL_DMA_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_CORTEX_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_cortex.h"
|
||||
#endif /* HAL_CORTEX_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_ADC_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_adc.h"
|
||||
#endif /* HAL_ADC_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_CAN_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_can.h"
|
||||
#endif /* HAL_CAN_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_CAN_LEGACY_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_can_legacy.h"
|
||||
#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_CRC_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_crc.h"
|
||||
#endif /* HAL_CRC_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_CRYP_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_cryp.h"
|
||||
#endif /* HAL_CRYP_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_DMA2D_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_dma2d.h"
|
||||
#endif /* HAL_DMA2D_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_DAC_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_dac.h"
|
||||
#endif /* HAL_DAC_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_DCMI_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_dcmi.h"
|
||||
#endif /* HAL_DCMI_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_ETH_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_eth.h"
|
||||
#endif /* HAL_ETH_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_FLASH_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_flash.h"
|
||||
#endif /* HAL_FLASH_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_SRAM_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_sram.h"
|
||||
#endif /* HAL_SRAM_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_NOR_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_nor.h"
|
||||
#endif /* HAL_NOR_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_NAND_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_nand.h"
|
||||
#endif /* HAL_NAND_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_PCCARD_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_pccard.h"
|
||||
#endif /* HAL_PCCARD_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_SDRAM_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_sdram.h"
|
||||
#endif /* HAL_SDRAM_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_HASH_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_hash.h"
|
||||
#endif /* HAL_HASH_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_I2C_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_i2c.h"
|
||||
#endif /* HAL_I2C_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_SMBUS_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_smbus.h"
|
||||
#endif /* HAL_SMBUS_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_I2S_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_i2s.h"
|
||||
#endif /* HAL_I2S_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_IWDG_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_iwdg.h"
|
||||
#endif /* HAL_IWDG_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_LTDC_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_ltdc.h"
|
||||
#endif /* HAL_LTDC_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_PWR_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_pwr.h"
|
||||
#endif /* HAL_PWR_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_RNG_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_rng.h"
|
||||
#endif /* HAL_RNG_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_RTC_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_rtc.h"
|
||||
#endif /* HAL_RTC_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_SAI_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_sai.h"
|
||||
#endif /* HAL_SAI_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_SD_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_sd.h"
|
||||
#endif /* HAL_SD_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_SPI_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_spi.h"
|
||||
#endif /* HAL_SPI_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_TIM_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_tim.h"
|
||||
#endif /* HAL_TIM_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_UART_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_uart.h"
|
||||
#endif /* HAL_UART_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_USART_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_usart.h"
|
||||
#endif /* HAL_USART_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_IRDA_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_irda.h"
|
||||
#endif /* HAL_IRDA_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_SMARTCARD_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_smartcard.h"
|
||||
#endif /* HAL_SMARTCARD_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_WWDG_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_wwdg.h"
|
||||
#endif /* HAL_WWDG_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_PCD_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_pcd.h"
|
||||
#endif /* HAL_PCD_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_HCD_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_hcd.h"
|
||||
#endif /* HAL_HCD_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_DSI_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_dsi.h"
|
||||
#endif /* HAL_DSI_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_QSPI_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_qspi.h"
|
||||
#endif /* HAL_QSPI_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_CEC_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_cec.h"
|
||||
#endif /* HAL_CEC_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_FMPI2C_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_fmpi2c.h"
|
||||
#endif /* HAL_FMPI2C_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_SPDIFRX_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_spdifrx.h"
|
||||
#endif /* HAL_SPDIFRX_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_DFSDM_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_dfsdm.h"
|
||||
#endif /* HAL_DFSDM_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_LPTIM_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_lptim.h"
|
||||
#endif /* HAL_LPTIM_MODULE_ENABLED */
|
||||
|
||||
#ifdef HAL_MMC_MODULE_ENABLED
|
||||
#include "stm32f4xx_hal_mmc.h"
|
||||
#endif /* HAL_MMC_MODULE_ENABLED */
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
#ifdef USE_FULL_ASSERT
|
||||
/**
|
||||
* @brief The assert_param macro is used for function's parameters check.
|
||||
* @param expr If expr is false, it calls assert_failed function
|
||||
* which reports the name of the source file and the source
|
||||
* line number of the call that failed.
|
||||
* If expr is true, it returns no value.
|
||||
* @retval None
|
||||
*/
|
||||
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
void assert_failed(uint8_t *file, uint32_t line);
|
||||
#else
|
||||
#define assert_param(expr) ((void)0U)
|
||||
#endif /* USE_FULL_ASSERT */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __STM32F4xx_HAL_CONF_CUSTOM_H */
|
||||
|
||||
|
||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
|
@ -0,0 +1,186 @@
|
|||
/*
|
||||
*****************************************************************************
|
||||
**
|
||||
** File : ldscript.ld
|
||||
**
|
||||
** Abstract : Linker script for STM32F401RETx Device with
|
||||
** 512KByte FLASH, 96KByte RAM
|
||||
**
|
||||
** Set heap size, stack size and stack location according
|
||||
** to application requirements.
|
||||
**
|
||||
** Set memory bank area and size if external memory is used.
|
||||
**
|
||||
** Target : STMicroelectronics STM32
|
||||
**
|
||||
**
|
||||
** Distribution: The file is distributed as is, without any warranty
|
||||
** of any kind.
|
||||
**
|
||||
*****************************************************************************
|
||||
** @attention
|
||||
**
|
||||
** <h2><center>© COPYRIGHT(c) 2014 Ac6</center></h2>
|
||||
**
|
||||
** Redistribution and use in source and binary forms, with or without modification,
|
||||
** are permitted provided that the following conditions are met:
|
||||
** 1. Redistributions of source code must retain the above copyright notice,
|
||||
** this list of conditions and the following disclaimer.
|
||||
** 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
** this list of conditions and the following disclaimer in the documentation
|
||||
** and/or other materials provided with the distribution.
|
||||
** 3. Neither the name of Ac6 nor the names of its contributors
|
||||
** may be used to endorse or promote products derived from this software
|
||||
** without specific prior written permission.
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
**
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
/* Entry Point */
|
||||
ENTRY(Reset_Handler)
|
||||
|
||||
/* Highest address of the user mode stack */
|
||||
_estack = 0x20010000; /* end of RAM */
|
||||
|
||||
/* Generate a link error if heap and stack don't fit into RAM */
|
||||
_Min_Heap_Size = 0x200; /* required amount of heap */
|
||||
_Min_Stack_Size = 0x400; /* required amount of stack */
|
||||
|
||||
/* Specify the memory areas */
|
||||
MEMORY
|
||||
{
|
||||
FLASH (rx) : ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||
}
|
||||
|
||||
/* Define output sections */
|
||||
SECTIONS
|
||||
{
|
||||
/* The startup code goes first into FLASH */
|
||||
.isr_vector :
|
||||
{
|
||||
. = ALIGN(4);
|
||||
KEEP(*(.isr_vector)) /* Startup code */
|
||||
. = ALIGN(4);
|
||||
} >FLASH
|
||||
|
||||
/* The program code and other data goes into FLASH */
|
||||
.text ALIGN(4):
|
||||
{
|
||||
. = ALIGN(4);
|
||||
*(.text) /* .text sections (code) */
|
||||
*(.text*) /* .text* sections (code) */
|
||||
*(.glue_7) /* glue arm to thumb code */
|
||||
*(.glue_7t) /* glue thumb to arm code */
|
||||
*(.eh_frame)
|
||||
|
||||
KEEP (*(.init))
|
||||
KEEP (*(.fini))
|
||||
|
||||
. = ALIGN(4);
|
||||
_etext = .; /* define a global symbols at end of code */
|
||||
} >FLASH
|
||||
|
||||
/* Constant data goes into FLASH */
|
||||
.rodata :
|
||||
{
|
||||
. = ALIGN(4);
|
||||
*(.rodata) /* .rodata sections (constants, strings, etc.) */
|
||||
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
|
||||
. = ALIGN(4);
|
||||
} >FLASH
|
||||
|
||||
.ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
|
||||
.ARM : {
|
||||
__exidx_start = .;
|
||||
*(.ARM.exidx*)
|
||||
__exidx_end = .;
|
||||
} >FLASH
|
||||
|
||||
.preinit_array :
|
||||
{
|
||||
PROVIDE_HIDDEN (__preinit_array_start = .);
|
||||
KEEP (*(.preinit_array*))
|
||||
PROVIDE_HIDDEN (__preinit_array_end = .);
|
||||
} >FLASH
|
||||
.init_array :
|
||||
{
|
||||
PROVIDE_HIDDEN (__init_array_start = .);
|
||||
KEEP (*(SORT(.init_array.*)))
|
||||
KEEP (*(.init_array*))
|
||||
PROVIDE_HIDDEN (__init_array_end = .);
|
||||
} >FLASH
|
||||
.fini_array :
|
||||
{
|
||||
PROVIDE_HIDDEN (__fini_array_start = .);
|
||||
KEEP (*(SORT(.fini_array.*)))
|
||||
KEEP (*(.fini_array*))
|
||||
PROVIDE_HIDDEN (__fini_array_end = .);
|
||||
} >FLASH
|
||||
|
||||
/* used by the startup to initialize data */
|
||||
_sidata = LOADADDR(.data);
|
||||
|
||||
/* Initialized data sections goes into RAM, load LMA copy after code */
|
||||
.data :
|
||||
{
|
||||
. = ALIGN(4);
|
||||
_sdata = .; /* create a global symbol at data start */
|
||||
*(.data) /* .data sections */
|
||||
*(.data*) /* .data* sections */
|
||||
|
||||
. = ALIGN(4);
|
||||
_edata = .; /* define a global symbol at data end */
|
||||
} >RAM AT> FLASH
|
||||
|
||||
|
||||
/* Uninitialized data section */
|
||||
. = ALIGN(4);
|
||||
.bss :
|
||||
{
|
||||
/* This is used by the startup in order to initialize the .bss secion */
|
||||
_sbss = .; /* define a global symbol at bss start */
|
||||
__bss_start__ = _sbss;
|
||||
*(.bss)
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
|
||||
. = ALIGN(4);
|
||||
_ebss = .; /* define a global symbol at bss end */
|
||||
__bss_end__ = _ebss;
|
||||
} >RAM
|
||||
|
||||
/* User_heap_stack section, used to check that there is enough RAM left */
|
||||
._user_heap_stack :
|
||||
{
|
||||
. = ALIGN(8);
|
||||
PROVIDE ( end = . );
|
||||
PROVIDE ( _end = . );
|
||||
. = . + _Min_Heap_Size;
|
||||
. = . + _Min_Stack_Size;
|
||||
. = ALIGN(8);
|
||||
} >RAM
|
||||
|
||||
|
||||
|
||||
/* Remove information from the standard libraries */
|
||||
/DISCARD/ :
|
||||
{
|
||||
libc.a ( * )
|
||||
libm.a ( * )
|
||||
libgcc.a ( * )
|
||||
}
|
||||
|
||||
.ARM.attributes 0 : { *(.ARM.attributes) }
|
||||
}
|
|
@ -0,0 +1,238 @@
|
|||
/*
|
||||
Copyright (c) 2011 Arduino. All right reserved.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library 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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "pins_arduino.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Digital PinName array
|
||||
const PinName digitalPin[] = {
|
||||
PA_0, // Digital pin 0
|
||||
PA_1, // Digital pin 1
|
||||
PA_2, // Digital pin 2
|
||||
PA_3, // Digital pin 3
|
||||
PA_4, // Digital pin 4
|
||||
PA_5, // Digital pin 5
|
||||
PA_6, // Digital pin 6
|
||||
PA_7, // Digital pin 7
|
||||
PA_8, // Digital pin 8
|
||||
PA_9, // Digital pin 9
|
||||
PA_10, // Digital pin 10
|
||||
PA_11, // Digital pin 11
|
||||
PA_12, // Digital pin 12
|
||||
PA_13, // Digital pin 13
|
||||
PA_14, // Digital pin 14
|
||||
PA_15, // Digital pin 15
|
||||
|
||||
PB_0, // Digital pin 16
|
||||
PB_1, // Digital pin 17
|
||||
PB_2, // Digital pin 18
|
||||
PB_3, // Digital pin 19
|
||||
PB_4, // Digital pin 20
|
||||
PB_5, // Digital pin 21
|
||||
PB_6, // Digital pin 22
|
||||
PB_7, // Digital pin 23
|
||||
PB_8, // Digital pin 24
|
||||
PB_9, // Digital pin 25
|
||||
PB_10, // Digital pin 26
|
||||
PB_12, // Digital pin 27
|
||||
PB_13, // Digital pin 28
|
||||
PB_14, // Digital pin 29
|
||||
PB_15, // Digital pin 30
|
||||
|
||||
PC_0, // Digital pin 31
|
||||
PC_1, // Digital pin 32
|
||||
PC_2, // Digital pin 33
|
||||
PC_3, // Digital pin 34
|
||||
PC_4, // Digital pin 35
|
||||
PC_5, // Digital pin 36
|
||||
PC_6, // Digital pin 37
|
||||
PC_7, // Digital pin 38
|
||||
PC_8, // Digital pin 39
|
||||
PC_9, // Digital pin 40
|
||||
PC_10, // Digital pin 41
|
||||
PC_11, // Digital pin 42
|
||||
PC_12, // Digital pin 43
|
||||
PC_13, // Digital pin 44
|
||||
PC_14, // Digital pin 45
|
||||
PC_15, // Digital pin 46
|
||||
|
||||
PD_2, // Digital pin 47
|
||||
|
||||
PH_0, // Digital pin 48, used by the external oscillator
|
||||
PH_1 // Digital pin 49, used by the external oscillator
|
||||
};
|
||||
|
||||
// Analog (Ax) pin number array
|
||||
const uint32_t analogInputPin[] = {
|
||||
0, // A0, PA0
|
||||
1, // A1, PA1
|
||||
2, // A2, PA2
|
||||
3, // A3, PA3
|
||||
4, // A4, PA4
|
||||
5, // A5, PA5
|
||||
6, // A6, PA6
|
||||
7, // A7, PA7
|
||||
16, // A8, PB0
|
||||
17, // A9, PB1
|
||||
31, // A10, PC0
|
||||
32, // A11, PC1
|
||||
33, // A12, PC2
|
||||
34, // A13, PC3
|
||||
35, // A14, PC4
|
||||
36 // A15, PC5
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* @brief Configures the System clock source, PLL Multiplier and Divider factors,
|
||||
* AHB/APBx prescalers and Flash settings
|
||||
* @note This function should be called only once the RCC clock configuration
|
||||
* is reset to the default reset state (done in SystemInit() function).
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
|
||||
/******************************************************************************/
|
||||
/* PLL (clocked by HSE) used as System clock source */
|
||||
/******************************************************************************/
|
||||
static uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
|
||||
{
|
||||
RCC_OscInitTypeDef RCC_OscInitStruct;
|
||||
RCC_ClkInitTypeDef RCC_ClkInitStruct;
|
||||
|
||||
/* The voltage scaling allows optimizing the power consumption when the device is
|
||||
clocked below the maximum system frequency, to update the voltage scaling value
|
||||
regarding system frequency refer to product datasheet. */
|
||||
__HAL_RCC_PWR_CLK_ENABLE();
|
||||
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2);
|
||||
|
||||
// Enable HSE oscillator and activate PLL with HSE as source
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
|
||||
if (bypass == 0) {
|
||||
RCC_OscInitStruct.HSEState = RCC_HSE_ON; // External 8 MHz xtal on OSC_IN/OSC_OUT
|
||||
} else {
|
||||
RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS; // External 8 MHz clock on OSC_IN
|
||||
}
|
||||
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||
RCC_OscInitStruct.PLL.PLLM = HSE_VALUE / 1000000L; // Expects an 8 MHz external clock by default. Redefine HSE_VALUE if not
|
||||
RCC_OscInitStruct.PLL.PLLN = 336; // VCO output clock = 336 MHz (1 MHz * 336)
|
||||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 84 MHz (336 MHz / 4)
|
||||
RCC_OscInitStruct.PLL.PLLQ = 7; // USB clock = 48 MHz (336 MHz / 7) --> OK for USB
|
||||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
|
||||
return 0; // FAIL
|
||||
}
|
||||
|
||||
// Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers
|
||||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
|
||||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 84 MHz
|
||||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 84 MHz
|
||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // 42 MHz
|
||||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 84 MHz
|
||||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
|
||||
return 0; // FAIL
|
||||
}
|
||||
|
||||
/* Output clock on MCO1 pin(PA8) for debugging purpose */
|
||||
/*
|
||||
if (bypass == 0)
|
||||
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_2); // 4 MHz
|
||||
else
|
||||
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_1); // 8 MHz
|
||||
*/
|
||||
|
||||
return 1; // OK
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/* PLL (clocked by HSI) used as System clock source */
|
||||
/******************************************************************************/
|
||||
uint8_t SetSysClock_PLL_HSI(void)
|
||||
{
|
||||
RCC_OscInitTypeDef RCC_OscInitStruct;
|
||||
RCC_ClkInitTypeDef RCC_ClkInitStruct;
|
||||
|
||||
/* The voltage scaling allows optimizing the power consumption when the device is
|
||||
clocked below the maximum system frequency, to update the voltage scaling value
|
||||
regarding system frequency refer to product datasheet. */
|
||||
__HAL_RCC_PWR_CLK_ENABLE();
|
||||
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2);
|
||||
|
||||
// Enable HSI oscillator and activate PLL with HSI as source
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE;
|
||||
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
|
||||
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
|
||||
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
|
||||
RCC_OscInitStruct.PLL.PLLM = 16; // VCO input clock = 1 MHz (16 MHz / 16)
|
||||
RCC_OscInitStruct.PLL.PLLN = 336; // VCO output clock = 336 MHz (1 MHz * 336)
|
||||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 84 MHz (336 MHz / 4)
|
||||
RCC_OscInitStruct.PLL.PLLQ = 7; // USB clock = 48 MHz (336 MHz / 7) --> freq is ok but not precise enough
|
||||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
|
||||
return 0; // FAIL
|
||||
}
|
||||
|
||||
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
|
||||
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
|
||||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 84 MHz
|
||||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 84 MHz
|
||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // 42 MHz
|
||||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 84 MHz
|
||||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
|
||||
return 0; // FAIL
|
||||
}
|
||||
|
||||
/* Output clock on MCO1 pin(PA8) for debugging purpose */
|
||||
//HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSI, RCC_MCODIV_1); // 16 MHz
|
||||
|
||||
return 1; // OK
|
||||
}
|
||||
|
||||
WEAK void SystemClock_Config(void)
|
||||
{
|
||||
/* 1- If fail try to start with HSE and external xtal */
|
||||
if (SetSysClock_PLL_HSE(0) == 0) {
|
||||
/* 2- Try to start with HSE and external clock */
|
||||
if (SetSysClock_PLL_HSE(1) == 0) {
|
||||
/* 3- If fail start with HSI clock */
|
||||
if (SetSysClock_PLL_HSI() == 0) {
|
||||
Error_Handler();
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Output clock on MCO2 pin(PC9) for debugging purpose */
|
||||
//HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_SYSCLK, RCC_MCODIV_4);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,150 @@
|
|||
/*
|
||||
Copyright (c) 2011 Arduino. All right reserved.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library 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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef _VARIANT_ARDUINO_STM32_
|
||||
#define _VARIANT_ARDUINO_STM32_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
// | DIGITAL | ANALOG | USART | TWI | SPI | SPECIAL |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PA0 0 // | 0 | A0 | | | | |
|
||||
#define PA1 1 // | 1 | A1 | | | | |
|
||||
#define PA2 2 // | 2 | A2 | USART2_TX | | | |
|
||||
#define PA3 3 // | 3 | A3 | USART2_RX | | | |
|
||||
#define PA4 4 // | 4 | A4 | | | SPI1_SS, (SPI3_SS) | |
|
||||
#define PA5 5 // | 5 | A5 | | | SPI1_SCK | |
|
||||
#define PA6 6 // | 6 | A6 | | | SPI1_MISO | |
|
||||
#define PA7 7 // | 7 | A7 | | | SPI1_MOSI | |
|
||||
#define PA8 8 // | 8 | | | TWI3_SCL | | |
|
||||
#define PA9 9 // | 9 | | USART1_TX | | | |
|
||||
#define PA10 10 // | 10 | | USART1_RX | | | |
|
||||
#define PA11 11 // | 11 | | USART6_TX | | | |
|
||||
#define PA12 12 // | 12 | | USART6_RX | | | |
|
||||
#define PA13 13 // | 13 | | | | | SWD_SWDIO |
|
||||
#define PA14 14 // | 14 | | | | | SWD_SWCLK |
|
||||
#define PA15 15 // | 15 | | | | SPI3_SS, (SPI1_SS) | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PB0 16 // | 16 | A8 | | | | |
|
||||
#define PB1 17 // | 17 | A9 | | | | |
|
||||
#define PB2 18 // | 18 | | | | | BOOT1 |
|
||||
#define PB3 19 // | 19 | | | TWI2_SDA | SPI3_SCK, (SPI1_SCK) | |
|
||||
#define PB4 20 // | 20 | | | TWI3_SDA | SPI3_MISO, (SPI1_MISO) | |
|
||||
#define PB5 21 // | 21 | | | | SPI3_MOSI, (SPI1_MOSI) | |
|
||||
#define PB6 22 // | 22 | | USART1_TX | TWI1_SCL | | |
|
||||
#define PB7 23 // | 23 | | USART1_RX | TWI1_SDA | | |
|
||||
#define PB8 24 // | 24 | | | TWI1_SCL | | |
|
||||
#define PB9 25 // | 25 | | | TWI1_SDA | SPI2_SS | |
|
||||
#define PB10 26 // | 26 | | | TWI2_SCL | SPI2_SCK | |
|
||||
#define PB12 27 // | 27 | | | | SPI2_SS | |
|
||||
#define PB13 28 // | 28 | | | | SPI2_SCK | |
|
||||
#define PB14 29 // | 29 | | | | SPI2_MISO | |
|
||||
#define PB15 30 // | 30 | | | | SPI2_MOSI | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PC0 31 // | 31 | A10 | | | | |
|
||||
#define PC1 32 // | 32 | A11 | | | | |
|
||||
#define PC2 33 // | 33 | A12 | | | SPI2_MISO | |
|
||||
#define PC3 34 // | 34 | A13 | | | SPI2_MOSI | |
|
||||
#define PC4 35 // | 35 | A14 | | | | |
|
||||
#define PC5 36 // | 36 | A15 | | | | |
|
||||
#define PC6 37 // | 37 | | USART6_TX | | | |
|
||||
#define PC7 38 // | 38 | | USART6_RX | | | |
|
||||
#define PC8 39 // | 39 | | | | | |
|
||||
#define PC9 40 // | 40 | | | TWI3_SDA | | |
|
||||
#define PC10 41 // | 41 | | | | SPI3_SCK | |
|
||||
#define PC11 42 // | 42 | | | | SPI3_MISO | |
|
||||
#define PC12 43 // | 43 | | | | SPI3_MOSI | |
|
||||
#define PC13 44 // | 44 | | | | | |
|
||||
#define PC14 45 // | 45 | | | | | OSC32_IN |
|
||||
#define PC15 46 // | 46 | | | | | OSC32_OUT |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PD2 47 // | 47 | | | | | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PH0 48 // | 48 | | | | | OSC_IN |
|
||||
#define PH1 49 // | 49 | | | | | OSC_OUT |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
|
||||
// This must be a literal
|
||||
#define NUM_DIGITAL_PINS 50
|
||||
#define NUM_ANALOG_INPUTS 16
|
||||
|
||||
// SPI definitions
|
||||
#define PIN_SPI_SS PA4
|
||||
#define PIN_SPI_SS1 PA4
|
||||
#define PIN_SPI_MOSI PA7
|
||||
#define PIN_SPI_MISO PA6
|
||||
#define PIN_SPI_SCK PA5
|
||||
|
||||
|
||||
// Timer Definitions
|
||||
#define TIMER_TONE TIM2
|
||||
#define TIMER_SERVO TIM11
|
||||
#define TIMER_SERIAL TIM5
|
||||
|
||||
// UART Definitions
|
||||
//#define ENABLE_HWSERIAL1 done automatically by the #define SERIAL_UART_INSTANCE below
|
||||
#define ENABLE_HWSERIAL2
|
||||
|
||||
|
||||
// Define here Serial instance number to map on Serial generic name (if not already used by SerialUSB)
|
||||
#define SERIAL_UART_INSTANCE 1 //1 for Serial = Serial1 (USART1)
|
||||
|
||||
// Default pin used for 'Serial' instance
|
||||
// Mandatory for Firmata
|
||||
#define PIN_SERIAL_RX PA10
|
||||
#define PIN_SERIAL_TX PA9
|
||||
|
||||
// Used when user instanciate a hardware Serial using its peripheral name.
|
||||
// Example: HardwareSerial mySerial(USART3);
|
||||
// will use PIN_SERIAL3_RX and PIN_SERIAL3_TX if defined.
|
||||
#define PIN_SERIAL1_RX PA10
|
||||
#define PIN_SERIAL1_TX PA9
|
||||
#define PIN_SERIAL2_RX PA3
|
||||
#define PIN_SERIAL2_TX PA2
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
/*----------------------------------------------------------------------------
|
||||
* Arduino objects - C++ only
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
// These serial port names are intended to allow libraries and architecture-neutral
|
||||
// sketches to automatically default to the correct port name for a particular type
|
||||
// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN,
|
||||
// the first hardware serial port whose RX/TX pins are not dedicated to another use.
|
||||
//
|
||||
// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor
|
||||
//
|
||||
// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial
|
||||
//
|
||||
// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library
|
||||
//
|
||||
// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins.
|
||||
//
|
||||
// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX
|
||||
// pins are NOT connected to anything by default.
|
||||
#define SERIAL_PORT_MONITOR Serial
|
||||
#define SERIAL_PORT_HARDWARE Serial1
|
||||
#define SERIAL_PORT_HARDWARE_OPEN Serial2
|
||||
#endif
|
||||
|
||||
#endif /* _VARIANT_ARDUINO_STM32_ */
|
|
@ -26,8 +26,8 @@ extern "C" {
|
|||
|
||||
// * = F103R8-B-C-D-E-F-G
|
||||
// ** = F103RC-D-E-F-G
|
||||
// | DIGITAL | ANALOG | USART | TWI | SPI | SPECIAL |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
// | DIGITAL | ANALOG | USART | TWI | SPI | SPECIAL |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
#define PA0 PIN_A0 // | 0 | A0 | | | | |
|
||||
#define PA1 PIN_A1 // | 1 | A1 | | | | |
|
||||
#define PA2 PIN_A2 // | 2 | A2 | USART2_TX | | | |
|
||||
|
@ -36,53 +36,53 @@ extern "C" {
|
|||
#define PA5 PIN_A5 // | 5 | A5 | | | SPI1_SCK | |
|
||||
#define PA6 PIN_A6 // | 6 | A6 | | | SPI1_MISO | |
|
||||
#define PA7 PIN_A7 // | 7 | A7 | | | SPI1_MOSI | |
|
||||
#define PA8 8 // | 8 | | | | | |
|
||||
#define PA9 9 // | 9 | | USART1_TX | | | |
|
||||
#define PA10 10 // | 10 | | USART1_RX | | | |
|
||||
#define PA11 11 // | 11 | | | | | USB_DM |
|
||||
#define PA12 12 // | 12 | | | | | USB_DP |
|
||||
#define PA13 13 // | 13 | | | | | SWD_SWDIO |
|
||||
#define PA14 14 // | 14 | | | | | SWD_SWCLK |
|
||||
#define PA15 15 // | 15 | | | | SPI1_SS/SPI3_SS** | |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
#define PA8 8 // | 8 | | | | | |
|
||||
#define PA9 9 // | 9 | | USART1_TX | | | |
|
||||
#define PA10 10 // | 10 | | USART1_RX | | | |
|
||||
#define PA11 11 // | 11 | | | | | USB_DM |
|
||||
#define PA12 12 // | 12 | | | | | USB_DP |
|
||||
#define PA13 13 // | 13 | | | | | SWD_SWDIO |
|
||||
#define PA14 14 // | 14 | | | | | SWD_SWCLK |
|
||||
#define PA15 15 // | 15 | | | | SPI1_SS/SPI3_SS** | |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
#define PB0 PIN_A8 // | 16 | A8 | | | | |
|
||||
#define PB1 PIN_A9 // | 17 | A9 | | | | |
|
||||
#define PB2 18 // | 18 | | | | | BOOT1 |
|
||||
#define PB3 19 // | 19 | | | | SPI1_SCK/SPI3_SCK** | |
|
||||
#define PB4 20 // | 20 | | | | SPI1_MISO/SPI3_MISO** | |
|
||||
#define PB5 21 // | 21 | | | | SPI1_MOSI/SPI3_MOSI** | |
|
||||
#define PB6 22 // | 22 | | USART1_TX | TWI1_SCL | | |
|
||||
#define PB7 23 // | 23 | | USART1_RX | TWI1_SDA | | |
|
||||
#define PB8 24 // | 24 | | | TWI1_SCL | | |
|
||||
#define PB9 25 // | 25 | | | TWI1_SDA | | |
|
||||
#define PB10 26 // | 26 | | USART3_TX* | TWI2_SCL* | | |
|
||||
#define PB11 27 // | 27 | | USART3_RX* | TWI2_SDA* | | |
|
||||
#define PB12 28 // | 28 | | | | SPI2_SS* | |
|
||||
#define PB13 29 // | 29 | | | | SPI2_SCK* | |
|
||||
#define PB14 30 // | 30 | | | | SPI2_MISO* | |
|
||||
#define PB15 31 // | 31 | | | | SPI2_MOSI* | |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
#define PB2 18 // | 18 | | | | | BOOT1 |
|
||||
#define PB3 19 // | 19 | | | | SPI1_SCK/SPI3_SCK** | |
|
||||
#define PB4 20 // | 20 | | | | SPI1_MISO/SPI3_MISO** | |
|
||||
#define PB5 21 // | 21 | | | | SPI1_MOSI/SPI3_MOSI** | |
|
||||
#define PB6 22 // | 22 | | USART1_TX | TWI1_SCL | | |
|
||||
#define PB7 23 // | 23 | | USART1_RX | TWI1_SDA | | |
|
||||
#define PB8 24 // | 24 | | | TWI1_SCL | | |
|
||||
#define PB9 25 // | 25 | | | TWI1_SDA | | |
|
||||
#define PB10 26 // | 26 | | USART3_TX* | TWI2_SCL* | | |
|
||||
#define PB11 27 // | 27 | | USART3_RX* | TWI2_SDA* | | |
|
||||
#define PB12 28 // | 28 | | | | SPI2_SS* | |
|
||||
#define PB13 29 // | 29 | | | | SPI2_SCK* | |
|
||||
#define PB14 30 // | 30 | | | | SPI2_MISO* | |
|
||||
#define PB15 31 // | 31 | | | | SPI2_MOSI* | |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
#define PC0 PIN_A10 // | 32 | A10 | | | | |
|
||||
#define PC1 PIN_A11 // | 33 | A11 | | | | |
|
||||
#define PC2 PIN_A12 // | 34 | A12 | | | | |
|
||||
#define PC3 PIN_A13 // | 35 | A13 | | | | |
|
||||
#define PC4 PIN_A14 // | 36 | A14 | | | | |
|
||||
#define PC5 PIN_A15 // | 37 | A15 | | | | |
|
||||
#define PC6 38 // | 38 | | | | | |
|
||||
#define PC7 39 // | 39 | | | | | |
|
||||
#define PC8 40 // | 40 | | | | | |
|
||||
#define PC9 41 // | 41 | | | | | |
|
||||
#define PC10 42 // | 42 | | USART3_TX*/UART4_TX** | | | |
|
||||
#define PC11 43 // | 43 | | USART3_RX*/UART4_RX** | | | |
|
||||
#define PC12 44 // | 44 | | UART5_TX** | | | |
|
||||
#define PC13 45 // | 45 | | | | | |
|
||||
#define PC14 46 // | 46 | | | | | OSC32_IN |
|
||||
#define PC15 47 // | 47 | | | | | OSC32_OUT |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
#define PD0 48 // | 48 | | | | | OSC_IN |
|
||||
#define PD1 49 // | 48 | | | | | OSC_OUT |
|
||||
#define PD2 50 // | 50 | | UART5_RX** | | | |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
#define PC6 38 // | 38 | | | | | |
|
||||
#define PC7 39 // | 39 | | | | | |
|
||||
#define PC8 40 // | 40 | | | | | |
|
||||
#define PC9 41 // | 41 | | | | | |
|
||||
#define PC10 42 // | 42 | | USART3_TX*/UART4_TX** | | | |
|
||||
#define PC11 43 // | 43 | | USART3_RX*/UART4_RX** | | | |
|
||||
#define PC12 44 // | 44 | | UART5_TX** | | | |
|
||||
#define PC13 45 // | 45 | | | | | |
|
||||
#define PC14 46 // | 46 | | | | | OSC32_IN |
|
||||
#define PC15 47 // | 47 | | | | | OSC32_OUT |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
#define PD0 48 // | 48 | | | | | OSC_IN |
|
||||
#define PD1 49 // | 48 | | | | | OSC_OUT |
|
||||
#define PD2 50 // | 50 | | UART5_RX** | | | |
|
||||
// |---------|----------------|--------------------------|-----------|-----------------------|-----------|
|
||||
|
||||
// This must be a literal
|
||||
#define NUM_DIGITAL_PINS 51
|
||||
|
|
|
@ -27,118 +27,118 @@ extern "C" {
|
|||
* Pins
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
#define PA0 0 //D0
|
||||
#define PA1 1 //D1
|
||||
#define PA2 2 //D2
|
||||
#define PA3 3 //D3
|
||||
#define PA4 4 //D4
|
||||
#define PA5 5 //D5
|
||||
#define PA6 6 //D6
|
||||
#define PA7 7 //D7
|
||||
#define PA8 8 //D8
|
||||
#define PA9 9 //D9
|
||||
#define PA10 10 //D10
|
||||
#define PA11 11 //D11
|
||||
#define PA12 12 //D12
|
||||
#define PA13 13 //D13
|
||||
#define PA14 14 //D14
|
||||
#define PA15 15 //D15
|
||||
#define PB0 16 //D16
|
||||
#define PB1 17 //D17
|
||||
#define PB2 18 //D18
|
||||
#define PB3 19 //D19
|
||||
#define PB4 20 //D20
|
||||
#define PB5 21 //D21
|
||||
#define PB6 22 //D22
|
||||
#define PB7 23 //D23
|
||||
#define PB8 24 //D24
|
||||
#define PB9 25 //D25
|
||||
#define PB10 26 //D26
|
||||
#define PB11 27 //D27
|
||||
#define PB12 28 //D28
|
||||
#define PB13 29 //D29
|
||||
#define PB14 30 //D30
|
||||
#define PB15 31 //D31
|
||||
#define PC0 32 //D32
|
||||
#define PC1 33 //D33
|
||||
#define PC2 34 //D34
|
||||
#define PC3 35 //D35
|
||||
#define PC4 36 //D36
|
||||
#define PC5 37 //D37
|
||||
#define PC6 38 //D38
|
||||
#define PC7 39 //D39
|
||||
#define PC8 40 //D40
|
||||
#define PC9 41 //D41
|
||||
#define PC10 42 //D42
|
||||
#define PC11 43 //D43
|
||||
#define PC12 44 //D44
|
||||
#define PC13 45 //D45
|
||||
#define PC14 46 //D46
|
||||
#define PC15 47 //D47
|
||||
#define PD0 48 //D48
|
||||
#define PD1 49 //D49
|
||||
#define PD2 50 //D50
|
||||
#define PD3 51 //D51
|
||||
#define PD4 52 //D52
|
||||
#define PD5 53 //D53
|
||||
#define PD6 54 //D54
|
||||
#define PD7 55 //D55
|
||||
#define PD8 56 //D56
|
||||
#define PD9 57 //D57
|
||||
#define PD10 58 //D58
|
||||
#define PD11 59 //D59
|
||||
#define PD12 60 //D60
|
||||
#define PD13 61 //D61
|
||||
#define PD14 62 //D62
|
||||
#define PD15 63 //D63
|
||||
#define PE0 64 //D64
|
||||
#define PE1 65 //D65
|
||||
#define PE2 66 //D66
|
||||
#define PE3 67 //D67
|
||||
#define PE4 68 //D68
|
||||
#define PE5 69 //D69
|
||||
#define PE6 70 //D70
|
||||
#define PE7 71 //D71
|
||||
#define PE8 72 //D72
|
||||
#define PE9 73 //D73
|
||||
#define PE10 74 //D74
|
||||
#define PE11 75 //D75
|
||||
#define PE12 76 //D76
|
||||
#define PE13 77 //D77
|
||||
#define PE14 78 //D78
|
||||
#define PE15 79 //D79
|
||||
#define PF0 80 //D64
|
||||
#define PF1 81 //D65
|
||||
#define PF2 82 //D66
|
||||
#define PF3 83 //D67
|
||||
#define PF4 84 //D68
|
||||
#define PF5 85 //D69
|
||||
#define PF6 86 //D70
|
||||
#define PF7 87 //D71
|
||||
#define PF8 88 //D72
|
||||
#define PF9 89 //D73
|
||||
#define PF10 90 //D74
|
||||
#define PF11 91 //D75
|
||||
#define PF12 92 //D76
|
||||
#define PF13 93 //D77
|
||||
#define PF14 94 //D78
|
||||
#define PF15 95 //D79
|
||||
#define PG0 96 //D64
|
||||
#define PG1 97 //D65
|
||||
#define PG2 98 //D66
|
||||
#define PG3 99 //D67
|
||||
#define PG4 100 //D68
|
||||
#define PG5 101 //D69
|
||||
#define PG6 102 //D70
|
||||
#define PG7 103 //D71
|
||||
#define PG8 104 //D72
|
||||
#define PG9 105 //D73
|
||||
#define PG10 106 //D74
|
||||
#define PG11 107 //D75
|
||||
#define PG12 108 //D76
|
||||
#define PG13 109 //D77
|
||||
#define PG14 110 //D78
|
||||
#define PG15 111 //D79
|
||||
#define PA0 0
|
||||
#define PA1 1
|
||||
#define PA2 2
|
||||
#define PA3 3
|
||||
#define PA4 4
|
||||
#define PA5 5
|
||||
#define PA6 6
|
||||
#define PA7 7
|
||||
#define PA8 8
|
||||
#define PA9 9
|
||||
#define PA10 10
|
||||
#define PA11 11
|
||||
#define PA12 12
|
||||
#define PA13 13
|
||||
#define PA14 14
|
||||
#define PA15 15
|
||||
#define PB0 16
|
||||
#define PB1 17
|
||||
#define PB2 18
|
||||
#define PB3 19
|
||||
#define PB4 20
|
||||
#define PB5 21
|
||||
#define PB6 22
|
||||
#define PB7 23
|
||||
#define PB8 24
|
||||
#define PB9 25
|
||||
#define PB10 26
|
||||
#define PB11 27
|
||||
#define PB12 28
|
||||
#define PB13 29
|
||||
#define PB14 30
|
||||
#define PB15 31
|
||||
#define PC0 32
|
||||
#define PC1 33
|
||||
#define PC2 34
|
||||
#define PC3 35
|
||||
#define PC4 36
|
||||
#define PC5 37
|
||||
#define PC6 38
|
||||
#define PC7 39
|
||||
#define PC8 40
|
||||
#define PC9 41
|
||||
#define PC10 42
|
||||
#define PC11 43
|
||||
#define PC12 44
|
||||
#define PC13 45
|
||||
#define PC14 46
|
||||
#define PC15 47
|
||||
#define PD0 48
|
||||
#define PD1 49
|
||||
#define PD2 50
|
||||
#define PD3 51
|
||||
#define PD4 52
|
||||
#define PD5 53
|
||||
#define PD6 54
|
||||
#define PD7 55
|
||||
#define PD8 56
|
||||
#define PD9 57
|
||||
#define PD10 58
|
||||
#define PD11 59
|
||||
#define PD12 60
|
||||
#define PD13 61
|
||||
#define PD14 62
|
||||
#define PD15 63
|
||||
#define PE0 64
|
||||
#define PE1 65
|
||||
#define PE2 66
|
||||
#define PE3 67
|
||||
#define PE4 68
|
||||
#define PE5 69
|
||||
#define PE6 70
|
||||
#define PE7 71
|
||||
#define PE8 72
|
||||
#define PE9 73
|
||||
#define PE10 74
|
||||
#define PE11 75
|
||||
#define PE12 76
|
||||
#define PE13 77
|
||||
#define PE14 78
|
||||
#define PE15 79
|
||||
#define PF0 80
|
||||
#define PF1 81
|
||||
#define PF2 82
|
||||
#define PF3 83
|
||||
#define PF4 84
|
||||
#define PF5 85
|
||||
#define PF6 86
|
||||
#define PF7 87
|
||||
#define PF8 88
|
||||
#define PF9 89
|
||||
#define PF10 90
|
||||
#define PF11 91
|
||||
#define PF12 92
|
||||
#define PF13 93
|
||||
#define PF14 94
|
||||
#define PF15 95
|
||||
#define PG0 96
|
||||
#define PG1 97
|
||||
#define PG2 98
|
||||
#define PG3 99
|
||||
#define PG4 100
|
||||
#define PG5 101
|
||||
#define PG6 102
|
||||
#define PG7 103
|
||||
#define PG8 104
|
||||
#define PG9 105
|
||||
#define PG10 106
|
||||
#define PG11 107
|
||||
#define PG12 108
|
||||
#define PG13 109
|
||||
#define PG14 110
|
||||
#define PG15 111
|
||||
|
||||
// This must be a literal with the same value as PEND
|
||||
#define NUM_DIGITAL_PINS 112
|
||||
|
|
|
@ -23,9 +23,8 @@
|
|||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
// | DIGITAL | ANALOG | USART | TWI | SPI | SPECIAL |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// | DIGITAL | ANALOG | USART | TWI | SPI | SPECIAL |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PA0 A0 // | 0 | A0 | | | | |
|
||||
#define PA1 A1 // | 1 | A1 | | | | |
|
||||
#define PA2 A2 // | 2 | A2 | USART2_TX | | | |
|
||||
|
@ -42,7 +41,7 @@ extern "C" {
|
|||
#define PA13 13 // | 13 | | | | | SWD_SWDIO |
|
||||
#define PA14 14 // | 14 | | | | | SWD_SWCLK |
|
||||
#define PA15 15 // | 15 | | | | SPI3_SS, (SPI1_SS) | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PB0 A8 // | 16 | A8 | | | | |
|
||||
#define PB1 A9 // | 17 | A9 | | | | |
|
||||
#define PB2 18 // | 18 | | | | | BOOT1 |
|
||||
|
@ -58,7 +57,7 @@ extern "C" {
|
|||
#define PB13 28 // | 28 | | | | SPI2_SCK | |
|
||||
#define PB14 29 // | 29 | | | | SPI2_MISO | |
|
||||
#define PB15 30 // | 30 | | | | SPI2_MOSI | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PC0 A10 // | 31 | A10 | | | | |
|
||||
#define PC1 A11 // | 32 | A11 | | | | |
|
||||
#define PC2 A12 // | 33 | A12 | | | SPI2_MISO | |
|
||||
|
@ -75,12 +74,12 @@ extern "C" {
|
|||
#define PC13 44 // | 44 | | | | | |
|
||||
#define PC14 45 // | 45 | | | | | OSC32_IN |
|
||||
#define PC15 46 // | 46 | | | | | OSC32_OUT |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PD2 47 // | 47 | | | | | |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
#define PH0 48 // | 48 | | | | | OSC_IN |
|
||||
#define PH1 49 // | 49 | | | | | OSC_OUT |
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
// |---------|--------|-----------|----------|------------------------|-----------|
|
||||
|
||||
// This must be a literal
|
||||
#define NUM_DIGITAL_PINS 50
|
||||
|
|
|
@ -27,86 +27,86 @@ extern "C" {
|
|||
* Pins
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
#define PA0 0 //D0
|
||||
#define PA1 1 //D1
|
||||
#define PA2 2 //D2
|
||||
#define PA3 3 //D3
|
||||
#define PA4 4 //D4
|
||||
#define PA5 5 //D5
|
||||
#define PA6 6 //D6
|
||||
#define PA7 7 //D7
|
||||
#define PA8 8 //D8
|
||||
#define PA9 9 //D9
|
||||
#define PA10 10 //D10
|
||||
#define PA11 11 //D11
|
||||
#define PA12 12 //D12
|
||||
#define PA13 13 //D13
|
||||
#define PA14 14 //D14
|
||||
#define PA15 15 //D15
|
||||
#define PB0 16 //D16
|
||||
#define PB1 17 //D17
|
||||
#define PB2 18 //D18
|
||||
#define PB3 19 //D19
|
||||
#define PB4 20 //D20
|
||||
#define PB5 21 //D21
|
||||
#define PB6 22 //D22
|
||||
#define PB7 23 //D23
|
||||
#define PB8 24 //D24
|
||||
#define PB9 25 //D25
|
||||
#define PB10 26 //D26
|
||||
#define PB11 27 //D27
|
||||
#define PB12 28 //D28
|
||||
#define PB13 29 //D29
|
||||
#define PB14 30 //D30
|
||||
#define PB15 31 //D31
|
||||
#define PC0 32 //D32
|
||||
#define PC1 33 //D33
|
||||
#define PC2 34 //D34
|
||||
#define PC3 35 //D35
|
||||
#define PC4 36 //D36
|
||||
#define PC5 37 //D37
|
||||
#define PC6 38 //D38
|
||||
#define PC7 39 //D39
|
||||
#define PC8 40 //D40
|
||||
#define PC9 41 //D41
|
||||
#define PC10 42 //D42
|
||||
#define PC11 43 //D43
|
||||
#define PC12 44 //D44
|
||||
#define PC13 45 //D45
|
||||
#define PC14 46 //D46
|
||||
#define PC15 47 //D47
|
||||
#define PD0 48 //D48
|
||||
#define PD1 49 //D49
|
||||
#define PD2 50 //D50
|
||||
#define PD3 51 //D51
|
||||
#define PD4 52 //D52
|
||||
#define PD5 53 //D53
|
||||
#define PD6 54 //D54
|
||||
#define PD7 55 //D55
|
||||
#define PD8 56 //D56
|
||||
#define PD9 57 //D57
|
||||
#define PD10 58 //D58
|
||||
#define PD11 59 //D59
|
||||
#define PD12 60 //D60
|
||||
#define PD13 61 //D61
|
||||
#define PD14 62 //D62
|
||||
#define PD15 63 //D63
|
||||
#define PE0 64 //D64
|
||||
#define PE1 65 //D65
|
||||
#define PE2 66 //D66
|
||||
#define PE3 67 //D67
|
||||
#define PE4 68 //D68
|
||||
#define PE5 69 //D69
|
||||
#define PE6 70 //D70
|
||||
#define PE7 71 //D71
|
||||
#define PE8 72 //D72
|
||||
#define PE9 73 //D73
|
||||
#define PE10 74 //D74
|
||||
#define PE11 75 //D75
|
||||
#define PE12 76 //D76
|
||||
#define PE13 77 //D77
|
||||
#define PE14 78 //D78
|
||||
#define PE15 79 //D79
|
||||
#define PA0 0
|
||||
#define PA1 1
|
||||
#define PA2 2
|
||||
#define PA3 3
|
||||
#define PA4 4
|
||||
#define PA5 5
|
||||
#define PA6 6
|
||||
#define PA7 7
|
||||
#define PA8 8
|
||||
#define PA9 9
|
||||
#define PA10 10
|
||||
#define PA11 11
|
||||
#define PA12 12
|
||||
#define PA13 13
|
||||
#define PA14 14
|
||||
#define PA15 15
|
||||
#define PB0 16
|
||||
#define PB1 17
|
||||
#define PB2 18
|
||||
#define PB3 19
|
||||
#define PB4 20
|
||||
#define PB5 21
|
||||
#define PB6 22
|
||||
#define PB7 23
|
||||
#define PB8 24
|
||||
#define PB9 25
|
||||
#define PB10 26
|
||||
#define PB11 27
|
||||
#define PB12 28
|
||||
#define PB13 29
|
||||
#define PB14 30
|
||||
#define PB15 31
|
||||
#define PC0 32
|
||||
#define PC1 33
|
||||
#define PC2 34
|
||||
#define PC3 35
|
||||
#define PC4 36
|
||||
#define PC5 37
|
||||
#define PC6 38
|
||||
#define PC7 39
|
||||
#define PC8 40
|
||||
#define PC9 41
|
||||
#define PC10 42
|
||||
#define PC11 43
|
||||
#define PC12 44
|
||||
#define PC13 45
|
||||
#define PC14 46
|
||||
#define PC15 47
|
||||
#define PD0 48
|
||||
#define PD1 49
|
||||
#define PD2 50
|
||||
#define PD3 51
|
||||
#define PD4 52
|
||||
#define PD5 53
|
||||
#define PD6 54
|
||||
#define PD7 55
|
||||
#define PD8 56
|
||||
#define PD9 57
|
||||
#define PD10 58
|
||||
#define PD11 59
|
||||
#define PD12 60
|
||||
#define PD13 61
|
||||
#define PD14 62
|
||||
#define PD15 63
|
||||
#define PE0 64
|
||||
#define PE1 65
|
||||
#define PE2 66
|
||||
#define PE3 67
|
||||
#define PE4 68
|
||||
#define PE5 69
|
||||
#define PE6 70
|
||||
#define PE7 71
|
||||
#define PE8 72
|
||||
#define PE9 73
|
||||
#define PE10 74
|
||||
#define PE11 75
|
||||
#define PE12 76
|
||||
#define PE13 77
|
||||
#define PE14 78
|
||||
#define PE15 79
|
||||
|
||||
// This must be a literal with the same value as PEND
|
||||
#define NUM_DIGITAL_PINS 87
|
||||
|
|
|
@ -161,6 +161,7 @@
|
|||
#define NUM_DIGITAL_PINS 82
|
||||
#define NUM_DUALPAD_PINS 2
|
||||
#define NUM_ANALOG_INPUTS 16
|
||||
#define NUM_ANALOG_FIRST PA0
|
||||
|
||||
// On-board LED pin number
|
||||
#ifndef LED_BUILTIN
|
|
@ -128,7 +128,9 @@ const PinName digitalPin[] = {
|
|||
PH_0, // D110
|
||||
PH_1, // D111
|
||||
PC_2_C, // D112/A26
|
||||
PC_3_C // D113/A27
|
||||
PC_3_C, // D113/A27
|
||||
PC_2, // D114/A28
|
||||
PC_3 // D115/A29
|
||||
};
|
||||
|
||||
// Analog (Ax) pin number array
|
||||
|
@ -160,7 +162,9 @@ const uint32_t analogInputPin[] = {
|
|||
91, // A24, PF13
|
||||
92, // A25, PF14
|
||||
112, // A26, PC2_C
|
||||
113 // A27, PC3_C
|
||||
113, // A27, PC3_C
|
||||
114, // A28, PC2
|
||||
115 // A29, PC3
|
||||
};
|
||||
|
||||
void MPU_Config(void)
|
|
@ -129,6 +129,8 @@
|
|||
#define PH1 111
|
||||
#define PC2_C PIN_A26
|
||||
#define PC3_C PIN_A27
|
||||
#define PC2 PC2_C
|
||||
#define PC3 PC3_C
|
||||
|
||||
// Alternate pins number
|
||||
#define PA0_ALT1 (PA0 | ALT1)
|
||||
|
@ -197,9 +199,10 @@
|
|||
#define PF9_ALT2 (PF9 | ALT2)
|
||||
#define PG13_ALT1 (PG13 | ALT1)
|
||||
|
||||
#define NUM_DIGITAL_PINS 114
|
||||
#define NUM_DIGITAL_PINS 116
|
||||
#define NUM_DUALPAD_PINS 2
|
||||
#define NUM_ANALOG_INPUTS 28
|
||||
#define NUM_ANALOG_INPUTS 30
|
||||
#define NUM_ANALOG_FIRST PA0
|
||||
|
||||
// On-board LED pin number
|
||||
#ifndef LED_BUILTIN
|
|
@ -160,6 +160,7 @@
|
|||
#define NUM_DIGITAL_PINS 82
|
||||
#define NUM_DUALPAD_PINS 2
|
||||
#define NUM_ANALOG_INPUTS 16
|
||||
#define NUM_ANALOG_FIRST PA0
|
||||
|
||||
// On-board LED pin number
|
||||
#ifndef LED_BUILTIN
|
|
@ -27,8 +27,8 @@ extern "C" {
|
|||
* Pins (STM32F405RG and STM32F415RG)
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
// | DIGITAL | ANALOG IN | ANALOG OUT | UART/USART | TWI | SPI | SPECIAL |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
// | DIGITAL | ANALOG IN | ANALOG OUT | UART/USART | TWI | SPI | SPECIAL |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PA0 PIN_A0 // | 0 | A0 (ADC1) | | UART4_TX | | | |
|
||||
#define PA1 PIN_A1 // | 1 | A1 (ADC1) | | UART4_RX | | | |
|
||||
#define PA2 PIN_A2 // | 2 | A2 (ADC1) | | USART2_TX | | | |
|
||||
|
@ -37,54 +37,54 @@ extern "C" {
|
|||
#define PA5 PIN_A5 // | 5 | A5 (ADC1) | DAC_OUT2 | | | SPI1_SCK | |
|
||||
#define PA6 PIN_A6 // | 6 | A6 (ADC1) | | | | SPI1_MISO | |
|
||||
#define PA7 PIN_A7 // | 7 | A7 (ADC1) | | | | SPI1_MOSI | |
|
||||
#define PA8 8 // | 8 | | | | TWI3_SCL | | |
|
||||
#define PA9 9 // | 9 | | | USART1_TX | | SPI2_SCK | |
|
||||
#define PA10 10 // | 10 | | | USART1_RX | | | |
|
||||
#define PA11 11 // | 11 | | | | | | |
|
||||
#define PA12 12 // | 12 | | | | | | |
|
||||
#define PA13 13 // | 13 | | | | | | SWD_SWDIO |
|
||||
#define PA14 14 // | 14 | | | | | | SWD_SWCLK |
|
||||
#define PA15 15 // | 15 | | | | | SPI3_SS, (SPI1_SS) | |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PA8 8 // | 8 | | | | TWI3_SCL | | |
|
||||
#define PA9 9 // | 9 | | | USART1_TX | | SPI2_SCK | |
|
||||
#define PA10 10 // | 10 | | | USART1_RX | | | |
|
||||
#define PA11 11 // | 11 | | | | | | |
|
||||
#define PA12 12 // | 12 | | | | | | |
|
||||
#define PA13 13 // | 13 | | | | | | SWD_SWDIO |
|
||||
#define PA14 14 // | 14 | | | | | | SWD_SWCLK |
|
||||
#define PA15 15 // | 15 | | | | | SPI3_SS, (SPI1_SS) | |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PB0 PIN_A8 // | 16 | A8 (ADC1) | | | | | |
|
||||
#define PB1 PIN_A9 // | 17 | A9 (ADC1) | | | | | |
|
||||
#define PB2 18 // | 18 | | | | | | BOOT1 |
|
||||
#define PB3 19 // | 19 | | | | | SPI3_SCK, (SPI1_SCK) | |
|
||||
#define PB4 20 // | 20 | | | | | SPI3_MISO, (SPI1_MISO) | |
|
||||
#define PB5 21 // | 21 | | | | | SPI3_MOSI, (SPI1_MOSI) | |
|
||||
#define PB6 22 // | 22 | | | USART1_TX | TWI1_SCL | | |
|
||||
#define PB7 23 // | 23 | | | USART1_RX | TWI1_SDA | | |
|
||||
#define PB8 24 // | 24 | | | | TWI1_SCL | | |
|
||||
#define PB9 25 // | 25 | | | | TWI1_SDA | SPI2_SS | |
|
||||
#define PB10 26 // | 26 | | | USART3_TX | TWI2_SCL | SPI2_SCK | |
|
||||
#define PB11 27 // | 27 | | | USART3_RX | TWI2_SDA | | |
|
||||
#define PB12 28 // | 28 | | | | | SPI2_SS | |
|
||||
#define PB13 29 // | 29 | | | | | SPI2_SCK | |
|
||||
#define PB14 30 // | 30 | | | | | SPI2_MISO | |
|
||||
#define PB15 31 // | 31 | | | | | SPI2_MOSI | |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PB2 18 // | 18 | | | | | | BOOT1 |
|
||||
#define PB3 19 // | 19 | | | | | SPI3_SCK, (SPI1_SCK) | |
|
||||
#define PB4 20 // | 20 | | | | | SPI3_MISO, (SPI1_MISO) | |
|
||||
#define PB5 21 // | 21 | | | | | SPI3_MOSI, (SPI1_MOSI) | |
|
||||
#define PB6 22 // | 22 | | | USART1_TX | TWI1_SCL | | |
|
||||
#define PB7 23 // | 23 | | | USART1_RX | TWI1_SDA | | |
|
||||
#define PB8 24 // | 24 | | | | TWI1_SCL | | |
|
||||
#define PB9 25 // | 25 | | | | TWI1_SDA | SPI2_SS | |
|
||||
#define PB10 26 // | 26 | | | USART3_TX | TWI2_SCL | SPI2_SCK | |
|
||||
#define PB11 27 // | 27 | | | USART3_RX | TWI2_SDA | | |
|
||||
#define PB12 28 // | 28 | | | | | SPI2_SS | |
|
||||
#define PB13 29 // | 29 | | | | | SPI2_SCK | |
|
||||
#define PB14 30 // | 30 | | | | | SPI2_MISO | |
|
||||
#define PB15 31 // | 31 | | | | | SPI2_MOSI | |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PC0 PIN_A10 // | 32 | A10 (ADC1) | | | | | |
|
||||
#define PC1 PIN_A11 // | 33 | A11 (ADC1) | | | | | |
|
||||
#define PC2 PIN_A12 // | 34 | A12 (ADC1) | | | | SPI2_MISO | |
|
||||
#define PC3 PIN_A13 // | 35 | A13 (ADC1) | | | | SPI2_MOSI | |
|
||||
#define PC4 PIN_A14 // | 36 | A14 (ADC1) | | | | | |
|
||||
#define PC5 PIN_A15 // | 37 | A15 (ADC1) | | | | | |
|
||||
#define PC6 38 // | 38 | | | USART6_TX | | | |
|
||||
#define PC7 39 // | 39 | | | USART3_RX | | SPI2_SCK | |
|
||||
#define PC8 40 // | 40 | | | | | | |
|
||||
#define PC9 41 // | 41 | | | | TWI3_SDA | | |
|
||||
#define PC10 42 // | 42 | | | USART3_TX, (UART4_TX) | | SPI3_SCK | |
|
||||
#define PC11 43 // | 43 | | | USART3_RX, (UART4_RX) | | SPI3_MISO | |
|
||||
#define PC12 44 // | 44 | | | UART5_TX | | SPI3_MOSI | |
|
||||
#define PC13 45 // | 45 | | | | | | |
|
||||
#define PC14 46 // | 46 | | | | | | OSC32_IN |
|
||||
#define PC15 47 // | 47 | | | | | | OSC32_OUT |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PD2 48 // | 48 | | | UART5_RX | | | |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PH0 49 // | 49 | | | | | | OSC_IN |
|
||||
#define PH1 50 // | 50 | | | | | | OSC_OUT |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PC6 38 // | 38 | | | USART6_TX | | | |
|
||||
#define PC7 39 // | 39 | | | USART3_RX | | SPI2_SCK | |
|
||||
#define PC8 40 // | 40 | | | | | | |
|
||||
#define PC9 41 // | 41 | | | | TWI3_SDA | | |
|
||||
#define PC10 42 // | 42 | | | USART3_TX, (UART4_TX) | | SPI3_SCK | |
|
||||
#define PC11 43 // | 43 | | | USART3_RX, (UART4_RX) | | SPI3_MISO | |
|
||||
#define PC12 44 // | 44 | | | UART5_TX | | SPI3_MOSI | |
|
||||
#define PC13 45 // | 45 | | | | | | |
|
||||
#define PC14 46 // | 46 | | | | | | OSC32_IN |
|
||||
#define PC15 47 // | 47 | | | | | | OSC32_OUT |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PD2 48 // | 48 | | | UART5_RX | | | |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
#define PH0 49 // | 49 | | | | | | OSC_IN |
|
||||
#define PH1 50 // | 50 | | | | | | OSC_OUT |
|
||||
// |---------|------------|------------|-----------------------|----------------------|-----------------------------------|-----------|
|
||||
|
||||
/// This must be a literal
|
||||
#define NUM_DIGITAL_PINS 51
|
||||
|
|
|
@ -119,117 +119,5 @@ PE0,PE1,PE2,PE3,PE4,PE5,PE6,PE7,PE8,PE9,PE10,PE11,PE12,PE13,PE14,PE15,
|
|||
PF0,PF1,PF2,PF3,PF4,PF5,PF6,PF7,PF8,PF9,PF10,PF11,PF12,PF13,PF14,PF15,
|
||||
PG0,PG1,PG2,PG3,PG4,PG5,PG6,PG7,PG8,PG9,PG10,PG11,PG12,PG13,PG14,PG15
|
||||
};/* Note PB2 is skipped as this is Boot1 and is not going to be much use as its likely to be pulled permanently low */
|
||||
/*
|
||||
#define PA0 0
|
||||
#define PA1 1
|
||||
#define PA2 2
|
||||
#define PA3 3
|
||||
#define PA4 4
|
||||
#define PA5 5
|
||||
#define PA6 6
|
||||
#define PA7 7
|
||||
#define PA8 8
|
||||
#define PA9 9
|
||||
#define PA10 10
|
||||
#define PA11 11
|
||||
#define PA12 12
|
||||
#define PA13 13
|
||||
#define PA14 14
|
||||
#define PA15 15
|
||||
#define PB0 16
|
||||
#define PB1 17
|
||||
#define PB2 18
|
||||
#define PB3 19
|
||||
#define PB4 20
|
||||
#define PB5 21
|
||||
#define PB6 22
|
||||
#define PB7 23
|
||||
#define PB8 24
|
||||
#define PB9 25
|
||||
#define PB10 26
|
||||
#define PB11 27
|
||||
#define PB12 28
|
||||
#define PB13 29
|
||||
#define PB14 30
|
||||
#define PB15 31
|
||||
#define PC0 32
|
||||
#define PC1 33
|
||||
#define PC2 34
|
||||
#define PC3 35
|
||||
#define PC4 36
|
||||
#define PC5 37
|
||||
#define PC6 38
|
||||
#define PC7 39
|
||||
#define PC8 40
|
||||
#define PC9 41
|
||||
#define PC10 42
|
||||
#define PC11 43
|
||||
#define PC12 44
|
||||
#define PC13 45
|
||||
#define PC14 46
|
||||
#define PC15 47
|
||||
#define PD0 48
|
||||
#define PD1 49
|
||||
#define PD2 50
|
||||
#define PD3 51
|
||||
#define PD4 52
|
||||
#define PD5 53
|
||||
#define PD6 54
|
||||
#define PD7 55
|
||||
#define PD8 56
|
||||
#define PD9 57
|
||||
#define PD10 58
|
||||
#define PD11 59
|
||||
#define PD12 60
|
||||
#define PD13 61
|
||||
#define PD14 62
|
||||
#define PD15 63
|
||||
#define PE0 64
|
||||
#define PE1 65
|
||||
#define PE2 66
|
||||
#define PE3 67
|
||||
#define PE4 68
|
||||
#define PE5 69
|
||||
#define PE6 70
|
||||
#define PE7 71
|
||||
#define PE8 72
|
||||
#define PE9 73
|
||||
#define PE10 74
|
||||
#define PE11 75
|
||||
#define PE12 76
|
||||
#define PE13 77
|
||||
#define PE14 78
|
||||
#define PE15 79
|
||||
#define PF0 80
|
||||
#define PF1 81
|
||||
#define PF2 82
|
||||
#define PF3 83
|
||||
#define PF4 84
|
||||
#define PF5 85
|
||||
#define PF6 86
|
||||
#define PF7 87
|
||||
#define PF8 88
|
||||
#define PF9 89
|
||||
#define PF10 90
|
||||
#define PF11 91
|
||||
#define PF12 92
|
||||
#define PF13 93
|
||||
#define PF14 94
|
||||
#define PF15 95
|
||||
#define PG0 96
|
||||
#define PG1 97
|
||||
#define PG2 98
|
||||
#define PG3 99
|
||||
#define PG4 100
|
||||
#define PG5 101
|
||||
#define PG6 102
|
||||
#define PG7 103
|
||||
#define PG8 104
|
||||
#define PG9 105
|
||||
#define PG10 106
|
||||
#define PG11 107
|
||||
#define PG12 108
|
||||
#define PG13 109
|
||||
#define PG14 110
|
||||
#define PG15 111 */
|
||||
#endif
|
||||
|
||||
#endif // _BOARDS_GENERIC_STM32F103Z_H_
|
||||
|
|
|
@ -82,7 +82,7 @@ message("-- Running CMake version: " ${CMAKE_VERSION})
|
|||
|
||||
# Replace the CMake Ver. in the Arduino.cmake
|
||||
file(READ "${CMAKE_CURRENT_LIST_DIR}/marlin-cmake/Platform/Arduino.cmake" ORIGINAL_FILE_CONTENTS)
|
||||
string(REPLACE "cmake_minimum_required(VERSION 2.8.5)" "cmake_minimum_required(VERSION 3.5)" NEW_FILE_CONTENTS "${ORIGINAL_FILE_CONTENTS}")
|
||||
string(REGEX REPLACE "cmake_minimum_required\\(VERSION[^\n]*\n" "cmake_minimum_required(VERSION 3.5)\n" NEW_FILE_CONTENTS "${ORIGINAL_FILE_CONTENTS}")
|
||||
file(WRITE "${CMAKE_CURRENT_LIST_DIR}/marlin-cmake/Platform/Arduino.cmake" "${NEW_FILE_CONTENTS}")
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/marlin-cmake/modules)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -12,8 +12,8 @@ set -e
|
|||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_BTT_BTT002_V1_0 \
|
||||
SERIAL_PORT 1 \
|
||||
X_DRIVER_TYPE TMC2209 \
|
||||
Y_DRIVER_TYPE TMC2130
|
||||
X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2130
|
||||
opt_enable SENSORLESS_HOMING X_STALL_SENSITIVITY Y_STALL_SENSITIVITY SPI_ENDSTOPS
|
||||
exec_test $1 $2 "BigTreeTech BTT002 Default Configuration plus TMC steppers" "$3"
|
||||
|
||||
#
|
||||
|
|
|
@ -16,7 +16,8 @@ opt_set E0_AUTO_FAN_PIN PC10 E1_AUTO_FAN_PIN PC11 E2_AUTO_FAN_PIN PC12 NEOPIXEL_
|
|||
FIL_RUNOUT6_PIN 8 FIL_RUNOUT7_PIN 9 FIL_RUNOUT8_PIN 10 FIL_RUNOUT4_STATE HIGH FIL_RUNOUT8_STATE HIGH \
|
||||
FILAMENT_RUNOUT_SCRIPT '"M600 T%c"'
|
||||
opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER BLTOUCH NEOPIXEL_LED Z_SAFE_HOMING NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE \
|
||||
FILAMENT_RUNOUT_SENSOR FIL_RUNOUT4_PULLUP FIL_RUNOUT8_PULLUP FILAMENT_CHANGE_RESUME_ON_INSERT PAUSE_REHEAT_FAST_RESUME
|
||||
FILAMENT_RUNOUT_SENSOR FIL_RUNOUT4_PULLUP FIL_RUNOUT8_PULLUP FILAMENT_CHANGE_RESUME_ON_INSERT PAUSE_REHEAT_FAST_RESUME \
|
||||
LCD_BED_TRAMMING BED_TRAMMING_USE_PROBE
|
||||
exec_test $1 $2 "BigTreeTech GTR | 8 Extruders | Auto-Fan | Mixed TMC Drivers | Runout Sensors w/ distinct states" "$3"
|
||||
|
||||
restore_configs
|
||||
|
@ -25,12 +26,13 @@ opt_set MOTHERBOARD BOARD_BTT_GTR_V1_0 SERIAL_PORT -1 \
|
|||
Z_DRIVER_TYPE A4988 Z2_DRIVER_TYPE A4988 Z3_DRIVER_TYPE A4988 Z4_DRIVER_TYPE A4988 \
|
||||
DEFAULT_Kp_LIST '{ 22.2, 20.0, 21.0, 19.0, 18.0 }' DEFAULT_Ki_LIST '{ 1.08 }' DEFAULT_Kd_LIST '{ 114.0, 112.0, 110.0, 108.0 }'
|
||||
opt_enable TOOLCHANGE_FILAMENT_SWAP TOOLCHANGE_MIGRATION_FEATURE TOOLCHANGE_FS_SLOW_FIRST_PRIME TOOLCHANGE_FS_PRIME_FIRST_USED \
|
||||
PID_PARAMS_PER_HOTEND Z_MULTI_ENDSTOPS
|
||||
REPRAP_DISCOUNT_SMART_CONTROLLER PID_PARAMS_PER_HOTEND Z_MULTI_ENDSTOPS
|
||||
exec_test $1 $2 "BigTreeTech GTR | 6 Extruders | Quad Z + Endstops" "$3"
|
||||
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_BTT_GTR_V1_0 SERIAL_PORT -1 \
|
||||
EXTRUDERS 3 TEMP_SENSOR_1 1 TEMP_SENSOR_2 1 \
|
||||
SERVO1_PIN PE9 SERVO2_PIN PE11 \
|
||||
SERVO_DELAY '{ 300, 300, 300 }' \
|
||||
SWITCHING_TOOLHEAD_X_POS '{ 215, 0 ,0 }' \
|
||||
MPC_HEATER_POWER '{ 40.0f, 40.0f, 40.0f }' \
|
||||
|
@ -39,7 +41,7 @@ opt_set MOTHERBOARD BOARD_BTT_GTR_V1_0 SERIAL_PORT -1 \
|
|||
MPC_AMBIENT_XFER_COEFF '{ 0.068f, 0.068f, 0.068f }' \
|
||||
MPC_AMBIENT_XFER_COEFF_FAN255 '{ 0.097f, 0.097f, 0.097f }' \
|
||||
FILAMENT_HEAT_CAPACITY_PERMM '{ 5.6e-3f, 3.6e-3f, 5.6e-3f }'
|
||||
opt_enable SWITCHING_TOOLHEAD TOOL_SENSOR MPCTEMP MPC_EDIT_MENU MPC_AUTOTUNE_MENU
|
||||
opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SWITCHING_TOOLHEAD TOOL_SENSOR MPCTEMP MPC_EDIT_MENU MPC_AUTOTUNE_MENU
|
||||
opt_disable PIDTEMP
|
||||
exec_test $1 $2 "BigTreeTech GTR | MPC | Switching Toolhead | Tool Sensors" "$3"
|
||||
|
||||
|
|
|
@ -12,7 +12,8 @@ opt_set MOTHERBOARD BOARD_RAMPS4DUE_EFB \
|
|||
TEMP_SENSOR_0 -2 TEMP_SENSOR_BED 2 \
|
||||
GRID_MAX_POINTS_X 16 \
|
||||
E0_AUTO_FAN_PIN 8 FANMUX0_PIN 53 EXTRUDER_AUTO_FAN_SPEED 100 \
|
||||
TEMP_SENSOR_CHAMBER 3 TEMP_CHAMBER_PIN 6 HEATER_CHAMBER_PIN 45
|
||||
TEMP_SENSOR_CHAMBER 3 TEMP_CHAMBER_PIN 6 HEATER_CHAMBER_PIN 45 \
|
||||
TRAMMING_POINT_XY '{{20,20},{20,20},{20,20},{20,20},{20,20}}' TRAMMING_POINT_NAME_5 '"Point 5"'
|
||||
opt_enable S_CURVE_ACCELERATION EEPROM_SETTINGS GCODE_MACROS \
|
||||
FIX_MOUNTED_PROBE Z_SAFE_HOMING CODEPENDENT_XY_HOMING \
|
||||
ASSISTED_TRAMMING REPORT_TRAMMING_MM ASSISTED_TRAMMING_WAIT_POSITION \
|
||||
|
@ -46,6 +47,6 @@ exec_test $1 $2 "RADDS with ABL (Bilinear), Triple Z Axis, Z_STEPPER_AUTO_ALIGN,
|
|||
# Test SWITCHING_EXTRUDER
|
||||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_RAMPS4DUE_EEF LCD_LANGUAGE fi EXTRUDERS 2 NUM_SERVOS 1
|
||||
opt_set MOTHERBOARD BOARD_RAMPS4DUE_EEF LCD_LANGUAGE fi EXTRUDERS 2 TEMP_SENSOR_BED 0 NUM_SERVOS 1
|
||||
opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER BEEP_ON_FEEDRATE_CHANGE POWER_LOSS_RECOVERY
|
||||
exec_test $1 $2 "RAMPS4DUE_EEF with SWITCHING_EXTRUDER, POWER_LOSS_RECOVERY" "$3"
|
||||
|
|
|
@ -16,6 +16,7 @@ exec_test $1 $2 "Archim 1 base configuration" "$3"
|
|||
# Test Archim 2
|
||||
#
|
||||
use_example_configs UltiMachine/Archim2
|
||||
opt_enable USB_FLASH_DRIVE_SUPPORT
|
||||
exec_test $1 $2 "Archim 2 base configuration" "$3"
|
||||
|
||||
restore_configs
|
||||
|
|
|
@ -7,13 +7,20 @@
|
|||
set -e
|
||||
|
||||
#
|
||||
# Build with the default configurations
|
||||
# Build with the default config plus DGUS_LCD_UI FYSETC
|
||||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_FYSETC_F6_13 LCD_SERIAL_PORT 1
|
||||
opt_enable DGUS_LCD_UI_FYSETC
|
||||
exec_test $1 $2 "FYSETC F6 1.3 with DGUS" "$3"
|
||||
|
||||
#
|
||||
# Delta Config (FLSUN AC because it's complex)
|
||||
#
|
||||
use_example_configs delta/FLSUN/auto_calibrate
|
||||
opt_set MOTHERBOARD BOARD_FYSETC_F6_13
|
||||
exec_test $1 $2 "DELTA / FLSUN Auto-Calibrate" "$3"
|
||||
|
||||
#
|
||||
# Delta Config (generic) + UBL + ALLEN_KEY + EEPROM_SETTINGS + OLED_PANEL_TINYBOY2
|
||||
#
|
||||
|
@ -21,8 +28,8 @@ use_example_configs delta/generic
|
|||
opt_set MOTHERBOARD BOARD_FYSETC_F6_13 LCD_LANGUAGE ko_KR
|
||||
opt_enable RESTORE_LEVELING_AFTER_G28 EEPROM_SETTINGS EEPROM_CHITCHAT \
|
||||
Z_PROBE_ALLEN_KEY AUTO_BED_LEVELING_UBL UBL_MESH_WIZARD \
|
||||
OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY DELTA_CALIBRATION_MENU
|
||||
exec_test $1 $2 "DELTA, FYSETC F6 1.3, UBL, Allen Key, EEPROM, OLED_PANEL_TINYBOY2..." "$3"
|
||||
OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY DELTA_CALIBRATION_MENU BABYSTEPPING
|
||||
exec_test $1 $2 "DELTA | UBL | Allen Key | EEPROM | OLED_PANEL_TINYBOY2..." "$3"
|
||||
|
||||
#
|
||||
# Test mixed TMC config
|
||||
|
|
|
@ -14,11 +14,14 @@ opt_set Y_DRIVER_TYPE TMC2209 Z_DRIVER_TYPE TMC2130
|
|||
exec_test $1 $2 "FYSETC S6 Example" "$3"
|
||||
|
||||
#
|
||||
# Build with the default configurations with FYSETC TFT81050
|
||||
# Build with FTDI Eve Touch UI and some features
|
||||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_FYSETC_S6_V2_0 SERIAL_PORT 1
|
||||
opt_enable TOUCH_UI_FTDI_EVE LCD_FYSETC_TFT81050 S6_TFT_PINMAP
|
||||
opt_set MOTHERBOARD BOARD_FYSETC_S6_V2_0 SERIAL_PORT 1 X_DRIVER_TYPE TMC2130
|
||||
opt_enable TOUCH_UI_FTDI_EVE LCD_FYSETC_TFT81050 S6_TFT_PINMAP LCD_LANGUAGE_2 SDSUPPORT CUSTOM_MENU_MAIN \
|
||||
FIX_MOUNTED_PROBE AUTO_BED_LEVELING_UBL Z_SAFE_HOMING \
|
||||
EEPROM_SETTINGS PRINTCOUNTER CALIBRATION_GCODE LIN_ADVANCE \
|
||||
FILAMENT_RUNOUT_SENSOR ADVANCED_PAUSE_FEATURE NOZZLE_PARK_FEATURE
|
||||
exec_test $1 $2 "FYSETC S6 2 with LCD FYSETC TFT81050" "$3"
|
||||
|
||||
# cleanup
|
||||
|
|
|
@ -27,14 +27,14 @@ exec_test $1 $2 "ReARM EFB VIKI2, SDSUPPORT, 2 Serial ports (USB CDC + UART0), N
|
|||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_MKS_SBASE \
|
||||
EXTRUDERS 2 TEMP_SENSOR_1 1 \
|
||||
NUM_SERVOS 2 SERVO_DELAY '{ 300, 300 }'
|
||||
NUM_SERVOS 2 SERVO_DELAY '{ 300, 300 }' SWITCHING_NOZZLE_SERVO_ANGLES '{ { 0, 90 }, { 90, 0 } }'
|
||||
opt_enable SWITCHING_NOZZLE SWITCHING_NOZZLE_E1_SERVO_NR EDITABLE_SERVO_ANGLES SERVO_DETACH_GCODE \
|
||||
ULTIMAKERCONTROLLER REALTIME_REPORTING_COMMANDS FULL_REPORT_TO_HOST_FEATURE
|
||||
exec_test $1 $2 "MKS SBASE with SWITCHING_NOZZLE, Grbl Realtime Report" "$3"
|
||||
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_RAMPS_14_RE_ARM_EEB \
|
||||
EXTRUDERS 2 TEMP_SENSOR_1 -1 TEMP_SENSOR_BED 5 \
|
||||
EXTRUDERS 2 TEMP_SENSOR_1 -4 TEMP_SENSOR_BED 5 \
|
||||
GRID_MAX_POINTS_X 16 \
|
||||
NOZZLE_TO_PROBE_OFFSET '{ 0, 0, 0 }' \
|
||||
NOZZLE_CLEAN_MIN_TEMP 170 \
|
||||
|
@ -47,7 +47,7 @@ opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER ADAPTIVE_FAN_SLOWING NO
|
|||
BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY \
|
||||
PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT \
|
||||
Z_SAFE_HOMING ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE \
|
||||
HOST_KEEPALIVE_FEATURE HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT \
|
||||
HOST_KEEPALIVE_FEATURE HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT HOST_STATUS_NOTIFICATIONS \
|
||||
LCD_INFO_MENU ARC_SUPPORT BEZIER_CURVE_SUPPORT EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES \
|
||||
SDSUPPORT SDCARD_SORT_ALPHA AUTO_REPORT_SD_STATUS EMERGENCY_PARSER SOFT_RESET_ON_KILL SOFT_RESET_VIA_SERIAL
|
||||
exec_test $1 $2 "Re-ARM with NOZZLE_AS_PROBE and many features." "$3"
|
||||
|
|
|
@ -14,7 +14,7 @@ exec_test $1 $2 "Azteeg X5GT Example Configuration" "$3"
|
|||
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_SMOOTHIEBOARD \
|
||||
EXTRUDERS 2 TEMP_SENSOR_0 -5 TEMP_SENSOR_1 -1 TEMP_SENSOR_BED 5 TEMP_0_CS_PIN P1_29 \
|
||||
EXTRUDERS 2 TEMP_SENSOR_0 -5 TEMP_SENSOR_1 -4 TEMP_SENSOR_BED 5 TEMP_0_CS_PIN P1_29 \
|
||||
GRID_MAX_POINTS_X 16 \
|
||||
NOZZLE_CLEAN_START_POINT "{ { 10, 10, 3 }, { 10, 10, 3 } }" \
|
||||
NOZZLE_CLEAN_END_POINT "{ { 10, 20, 3 }, { 10, 20, 3 } }"
|
||||
|
@ -43,6 +43,7 @@ exec_test $1 $2 "Smoothieboard with TFTGLCD_PANEL_SPI and many features" "$3"
|
|||
restore_configs
|
||||
use_example_configs delta/generic
|
||||
opt_set MOTHERBOARD BOARD_COHESION3D_REMIX \
|
||||
TEMP_SENSOR_0 1 \
|
||||
X_DRIVER_TYPE TMC2130 Y_DRIVER_TYPE TMC2130 Z_DRIVER_TYPE TMC2130 I_DRIVER_TYPE TB6560 \
|
||||
DEFAULT_AXIS_STEPS_PER_UNIT '{ 80, 80, 400, 500, 80 }' \
|
||||
DEFAULT_MAX_FEEDRATE '{ 300, 300, 5, 25, 300 }' \
|
||||
|
|
|
@ -11,7 +11,7 @@ set -e
|
|||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_NUCLEO_F767ZI SERIAL_PORT -1 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2208
|
||||
opt_enable BLTOUCH Z_SAFE_HOMING SPEAKER SOFTWARE_DRIVER_ENABLE
|
||||
opt_enable BLTOUCH Z_SAFE_HOMING REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SPEAKER SOFTWARE_DRIVER_ENABLE
|
||||
exec_test $1 $2 "Mixed timer usage" "$3"
|
||||
|
||||
# clean up
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
set -e
|
||||
|
||||
use_example_configs Opulo/Lumen_REV3
|
||||
opt_disable TMC_DEBUG
|
||||
exec_test $1 $2 "Opulo Lumen REV3 Pick-and-Place" "$3"
|
||||
|
||||
# cleanup
|
||||
|
|
|
@ -25,8 +25,7 @@ opt_enable ENDSTOP_INTERRUPTS_FEATURE BLTOUCH Z_MIN_PROBE_REPEATABILITY_TEST \
|
|||
LONG_FILENAME_HOST_SUPPORT CUSTOM_FIRMWARE_UPLOAD M20_TIMESTAMP_SUPPORT \
|
||||
SCROLL_LONG_FILENAMES BABYSTEPPING DOUBLECLICK_FOR_Z_BABYSTEPPING \
|
||||
MOVE_Z_WHEN_IDLE BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY \
|
||||
LIN_ADVANCE ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE MONITOR_DRIVER_STATUS SENSORLESS_HOMING \
|
||||
SQUARE_WAVE_STEPPING EXPERIMENTAL_SCURVE
|
||||
LIN_ADVANCE ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE MONITOR_DRIVER_STATUS
|
||||
exec_test $1 $2 "Minitronics 2.0 with assorted features" "$3"
|
||||
|
||||
# clean up
|
||||
|
|
|
@ -25,8 +25,9 @@ opt_enable ENDSTOP_INTERRUPTS_FEATURE S_CURVE_ACCELERATION BLTOUCH Z_MIN_PROBE_R
|
|||
LONG_FILENAME_HOST_SUPPORT CUSTOM_FIRMWARE_UPLOAD M20_TIMESTAMP_SUPPORT \
|
||||
SCROLL_LONG_FILENAMES BABYSTEPPING DOUBLECLICK_FOR_Z_BABYSTEPPING \
|
||||
MOVE_Z_WHEN_IDLE BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY \
|
||||
LIN_ADVANCE ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE MONITOR_DRIVER_STATUS SENSORLESS_HOMING \
|
||||
SQUARE_WAVE_STEPPING TMC_DEBUG EXPERIMENTAL_SCURVE
|
||||
LIN_ADVANCE ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE MONITOR_DRIVER_STATUS \
|
||||
SENSORLESS_HOMING X_STALL_SENSITIVITY Y_STALL_SENSITIVITY Z_STALL_SENSITIVITY Z2_STALL_SENSITIVITY \
|
||||
SQUARE_WAVE_STEPPING TMC_DEBUG
|
||||
exec_test $1 $2 "Grand Central M4 with assorted features" "$3"
|
||||
|
||||
# clean up
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build tests for STM32F103RC BigTreeTech (SKR Mini E3)
|
||||
# Build tests for STM32F103RC_btt (BigTreeTech SKR Mini E3)
|
||||
#
|
||||
|
||||
# exit on first failure
|
||||
|
@ -12,8 +12,8 @@ set -e
|
|||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V1_0 SERIAL_PORT 1 SERIAL_PORT_2 -1 \
|
||||
X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 Z_DRIVER_TYPE TMC2209 E0_DRIVER_TYPE TMC2209
|
||||
opt_enable PINS_DEBUGGING Z_IDLE_HEIGHT
|
||||
exec_test $1 $2 "BigTreeTech SKR Mini E3 1.0 - Basic Config with TMC2209 HW Serial" "$3"
|
||||
opt_enable CR10_STOCKDISPLAY PINS_DEBUGGING Z_IDLE_HEIGHT ADAPTIVE_STEP_SMOOTHING
|
||||
exec_test $1 $2 "BigTreeTech SKR Mini E3 1.0 - TMC2209 HW Serial" "$3"
|
||||
|
||||
# clean up
|
||||
restore_configs
|
||||
|
|
|
@ -11,12 +11,12 @@ set -e
|
|||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_STM32F103RE SERIAL_PORT -1 EXTRUDERS 2 \
|
||||
NOZZLE_CLEAN_START_POINT "{ { 10, 10, 3 }, { 10, 10, 3 } }" \
|
||||
NOZZLE_CLEAN_END_POINT "{ { 10, 20, 3 }, { 10, 20, 3 } }"
|
||||
opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT \
|
||||
NOZZLE_CLEAN_START_POINT "{ { 10, 10, 3 } }" \
|
||||
NOZZLE_CLEAN_END_POINT "{ { 10, 20, 3 } }"
|
||||
opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT SDSUPPORT \
|
||||
PAREN_COMMENTS GCODE_MOTION_MODES SINGLENOZZLE TOOLCHANGE_FILAMENT_SWAP TOOLCHANGE_PARK \
|
||||
BAUD_RATE_GCODE GCODE_MACROS NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE
|
||||
exec_test $1 $2 "STM32F1R EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT PAREN_COMMENTS GCODE_MOTION_MODES" "$3"
|
||||
exec_test $1 $2 "STM32F1R EEPROM_SETTINGS EEPROM_CHITCHAT SDSUPPORT PAREN_COMMENTS GCODE_MOTION_MODES" "$3"
|
||||
|
||||
# cleanup
|
||||
restore_configs
|
||||
|
|
|
@ -11,11 +11,12 @@ set -e
|
|||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_BTT_SKR_E3_DIP SERIAL_PORT 1 SERIAL_PORT_2 -1
|
||||
opt_enable SDSUPPORT EMERGENCY_PARSER
|
||||
exec_test $1 $2 "BigTreeTech SKR E3 DIP v1.0 - Basic Configuration" "$3"
|
||||
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_BTT_SKR_CR6 SERIAL_PORT -1 SERIAL_PORT_2 2 TEMP_SENSOR_BED 1
|
||||
opt_enable CR10_STOCKDISPLAY FAN_SOFT_PWM \
|
||||
opt_enable CR10_STOCKDISPLAY SDSUPPORT EMERGENCY_PARSER FAN_SOFT_PWM \
|
||||
NOZZLE_AS_PROBE Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN Z_SAFE_HOMING \
|
||||
PROBE_ACTIVATION_SWITCH PROBE_TARE PROBE_TARE_ONLY_WHILE_INACTIVE \
|
||||
PROBING_HEATERS_OFF PREHEAT_BEFORE_PROBING
|
||||
|
|
|
@ -11,21 +11,26 @@ set -e
|
|||
#
|
||||
use_example_configs "Creality/Ender-3 V2/CrealityV422/CrealityUI"
|
||||
opt_enable MARLIN_DEV_MODE BUFFER_MONITORING BLTOUCH AUTO_BED_LEVELING_BILINEAR Z_SAFE_HOMING
|
||||
exec_test $1 $2 "Ender-3 v2 with CrealityUI" "$3"
|
||||
exec_test $1 $2 "Ender-3 V2 - CrealityUI" "$3"
|
||||
|
||||
use_example_configs "Creality/Ender-3 V2/CrealityV422/CrealityUI"
|
||||
opt_disable DWIN_CREALITY_LCD
|
||||
opt_enable DWIN_CREALITY_LCD_JYERSUI AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY
|
||||
exec_test $1 $2 "Ender-3 v2 with JyersUI" "$3"
|
||||
exec_test $1 $2 "Ender-3 V2 - JyersUI (ABL Bilinear/Manual)" "$3"
|
||||
|
||||
use_example_configs "Creality/Ender-3 V2/CrealityV422/CrealityUI"
|
||||
opt_disable DWIN_CREALITY_LCD PIDTEMP
|
||||
opt_enable DWIN_MARLINUI_LANDSCAPE AUTO_BED_LEVELING_UBL BLTOUCH Z_SAFE_HOMING MPCTEMP
|
||||
exec_test $1 $2 "Ender-3 V2 - MarlinUI (UBL+BLTOUCH, MPCTEMP)" "$3"
|
||||
|
||||
use_example_configs "Creality/Ender-3 S1/STM32F1"
|
||||
opt_disable DWIN_CREALITY_LCD Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN AUTO_BED_LEVELING_BILINEAR CANCEL_OBJECTS FWRETRACT
|
||||
opt_disable DWIN_CREALITY_LCD Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN AUTO_BED_LEVELING_BILINEAR CANCEL_OBJECTS FWRETRACT EVENT_GCODE_SD_ABORT
|
||||
opt_enable DWIN_LCD_PROUI INDIVIDUAL_AXIS_HOMING_SUBMENU SET_PROGRESS_MANUALLY SET_PROGRESS_PERCENT STATUS_MESSAGE_SCROLLING \
|
||||
SOUND_MENU_ITEM PRINTCOUNTER NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE FILAMENT_RUNOUT_SENSOR \
|
||||
BLTOUCH Z_SAFE_HOMING AUTO_BED_LEVELING_UBL MESH_EDIT_MENU \
|
||||
LIMITED_MAX_FR_EDITING LIMITED_MAX_ACCEL_EDITING LIMITED_JERK_EDITING BAUD_RATE_GCODE
|
||||
opt_set PREHEAT_3_LABEL '"CUSTOM"' PREHEAT_3_TEMP_HOTEND 240 PREHEAT_3_TEMP_BED 60 PREHEAT_3_FAN_SPEED 128
|
||||
exec_test $1 $2 "Ender-3 S1 with ProUI" "$3"
|
||||
opt_set PREHEAT_3_LABEL '"CUSTOM"' PREHEAT_3_TEMP_HOTEND 240 PREHEAT_3_TEMP_BED 60 PREHEAT_3_FAN_SPEED 128 BOOTSCREEN_TIMEOUT 1100
|
||||
exec_test $1 $2 "Ender-3 S1 - ProUI (PIDTEMP)" "$3"
|
||||
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_CREALITY_V452 SERIAL_PORT 1
|
||||
|
@ -34,12 +39,5 @@ opt_enable NOZZLE_AS_PROBE Z_SAFE_HOMING Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN FAN_
|
|||
PROBE_ACTIVATION_SWITCH PROBE_TARE PROBE_TARE_ONLY_WHILE_INACTIVE
|
||||
exec_test $1 $2 "Creality V4.5.2 PROBE_ACTIVATION_SWITCH, Probe Tare" "$3"
|
||||
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_CREALITY_V422 SERIAL_PORT 1 DGUS_LCD_UI IA_CREALITY
|
||||
opt_enable NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE LCD_BED_TRAMMING CLASSIC_JERK BABYSTEPPING \
|
||||
AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY FAN_SOFT_PWM
|
||||
opt_add NO_CREALITY_422_DRIVER_WARNING NO_AUTO_ASSIGN_WARNING
|
||||
exec_test $1 $2 "Creality V4.2.2 with IA_CREALITY" "$3"
|
||||
|
||||
# clean up
|
||||
restore_configs
|
||||
|
|
|
@ -8,16 +8,16 @@ set -e
|
|||
|
||||
use_example_configs Alfawise/U20
|
||||
opt_enable BAUD_RATE_GCODE
|
||||
exec_test $1 $2 "maple CLASSIC_UI U20 config" "$3"
|
||||
exec_test $1 $2 "Maple - Alfawise U20 - CLASSIC_UI" "$3"
|
||||
|
||||
use_example_configs Alfawise/U20
|
||||
opt_enable BAUD_RATE_GCODE TFT_COLOR_UI
|
||||
opt_disable TFT_CLASSIC_UI CUSTOM_STATUS_SCREEN_IMAGE
|
||||
exec_test $1 $2 "maple COLOR_UI U20 config" "$3"
|
||||
exec_test $1 $2 "Maple - Alfawise U20 - COLOR_UI" "$3"
|
||||
|
||||
use_example_configs Alfawise/U20-bltouch
|
||||
opt_enable BAUD_RATE_GCODE
|
||||
exec_test $1 $2 "maple BLTouch U20 config"
|
||||
exec_test $1 $2 "Maple - Alfawise U20 - BLTouch"
|
||||
|
||||
# cleanup
|
||||
restore_configs
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
set -e
|
||||
|
||||
use_example_configs "Creality/Ender-3 V2/CrealityV422/MarlinUI"
|
||||
opt_add SDCARD_EEPROM_EMULATION AUTO_BED_LEVELING_BILINEAR Z_SAFE_HOMING
|
||||
opt_enable AUTO_BED_LEVELING_BILINEAR Z_SAFE_HOMING
|
||||
opt_set MOTHERBOARD BOARD_CREALITY_V24S1_301F4
|
||||
opt_add SDCARD_EEPROM_EMULATION
|
||||
exec_test $1 $2 "Ender-3 v2 with MarlinUI" "$3"
|
||||
|
||||
# clean up
|
||||
|
|
16
buildroot/tests/STM32G0B1RE_btt
Executable file
16
buildroot/tests/STM32G0B1RE_btt
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build tests for STM32G0B1RE_btt / Ender-3 with SKR Mini E3 V3.0 (STM32G0)
|
||||
#
|
||||
|
||||
# exit on first failure
|
||||
set -e
|
||||
|
||||
#
|
||||
# Build with the default configurations
|
||||
#
|
||||
use_example_configs "Creality/Ender-3/BigTreeTech SKR Mini E3 3.0"
|
||||
exec_test $1 $2 "Creality/Ender-3/BigTreeTech SKR Mini E3 3.0" "$3"
|
||||
|
||||
# clean up
|
||||
restore_configs
|
17
buildroot/tests/STM32H743VI_btt
Executable file
17
buildroot/tests/STM32H743VI_btt
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build tests for STM32H743VI_btt
|
||||
# Ender-5 Plus with SKR V3.0 (STM32H7)
|
||||
#
|
||||
|
||||
# exit on first failure
|
||||
set -e
|
||||
|
||||
#
|
||||
# Build with the default configurations
|
||||
#
|
||||
use_example_configs "Creality/Ender-5 Plus/BigTreeTech SKR 3"
|
||||
exec_test $1 $2 "Creality Ender-5 Plus with BigTreeTech SKR 3" "$3"
|
||||
|
||||
# clean up
|
||||
restore_configs
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build tests for AT90USB1286 ARMED
|
||||
# Build tests for AT90USB1286 (CDC)
|
||||
#
|
||||
|
||||
# exit on first failure
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build tests for AT90USB1286 ARMED
|
||||
# Build tests for AT90USB1286 (DFU)
|
||||
#
|
||||
|
||||
# exit on first failure
|
||||
|
|
|
@ -12,8 +12,8 @@ set -e
|
|||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_ESPRESSIF_ESP32 TX_BUFFER_SIZE 64 \
|
||||
WIFI_SSID '"ssid"' WIFI_PWD '"password"'
|
||||
opt_enable WIFISUPPORT WEBSUPPORT GCODE_MACROS BAUD_RATE_GCODE M115_GEOMETRY_REPORT REPETIER_GCODE_M360
|
||||
exec_test $1 $2 "ESP32 with WIFISUPPORT and WEBSUPPORT" "$3"
|
||||
opt_enable WIFISUPPORT WEBSUPPORT OTASUPPORT GCODE_MACROS BAUD_RATE_GCODE M115_GEOMETRY_REPORT REPETIER_GCODE_M360
|
||||
exec_test $1 $2 "ESP32 with WIFISUPPORT and WEBSUPPORT and OTASUPPORT" "$3"
|
||||
|
||||
#
|
||||
# Build with TMC drivers using hardware serial
|
||||
|
|
|
@ -41,6 +41,7 @@ opt_set MOTHERBOARD BOARD_ZRIB_V52 \
|
|||
LCD_LANGUAGE pt REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 \
|
||||
EXTRUDERS 2 TEMP_SENSOR_1 1 X2_DRIVER_TYPE A4988
|
||||
opt_enable USE_XMAX_PLUG DUAL_X_CARRIAGE REPRAPWORLD_KEYPAD
|
||||
opt_add DEBUG_DXC_MODE
|
||||
exec_test $1 $2 "ZRIB_V52 | DUAL_X_CARRIAGE" "$3"
|
||||
|
||||
#
|
||||
|
|
|
@ -30,9 +30,10 @@ opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 DEBUG_LEVELING_FEATU
|
|||
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER LIGHTWEIGHT_UI STATUS_MESSAGE_SCROLLING SHOW_CUSTOM_BOOTSCREEN BOOT_MARLIN_LOGO_SMALL \
|
||||
SDSUPPORT SDCARD_SORT_ALPHA USB_FLASH_DRIVE_SUPPORT AUTO_REPORT_SD_STATUS SCROLL_LONG_FILENAMES MEDIA_MENU_AT_TOP \
|
||||
EEPROM_SETTINGS EEPROM_CHITCHAT GCODE_MACROS CUSTOM_MENU_MAIN FREEZE_FEATURE CANCEL_OBJECTS SOUND_MENU_ITEM \
|
||||
MULTI_NOZZLE_DUPLICATION CLASSIC_JERK LIN_ADVANCE ADVANCE_K_EXTRA QUICK_HOME \
|
||||
EMERGENCY_PARSER MULTI_NOZZLE_DUPLICATION CLASSIC_JERK LIN_ADVANCE ADVANCE_K_EXTRA QUICK_HOME \
|
||||
SET_PROGRESS_MANUALLY SET_PROGRESS_PERCENT PRINT_PROGRESS_SHOW_DECIMALS SHOW_REMAINING_TIME \
|
||||
ENCODER_NOISE_FILTER BABYSTEPPING BABYSTEP_XY NANODLP_Z_SYNC I2C_POSITION_ENCODERS M114_DETAIL
|
||||
opt_disable ENCODER_RATE_MULTIPLIER
|
||||
exec_test $1 $2 "Azteeg X3 Pro | EXTRUDERS 5 | RRDFGSC | UBL | LIN_ADVANCE ..." "$3"
|
||||
|
||||
#
|
||||
|
@ -53,14 +54,13 @@ opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER LIGHTWEIGHT_UI SHOW_CUS
|
|||
opt_disable SEGMENT_LEVELED_MOVES
|
||||
exec_test $1 $2 "Azteeg X3 Pro | EXTRUDERS 5 | RRDFGSC | UBL | LIN_ADVANCE | Sled Probe | Skew | JP-Kana | Babystep offsets ..." "$3"
|
||||
|
||||
|
||||
#
|
||||
# 5 runout sensors with distinct states
|
||||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO NUM_SERVOS 1 \
|
||||
EXTRUDERS 5 TEMP_SENSOR_1 1 TEMP_SENSOR_2 1 TEMP_SENSOR_3 1 TEMP_SENSOR_4 1 \
|
||||
NUM_RUNOUT_SENSORS 5 FIL_RUNOUT2_PIN 44 FIL_RUNOUT3_PIN 45 FIL_RUNOUT4_PIN 46 FIL_RUNOUT5_PIN 47 \
|
||||
EXTRUDERS 4 TEMP_SENSOR_1 1 TEMP_SENSOR_2 1 TEMP_SENSOR_3 1 TEMP_SENSOR_4 1 FAN_KICKSTART_TIME 500 \
|
||||
NUM_RUNOUT_SENSORS 4 FIL_RUNOUT2_PIN 44 FIL_RUNOUT3_PIN 45 FIL_RUNOUT4_PIN 46 FIL_RUNOUT5_PIN 47 \
|
||||
FIL_RUNOUT3_STATE HIGH FILAMENT_RUNOUT_SCRIPT '"M600 T%c"'
|
||||
opt_enable VIKI2 BOOT_MARLIN_LOGO_ANIMATED SDSUPPORT AUTO_REPORT_SD_STATUS \
|
||||
Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE \
|
||||
|
@ -68,21 +68,21 @@ opt_enable VIKI2 BOOT_MARLIN_LOGO_ANIMATED SDSUPPORT AUTO_REPORT_SD_STATUS \
|
|||
NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET JOYSTICK \
|
||||
DIRECT_STEPPING DETECT_BROKEN_ENDSTOP \
|
||||
FILAMENT_RUNOUT_SENSOR NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE Z_SAFE_HOMING FIL_RUNOUT3_PULLUP
|
||||
exec_test $1 $2 "Multiple runout sensors (x5) | Distinct runout states" "$3"
|
||||
exec_test $1 $2 "Azteeg X3 Pro | EXTRUDERS 4 | VIKI2 | Servo Probe | Multiple runout sensors (x4)" "$3"
|
||||
|
||||
|
||||
#
|
||||
# Mixing Extruder with 5 steppers, Greek
|
||||
# Mixing Extruder with 5 steppers, Russian
|
||||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO MIXING_STEPPERS 5 LCD_LANGUAGE ru \
|
||||
NUM_RUNOUT_SENSORS E_STEPPERS REDUNDANT_PART_COOLING_FAN 1 \
|
||||
NUM_RUNOUT_SENSORS E_STEPPERS TEMP_SENSOR_BED 0 REDUNDANT_PART_COOLING_FAN 1 \
|
||||
FIL_RUNOUT2_PIN 16 FIL_RUNOUT3_PIN 17 FIL_RUNOUT4_PIN 4 FIL_RUNOUT5_PIN 5
|
||||
opt_enable MIXING_EXTRUDER GRADIENT_MIX GRADIENT_VTOOL CR10_STOCKDISPLAY \
|
||||
USE_CONTROLLER_FAN CONTROLLER_FAN_EDITABLE CONTROLLER_FAN_IGNORE_Z \
|
||||
FILAMENT_RUNOUT_SENSOR ADVANCED_PAUSE_FEATURE NOZZLE_PARK_FEATURE INPUT_SHAPING_X INPUT_SHAPING_Y
|
||||
opt_disable DISABLE_OTHER_EXTRUDERS
|
||||
exec_test $1 $2 "Azteeg X3 | Mixing Extruder (x5) | Gradient Mix | Input Shaping | Greek" "$3"
|
||||
exec_test $1 $2 "Azteeg X3 | Mixing Extruder (x5) | Gradient Mix | Input Shaping | Russian" "$3"
|
||||
|
||||
#
|
||||
# Test SPEAKER with BOARD_BQ_ZUM_MEGA_3D and BQ_LCD_SMART_CONTROLLER
|
||||
|
@ -126,7 +126,7 @@ exec_test $1 $2 "Azteeg X3 | Mixing Extruder (x5) | Gradient Mix | Input Shaping
|
|||
#opt_set MOTHERBOARD BOARD_RIGIDBOARD_V2
|
||||
#opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT
|
||||
#exec_test $1 $2 "Stuff" "$3"
|
||||
# #
|
||||
#
|
||||
# G3D_PANEL with SDCARD_SORT_ALPHA and STATUS_MESSAGE_SCROLLING
|
||||
#
|
||||
#restore_configs
|
||||
|
@ -177,9 +177,9 @@ exec_test $1 $2 "Azteeg X3 | Mixing Extruder (x5) | Gradient Mix | Input Shaping
|
|||
#opt_enable LCM1602
|
||||
#exec_test $1 $2 "Stuff" "$3"
|
||||
|
||||
# #
|
||||
# # Test Laser features with 12864 LCD
|
||||
# #
|
||||
#
|
||||
# Test Laser features with 12864 LCD
|
||||
#
|
||||
# restore_configs
|
||||
# opt_set MOTHERBOARD BOARD_RAMPS_14_EFB EXTRUDERS 0 LCD_LANGUAGE en TEMP_SENSOR_COOLER 1 TEMP_SENSOR_1 0 SERIAL_PORT_2 2 \
|
||||
# DEFAULT_AXIS_STEPS_PER_UNIT '{ 80, 80, 400 }' \
|
||||
|
@ -191,9 +191,9 @@ exec_test $1 $2 "Azteeg X3 | Mixing Extruder (x5) | Gradient Mix | Input Shaping
|
|||
# LASER_FEATURE LASER_SAFETY_TIMEOUT_MS LASER_COOLANT_FLOW_METER AIR_EVACUATION AIR_EVACUATION_PIN AIR_ASSIST AIR_ASSIST_PIN LASER_SYNCHRONOUS_M106_M107
|
||||
# exec_test $1 $2 "MEGA2560 RAMPS | Laser Options | 12864 | Meatpack | Fan Sync | SERIAL_PORT_2 " "$3"
|
||||
|
||||
# #
|
||||
# # Test Laser features with 44780 LCD
|
||||
# #
|
||||
#
|
||||
# Test Laser features with 44780 LCD
|
||||
#
|
||||
# restore_configs
|
||||
# opt_set MOTHERBOARD BOARD_RAMPS_14_EFB EXTRUDERS 0 LCD_LANGUAGE en TEMP_SENSOR_COOLER 1 TEMP_SENSOR_1 0 \
|
||||
# DEFAULT_AXIS_STEPS_PER_UNIT '{ 80, 80, 400 }' \
|
||||
|
@ -205,9 +205,9 @@ exec_test $1 $2 "Azteeg X3 | Mixing Extruder (x5) | Gradient Mix | Input Shaping
|
|||
# LASER_FEATURE LASER_SAFETY_TIMEOUT_MS LASER_COOLANT_FLOW_METER AIR_EVACUATION AIR_EVACUATION_PIN AIR_ASSIST AIR_ASSIST_PIN
|
||||
# exec_test $1 $2 "MEGA2560 RAMPS | Laser Feature | Air Evacuation | Air Assist | Cooler | Laser Safety Timeout | Flowmeter | 44780 LCD " "$3"
|
||||
|
||||
# #
|
||||
# # Test redundant temperature sensors + MAX TC + Backlight Timeout
|
||||
# #
|
||||
#
|
||||
# Test redundant temperature sensors + MAX TC + Backlight Timeout
|
||||
#
|
||||
# restore_configs
|
||||
# opt_set MOTHERBOARD BOARD_RAMPS_14_EFB EXTRUDERS 1 \
|
||||
# TEMP_SENSOR_0 -2 TEMP_SENSOR_REDUNDANT -2 \
|
||||
|
@ -218,9 +218,9 @@ exec_test $1 $2 "Azteeg X3 | Mixing Extruder (x5) | Gradient Mix | Input Shaping
|
|||
# opt_disable PIDTEMP
|
||||
# exec_test $1 $2 "MEGA2560 RAMPS | Redundant temperature sensor | 2x MAX6675 | BL Timeout" "$3"
|
||||
|
||||
# #
|
||||
# # Polargraph Config
|
||||
# #
|
||||
#
|
||||
# Polargraph Config
|
||||
#
|
||||
# use_example_configs Polargraph
|
||||
# exec_test $1 $2 "RUMBA | POLARGRAPH | RRD LCD" "$3"
|
||||
|
||||
|
|
|
@ -40,11 +40,10 @@ exec_test $1 $2 "MKS Robin v2 nano LVGL SPI w/ WiFi" "$3"
|
|||
# (Robin v2 nano has no FSMC interface)
|
||||
#
|
||||
use_example_configs Mks/Robin
|
||||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2
|
||||
opt_disable TFT_INTERFACE_FSMC TFT_RES_320x240
|
||||
opt_enable TFT_INTERFACE_SPI TFT_RES_480x320
|
||||
opt_enable BINARY_FILE_TRANSFER
|
||||
exec_test $1 $2 "MKS Robin v2 nano New Color UI 480x320 SPI + BINARY_FILE_TRANSFER" "$3"
|
||||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 TFT_ROTATION TFT_ROTATE_90
|
||||
opt_disable TFT_INTERFACE_FSMC
|
||||
opt_enable TFT_INTERFACE_SPI BINARY_FILE_TRANSFER
|
||||
exec_test $1 $2 "MKS Robin v2 nano New Color UI 240x320 SPI + BINARY_FILE_TRANSFER" "$3"
|
||||
|
||||
#
|
||||
# MKS Robin v2 nano LVGL SPI + TMC
|
||||
|
|
20
buildroot/tests/mks_robin_pro2
Executable file
20
buildroot/tests/mks_robin_pro2
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build tests for mks_robin_pro2 (STM32F407VE)
|
||||
#
|
||||
|
||||
# exit on first failure
|
||||
set -e
|
||||
|
||||
#
|
||||
# Robin Pro v2 with LVGL TFT
|
||||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_PRO_V2 SERIAL_PORT 1
|
||||
opt_enable SDSUPPORT USB_FLASH_DRIVE_SUPPORT USE_OTG_USB_HOST MULTI_VOLUME \
|
||||
TFT_GENERIC TFT_INTERFACE_SPI TFT_RES_480x320 TFT_LVGL_UI TOUCH_SCREEN \
|
||||
BLTOUCH Z_SAFE_HOMING LCD_BED_TRAMMING BED_TRAMMING_USE_PROBE
|
||||
exec_test $1 $2 "MKS Robin Pro v2 | TFT_LVGL_UI | SD/FD Multi-Volume" "$3"
|
||||
|
||||
# cleanup
|
||||
restore_configs
|
|
@ -10,11 +10,9 @@ set -e
|
|||
# Build with ESP3D WiFi, OTA and custom WIFI commands support
|
||||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_MKS_TINYBEE TX_BUFFER_SIZE 64 \
|
||||
WIFI_SSID '"ssid"' WIFI_PWD '"password"' \
|
||||
SERIAL_PORT_2 -1 BAUDRATE_2 250000
|
||||
opt_enable ESP3D_WIFISUPPORT WEBSUPPORT OTASUPPORT WIFI_CUSTOM_COMMAND
|
||||
exec_test $1 "$2" "MKS TinyBee with ESP3D_WIFISUPPORT" "$3"
|
||||
opt_set MOTHERBOARD BOARD_MKS_TINYBEE TX_BUFFER_SIZE 64 SERIAL_PORT_2 -1 BAUDRATE_2 250000
|
||||
opt_enable ESP3D_WIFISUPPORT
|
||||
exec_test $1 $2 "MKS TinyBee with ESP3D_WIFISUPPORT" "$3"
|
||||
|
||||
#
|
||||
# Build with LCD, SD support and Speaker support
|
||||
|
@ -25,8 +23,8 @@ opt_set MOTHERBOARD BOARD_MKS_TINYBEE \
|
|||
LCD_INFO_SCREEN_STYLE 0 \
|
||||
DISPLAY_CHARSET_HD44780 WESTERN \
|
||||
NEOPIXEL_TYPE NEO_RGB
|
||||
opt_enable FYSETC_MINI_12864_2_1 SDSUPPORT
|
||||
opt_enable LED_CONTROL_MENU LED_USER_PRESET_STARTUP LED_COLOR_PRESETS NEOPIXEL_LED
|
||||
opt_enable FYSETC_MINI_12864_2_1 SDSUPPORT NO_SD_AUTOSTART \
|
||||
NEOPIXEL_LED LED_CONTROL_MENU LED_USER_PRESET_STARTUP LED_COLOR_PRESETS
|
||||
exec_test $1 $2 "MKS TinyBee with NeoPixel LCD, SD and Speaker" "$3"
|
||||
|
||||
# cleanup
|
||||
|
|
|
@ -35,7 +35,7 @@ opt_enable USE_ZMAX_PLUG REPRAP_DISCOUNT_SMART_CONTROLLER LCD_PROGRESS_BAR LCD_P
|
|||
PSU_CONTROL LED_POWEROFF_TIMEOUT PS_OFF_CONFIRM PS_OFF_SOUND POWER_OFF_WAIT_FOR_COOLDOWN \
|
||||
POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE POWER_LOSS_RECOVER_ZHOME POWER_LOSS_ZHOME_POS \
|
||||
SLOW_PWM_HEATERS THERMAL_PROTECTION_CHAMBER LIN_ADVANCE ADVANCE_K_EXTRA \
|
||||
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT PINS_DEBUGGING MAX7219_DEBUG M114_DETAIL
|
||||
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT HOST_STATUS_NOTIFICATIONS PINS_DEBUGGING MAX7219_DEBUG M114_DETAIL
|
||||
opt_add DEBUG_POWER_LOSS_RECOVERY
|
||||
exec_test $1 $2 "RAMBO | EXTRUDERS 2 | CHAR LCD + SD | FIX Probe | ABL-Linear | Advanced Pause | PLR | LEDs ..." "$3"
|
||||
|
||||
|
@ -74,6 +74,14 @@ opt_set MOTHERBOARD BOARD_RAMBO EXTRUDERS 0 TEMP_SENSOR_BED 1 TEMP_SENSOR_PROBE
|
|||
opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER FIX_MOUNTED_PROBE Z_SAFE_HOMING
|
||||
exec_test $1 $2 "Rambo heated bed only" "$3"
|
||||
|
||||
#
|
||||
# Rambo with MMU2
|
||||
#
|
||||
restore_configs
|
||||
opt_set MOTHERBOARD BOARD_RAMBO EXTRUDERS 5 MMU_MODEL PRUSA_MMU2
|
||||
opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE EMERGENCY_PARSER MMU2_DEBUG
|
||||
exec_test $1 $2 "Rambo with PRUSA_MMU2 " "$3"
|
||||
|
||||
#
|
||||
# Build with the default configurations
|
||||
#
|
||||
|
@ -122,7 +130,7 @@ opt_enable COREYX USE_XMAX_PLUG MIXING_EXTRUDER GRADIENT_MIX \
|
|||
FIX_MOUNTED_PROBE PROBING_ESTEPPERS_OFF PROBE_OFFSET_WIZARD \
|
||||
AUTO_BED_LEVELING_BILINEAR X_AXIS_TWIST_COMPENSATION MESH_EDIT_MENU DEBUG_LEVELING_FEATURE G26_MESH_VALIDATION \
|
||||
Z_SAFE_HOMING SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER \
|
||||
SD_ABORT_ON_ENDSTOP_HIT HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT HOST_PAUSE_M76 ADVANCED_OK M114_DETAIL \
|
||||
SD_ABORT_ON_ENDSTOP_HIT HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT HOST_STATUS_NOTIFICATIONS HOST_PAUSE_M76 ADVANCED_OK M114_DETAIL \
|
||||
VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS EXTRA_FAN_SPEED FWRETRACT \
|
||||
USE_CONTROLLER_FAN CONTROLLER_FAN_EDITABLE CONTROLLER_FAN_USE_Z_ONLY
|
||||
opt_disable DISABLE_OTHER_EXTRUDERS
|
||||
|
|
|
@ -13,7 +13,7 @@ opt_set MOTHERBOARD BOARD_RUMBA32_V1_0 SERIAL_PORT -1 \
|
|||
opt_disable PIDTEMP
|
||||
opt_enable PIDTEMPBED FAN_SOFT_PWM
|
||||
opt_disable THERMAL_PROTECTION_BED
|
||||
exec_test $1 $2 "RUMBA32 V1.0 with TMC2130, PID Bed, and bed thermal protection disabled" "$3"
|
||||
exec_test $1 $2 "RUMBA32 V1.0 with TMC2130, PID Bed, no Bed Thermal Protection" "$3"
|
||||
|
||||
# Build examples
|
||||
restore_configs
|
||||
|
|
|
@ -33,5 +33,5 @@ opt_enable EEPROM_SETTINGS FILAMENT_WIDTH_SENSOR CALIBRATION_GCODE BAUD_RATE_GCO
|
|||
NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PARK_HEAD_ON_PAUSE \
|
||||
ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES \
|
||||
PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \
|
||||
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT
|
||||
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT HOST_STATUS_NOTIFICATIONS
|
||||
exec_test $1 $2 "Teensy3.1 with many features" "$3"
|
||||
|
|
|
@ -20,14 +20,15 @@ opt_set MOTHERBOARD BOARD_TEENSY35_36 \
|
|||
GRID_MAX_POINTS_X 16 \
|
||||
NOZZLE_CLEAN_START_POINT "{ { 10, 10, 3 }, { 10, 10, 3 } }" \
|
||||
NOZZLE_CLEAN_END_POINT "{ { 10, 20, 3 }, { 10, 20, 3 } }"
|
||||
opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER LCD_INFO_MENU SDSUPPORT SDCARD_SORT_ALPHA \
|
||||
opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT SDCARD_SORT_ALPHA \
|
||||
LCD_INFO_MENU LCD_PRINTER_INFO_IS_BOOTSCREEN TURBO_BACK_MENU_ITEM PREHEAT_SHORTCUT_MENU_ITEM \
|
||||
FILAMENT_WIDTH_SENSOR FILAMENT_LCD_DISPLAY CALIBRATION_GCODE BAUD_RATE_GCODE SOUND_MENU_ITEM \
|
||||
FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \
|
||||
BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY \
|
||||
PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER \
|
||||
ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \
|
||||
PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \
|
||||
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT
|
||||
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT HOST_STATUS_NOTIFICATIONS
|
||||
exec_test $1 $2 "Teensy3.5 with many features" "$3"
|
||||
|
||||
#
|
||||
|
@ -85,8 +86,9 @@ restore_configs
|
|||
opt_set MOTHERBOARD BOARD_TEENSY35_36 \
|
||||
X_DRIVER_TYPE TMC5160 Y_DRIVER_TYPE TMC5160 \
|
||||
X_MIN_ENDSTOP_INVERTING true Y_MIN_ENDSTOP_INVERTING true \
|
||||
X_CURRENT_HOME 750 Y_CURRENT_HOME 750 \
|
||||
X_CS_PIN 46 Y_CS_PIN 47
|
||||
opt_enable COREXY USE_ZMIN_PLUG MONITOR_DRIVER_STATUS SENSORLESS_HOMING
|
||||
opt_enable COREXY MONITOR_DRIVER_STATUS SENSORLESS_HOMING X_STALL_SENSITIVITY Y_STALL_SENSITIVITY
|
||||
exec_test $1 $2 "Teensy 3.5/3.6 COREXY" "$3"
|
||||
|
||||
#
|
||||
|
|
|
@ -28,7 +28,7 @@ opt_enable MAX31865_SENSOR_OHMS_0 MAX31865_CALIBRATION_OHMS_0 \
|
|||
PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT \
|
||||
ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \
|
||||
PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \
|
||||
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT
|
||||
HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT HOST_STATUS_NOTIFICATIONS
|
||||
opt_add EXTUI_EXAMPLE
|
||||
exec_test $1 $2 "Teensy4.1 with many features" "$3"
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
#
|
||||
[common_avr8]
|
||||
platform = atmelavr@~4.0.1
|
||||
build_flags = ${common.build_flags} -Wl,--relax
|
||||
build_src_flags = -std=gnu++1z
|
||||
build_flags = ${common.build_flags} -std=gnu++1z -Wl,--relax
|
||||
build_unflags = -std=gnu++11
|
||||
board_build.f_cpu = 16000000L
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/AVR>
|
||||
|
||||
|
|
|
@ -13,15 +13,17 @@
|
|||
# Espressif ESP32
|
||||
#
|
||||
[env:esp32]
|
||||
platform = espressif32@2.1.0
|
||||
board = esp32dev
|
||||
build_flags = ${common.build_flags} -DCORE_DEBUG_LEVEL=0
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/ESP32>
|
||||
lib_ignore = NativeEthernet
|
||||
upload_speed = 500000
|
||||
monitor_speed = 250000
|
||||
monitor_filters = colorize, time, send_on_enter, log2file, esp32_exception_decoder
|
||||
#upload_port = marlinesp.local
|
||||
platform = espressif32@2.1.0
|
||||
platform_packages = espressif/toolchain-xtensa-esp32s3
|
||||
board = esp32dev
|
||||
build_flags = ${common.build_flags} -DCORE_DEBUG_LEVEL=0 -std=gnu++17
|
||||
build_unflags = -std=gnu11 -std=gnu++11
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/ESP32>
|
||||
lib_ignore = NativeEthernet
|
||||
upload_speed = 500000
|
||||
monitor_speed = 250000
|
||||
monitor_filters = colorize, time, send_on_enter, log2file, esp32_exception_decoder
|
||||
#upload_port = marlinesp.local
|
||||
#board_build.flash_mode = qio
|
||||
|
||||
[env:FYSETC_E4]
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
# #
|
||||
#################################
|
||||
|
||||
# The order of the features matters for source-filter resolution inside of common-dependencies.py.
|
||||
|
||||
[features]
|
||||
YHCB2004 = red-scorp/LiquidCrystal_AIP31068@^1.0.4, red-scorp/SoftSPIB@^1.1.1
|
||||
HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/a3ebe98bc6.zip
|
||||
|
@ -23,9 +25,10 @@ HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.3
|
|||
HAS_T(RINAMIC_CONFIG|MC_SPI) = build_src_filter=+<src/feature/tmc_util.cpp>
|
||||
HAS_STEALTHCHOP = build_src_filter=+<src/gcode/feature/trinamic/M569.cpp>
|
||||
SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/6f53c19a8a.zip
|
||||
HAS_MOTOR_CURRENT_(I2C|DAC|SPI|PWM) = build_src_filter=+<src/gcode/feature/digipot>
|
||||
HAS_MOTOR_CURRENT_I2C = SlowSoftI2CMaster
|
||||
build_src_filter=+<src/feature/digipot>
|
||||
HAS_TMC26X = TMC26XStepper=https://github.com/MarlinFirmware/TMC26XStepper/archive/a7d7c92a13.zip
|
||||
HAS_TMC26X = TMC26XStepper=https://github.com/MarlinFirmware/TMC26XStepper/archive/0.1.2.zip
|
||||
build_src_filter=+<src/module/stepper/TMC26X.cpp>
|
||||
LIB_INTERNAL_MAX31865 = build_src_filter=+<src/libs/MAX31865.cpp>
|
||||
NEOPIXEL_LED = adafruit/Adafruit NeoPixel@~1.8.0
|
||||
|
@ -37,11 +40,14 @@ USES_LIQUIDCRYSTAL_I2C = marcoschwartz/LiquidCrystal_I2C@1.1.4
|
|||
USES_LIQUIDTWI2 = LiquidTWI2@1.2.7
|
||||
HAS_LCDPRINT = build_src_filter=+<src/lcd/lcdprint.cpp>
|
||||
HAS_MARLINUI_HD44780 = build_src_filter=+<src/lcd/HD44780>
|
||||
HAS_MARLINUI_U8GLIB = marlinfirmware/U8glib-HAL@~0.5.2
|
||||
HAS_MARLINUI_U8GLIB = marlinfirmware/U8glib-HAL@0.5.4
|
||||
build_src_filter=+<src/lcd/dogm>
|
||||
HAS_(FSMC|SPI|LTDC)_TFT = build_src_filter=+<src/HAL/STM32/tft> +<src/HAL/STM32F1/tft> +<src/lcd/tft_io>
|
||||
HAS_(FSMC|SPI|LTDC)_TFT = build_src_filter=+<src/lcd/tft_io>
|
||||
HAS_LTDC_TFT = build_src_filter=+<src/HAL/STM32/tft/tft_ltdc.cpp>
|
||||
HAS_FSMC_TFT = build_src_filter=+<src/HAL/STM32/tft/tft_fsmc.cpp> +<src/HAL/STM32F1/tft/tft_fsmc.cpp>
|
||||
HAS_SPI_TFT = build_src_filter=+<src/HAL/STM32/tft/tft_spi.cpp> +<src/HAL/STM32F1/tft/tft_spi.cpp>
|
||||
HAS_SPI_TFT = build_src_filter=+<src/HAL/STM32/tft/tft_spi.cpp> +<src/HAL/STM32F1/tft/tft_spi.cpp> +<src/HAL/LPC1768/tft/tft_spi.cpp>
|
||||
HAS_TFT_XPT2046 = build_src_filter=+<src/HAL/STM32/tft/xpt2046.cpp> +<src/HAL/STM32F1/tft/xpt2046.cpp> +<src/HAL/LPC1768/tft/xpt2046.cpp>
|
||||
TFT_TOUCH_DEVICE_GT911 = build_src_filter=+<src/HAL/STM32/tft/gt911.cpp>
|
||||
I2C_EEPROM = build_src_filter=+<src/HAL/shared/eeprom_if_i2c.cpp>
|
||||
SOFT_I2C_EEPROM = SlowSoftI2CMaster, SlowSoftWire=https://github.com/felias-fogg/SlowSoftWire/archive/f34d777f39.zip
|
||||
SPI_EEPROM = build_src_filter=+<src/HAL/shared/eeprom_if_spi.cpp>
|
||||
|
@ -53,21 +59,21 @@ IS_DWIN_MARLINUI = build_src_filter=+<src/lcd/e3v2/marlinu
|
|||
HAS_GRAPHICAL_TFT = build_src_filter=+<src/lcd/tft>
|
||||
IS_TFTGLCD_PANEL = build_src_filter=+<src/lcd/TFTGLCD>
|
||||
HAS_TOUCH_BUTTONS = build_src_filter=+<src/lcd/touch/touch_buttons.cpp>
|
||||
HAS_MARLINUI_MENU = build_src_filter=+<src/lcd/menu>
|
||||
HAS_MARLINUI_MENU = build_src_filter=+<src/lcd/menu> -<src/lcd/menu/game>
|
||||
HAS_GAMES = build_src_filter=+<src/lcd/menu/game/game.cpp>
|
||||
MARLIN_BRICKOUT = build_src_filter=+<src/lcd/menu/game/brickout.cpp>
|
||||
MARLIN_INVADERS = build_src_filter=+<src/lcd/menu/game/invaders.cpp>
|
||||
MARLIN_MAZE = build_src_filter=+<src/lcd/menu/game/maze.cpp>
|
||||
MARLIN_SNAKE = build_src_filter=+<src/lcd/menu/game/snake.cpp>
|
||||
HAS_MENU_BACKLASH = build_src_filter=+<src/lcd/menu/menu_backlash.cpp>
|
||||
HAS_MENU_BED_CORNERS = build_src_filter=+<src/lcd/menu/menu_bed_corners.cpp>
|
||||
LCD_BED_LEVELING = build_src_filter=+<src/lcd/menu/menu_bed_leveling.cpp>
|
||||
HAS_MENU_BED_TRAMMING = build_src_filter=+<src/lcd/menu/menu_bed_tramming.cpp>
|
||||
HAS_MENU_CANCELOBJECT = build_src_filter=+<src/lcd/menu/menu_cancelobject.cpp>
|
||||
HAS_MENU_DELTA_CALIBRATE = build_src_filter=+<src/lcd/menu/menu_delta_calibrate.cpp>
|
||||
HAS_MENU_FILAMENT = build_src_filter=+<src/lcd/menu/menu_filament.cpp>
|
||||
LCD_INFO_MENU = build_src_filter=+<src/lcd/menu/menu_info.cpp>
|
||||
HAS_MENU_JOB_RECOVERY = build_src_filter=+<src/lcd/menu/menu_job_recovery.cpp>
|
||||
HAS_MULTI_LANGUAGE = build_src_filter=+<src/lcd/menu/menu_language.cpp> +<src/gcode/lcd/M414.cpp>
|
||||
HAS_MENU_MULTI_LANGUAGE = build_src_filter=+<src/lcd/menu/menu_language.cpp>
|
||||
HAS_MENU_LED = build_src_filter=+<src/lcd/menu/menu_led.cpp>
|
||||
HAS_MENU_MEDIA = build_src_filter=+<src/lcd/menu/menu_media.cpp>
|
||||
HAS_MENU_MIXER = build_src_filter=+<src/lcd/menu/menu_mixer.cpp>
|
||||
|
@ -78,8 +84,9 @@ HAS_MENU_CUTTER = build_src_filter=+<src/lcd/menu/menu_sp
|
|||
HAS_MENU_TEMPERATURE = build_src_filter=+<src/lcd/menu/menu_temperature.cpp>
|
||||
HAS_MENU_TMC = build_src_filter=+<src/lcd/menu/menu_tmc.cpp>
|
||||
HAS_MENU_TOUCH_SCREEN = build_src_filter=+<src/lcd/menu/menu_touch_screen.cpp>
|
||||
HAS_MENU_TRAMMING = build_src_filter=+<src/lcd/menu/menu_tramming.cpp>
|
||||
HAS_MENU_TRAMMING_WIZARD = build_src_filter=+<src/lcd/menu/menu_tramming_wizard.cpp>
|
||||
HAS_MENU_UBL = build_src_filter=+<src/lcd/menu/menu_ubl.cpp>
|
||||
EXTENSIBLE_UI = build_src_filter=+<src/lcd/extui/ui_api.cpp>
|
||||
ANYCUBIC_LCD_CHIRON = build_src_filter=+<src/lcd/extui/anycubic_chiron>
|
||||
ANYCUBIC_LCD_I3MEGA = build_src_filter=+<src/lcd/extui/anycubic_i3mega>
|
||||
HAS_DGUS_LCD_CLASSIC = build_src_filter=+<src/lcd/extui/dgus>
|
||||
|
@ -168,7 +175,6 @@ HAS_EXTRA_ENDSTOPS = build_src_filter=+<src/gcode/calibrate/
|
|||
SKEW_CORRECTION_GCODE = build_src_filter=+<src/gcode/calibrate/M852.cpp>
|
||||
DIRECT_PIN_CONTROL = build_src_filter=+<src/gcode/control/M42.cpp> +<src/gcode/control/M226.cpp>
|
||||
PINS_DEBUGGING = build_src_filter=+<src/gcode/config/M43.cpp>
|
||||
NO_VOLUMETRICS = build_src_filter=-<src/gcode/config/M200-M205.cpp>
|
||||
HAS_MULTI_EXTRUDER = build_src_filter=+<src/gcode/config/M217.cpp>
|
||||
HAS_HOTEND_OFFSET = build_src_filter=+<src/gcode/config/M218.cpp>
|
||||
EDITABLE_SERVO_ANGLES = build_src_filter=+<src/gcode/config/M281.cpp>
|
||||
|
@ -176,6 +182,7 @@ PIDTEMP = build_src_filter=+<src/gcode/config/M30
|
|||
PREVENT_COLD_EXTRUSION = build_src_filter=+<src/gcode/config/M302.cpp>
|
||||
PIDTEMPBED = build_src_filter=+<src/gcode/config/M304.cpp>
|
||||
HAS_USER_THERMISTORS = build_src_filter=+<src/gcode/config/M305.cpp>
|
||||
PIDTEMPCHAMBER = build_src_filter=+<src/gcode/config/M309.cpp>
|
||||
SD_ABORT_ON_ENDSTOP_HIT = build_src_filter=+<src/gcode/config/M540.cpp>
|
||||
BAUD_RATE_GCODE = build_src_filter=+<src/gcode/config/M575.cpp>
|
||||
HAS_SMART_EFF_MOD = build_src_filter=+<src/gcode/config/M672.cpp>
|
||||
|
@ -184,10 +191,12 @@ AIR_EVACUATION = build_src_filter=+<src/gcode/control/M1
|
|||
HAS_SOFTWARE_ENDSTOPS = build_src_filter=+<src/gcode/control/M211.cpp>
|
||||
SERVO_DETACH_GCODE = build_src_filter=+<src/gcode/control/M282.cpp>
|
||||
HAS_DUPLICATION_MODE = build_src_filter=+<src/gcode/control/M605.cpp>
|
||||
SPI_FLASH_BACKUP = build_src_filter=+<src/gcode/control/M993_M994.cpp>
|
||||
PLATFORM_M997_SUPPORT = build_src_filter=+<src/gcode/control/M997.cpp>
|
||||
LIN_ADVANCE = build_src_filter=+<src/gcode/feature/advance>
|
||||
PHOTO_GCODE = build_src_filter=+<src/gcode/feature/camera>
|
||||
CONTROLLER_FAN_EDITABLE = build_src_filter=+<src/gcode/feature/controllerfan>
|
||||
HAS_SHAPING = build_src_filter=+<src/gcode/feature/input_shaping>
|
||||
HAS_ZV_SHAPING = build_src_filter=+<src/gcode/feature/input_shaping>
|
||||
GCODE_MACROS = build_src_filter=+<src/gcode/feature/macro>
|
||||
GRADIENT_MIX = build_src_filter=+<src/gcode/feature/mixing/M166.cpp>
|
||||
HAS_SAVED_POSITIONS = build_src_filter=+<src/gcode/feature/pause/G60.cpp> +<src/gcode/feature/pause/G61.cpp>
|
||||
|
@ -209,6 +218,7 @@ HAS_LCD_CONTRAST = build_src_filter=+<src/gcode/lcd/M250.c
|
|||
HAS_GCODE_M255 = build_src_filter=+<src/gcode/lcd/M255.cpp>
|
||||
HAS_LCD_BRIGHTNESS = build_src_filter=+<src/gcode/lcd/M256.cpp>
|
||||
HAS_SOUND = build_src_filter=+<src/gcode/lcd/M300.cpp>
|
||||
HAS_MULTI_LANGUAGE = build_src_filter=+<src/gcode/lcd/M414.cpp>
|
||||
TOUCH_SCREEN_CALIBRATION = build_src_filter=+<src/gcode/lcd/M995.cpp>
|
||||
ARC_SUPPORT = build_src_filter=+<src/gcode/motion/G2_G3.cpp>
|
||||
GCODE_MOTION_MODES = build_src_filter=+<src/gcode/motion/G80.cpp>
|
||||
|
@ -216,13 +226,18 @@ BABYSTEPPING = build_src_filter=+<src/gcode/motion/M29
|
|||
Z_PROBE_SLED = build_src_filter=+<src/gcode/probe/G31_G32.cpp>
|
||||
G38_PROBE_TARGET = build_src_filter=+<src/gcode/probe/G38.cpp>
|
||||
MAGNETIC_PARKING_EXTRUDER = build_src_filter=+<src/gcode/probe/M951.cpp>
|
||||
SDSUPPORT = build_src_filter=+<src/sd/cardreader.cpp> +<src/sd/Sd2Card.cpp> +<src/sd/SdBaseFile.cpp> +<src/sd/SdFatUtil.cpp> +<src/sd/SdFile.cpp> +<src/sd/SdVolume.cpp> +<src/gcode/sd>
|
||||
HAS_MEDIA = build_src_filter=+<src/sd/cardreader.cpp> +<src/sd/Sd2Card.cpp> +<src/sd/SdBaseFile.cpp> +<src/sd/SdFatUtil.cpp> +<src/sd/SdFile.cpp> +<src/sd/SdVolume.cpp> +<src/gcode/sd>
|
||||
HAS_MEDIA_SUBCALLS = build_src_filter=+<src/gcode/sd/M32.cpp>
|
||||
GCODE_REPEAT_MARKERS = build_src_filter=+<src/feature/repeat.cpp> +<src/gcode/sd/M808.cpp>
|
||||
HAS_EXTRUDERS = build_src_filter=+<src/gcode/units/M82_M83.cpp> +<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp>
|
||||
HAS_TEMP_PROBE = build_src_filter=+<src/gcode/temp/M192.cpp>
|
||||
HAS_EXTRUDERS = build_src_filter=+<src/gcode/units/M82_M83.cpp> +<src/gcode/config/M221.cpp>
|
||||
HAS_HOTEND = build_src_filter=+<src/gcode/temp/M104_M109.cpp>
|
||||
HAS_FAN = build_src_filter=+<src/gcode/temp/M106_M107.cpp>
|
||||
HAS_HEATED_BED = build_src_filter=+<src/gcode/temp/M140_M190.cpp>
|
||||
HAS_HEATED_CHAMBER = build_src_filter=+<src/gcode/temp/M141_M191.cpp>
|
||||
HAS_COOLER = build_src_filter=+<src/gcode/temp/M143_M193.cpp>
|
||||
AUTO_REPORT_TEMPERATURES = build_src_filter=+<src/gcode/temp/M155.cpp>
|
||||
HAS_TEMP_PROBE = build_src_filter=+<src/gcode/temp/M192.cpp>
|
||||
HAS_PID_HEATING = build_src_filter=+<src/gcode/temp/M303.cpp>
|
||||
MPCTEMP = build_src_filter=+<src/gcode/temp/M306.cpp>
|
||||
INCH_MODE_SUPPORT = build_src_filter=+<src/gcode/units/G20_G21.cpp>
|
||||
TEMPERATURE_UNITS_SUPPORT = build_src_filter=+<src/gcode/units/M149.cpp>
|
||||
|
|
|
@ -15,17 +15,19 @@
|
|||
[common_LPC]
|
||||
platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip
|
||||
platform_packages = framework-arduino-lpc176x@^0.2.8
|
||||
toolchain-gccarmnoneeabi@1.100301.220327
|
||||
board = nxp_lpc1768
|
||||
lib_ldf_mode = off
|
||||
lib_compat_mode = strict
|
||||
extra_scripts = ${common.extra_scripts}
|
||||
Marlin/src/HAL/LPC1768/upload_extra_script.py
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/LPC1768> +<src/HAL/shared/backtrace>
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/LPC1768> -<src/HAL/LPC1768/tft> +<src/HAL/shared/backtrace>
|
||||
lib_deps = ${common.lib_deps}
|
||||
Servo
|
||||
custom_marlin.USES_LIQUIDCRYSTAL = arduino-libraries/LiquidCrystal@~1.0.7
|
||||
custom_marlin.USES_LIQUIDCRYSTAL = arduino-libraries/LiquidCrystal@~1.0.7
|
||||
custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip
|
||||
build_flags = ${common.build_flags} -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g
|
||||
build_flags = ${common.build_flags} -DU8G_HAL_LINKS -DPLATFORM_M997_SUPPORT
|
||||
-IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g
|
||||
# debug options for backtrace
|
||||
#-funwind-tables
|
||||
#-mpoke-function-name
|
||||
|
|
|
@ -36,7 +36,8 @@ build_src_filter = ${common.default_src_filter} +<src/HAL/LINUX>
|
|||
[simulator_common]
|
||||
platform = native
|
||||
framework =
|
||||
build_flags = ${common.build_flags} -std=gnu++17 -D__PLAT_NATIVE_SIM__ -DU8G_HAL_LINKS -I/usr/include/SDL2 -IMarlin -IMarlin/src/HAL/NATIVE_SIM/u8g
|
||||
build_flags = ${common.build_flags} -std=gnu++17 -D__PLAT_NATIVE_SIM__ -DU8G_HAL_LINKS
|
||||
-I/usr/include/SDL2 -IMarlin -IMarlin/src/HAL/NATIVE_SIM/u8g
|
||||
build_src_flags = -Wall -Wno-expansion-to-defined -Wno-deprecated-declarations -Wcast-align
|
||||
release_flags = -g0 -O3 -flto
|
||||
debug_build_flags = -fstack-protector-strong -g -g3 -ggdb
|
||||
|
@ -135,5 +136,7 @@ custom_gcc = g++
|
|||
[env:simulator_windows]
|
||||
extends = simulator_common
|
||||
build_src_flags = ${simulator_common.build_src_flags} -fpermissive
|
||||
build_flags = ${simulator_common.build_flags} ${simulator_common.debug_build_flags} -IC:\\msys64\\mingw64\\include\\SDL2 -fno-stack-protector -Wl,-subsystem,windows -ldl -lmingw32 -lSDL2main -lSDL2 -lSDL2_net -lopengl32 -lssp
|
||||
build_flags = ${simulator_common.build_flags} ${simulator_common.debug_build_flags}
|
||||
-IC:\\msys64\\mingw64\\include\\SDL2 -fno-stack-protector -Wl,-subsystem,windows
|
||||
-ldl -lmingw32 -lSDL2main -lSDL2 -lSDL2_net -lopengl32 -lssp
|
||||
build_type = debug
|
||||
|
|
|
@ -21,6 +21,12 @@ board = genericSTM32F103RE
|
|||
# List of environment names that are no longer used
|
||||
#
|
||||
|
||||
[env:megaatmega1280] ;=> mega1280
|
||||
extends = renamed
|
||||
|
||||
[env:megaatmega2560] ;=> mega2560
|
||||
extends = renamed
|
||||
|
||||
[env:STM32F103RET6_creality_maple] ;=> STM32F103RE_creality_maple
|
||||
extends = renamed
|
||||
|
||||
|
@ -57,17 +63,35 @@ extends = renamed
|
|||
[env:BIGTREE_OCTOPUS_V1] ;=> STM32F446ZE_btt
|
||||
extends = renamed
|
||||
|
||||
[env:BIGTREE_OCTOPUS_V1_USB] ;=> STM32F446ZE_btt_USB
|
||||
[env:BIGTREE_OCTOPUS_V1_USB] ;=> STM32F446ZE_btt_usb_flash_drive
|
||||
extends = renamed
|
||||
|
||||
[env:BIGTREE_OCTOPUS_PRO_V1_F429] ;=> STM32F429ZG_btt
|
||||
extends = renamed
|
||||
|
||||
[env:BIGTREE_OCTOPUS_PRO_V1_F429_USB] ;=> STM32F429ZG_btt_USB
|
||||
[env:BIGTREE_OCTOPUS_PRO_V1_F429_USB] ;=> STM32F429ZG_btt_usb_flash_drive
|
||||
extends = renamed
|
||||
|
||||
[env:BIGTREE_OCTOPUS_V1_F407] ;=> STM32F407ZE_btt
|
||||
extends = renamed
|
||||
|
||||
[env:BIGTREE_OCTOPUS_V1_F407_USB] ;=> STM32F407ZE_btt_USB
|
||||
[env:BIGTREE_OCTOPUS_V1_F407_USB] ;=> STM32F407ZE_btt_usb_flash_drive
|
||||
extends = renamed
|
||||
|
||||
[env:STM32H723Vx_btt] ;=> STM32H723VG_btt
|
||||
extends = renamed
|
||||
|
||||
[env:STM32H723Zx_btt] ;=> STM32H723ZE_btt
|
||||
extends = renamed
|
||||
|
||||
[env:STM32H743Vx_btt] ;=> STM32H743VI_btt
|
||||
extends = renamed
|
||||
|
||||
[env:STM32F446ZE_btt_USB] ;=> STM32F446ZE_btt_usb_flash_drive
|
||||
extends = renamed
|
||||
|
||||
[env:STM32F429ZG_btt_USB] ;=> STM32F429ZG_btt_usb_flash_drive
|
||||
extends = renamed
|
||||
|
||||
[env:STM32F407ZE_btt_USB] ;=> STM32F407ZE_btt_usb_flash_drive
|
||||
extends = renamed
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
platform = atmelsam
|
||||
board = minitronics20
|
||||
build_flags = ${common.build_flags} -std=gnu++17
|
||||
-DUSBCON -DUSBD_USE_CDC -D__SAMD21__ -DARDUINO_SAMD_MINITRONICS20 -Wno-deprecated-declarations -DU8G_HAL_LINKS -DDEBUG
|
||||
-DUSBCON -DUSBD_USE_CDC -D__SAMD21__ -DARDUINO_SAMD_MINITRONICS20 -Wno-deprecated-declarations -DDEBUG
|
||||
-IMarlin/src/HAL/SAMD21/u8g
|
||||
build_unflags = -std=gnu++11
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/SAMD21>
|
||||
|
|
|
@ -22,5 +22,5 @@ lib_deps = ${common.lib_deps}
|
|||
SoftwareSerialM
|
||||
extra_scripts = ${common.extra_scripts}
|
||||
pre:buildroot/share/PlatformIO/scripts/SAMD51_grandcentral_m4.py
|
||||
custom_marlin.SDSUPPORT = SdFat - Adafruit Fork, Adafruit SPIFlash
|
||||
custom_marlin.HAS_MEDIA = SdFat - Adafruit Fork, Adafruit SPIFlash
|
||||
debug_tool = jlink
|
||||
|
|
|
@ -12,13 +12,11 @@
|
|||
[common_stm32]
|
||||
platform = ststm32@~12.1
|
||||
board_build.core = stm32
|
||||
build_flags = ${common.build_flags}
|
||||
-std=gnu++14 -DHAL_STM32
|
||||
-DUSBCON -DUSBD_USE_CDC
|
||||
-DTIM_IRQ_PRIO=13
|
||||
-DADC_RESOLUTION=12
|
||||
build_flags = ${common.build_flags} -std=gnu++14
|
||||
-DHAL_STM32 -DPLATFORM_M997_SUPPORT
|
||||
-DUSBCON -DUSBD_USE_CDC -DTIM_IRQ_PRIO=13 -DADC_RESOLUTION=12
|
||||
build_unflags = -std=gnu++11
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32> +<src/HAL/shared/backtrace>
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32> -<src/HAL/STM32/tft> +<src/HAL/shared/backtrace>
|
||||
extra_scripts = ${common.extra_scripts}
|
||||
pre:buildroot/share/PlatformIO/scripts/stm32_serialbuffer.py
|
||||
|
||||
|
|
|
@ -48,4 +48,4 @@ board = malyanm300_f070cb
|
|||
build_flags = ${common_stm32.build_flags}
|
||||
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB
|
||||
-DHAL_UART_MODULE_ENABLED
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32>
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32> -<src/HAL/STM32/tft>
|
||||
|
|
|
@ -26,9 +26,9 @@
|
|||
platform = ststm32@~12.1
|
||||
board_build.core = maple
|
||||
build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py
|
||||
${common.build_flags} -DARDUINO_ARCH_STM32 -DMAPLE_STM32F1
|
||||
${common.build_flags} -DARDUINO_ARCH_STM32 -DMAPLE_STM32F1 -DPLATFORM_M997_SUPPORT
|
||||
build_unflags = -std=gnu11 -std=gnu++11
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32F1>
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32F1> -<src/HAL/STM32F1/tft>
|
||||
lib_ignore = SPI, FreeRTOS701, FreeRTOS821
|
||||
lib_deps = ${common.lib_deps}
|
||||
SoftwareSerialM
|
||||
|
@ -95,7 +95,7 @@ upload_protocol = serial
|
|||
# BigTreeTech SKR Mini V1.1 / SKR Mini E3 & MZ (STM32F103RCT6 ARM Cortex-M3)
|
||||
#
|
||||
# STM32F103RC_btt_maple ............. RCT6 with 256K
|
||||
# STM32F103RC_btt_USB_maple ......... RCT6 with 256K (USB mass storage)
|
||||
# STM32F103RC_btt_USB_maple ......... RCT6 with 256K with USB Media Share Support
|
||||
#
|
||||
[env:STM32F103RC_btt_maple]
|
||||
extends = env:STM32F103RC_maple
|
||||
|
@ -111,28 +111,26 @@ lib_deps = ${env:STM32F103RC_btt_maple.lib_deps}
|
|||
USBComposite for STM32F1@0.91
|
||||
|
||||
#
|
||||
# Creality (STM32F103RET6)
|
||||
# Creality 512K (STM32F103RET6)
|
||||
#
|
||||
[env:STM32F103RE_creality_maple]
|
||||
extends = env:STM32F103RE_maple
|
||||
build_flags = ${env:STM32F103RE_maple.build_flags} -DTEMP_TIMER_CHAN=4
|
||||
board_build.address = 0x08007000
|
||||
board_build.ldscript = creality.ld
|
||||
extra_scripts = ${env:STM32F103RE_maple.extra_scripts}
|
||||
pre:buildroot/share/PlatformIO/scripts/random-bin.py
|
||||
board_build.rename = firmware-{date}-{time}.bin
|
||||
debug_tool = jlink
|
||||
upload_protocol = jlink
|
||||
|
||||
#
|
||||
# Creality (STM32F103RCT6)
|
||||
# Creality 256K (STM32F103RCT6)
|
||||
#
|
||||
[env:STM32F103RC_creality_maple]
|
||||
extends = env:STM32F103RC_maple
|
||||
build_flags = ${env:STM32F103RC_maple.build_flags} -DTEMP_TIMER_CHAN=4
|
||||
board_build.address = 0x08007000
|
||||
board_build.ldscript = creality.ld
|
||||
extra_scripts = ${env:STM32F103RC_maple.extra_scripts}
|
||||
pre:buildroot/share/PlatformIO/scripts/random-bin.py
|
||||
board_build.ldscript = creality256k.ld
|
||||
board_build.rename = firmware-{date}-{time}.bin
|
||||
debug_tool = jlink
|
||||
upload_protocol = jlink
|
||||
|
||||
|
@ -148,7 +146,7 @@ board_build.ldscript = crealityPro.ld
|
|||
# BigTreeTech SKR Mini E3 V2.0 & DIP / SKR CR6 (STM32F103RET6 ARM Cortex-M3)
|
||||
#
|
||||
# STM32F103RE_btt_maple ............. RET6
|
||||
# STM32F103RE_btt_USB_maple ......... RET6 (USB mass storage)
|
||||
# STM32F103RE_btt_USB_maple ......... RET6 with USB Media Share Support
|
||||
#
|
||||
[env:STM32F103RE_btt_maple]
|
||||
extends = env:STM32F103RE_maple
|
||||
|
@ -305,7 +303,7 @@ extends = STM32F1_maple
|
|||
board = marlin_malyanM200
|
||||
build_flags = ${STM32F1_maple.build_flags}
|
||||
-DMCU_STM32F103CB -D__STM32F1__=1 -std=c++1y -DSERIAL_USB -ffunction-sections -fdata-sections
|
||||
-Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__
|
||||
-Wl,--gc-sections -DDEBUG_LEVEL=0
|
||||
lib_ignore = ${STM32F1_maple.lib_ignore}
|
||||
SoftwareSerialM
|
||||
|
||||
|
@ -400,8 +398,6 @@ extends = env:STM32F103RE_maple
|
|||
build_flags = ${STM32F1_maple.build_flags} -DTEMP_TIMER_CHAN=4
|
||||
board_build.address = 0x08007000
|
||||
board_build.ldscript = sovol.ld
|
||||
extra_scripts = ${STM32F1_maple.extra_scripts}
|
||||
pre:buildroot/share/PlatformIO/scripts/random-bin.py
|
||||
buildroot/share/PlatformIO/scripts/custom_board.py
|
||||
board_build.rename = firmware-{date}-{time}.bin
|
||||
debug_tool = jlink
|
||||
upload_protocol = jlink
|
||||
|
|
|
@ -54,7 +54,7 @@ monitor_speed = 115200
|
|||
# BigTreeTech SKR Mini V1.1 / SKR Mini E3 & MZ (STM32F103RCT6 ARM Cortex-M3)
|
||||
#
|
||||
# STM32F103RC_btt ............. RCT6 with 256K
|
||||
# STM32F103RC_btt_USB ......... RCT6 with 256K (USB mass storage)
|
||||
# STM32F103RC_btt_USB ......... RCT6 with 256K with USB Media Share Support
|
||||
#
|
||||
[env:STM32F103RC_btt]
|
||||
extends = common_STM32F103RC_variant
|
||||
|
@ -121,6 +121,7 @@ debug_tool = stlink
|
|||
extends = stm32_variant
|
||||
board_build.variant = MARLIN_F103Rx
|
||||
board_build.offset = 0x7000
|
||||
board_build.rename = firmware-{date}-{time}.bin
|
||||
board_upload.offset_address = 0x08007000
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED
|
||||
|
@ -128,8 +129,6 @@ build_flags = ${stm32_variant.build_flags}
|
|||
-DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
|
||||
build_unflags = ${stm32_variant.build_unflags}
|
||||
-DUSBCON -DUSBD_USE_CDC
|
||||
extra_scripts = ${stm32_variant.extra_scripts}
|
||||
pre:buildroot/share/PlatformIO/scripts/random-bin.py
|
||||
monitor_speed = 115200
|
||||
debug_tool = jlink
|
||||
upload_protocol = jlink
|
||||
|
@ -207,7 +206,7 @@ build_flags = ${stm32_variant.build_flags}
|
|||
# BigTreeTech SKR Mini E3 V2.0 & DIP / SKR CR6 (STM32F103RET6 ARM Cortex-M3)
|
||||
#
|
||||
# STM32F103RE_btt ............. RET6
|
||||
# STM32F103RE_btt_USB ......... RET6 (USB mass storage)
|
||||
# STM32F103RE_btt_USB ......... RET6 with USB Media Share Support
|
||||
#
|
||||
[env:STM32F103RE_btt]
|
||||
extends = stm32_variant
|
||||
|
@ -253,7 +252,7 @@ board = malyanm200_f103cb
|
|||
build_flags = ${common_stm32.build_flags}
|
||||
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB
|
||||
-DHAL_UART_MODULE_ENABLED
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32>
|
||||
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32> -<src/HAL/STM32/tft>
|
||||
|
||||
#
|
||||
# FLYmaker FLY Mini (STM32F103RCT6)
|
||||
|
@ -303,7 +302,8 @@ build_unflags = ${mks_robin_nano_v1v2_common.build_unflags} -DUSBC
|
|||
[env:mks_robin_mini]
|
||||
extends = STM32F103VE_robin
|
||||
board_build.encrypt_mks = Robin_mini.bin
|
||||
build_unflags = ${STM32F103VE_robin.build_unflags} -DSS_TIMER=4
|
||||
build_unflags = ${STM32F103VE_robin.build_unflags} -DSS_TIMER=4 -DTIMER_SERVO=TIM2
|
||||
build_flags = ${STM32F103VE_robin.build_flags} -DTIMER_SERVO=TIM1
|
||||
|
||||
#
|
||||
# MKS Robin E3p (STM32F103VET6)
|
||||
|
|
|
@ -47,6 +47,7 @@ board = marlin_STM32F407ZGT6
|
|||
board_build.variant = MARLIN_FLY_F407ZG
|
||||
board_build.offset = 0x8000
|
||||
upload_protocol = dfu
|
||||
|
||||
#
|
||||
# FYSETC S6 (STM32F446RET6 ARM Cortex-M4)
|
||||
#
|
||||
|
@ -282,7 +283,7 @@ build_flags = ${stm32_variant.build_flags}
|
|||
#
|
||||
# BigTreeTech Octopus V1.0/1.1 / Octopus Pro V1.0 (STM32F446ZET6 ARM Cortex-M4) with USB Flash Drive Support
|
||||
#
|
||||
[env:STM32F446ZE_btt_USB]
|
||||
[env:STM32F446ZE_btt_usb_flash_drive]
|
||||
extends = env:STM32F446ZE_btt
|
||||
platform_packages = ${stm_flash_drive.platform_packages}
|
||||
build_unflags = -DUSBD_USE_CDC
|
||||
|
@ -308,7 +309,7 @@ build_flags = ${stm32_variant.build_flags}
|
|||
#
|
||||
# BigTreeTech Octopus V1.1 / Octopus Pro V1.0 (STM32F429ZGT6 ARM Cortex-M4) with USB Flash Drive Support
|
||||
#
|
||||
[env:STM32F429ZG_btt_USB]
|
||||
[env:STM32F429ZG_btt_usb_flash_drive]
|
||||
extends = env:STM32F429ZG_btt
|
||||
platform_packages = ${stm_flash_drive.platform_packages}
|
||||
build_unflags = -DUSBD_USE_CDC
|
||||
|
@ -330,7 +331,7 @@ build_flags = ${stm32_variant.build_flags}
|
|||
#
|
||||
# BigTreeTech Octopus / Octopus Pro (STM32F407ZET6 ARM Cortex-M4) with USB Flash Drive Support
|
||||
#
|
||||
[env:STM32F407ZE_btt_USB]
|
||||
[env:STM32F407ZE_btt_usb_flash_drive]
|
||||
extends = env:STM32F407ZE_btt
|
||||
platform_packages = ${stm_flash_drive.platform_packages}
|
||||
build_unflags = -DUSBD_USE_CDC
|
||||
|
@ -468,7 +469,6 @@ upload_protocol = jlink
|
|||
|
||||
#
|
||||
# MKS Robin Nano V3 with USB Flash Drive Support
|
||||
# Currently, using a STM32duino fork, until USB Host get merged
|
||||
#
|
||||
[env:mks_robin_nano_v3_usb_flash_drive]
|
||||
extends = env:mks_robin_nano_v3
|
||||
|
@ -481,7 +481,6 @@ build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
|
|||
|
||||
#
|
||||
# MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
|
||||
# Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
|
||||
#
|
||||
[env:mks_robin_nano_v3_usb_flash_drive_msc]
|
||||
extends = env:mks_robin_nano_v3_usb_flash_drive
|
||||
|
@ -498,7 +497,6 @@ board = marlin_STM32F407VET6_CCM
|
|||
|
||||
#
|
||||
# MKS Robin Nano V3.1 with USB Flash Drive Support
|
||||
# Currently, using a STM32duino fork, until USB Host get merged
|
||||
#
|
||||
[env:mks_robin_nano_v3_1_usb_flash_drive]
|
||||
extends = env:mks_robin_nano_v3_usb_flash_drive
|
||||
|
@ -506,7 +504,6 @@ board = marlin_STM32F407VET6_CCM
|
|||
|
||||
#
|
||||
# MKS Robin Nano V3.1 with USB Flash Drive Support and Shared Media
|
||||
# Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
|
||||
#
|
||||
[env:mks_robin_nano_v3_1_usb_flash_drive_msc]
|
||||
extends = env:mks_robin_nano_v3_usb_flash_drive_msc
|
||||
|
@ -531,7 +528,6 @@ upload_protocol = jlink
|
|||
|
||||
#
|
||||
# MKS Eagle with USB Flash Drive Support
|
||||
# Currently, using a STM32duino fork, until USB Host get merged
|
||||
#
|
||||
[env:mks_eagle_usb_flash_drive]
|
||||
extends = env:mks_eagle
|
||||
|
@ -544,7 +540,6 @@ build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
|
|||
|
||||
#
|
||||
# MKS Eagle with USB Flash Drive Support and Shared Media
|
||||
# Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
|
||||
#
|
||||
[env:mks_eagle_usb_flash_drive_msc]
|
||||
extends = env:mks_eagle_usb_flash_drive
|
||||
|
@ -576,7 +571,6 @@ upload_protocol = jlink
|
|||
|
||||
#
|
||||
# MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4) with USB Flash Drive Support
|
||||
# Currently, using a STM32duino fork, until USB Host get merged
|
||||
#
|
||||
[env:mks_monster8_usb_flash_drive]
|
||||
extends = env:mks_monster8
|
||||
|
@ -589,7 +583,6 @@ build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1_CAN.build_flag
|
|||
|
||||
#
|
||||
# MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4) with USB Flash Drive Support and Shared Media
|
||||
# Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
|
||||
#
|
||||
[env:mks_monster8_usb_flash_drive_msc]
|
||||
extends = env:mks_monster8_usb_flash_drive
|
||||
|
@ -681,20 +674,17 @@ extra_scripts = ${common_stm32.extra_scripts}
|
|||
extends = stm32_variant
|
||||
board = genericSTM32F401RC
|
||||
board_build.variant = MARLIN_CREALITY_STM32F401RC
|
||||
board_build.offset = 0x10000
|
||||
board_upload.offset_address = 0x08010000
|
||||
build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RC -DSTM32F4
|
||||
-DSS_TIMER=4 -DTIMER_SERVO=TIM5
|
||||
-DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
|
||||
build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
|
||||
extra_scripts = ${stm32_variant.extra_scripts}
|
||||
pre:buildroot/share/PlatformIO/scripts/random-bin.py
|
||||
monitor_speed = 115200
|
||||
|
||||
[env:STM32F401RC_creality]
|
||||
extends = STM32F401RC_creality_base
|
||||
board_build.offset = 0x10000
|
||||
board_upload.offset_address = 0x08010000
|
||||
board_build.rename = firmware-{date}-{time}.bin
|
||||
|
||||
[env:STM32F401RC_creality_nobootloader]
|
||||
extends = STM32F401RC_creality_base
|
||||
|
@ -704,14 +694,37 @@ debug_tool = stlink
|
|||
upload_protocol = stlink
|
||||
|
||||
[env:STM32F401RC_creality_jlink]
|
||||
extends = env:STM32F401RC_creality
|
||||
debug_tool = jlink
|
||||
upload_protocol = jlink
|
||||
extends = env:STM32F401RC_creality
|
||||
debug_tool = jlink
|
||||
upload_protocol = jlink
|
||||
|
||||
[env:STM32F401RC_creality_stlink]
|
||||
extends = env:STM32F401RC_creality
|
||||
debug_tool = stlink
|
||||
upload_protocol = stlink
|
||||
extends = env:STM32F401RC_creality
|
||||
debug_tool = stlink
|
||||
upload_protocol = stlink
|
||||
|
||||
#
|
||||
# Ender-5 S1 STM32F401RE_creality (CR4NS200141C13 with STM32F401RET6)
|
||||
#
|
||||
[env:STM32F401RE_creality]
|
||||
extends = stm32_variant
|
||||
board = marlin_CREALITY_STM32F401RE
|
||||
board_build.offset = 0x10000
|
||||
board_upload.offset_address = 0x08010000
|
||||
board_build.rename = firmware-{date}-{time}.bin
|
||||
build_flags = ${stm32_variant.build_flags} -DSTM32F401xE -DSTM32F4 -DSTM32F4_UPDATE_FOLDER
|
||||
build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
|
||||
monitor_speed = 115200
|
||||
|
||||
[env:STM32F401RE_creality_jlink]
|
||||
extends = env:STM32F401RE_creality
|
||||
debug_tool = jlink
|
||||
upload_protocol = jlink
|
||||
|
||||
[env:STM32F401RE_creality_stlink]
|
||||
extends = env:STM32F401RE_creality
|
||||
debug_tool = stlink
|
||||
upload_protocol = stlink
|
||||
|
||||
#
|
||||
# BigTree SKR mini E3 V3.0.1 (STM32F401RCT6 ARM Cortex-M4)
|
||||
|
@ -732,6 +745,20 @@ build_flags = ${stm32_variant.build_flags}
|
|||
upload_protocol = stlink
|
||||
debug_tool = stlink
|
||||
|
||||
#
|
||||
# BigTreeTech SKR Mini E3 V3.0.1 (STM32F401RCT6 ARM Cortex-M0+)
|
||||
# Custom upload to SD via Marlin with Binary Protocol
|
||||
# Requires Marlin with BINARY_FILE_TRANSFER already installed on the target board.
|
||||
# If CUSTOM_FIRMWARE_UPLOAD is also installed, Marlin will reboot the board to install the firmware.
|
||||
# Currently CUSTOM_FIRMWARE_UPLOAD must also be enabled to use 'xfer' build envs.
|
||||
#
|
||||
[env:STM32F401RC_btt_xfer]
|
||||
extends = env:STM32F401RC_btt
|
||||
build_flags = ${env:STM32F401RC_btt.build_flags} -DXFER_BUILD
|
||||
extra_scripts = ${env:STM32F401RC_btt.extra_scripts}
|
||||
pre:buildroot/share/scripts/upload.py
|
||||
upload_protocol = custom
|
||||
|
||||
#
|
||||
# MKS SKIPR v1.0 all-in-one board (STM32F407VE)
|
||||
#
|
||||
|
|
|
@ -31,37 +31,41 @@ build_flags = -DPIN_WIRE_SCL=PB3 -DPIN_WIRE_SDA=PB4
|
|||
#
|
||||
[env:BTT_EBB42_V1_1_filament_extruder]
|
||||
extends = stm32_variant
|
||||
platform = ststm32@~14.1.0
|
||||
platform = ststm32@17.1.0
|
||||
platform_packages = framework-arduinoststm32@~4.20600.231001
|
||||
toolchain-gccarmnoneeabi@1.100301.220327
|
||||
toolchain-gccarmnoneeabi@1.120301.0
|
||||
board = marlin_BTT_EBB42_V1_1
|
||||
board_build.offset = 0x0000
|
||||
board_upload.offset_address = 0x08000000
|
||||
build_flags = ${stm32_variant.build_flags} ${stm32g0_I2C2.build_flags}
|
||||
upload_protocol = stlink
|
||||
-flto
|
||||
-Wl,--no-warn-rwx-segment
|
||||
debug_tool = stlink
|
||||
upload_protocol = dfu
|
||||
upload_command = dfu-util -a 0 -s 0x08000000:leave -D "$SOURCE"
|
||||
|
||||
#
|
||||
# BigTreeTech SKR Mini E3 V3.0 (STM32G0B1RET6 ARM Cortex-M0+)
|
||||
# BigTreeTech SKR Mini E3 V3.0 (STM32G0B0RET6 / STM32G0B1RET6 ARM Cortex-M0+)
|
||||
#
|
||||
[env:STM32G0B1RE_btt]
|
||||
extends = stm32_variant
|
||||
platform = ststm32@~14.1.0
|
||||
platform = ststm32@17.1.0
|
||||
platform_packages = framework-arduinoststm32@~4.20600.231001
|
||||
toolchain-gccarmnoneeabi@1.100301.220327
|
||||
toolchain-gccarmnoneeabi@1.120301.0
|
||||
board = marlin_STM32G0B1RE
|
||||
board_build.offset = 0x2000
|
||||
board_upload.offset_address = 0x08002000
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DPIN_SERIAL4_RX=PC_11 -DPIN_SERIAL4_TX=PC_10
|
||||
-DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
|
||||
-DTIMER_SERVO=TIM3 -DTIMER_TONE=TIM4
|
||||
-DSTEP_TIMER_IRQ_PRIO=0
|
||||
-DPIN_SERIAL4_RX=PC_11 -DPIN_SERIAL4_TX=PC_10
|
||||
-DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
|
||||
-DTIMER_SERVO=TIM3 -DTIMER_TONE=TIM4
|
||||
-DSTEP_TIMER_IRQ_PRIO=0
|
||||
-Wl,--no-warn-rwx-segment
|
||||
upload_protocol = stlink
|
||||
debug_tool = stlink
|
||||
|
||||
#
|
||||
# BigTreeTech SKR Mini E3 V3.0 (STM32G0B1RET6 ARM Cortex-M0+)
|
||||
# BigTreeTech SKR Mini E3 V3.0 (STM32G0B0RET6 / STM32G0B1RET6 ARM Cortex-M0+)
|
||||
# Custom upload to SD via Marlin with Binary Protocol
|
||||
# Requires Marlin with BINARY_FILE_TRANSFER already installed on the target board.
|
||||
# If CUSTOM_FIRMWARE_UPLOAD is also installed, Marlin will reboot the board to install the firmware.
|
||||
|
@ -75,7 +79,8 @@ extra_scripts = ${env:STM32G0B1RE_btt.extra_scripts}
|
|||
upload_protocol = custom
|
||||
|
||||
#
|
||||
# BigTreeTech Manta E3 EZ V1.0 / Manta M4P V1.0 / Manta M5P V1.0 (STM32G0B1RET6 ARM Cortex-M0+)
|
||||
# BigTreeTech Manta M4P V2.1 (STM32G0B0RET6 ARM Cortex-M0+)
|
||||
# BigTreeTech Manta E3 EZ V1.0 / Manta M5P V1.0 (STM32G0B1RET6 ARM Cortex-M0+)
|
||||
#
|
||||
[env:STM32G0B1RE_manta_btt]
|
||||
extends = env:STM32G0B1RE_btt
|
||||
|
@ -83,7 +88,8 @@ build_flags = ${env:STM32G0B1RE_btt.build_flags}
|
|||
-DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8 -DENABLE_HWSERIAL3
|
||||
|
||||
#
|
||||
# BigTreeTech Manta E3 EZ V1.0 / Manta M4P V1.0 / Manta M5P V1.0 (STM32G0B1RET6 ARM Cortex-M0+)
|
||||
# BigTreeTech Manta M4P V2.1 (STM32G0B0RET6 ARM Cortex-M0+)
|
||||
# BigTreeTech Manta E3 EZ V1.0 / Manta M5P V1.0 (STM32G0B1RET6 ARM Cortex-M0+)
|
||||
# Custom upload to SD via Marlin with Binary Protocol
|
||||
# Requires Marlin with BINARY_FILE_TRANSFER already installed on the target board.
|
||||
# If CUSTOM_FIRMWARE_UPLOAD is also installed, Marlin will reboot the board to install the firmware.
|
||||
|
@ -101,18 +107,19 @@ upload_protocol = custom
|
|||
#
|
||||
[env:STM32G0B1VE_btt]
|
||||
extends = stm32_variant
|
||||
platform = ststm32@~14.1.0
|
||||
platform = ststm32@17.1.0
|
||||
platform_packages = framework-arduinoststm32@~4.20600.231001
|
||||
toolchain-gccarmnoneeabi@1.100301.220327
|
||||
toolchain-gccarmnoneeabi@1.120301.0
|
||||
board = marlin_STM32G0B1VE
|
||||
board_build.offset = 0x2000
|
||||
board_upload.offset_address = 0x08002000
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DPIN_SERIAL4_RX=PE_9 -DPIN_SERIAL4_TX=PE_8
|
||||
-DPIN_SERIAL5_RX=PE_11 -DPIN_SERIAL5_TX=PE_10
|
||||
-DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
|
||||
-DTIMER_SERVO=TIM3 -DTIMER_TONE=TIM4
|
||||
-DSTEP_TIMER_IRQ_PRIO=0
|
||||
-DPIN_SERIAL4_RX=PE_9 -DPIN_SERIAL4_TX=PE_8
|
||||
-DPIN_SERIAL5_RX=PE_11 -DPIN_SERIAL5_TX=PE_10
|
||||
-DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
|
||||
-DTIMER_SERVO=TIM3 -DTIMER_TONE=TIM4
|
||||
-DSTEP_TIMER_IRQ_PRIO=0
|
||||
-Wl,--no-warn-rwx-segment
|
||||
upload_protocol = stlink
|
||||
debug_tool = stlink
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
# H : High Performance
|
||||
# 7 : Cortex M7 core (0:M0, 1-2:M3, 3-4:M4, 7:M7)
|
||||
# 43 : Line/Features
|
||||
# I : 176 pins
|
||||
# I : 2048KB Flash-memory
|
||||
# I : 176 pins (T:36, C:48 or 49, M:81, V:100, Z:144, I:176)
|
||||
# I : 2048KB Flash-memory (C:256KB, D:384KB, E:512KB, G:1024KB, I:2048KB)
|
||||
# T : LQFP package
|
||||
# 6 : -40...85°C (7: ...105°C)
|
||||
#
|
||||
|
@ -41,19 +41,18 @@ upload_protocol = cmsis-dap
|
|||
debug_tool = cmsis-dap
|
||||
|
||||
#
|
||||
# BigTreeTech SKR V3.0 / V3.0 EZ (STM32H743VIT6 ARM Cortex-M7)
|
||||
# BigTreeTech STM32H743Vx ARM Cortex-M7 Common
|
||||
#
|
||||
[env:STM32H743Vx_btt]
|
||||
[STM32H743Vx_btt]
|
||||
extends = stm32_variant
|
||||
platform = ststm32@15.4.1
|
||||
platform_packages = framework-arduinoststm32@~4.20200.220530
|
||||
board = marlin_STM32H743Vx
|
||||
board_build.offset = 0x20000
|
||||
board_upload.offset_address = 0x08020000
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9
|
||||
-DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
|
||||
-DPIN_SERIAL4_RX=PA_1 -DPIN_SERIAL4_TX=PA_0
|
||||
-DPIN_SERIAL1_TX=PA_9 -DPIN_SERIAL1_RX=PA_10
|
||||
-DPIN_SERIAL3_TX=PD_8 -DPIN_SERIAL3_RX=PD_9
|
||||
-DPIN_SERIAL4_TX=PA_0 -DPIN_SERIAL4_RX=PA_1
|
||||
-DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
|
||||
-DTIMER_SERVO=TIM5 -DTIMER_TONE=TIM2
|
||||
-DSTEP_TIMER_IRQ_PRIO=0
|
||||
|
@ -62,22 +61,59 @@ upload_protocol = cmsis-dap
|
|||
debug_tool = cmsis-dap
|
||||
|
||||
#
|
||||
# BigTreeTech SKR V3.0 / SKR V3.0 EZ (STM32H723VGT6 ARM Cortex-M7)
|
||||
# BigTreeTech Octopus Max EZ V1.0 (STM32H723VET6 ARM Cortex-M7)
|
||||
# BigTreeTech SKR V3.0 / V3.0 EZ (STM32H743VIT6 ARM Cortex-M7)
|
||||
#
|
||||
[env:STM32H723Vx_btt]
|
||||
[env:STM32H743VI_btt]
|
||||
extends = STM32H743Vx_btt
|
||||
board = marlin_STM32H743VI
|
||||
|
||||
#
|
||||
# BigTreeTech STM32H723Vx ARM Cortex-M7 Common
|
||||
#
|
||||
[STM32H723Vx_btt]
|
||||
extends = stm32_variant
|
||||
platform = ststm32@15.4.1
|
||||
platform_packages = framework-arduinoststm32@~4.20200.220530
|
||||
board = marlin_STM32H723Vx
|
||||
board_build.offset = 0x20000
|
||||
board_upload.offset_address = 0x08020000
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9
|
||||
-DPIN_SERIAL2_RX=PD_6 -DPIN_SERIAL2_TX=PD_5
|
||||
-DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
|
||||
-DPIN_SERIAL4_RX=PA_1 -DPIN_SERIAL4_TX=PA_0
|
||||
-DPIN_SERIAL7_RX=PE_7 -DPIN_SERIAL7_TX=PE_8
|
||||
-DPIN_SERIAL1_TX=PA_9 -DPIN_SERIAL1_RX=PA_10
|
||||
-DPIN_SERIAL2_TX=PD_5 -DPIN_SERIAL2_RX=PD_6
|
||||
-DPIN_SERIAL3_TX=PD_8 -DPIN_SERIAL3_RX=PD_9
|
||||
-DPIN_SERIAL4_TX=PA_0 -DPIN_SERIAL4_RX=PA_1
|
||||
-DPIN_SERIAL7_TX=PE_8 -DPIN_SERIAL7_RX=PE_7
|
||||
-DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
|
||||
-DTIMER_SERVO=TIM5 -DTIMER_TONE=TIM2
|
||||
-DSTEP_TIMER_IRQ_PRIO=0
|
||||
-DRCC_PERIPHCLK_I2C35=RCC_PERIPHCLK_I2C5
|
||||
-DUSE_USB_HS -DUSE_USB_HS_IN_FS
|
||||
-DD_CACHE_DISABLED
|
||||
-UI2C5_BASE
|
||||
upload_protocol = cmsis-dap
|
||||
debug_tool = cmsis-dap
|
||||
|
||||
#
|
||||
# BigTreeTech SKR V3.0 / SKR V3.0 EZ (STM32H723VGT6 ARM Cortex-M7)
|
||||
#
|
||||
[env:STM32H723VG_btt]
|
||||
extends = STM32H723Vx_btt
|
||||
board = marlin_STM32H723VG
|
||||
|
||||
#
|
||||
# BigTreeTech STM32H723Zx ARM Cortex-M7 Common
|
||||
#
|
||||
[STM32H723Zx_btt]
|
||||
extends = stm32_variant
|
||||
platform = ststm32@15.4.1
|
||||
platform_packages = framework-arduinoststm32@~4.20200.220530
|
||||
board_build.offset = 0x20000
|
||||
board_upload.offset_address = 0x08020000
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DPIN_SERIAL1_TX=PA_9 -DPIN_SERIAL1_RX=PA_10
|
||||
-DPIN_SERIAL2_TX=PD_5 -DPIN_SERIAL2_RX=PD_6
|
||||
-DPIN_SERIAL3_TX=PD_8 -DPIN_SERIAL3_RX=PD_9
|
||||
-DPIN_SERIAL4_TX=PA_0 -DPIN_SERIAL4_RX=PA_1
|
||||
-DPIN_SERIAL7_TX=PE_8 -DPIN_SERIAL7_RX=PE_7
|
||||
-DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
|
||||
-DTIMER_SERVO=TIM5 -DTIMER_TONE=TIM2
|
||||
-DSTEP_TIMER_IRQ_PRIO=0
|
||||
|
@ -91,25 +127,6 @@ debug_tool = cmsis-dap
|
|||
#
|
||||
# BigTreeTech Octopus Pro V1.0.1/1.1 / Octopus Max EZ V1.0 (STM32H723ZET6 ARM Cortex-M7)
|
||||
#
|
||||
[env:STM32H723Zx_btt]
|
||||
extends = stm32_variant
|
||||
platform = ststm32@15.4.1
|
||||
platform_packages = framework-arduinoststm32@~4.20200.220530
|
||||
board = marlin_STM32H723Zx
|
||||
board_build.offset = 0x20000
|
||||
board_upload.offset_address = 0x08020000
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9
|
||||
-DPIN_SERIAL2_RX=PD_6 -DPIN_SERIAL2_TX=PD_5
|
||||
-DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
|
||||
-DPIN_SERIAL4_RX=PA_1 -DPIN_SERIAL4_TX=PA_0
|
||||
-DPIN_SERIAL7_RX=PE_7 -DPIN_SERIAL7_TX=PE_8
|
||||
-DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
|
||||
-DTIMER_SERVO=TIM5 -DTIMER_TONE=TIM2
|
||||
-DSTEP_TIMER_IRQ_PRIO=0
|
||||
-DRCC_PERIPHCLK_I2C35=RCC_PERIPHCLK_I2C5
|
||||
-DUSE_USB_HS -DUSE_USB_HS_IN_FS
|
||||
-DD_CACHE_DISABLED
|
||||
-UI2C5_BASE
|
||||
upload_protocol = cmsis-dap
|
||||
debug_tool = cmsis-dap
|
||||
[env:STM32H723ZE_btt]
|
||||
extends = STM32H723Zx_btt
|
||||
board = marlin_STM32H723ZE
|
||||
|
|
262
platformio.ini
262
platformio.ini
|
@ -52,217 +52,79 @@ extra_scripts =
|
|||
pre:buildroot/share/PlatformIO/scripts/preflight-checks.py
|
||||
post:buildroot/share/PlatformIO/scripts/common-dependencies-post.py
|
||||
lib_deps =
|
||||
default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared> -<src/tests>
|
||||
-<src/lcd/HD44780> -<src/lcd/TFTGLCD> -<src/lcd/dogm> -<src/lcd/tft> -<src/lcd/tft_io>
|
||||
-<src/HAL/STM32/tft> -<src/HAL/STM32F1/tft>
|
||||
-<src/lcd/e3v2/common> -<src/lcd/e3v2/creality> -<src/lcd/e3v2/proui> -<src/lcd/e3v2/jyersui> -<src/lcd/e3v2/marlinui>
|
||||
-<src/lcd/menu>
|
||||
-<src/lcd/menu/game/game.cpp> -<src/lcd/menu/game/brickout.cpp> -<src/lcd/menu/game/invaders.cpp>
|
||||
-<src/lcd/menu/game/maze.cpp> -<src/lcd/menu/game/snake.cpp>
|
||||
-<src/lcd/menu/menu_backlash.cpp>
|
||||
-<src/lcd/menu/menu_bed_corners.cpp>
|
||||
-<src/lcd/menu/menu_bed_leveling.cpp>
|
||||
-<src/lcd/menu/menu_cancelobject.cpp>
|
||||
-<src/lcd/menu/menu_delta_calibrate.cpp>
|
||||
-<src/lcd/menu/menu_filament.cpp>
|
||||
-<src/lcd/menu/menu_info.cpp>
|
||||
-<src/lcd/menu/menu_job_recovery.cpp>
|
||||
-<src/lcd/menu/menu_language.cpp>
|
||||
-<src/lcd/menu/menu_led.cpp>
|
||||
-<src/lcd/menu/menu_media.cpp>
|
||||
-<src/lcd/menu/menu_mmu2.cpp>
|
||||
-<src/lcd/menu/menu_password.cpp>
|
||||
-<src/lcd/menu/menu_power_monitor.cpp>
|
||||
-<src/lcd/menu/menu_spindle_laser.cpp>
|
||||
-<src/lcd/menu/menu_temperature.cpp>
|
||||
-<src/lcd/menu/menu_tmc.cpp>
|
||||
-<src/lcd/menu/menu_touch_screen.cpp>
|
||||
-<src/lcd/menu/menu_tramming.cpp>
|
||||
-<src/lcd/menu/menu_ubl.cpp>
|
||||
-<src/lcd/menu/menu_x_twist.cpp>
|
||||
-<src/lcd/extui/anycubic_chiron>
|
||||
-<src/lcd/extui/anycubic_i3mega>
|
||||
-<src/lcd/extui/dgus> -<src/lcd/extui/dgus/fysetc> -<src/lcd/extui/dgus/hiprecy> -<src/lcd/extui/dgus/mks> -<src/lcd/extui/dgus/origin>
|
||||
-<src/lcd/extui/dgus_reloaded>
|
||||
-<src/lcd/extui/example>
|
||||
-<src/lcd/extui/ftdi_eve_touch_ui>
|
||||
-<src/lcd/extui/malyan>
|
||||
-<src/lcd/extui/mks_ui>
|
||||
-<src/lcd/extui/nextion>
|
||||
default_src_filter = +<src/*> -<src/config> -<src/tests>
|
||||
; LCDs and Controllers
|
||||
-<src/lcd/HD44780> -<src/lcd/dogm> -<src/lcd/TFTGLCD> -<src/lcd/tft> -<src/lcd/tft_io>
|
||||
-<src/lcd/e3v2> -<src/lcd/menu> -<src/lcd/extui> -<src/lcd/touch>
|
||||
-<src/lcd/lcdprint.cpp>
|
||||
-<src/lcd/touch/touch_buttons.cpp>
|
||||
-<src/sd/usb_flashdrive/lib-uhs2> -<src/sd/usb_flashdrive/lib-uhs3>
|
||||
-<src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp>
|
||||
-<src/sd/cardreader.cpp> -<src/sd/Sd2Card.cpp> -<src/sd/SdBaseFile.cpp> -<src/sd/SdFatUtil.cpp> -<src/sd/SdFile.cpp> -<src/sd/SdVolume.cpp>
|
||||
; Marlin HAL
|
||||
-<src/HAL>
|
||||
+<src/HAL/shared>
|
||||
-<src/HAL/shared/backtrace>
|
||||
-<src/HAL/shared/cpu_exception>
|
||||
-<src/HAL/shared/eeprom_if_i2c.cpp>
|
||||
-<src/HAL/shared/eeprom_if_spi.cpp>
|
||||
-<src/feature/adc> -<src/gcode/feature/adc>
|
||||
-<src/feature/ammeter.cpp>
|
||||
-<src/feature/babystep.cpp>
|
||||
-<src/feature/backlash.cpp>
|
||||
-<src/feature/baricuda.cpp> -<src/gcode/feature/baricuda>
|
||||
-<src/feature/bedlevel/abl> -<src/gcode/bedlevel/abl>
|
||||
-<src/feature/bedlevel/bdl> -<src/gcode/probe/M102.cpp>
|
||||
-<src/feature/bedlevel/mbl> -<src/gcode/bedlevel/mbl>
|
||||
-<src/feature/bedlevel/ubl> -<src/gcode/bedlevel/ubl>
|
||||
-<src/feature/bedlevel/hilbert_curve.cpp>
|
||||
-<src/feature/binary_stream.cpp> -<src/libs/heatshrink>
|
||||
-<src/feature/bltouch.cpp>
|
||||
-<src/feature/cancel_object.cpp> -<src/gcode/feature/cancel>
|
||||
-<src/feature/caselight.cpp> -<src/gcode/feature/caselight>
|
||||
-<src/feature/closedloop.cpp>
|
||||
-<src/feature/controllerfan.cpp> -<src/gcode/feature/controllerfan>
|
||||
-<src/feature/cooler.cpp> -<src/gcode/temp/M143_M193.cpp>
|
||||
-<src/feature/dac> -<src/feature/digipot>
|
||||
-<src/feature/direct_stepping.cpp> -<src/gcode/motion/G6.cpp>
|
||||
-<src/feature/e_parser.cpp>
|
||||
-<src/feature/easythreed_ui.cpp>
|
||||
-<src/feature/encoder_i2c.cpp>
|
||||
-<src/feature/ethernet.cpp> -<src/gcode/feature/network/M552-M554.cpp>
|
||||
-<src/feature/fancheck.cpp>
|
||||
-<src/feature/fanmux.cpp>
|
||||
-<src/feature/filwidth.cpp> -<src/gcode/feature/filwidth>
|
||||
-<src/feature/fwretract.cpp> -<src/gcode/feature/fwretract>
|
||||
-<src/feature/host_actions.cpp>
|
||||
-<src/feature/hotend_idle.cpp>
|
||||
-<src/feature/joystick.cpp>
|
||||
-<src/feature/leds/blinkm.cpp>
|
||||
-<src/feature/leds/leds.cpp>
|
||||
-<src/feature/leds/neopixel.cpp>
|
||||
-<src/feature/leds/pca9533.cpp>
|
||||
-<src/feature/leds/pca9632.cpp>
|
||||
-<src/feature/leds/printer_event_leds.cpp>
|
||||
-<src/feature/leds/tempstat.cpp>
|
||||
-<src/feature/max7219.cpp>
|
||||
-<src/feature/meatpack.cpp>
|
||||
-<src/feature/mixing.cpp>
|
||||
-<src/feature/mmu/mmu.cpp>
|
||||
-<src/feature/mmu/mmu2.cpp> -<src/gcode/feature/prusa_MMU2>
|
||||
-<src/feature/password> -<src/gcode/feature/password>
|
||||
-<src/feature/pause.cpp>
|
||||
-<src/feature/power.cpp>
|
||||
-<src/feature/power_monitor.cpp> -<src/gcode/feature/power_monitor>
|
||||
-<src/feature/powerloss.cpp> -<src/gcode/feature/powerloss>
|
||||
-<src/feature/probe_temp_comp.cpp>
|
||||
-<src/feature/repeat.cpp>
|
||||
-<src/feature/runout.cpp> -<src/gcode/feature/runout>
|
||||
-<src/feature/snmm.cpp>
|
||||
-<src/feature/solenoid.cpp> -<src/gcode/control/M380_M381.cpp>
|
||||
-<src/feature/spindle_laser.cpp> -<src/gcode/control/M3-M5.cpp>
|
||||
-<src/feature/stepper_driver_safety.cpp>
|
||||
-<src/feature/tmc_util.cpp> -<src/module/stepper/trinamic.cpp>
|
||||
-<src/feature/tramming.cpp>
|
||||
-<src/feature/twibus.cpp>
|
||||
-<src/feature/x_twist.cpp> -<src/gcode/probe/M423.cpp>
|
||||
-<src/feature/z_stepper_align.cpp>
|
||||
-<src/gcode/bedlevel/G26.cpp>
|
||||
-<src/gcode/bedlevel/G35.cpp>
|
||||
-<src/gcode/bedlevel/G42.cpp>
|
||||
-<src/gcode/bedlevel/M420.cpp> -<src/feature/bedlevel/bedlevel.cpp>
|
||||
-<src/gcode/calibrate/G33.cpp>
|
||||
-<src/gcode/calibrate/G34.cpp>
|
||||
-<src/gcode/calibrate/G34_M422.cpp>
|
||||
-<src/gcode/calibrate/G76_M871.cpp>
|
||||
-<src/gcode/calibrate/G425.cpp>
|
||||
-<src/gcode/calibrate/M12.cpp>
|
||||
-<src/gcode/calibrate/M48.cpp>
|
||||
-<src/gcode/calibrate/M100.cpp>
|
||||
-<src/gcode/calibrate/M425.cpp>
|
||||
-<src/gcode/calibrate/M665.cpp>
|
||||
-<src/gcode/calibrate/M666.cpp>
|
||||
-<src/gcode/calibrate/M852.cpp>
|
||||
-<src/gcode/control/M10-M11.cpp>
|
||||
-<src/gcode/control/M42.cpp> -<src/gcode/control/M226.cpp>
|
||||
-<src/gcode/config/M43.cpp>
|
||||
-<src/gcode/config/M217.cpp>
|
||||
-<src/gcode/config/M218.cpp>
|
||||
-<src/gcode/config/M221.cpp>
|
||||
-<src/gcode/config/M301.cpp>
|
||||
-<src/gcode/config/M302.cpp>
|
||||
-<src/gcode/config/M304.cpp>
|
||||
-<src/gcode/config/M305.cpp>
|
||||
-<src/gcode/config/M540.cpp>
|
||||
-<src/gcode/config/M575.cpp>
|
||||
-<src/gcode/config/M672.cpp>
|
||||
-<src/gcode/control/M7-M9.cpp>
|
||||
-<src/gcode/control/M211.cpp>
|
||||
-<src/gcode/control/M350_M351.cpp>
|
||||
-<src/gcode/control/M605.cpp>
|
||||
-<src/gcode/feature/advance>
|
||||
-<src/gcode/feature/camera>
|
||||
-<src/gcode/feature/i2c>
|
||||
-<src/gcode/feature/input_shaping>
|
||||
-<src/gcode/feature/L6470>
|
||||
-<src/gcode/feature/leds/M150.cpp>
|
||||
-<src/gcode/feature/leds/M7219.cpp>
|
||||
-<src/gcode/feature/macro>
|
||||
-<src/gcode/feature/mixing/M163-M165.cpp>
|
||||
-<src/gcode/feature/mixing/M166.cpp>
|
||||
-<src/gcode/feature/pause/G27.cpp>
|
||||
-<src/gcode/feature/pause/G60.cpp>
|
||||
-<src/gcode/feature/pause/G61.cpp>
|
||||
-<src/gcode/feature/pause/M125.cpp>
|
||||
-<src/gcode/feature/pause/M600.cpp>
|
||||
-<src/gcode/feature/pause/M603.cpp>
|
||||
-<src/gcode/feature/pause/M701_M702.cpp>
|
||||
-<src/gcode/feature/trinamic/M122.cpp>
|
||||
-<src/gcode/feature/trinamic/M569.cpp>
|
||||
-<src/gcode/feature/trinamic/M906.cpp>
|
||||
-<src/gcode/feature/trinamic/M911-M914.cpp>
|
||||
-<src/gcode/feature/trinamic/M919.cpp>
|
||||
-<src/gcode/geometry/G17-G19.cpp>
|
||||
-<src/gcode/geometry/G53-G59.cpp>
|
||||
-<src/gcode/geometry/M206_M428.cpp>
|
||||
-<src/gcode/host/M16.cpp>
|
||||
-<src/gcode/host/M113.cpp>
|
||||
-<src/gcode/host/M154.cpp>
|
||||
-<src/gcode/host/M360.cpp>
|
||||
-<src/gcode/host/M876.cpp>
|
||||
-<src/gcode/lcd/M0_M1.cpp>
|
||||
-<src/gcode/lcd/M73.cpp>
|
||||
-<src/gcode/lcd/M117.cpp>
|
||||
-<src/gcode/lcd/M145.cpp>
|
||||
-<src/gcode/lcd/M250.cpp> -<src/gcode/lcd/M255.cpp> -<src/gcode/lcd/M256.cpp>
|
||||
-<src/gcode/lcd/M300.cpp>
|
||||
-<src/gcode/lcd/M414.cpp>
|
||||
-<src/gcode/lcd/M995.cpp>
|
||||
-<src/gcode/motion/G2_G3.cpp>
|
||||
-<src/gcode/motion/G5.cpp>
|
||||
-<src/gcode/motion/G80.cpp>
|
||||
-<src/gcode/motion/M290.cpp>
|
||||
-<src/gcode/probe/G30.cpp>
|
||||
-<src/gcode/probe/G31_G32.cpp>
|
||||
-<src/gcode/probe/G38.cpp>
|
||||
-<src/gcode/probe/M401_M402.cpp>
|
||||
-<src/gcode/probe/M851.cpp>
|
||||
-<src/gcode/probe/M951.cpp>
|
||||
; Features and G-Codes
|
||||
-<src/feature>
|
||||
-<src/gcode/bedlevel>
|
||||
-<src/gcode/calibrate>
|
||||
-<src/gcode/config>
|
||||
-<src/gcode/control>
|
||||
-<src/gcode/feature>
|
||||
-<src/gcode/geometry>
|
||||
-<src/gcode/host>
|
||||
-<src/gcode/lcd>
|
||||
-<src/gcode/motion>
|
||||
-<src/gcode/probe>
|
||||
-<src/gcode/scara>
|
||||
-<src/gcode/sd>
|
||||
-<src/gcode/sd/M32.cpp>
|
||||
-<src/gcode/sd/M808.cpp>
|
||||
-<src/gcode/temp/M104_M109.cpp>
|
||||
-<src/gcode/temp/M123.cpp>
|
||||
-<src/gcode/temp/M155.cpp>
|
||||
-<src/gcode/temp/M192.cpp>
|
||||
-<src/gcode/temp/M306.cpp>
|
||||
-<src/gcode/units/G20_G21.cpp>
|
||||
-<src/gcode/units/M82_M83.cpp>
|
||||
-<src/gcode/units/M149.cpp>
|
||||
-<src/gcode/temp>
|
||||
-<src/gcode/units>
|
||||
; Library Code
|
||||
-<src/libs/heatshrink>
|
||||
-<src/libs/BL24CXX.cpp> -<src/libs/W25Qxx.cpp>
|
||||
-<src/libs/MAX31865.cpp>
|
||||
-<src/libs/hex_print.cpp>
|
||||
-<src/libs/least_squares_fit.cpp>
|
||||
-<src/libs/nozzle.cpp> -<src/gcode/feature/clean>
|
||||
-<src/module/delta.cpp>
|
||||
-<src/module/planner_bezier.cpp>
|
||||
-<src/module/polargraph.cpp>
|
||||
-<src/module/printcounter.cpp>
|
||||
-<src/module/probe.cpp>
|
||||
-<src/module/scara.cpp>
|
||||
-<src/module/servo.cpp> -<src/gcode/control/M280.cpp> -<src/gcode/config/M281.cpp> -<src/gcode/control/M282.cpp>
|
||||
-<src/module/stepper/TMC26X.cpp>
|
||||
-<src/libs/nozzle.cpp>
|
||||
; Modules
|
||||
-<src/module>
|
||||
-<src/module/stepper>
|
||||
; Media Support
|
||||
-<src/sd>
|
||||
;
|
||||
; Minimal Requirements
|
||||
;
|
||||
+<src/gcode/calibrate/G28.cpp>
|
||||
+<src/gcode/config/M92.cpp>
|
||||
+<src/gcode/config/M200-M205.cpp>
|
||||
+<src/gcode/config/M220.cpp>
|
||||
+<src/gcode/control/M17_M18_M84.cpp>
|
||||
+<src/gcode/control/M80_M81.cpp>
|
||||
+<src/gcode/control/M85.cpp>
|
||||
+<src/gcode/control/M108_*.cpp>
|
||||
+<src/gcode/control/M111.cpp>
|
||||
+<src/gcode/control/M120_M121.cpp>
|
||||
+<src/gcode/control/M999.cpp>
|
||||
+<src/gcode/control/T.cpp>
|
||||
+<src/gcode/geometry/G92.cpp>
|
||||
+<src/gcode/host/M110.cpp>
|
||||
+<src/gcode/host/M114.cpp>
|
||||
+<src/gcode/host/M115.cpp>
|
||||
+<src/gcode/host/M118.cpp>
|
||||
+<src/gcode/host/M119.cpp>
|
||||
+<src/gcode/motion/G0_G1.cpp>
|
||||
+<src/gcode/motion/G4.cpp>
|
||||
+<src/gcode/motion/M400.cpp>
|
||||
+<src/gcode/temp/M105.cpp>
|
||||
+<src/module/endstops.cpp>
|
||||
+<src/module/motion.cpp>
|
||||
+<src/module/planner.cpp>
|
||||
+<src/module/settings.cpp>
|
||||
+<src/module/stepper.cpp>
|
||||
+<src/module/temperature.cpp>
|
||||
+<src/module/tool_change.cpp>
|
||||
+<src/module/stepper/indirection.cpp>
|
||||
|
||||
#
|
||||
# Default values apply to all 'env:' prefixed environments
|
||||
|
|
Loading…
Reference in a new issue