Skip to content

Commit c07def2

Browse files
committed
update to current 2.0.x
2 parents 17b02a2 + 35b1149 commit c07def2

File tree

550 files changed

+36484
-17978
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

550 files changed

+36484
-17978
lines changed

.circleci/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ jobs:
5151
export PATH=`pwd`/buildroot/bin/:${PATH}
5252
5353
# Generate custom version include
54-
generate_version ./Marlin/src/inc
55-
cat ./Marlin/src/inc/_Version.h
54+
generate_version ./Marlin/
55+
cat ./Marlin/Version.h
5656
#
5757
# Back up pins_RAMPS.h
5858
#

.travis.yml

+12-8
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ env:
1313
- TEST_PLATFORM="DUE"
1414
- TEST_PLATFORM="esp32"
1515
- TEST_PLATFORM="linux_native"
16-
- TEST_PLATFORM="LPC1768"
17-
- TEST_PLATFORM="LPC1769"
1816
- TEST_PLATFORM="megaatmega2560"
1917
- TEST_PLATFORM="STM32F103RE"
2018
- TEST_PLATFORM="teensy31"
@@ -27,20 +25,26 @@ env:
2725
- TEST_PLATFORM="sanguino_atmega1284p"
2826
- TEST_PLATFORM="sanguino_atmega644p"
2927

28+
# Broken Extended STM32 Environments
29+
#- TEST_PLATFORM="ARMED"
30+
#- TEST_PLATFORM="BIGTREE_BTT002"
31+
#- TEST_PLATFORM="BIGTREE_SKR_PRO"
32+
3033
# Extended STM32 Environments
31-
- TEST_PLATFORM="ARMED"
32-
- TEST_PLATFORM="BIGTREE_BTT002"
33-
- TEST_PLATFORM="BIGTREE_SKR_PRO"
3434
- TEST_PLATFORM="STM32F103RC_bigtree"
3535
- TEST_PLATFORM="jgaurora_a5s_a1"
3636
- TEST_PLATFORM="STM32F103VE_longer"
3737
- TEST_PLATFORM="STM32F407VE_black"
38+
- TEST_PLATFORM="mks_robin"
39+
40+
# Put lengthy tests last
41+
- TEST_PLATFORM="LPC1768"
42+
- TEST_PLATFORM="LPC1769"
3843

3944
# Non-working environment tests
4045
#- TEST_PLATFORM="at90usb1286_cdc"
4146
#- TEST_PLATFORM="at90usb1286_dfu"
4247
#- TEST_PLATFORM="STM32F103CB_malyan"
43-
#- TEST_PLATFORM="mks_robin"
4448
#- TEST_PLATFORM="mks_robin_lite"
4549
#- TEST_PLATFORM="mks_robin_mini"
4650
#- TEST_PLATFORM="mks_robin_nano"
@@ -73,8 +77,8 @@ before_script:
7377
- cd ${TRAVIS_BUILD_DIR}
7478
#
7579
# Generate custom version include
76-
- generate_version ${TRAVIS_BUILD_DIR}/Marlin/src/inc
77-
- cat ${TRAVIS_BUILD_DIR}/Marlin/src/inc/_Version.h
80+
- generate_version ${TRAVIS_BUILD_DIR}/Marlin/
81+
- cat ${TRAVIS_BUILD_DIR}/Marlin/Version.h
7882
#
7983
script:
8084
- run_tests ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}

Marlin/Configuration.h

+38-25
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@
7272

7373
// Author info of this build printed to the host during boot and M115
7474
#define STRING_CONFIG_H_AUTHOR "(alpine, sappireTFT35)" // Who made the changes.
75+
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
76+
7577

7678
/**
7779
* *** VENDORS PLEASE READ ***
@@ -390,6 +392,7 @@
390392
* 67 : 450C thermistor from SliceEngineering
391393
* 70 : the 100K thermistor found in the bq Hephestos 2
392394
* 75 : 100k Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor
395+
* 99 : 100k thermistor with a 10K pull-up resistor (found on some Wanhao i3 machines)
393396
*
394397
* 1k ohm pullup tables - This is atypical, and requires changing out the 4.7k pullup for 1k.
395398
* (but gives greater accuracy and more stable PID)
@@ -407,8 +410,6 @@
407410
* Use these for Testing or Development purposes. NEVER for production machine.
408411
* 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below.
409412
* 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below.
410-
*
411-
* :{ '0':"Not used", '1':"100k / 4.7k - EPCOS", '331':"(3.3V thermistor 1)", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '512':"100k RPW-Ultra hotend thermistor", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '18':"ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327" '20':"Pt100 (Ultimainboard V2.x)", '201':"Pt100 (Overlord)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595", '998':"Dummy 1", '999':"Dummy 2", '1000':"Custom thermistor params" }
412413
*/
413414
//@ need to check what thermistor it actually uses
414415
#define TEMP_SENSOR_0 1
@@ -750,6 +751,11 @@
750751
//@ keep speed reasonable
751752
#define DEFAULT_MAX_FEEDRATE { 200, 200, 10, 75 }
752753

754+
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
755+
#if ENABLED(LIMITED_MAX_FR_EDITING)
756+
#define MAX_FEEDRATE_EDIT_VALUES { 600, 600, 10, 50 } // ...or, set your own edit limits
757+
#endif
758+
753759
/**
754760
* Default Max Acceleration (change/s) change = mm/s
755761
* (Maximum start speed for accelerated moves)
@@ -759,6 +765,11 @@
759765
//@ keep speed reasonable
760766
#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 1000 }
761767

768+
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
769+
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
770+
#define MAX_ACCEL_EDIT_VALUES { 6000, 6000, 200, 20000 } // ...or, set your own edit limits
771+
#endif
772+
762773
/**
763774
* Default Acceleration (change/s) change = mm/s
764775
* Override with M204
@@ -773,36 +784,38 @@
773784
#define DEFAULT_TRAVEL_ACCELERATION 2000 // X, Y, Z acceleration for travel (non printing) moves
774785

775786
/**
776-
* Junction Deviation
777-
*
778-
* Use Junction Deviation instead of traditional Jerk Limiting
779-
*
780-
* See:
781-
* https://reprap.org/forum/read.php?1,739819
782-
* http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
783-
*/
784-
//@ let's try
785-
//#define JUNCTION_DEVIATION
786-
#if ENABLED(JUNCTION_DEVIATION)
787-
#define JUNCTION_DEVIATION_MM 0.025 // (mm) Distance from real junction edge
788-
#endif
789-
790-
/**
791-
* Default Jerk (mm/s)
787+
* Default Jerk limits (mm/s)
792788
* Override with M205 X Y Z E
793789
*
794790
* "Jerk" specifies the minimum speed change that requires acceleration.
795791
* When changing speed and , if the difference is less than the
796792
* value set here, it may happen instantaneously.
797793
*/
798-
#if DISABLED(JUNCTION_DEVIATION)
799-
#define DEFAULT_XJERK 15.0
800-
#define DEFAULT_YJERK 15.0
801-
#define DEFAULT_ZJERK 0.4
794+
//#define CLASSIC_JERK
795+
#if ENABLED(CLASSIC_JERK)
796+
#define DEFAULT_XJERK 10.0
797+
#define DEFAULT_YJERK 10.0
798+
#define DEFAULT_ZJERK 0.3
799+
800+
//#define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
801+
#if ENABLED(LIMITED_JERK_EDITING)
802+
#define MAX_JERK_EDIT_VALUES { 20, 20, 0.6, 10 } // ...or, set your own edit limits
803+
#endif
802804
#endif
803805

804806
#define DEFAULT_EJERK 1.5 // May be used by Linear Advance @lowered to keep extruder from rattling
805807

808+
/**
809+
* Junction Deviation Factor
810+
*
811+
* See:
812+
* https://reprap.org/forum/read.php?1,739819
813+
* http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
814+
*/
815+
#if DISABLED(CLASSIC_JERK)
816+
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
817+
#endif
818+
806819
/**
807820
* S-Curve Acceleration
808821
*
@@ -1604,10 +1617,10 @@
16041617
*
16051618
* Select the language to display on the LCD. These languages are available:
16061619
*
1607-
* en, an, bg, ca, cz, da, de, el, el-gr, es, eu, fi, fr, gl, hr, it, jp-kana,
1608-
* ko_KR, nl, pl, pt, pt-br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test
1620+
* en, an, bg, ca, cz, da, de, el, el_gr, es, eu, fi, fr, gl, hr, it, jp_kana,
1621+
* ko_KR, nl, pl, pt, pt_br, ru, sk, tr, uk, vi, zh_CN, zh_TW, test
16091622
*
1610-
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp-kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' }
1623+
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el_gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'jp_kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt_br':'Portuguese (Brazilian)', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' }
16111624
*/
16121625
#define LCD_LANGUAGE en
16131626

Marlin/Configuration_adv.h

+42-9
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,7 @@
379379
#define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW
380380
#define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on
381381
#define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin)
382+
//#define CASE_LIGHT_MAX_PWM 128 // Limit pwm
382383
//#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu
383384
//#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting.
384385
//#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED.
@@ -603,18 +604,32 @@
603604
//#define Z_STEPPER_AUTO_ALIGN
604605
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
605606
// Define probe X and Y positions for Z1, Z2 [, Z3]
606-
#define Z_STEPPER_ALIGN_XY { { 10, 290 }, { 150, 10 }, { 290, 290 } } // Set number of iterations to align
607+
#define Z_STEPPER_ALIGN_XY { { 10, 290 }, { 150, 10 }, { 290, 290 } }
608+
609+
// Provide Z stepper positions for more rapid convergence in bed alignment.
610+
// Currently requires triple stepper drivers.
611+
//#define Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS
612+
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
613+
// Define Stepper XY positions for Z1, Z2, Z3 corresponding to
614+
// the Z screw positions in the bed carriage.
615+
// Define one position per Z stepper in stepper driver order.
616+
#define Z_STEPPER_ALIGN_STEPPER_XY { { 210.7, 102.5 }, { 152.6, 220.0 }, { 94.5, 102.5 } }
617+
#else
618+
// Amplification factor. Used to scale the correction step up or down.
619+
// In case the stepper (spindle) position is further out than the test point.
620+
// Use a value > 1. NOTE: This may cause instability
621+
#define Z_STEPPER_ALIGN_AMP 1.0
622+
#endif
623+
624+
// Set number of iterations to align
607625
#define Z_STEPPER_ALIGN_ITERATIONS 3
626+
608627
// Enable to restore leveling setup after operation
609628
#define RESTORE_LEVELING_AFTER_G34
610629

611630
// On a 300mm bed a 5% grade would give a misalignment of ~1.5cm
612631
#define G34_MAX_GRADE 5 // (%) Maximum incline G34 will handle
613632

614-
// Use the amplification factor to de-/increase correction step.
615-
// In case the stepper (spindle) position is further out than the test point
616-
// Use a value > 1. NOTE: This may cause instability
617-
#define Z_STEPPER_ALIGN_AMP 1.0
618633
// Stop criterion. If the accuracy is better than this stop iterating early
619634
#define Z_STEPPER_ALIGN_ACC 0.02
620635
#endif
@@ -891,6 +906,15 @@
891906
// Add an 'M73' G-code to set the current percentage
892907
//#define LCD_SET_PROGRESS_MANUALLY
893908

909+
// Show the E position (filament used) during printing
910+
//#define LCD_SHOW_E_TOTAL
911+
912+
#if HAS_GRAPHICAL_LCD && HAS_PRINT_PROGRESS
913+
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
914+
//#define SHOW_REMAINING_TIME // Display estimated time to completion
915+
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
916+
#endif
917+
894918
#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS
895919
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
896920
#if ENABLED(LCD_PROGRESS_BAR)
@@ -984,7 +1008,7 @@
9841008
#endif
9851009

9861010
// This allows hosts to request long names for files and folders with M33
987-
//#define LONG_FILENAME_HOST_SUPPORT
1011+
#define LONG_FILENAME_HOST_SUPPORT
9881012

9891013
// Enable this option to scroll long filenames in the SD card menu
9901014
//#define SCROLL_LONG_FILENAMES
@@ -1294,8 +1318,8 @@
12941318
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
12951319
//@
12961320
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
1297-
#define BABYSTEP_MULTIPLICATOR 10 // Babysteps are very small. Increase for faster motion.
1298-
1321+
#define BABYSTEP_MULTIPLICATOR_Z 10 // Babysteps are very small. Increase for faster motion.
1322+
#define BABYSTEP_MULTIPLICATOR_XY 10
12991323
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
13001324
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
13011325
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
@@ -1379,7 +1403,7 @@
13791403
* probe points will follow. This prevents any change from causing
13801404
* the probe to be unable to reach any points.
13811405
*/
1382-
#if PROBE_SELECTED && !IS_KINEMATIC && !IS_KINEMATIC
1406+
#if PROBE_SELECTED && !IS_KINEMATIC
13831407
//#define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE
13841408
//#define MIN_PROBE_EDGE_RIGHT MIN_PROBE_EDGE
13851409
//#define MIN_PROBE_EDGE_FRONT MIN_PROBE_EDGE
@@ -2051,6 +2075,8 @@
20512075
*
20522076
* IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when
20532077
* homing and adds a guard period for endstop triggering.
2078+
*
2079+
* TMC2209 requires STEALTHCHOP enabled for SENSORLESS_HOMING
20542080
*/
20552081
//#define SENSORLESS_HOMING // StallGuard capable drivers only
20562082

@@ -2564,6 +2590,13 @@
25642590
//#define HOST_PROMPT_SUPPORT
25652591
#endif
25662592

2593+
/**
2594+
* Cancel Objects
2595+
*
2596+
* Implement M486 to allow Marlin to skip objects
2597+
*/
2598+
//#define CANCEL_OBJECTS
2599+
25672600
/**
25682601
* I2C position encoders for closed loop control.
25692602
* Developed by Chris Barr at Aus3D.

Marlin/Version.h

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4+
*
5+
* Based on Sprinter and grbl.
6+
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7+
*
8+
* This program is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* (at your option) any later version.
12+
*
13+
* This program is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU General Public License
19+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
////////////////////////////
25+
// VENDOR VERSION EXAMPLE //
26+
////////////////////////////
27+
28+
/**
29+
* Marlin release version identifier
30+
*/
31+
//#define SHORT_BUILD_VERSION "bugfix-2.0.x"
32+
33+
/**
34+
* Verbose version identifier which should contain a reference to the location
35+
* from where the binary was downloaded or the source code was compiled.
36+
*/
37+
//#define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " (Github)"
38+
39+
/**
40+
* The STRING_DISTRIBUTION_DATE represents when the binary file was built,
41+
* here we define this default string as the date where the latest release
42+
* version was tagged.
43+
*/
44+
//#define STRING_DISTRIBUTION_DATE "2019-07-10"
45+
46+
/**
47+
* Defines a generic printer name to be output to the LCD after booting Marlin.
48+
*/
49+
//#define MACHINE_NAME "3D Printer"
50+
51+
/**
52+
* The SOURCE_CODE_URL is the location where users will find the Marlin Source
53+
* Code which is installed on the device. In most cases —unless the manufacturer
54+
* has a distinct Github fork— the Source Code URL should just be the main
55+
* Marlin repository.
56+
*/
57+
//#define SOURCE_CODE_URL "https://github.com/MarlinFirmware/Marlin"
58+
59+
/**
60+
* Default generic printer UUID.
61+
*/
62+
//#define DEFAULT_MACHINE_UUID "cede2a2f-41a2-4748-9b12-c55c62f367ff"
63+
64+
/**
65+
* The WEBSITE_URL is the location where users can get more information such as
66+
* documentation about a specific Marlin release.
67+
*/
68+
//#define WEBSITE_URL "http://marlinfw.org"
69+
70+
/**
71+
* Set the vendor info the serial USB interface, if changable
72+
* Currently only supported by DUE platform
73+
*/
74+
//#define USB_DEVICE_VENDOR_ID 0x0000
75+
//#define USB_DEVICE_PRODUCT_ID 0x0000
76+
//#define USB_DEVICE_MANUFACTURE_NAME WEBSITE_URL

Marlin/src/HAL/HAL_AVR/HAL.h

+8
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@
3838
#include <avr/interrupt.h>
3939
#include <avr/io.h>
4040

41+
#ifndef pgm_read_ptr
42+
// Compatibility for avr-libc 1.8.0-4.1 included with Ubuntu for
43+
// Windows Subsystem for Linux on Windows 10 as of 10/18/2019
44+
#define pgm_read_ptr_far(address_long) (void*)__ELPM_word((uint32_t)(address_long))
45+
#define pgm_read_ptr_near(address_short) (void*)__LPM_word((uint16_t)(address_short))
46+
#define pgm_read_ptr(address_short) pgm_read_ptr_near(address_short)
47+
#endif
48+
4149
// ------------------------
4250
// Defines
4351
// ------------------------

0 commit comments

Comments
 (0)