|
本帖最后由 1五湖四海1 于 2016-8-25 22:44 编辑 4 `0 q/ o' \1 i0 Y+ W2 C4 ?" w* [6 m 9 L( a8 B3 K ?0 e6 n3 D这个defaults.h文件作为一个中央默认设置配置不同的机器类型,从DIY米尔斯数控CNC转换的现成的机器。这里的设置所列出的文件是由用户提供的,' Q/ f& _( N& q9 } p3 X9 M 所以您的你的需求可能不同。所以应该你了解你的机器和调整设置根据你的个性的需求,制造机器。: W5 k/ }+ y+ j& |3 z3 w: m/ z/ | defaults_h文件是选择是否将一些参数设置为默认值 % r/ A4 Z, R1 z0 A$ j5 D+ x; i定义各种参数, K7 t' x. f; P1 t# |$ X d5 [% {: i 1.defaults/defaults_generic.h //Grbl通过通用默认设置就可以在不同的机器上工作。! I! }: w; F4 y 2.defaults/defaults_sherline.h //描述:Sherline 5400制造厂三个NEMA 23客户KL23H256-21-8B 185扭力步进电机% s) y. w( Y5 i. s1 r8 @! i% ?. P 3.defaults/defaults_shapeoko.h // 描述:Shapeoko数控机有三个NEMA 17步进电机,由Synthetos驱动的* H# ]& }/ R9 v; j, h9 v2 ~3 Y" ~ 4.defaults/defaults_shapeoko3 //描述:Shapeoko数控机有三个NEMA 23步进电机,由CarbideMotion驱动的3 ?4 w' n3 L/ c z) ~1 J 5.defaults/defaults_x_carve_500mm //描述:X-Carve 3 d卡佛数控机有三个200步/汽车由Synthetos牧师grblShield 24 v。/ c% L8 v* K5 H& G% i# \ 6.defaults/defaults_zen_toolworks_7x7 //描述:禅宗Toolworks 7 x7机有三个Shinano SST43D2121 65扭力NEMA 17步进电机。导螺杆不同于一些ZTW包,大多数是1.25毫米/牧师而不是8.0毫米/牧师。由30 v 6电源和TI DRV8811步进电机驱动程序 l0 s' g v0 i7.defaults/defaults_oxcnc // Grbl设置OpenBuilds牛数控机床- C; D. ?9 {9 O" z2 H 8.defaults/defaults_simulator 6 V) r7 A7 b# u2 z+ B, Y5 U/ H0 Q /* 9 R6 Y- C# o5 I5 u. qdefaults.h - defaults settings configuration file! V* _6 u& {' }7 S3 y Part of Grbl9 S5 f: _% Y7 z2 E2 _ 3 |' p9 v: ^ j% |5 ]2 j8 t Copyright (c) 2012-2015 Sungeun K. Jeon 3 e6 R3 ^! Z8 w" R+ z! }2 n ( f' }& d- r* a$ d3 B$ `Grbl is free software: you can redistribute it and/or modify ( ~& t' s- T0 H, Q- g1 Oit under the terms of the GNU General Public License as published by; [( M1 i" u+ G/ I y& l' o- j the Free Software Foundation, either version 3 of the License, or ' [* L( D( F+ Z% P' f B4 S- O(at your option) any later version.2 `. [/ u- j/ L! |$ @# |! o! R
/ ]( J, l- E- p+ @9 vGrbl is distributed in the hope that it will be useful,+ k! g( p7 Y* f- T7 ] but WITHOUT ANY WARRANTY; without even the implied warranty of ) k6 c$ t/ D" r) b' gMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ) J2 A! u* Y; C1 X- c& G6 Q7 E- GGNU General Public License for more details., Z. ^) p" c$ x0 C m
0 S2 I: c: j T8 W3 M% dYou should have received a copy of the GNU General Public License8 v: L8 {1 W/ A, q& R0 s along with Grbl. If not, see .3 {! a- V- s5 z( h ` */ 3 ~8 p# s, R% D/ y0 T$ Y, `" ?+ Y; Z; I( q( P% M' }( Y; g /* The defaults.h file serves as a central default settings selector for different machinel! x& Z$ q }+ f types, from DIY CNC mills to CNC conversions of off-the-shelf machines. The settings % |' f! p4 R& P: zfiles listed here are supplied by users, so your results may vary. However, this should0 n/ J) D* ]5 j! j3 y) l2 L5 f+ ]2 q give you a good starting point as you get to know your machine and tweak the settings for1 v$ R# @+ i- y! Y your nefarious needs. 5 P% J5 O4 n( b1 v/ Y5 |- ZEnsure one and only one of these DEFAULTS_XXX values is defined in config.h # ] R: r. Q. i) N% r5 y7 _8 }) y1 `3 M, j' V# l( k The defaults.h文件作为一个中央默认设置选择不同的机器7 g8 J$ R# N- F: { 类型,从DIY米尔斯数控CNC转换的现成的机器。的设置 8 Y3 B& ]$ ^$ u9 Q% r这里列出的文件是由用户提供的,所以您的结果可能不同。然而,这应该 . y# B2 E% U+ f" D) O4 X x$ X给你一个很好的起点,你了解你的机器和调整设置 / M3 }: P/ u f4 D9 F/ ]# Z你的个性的需求。/ E/ D) T1 Z, L- l* ^; \) i 确保一个且只有一个这些DEFAULTS_XXX config.h中定义的值 + V% L4 a1 }/ D*/ ; Q$ k+ b# z& }0 C' V8 M2 T3 Y( k) |: y2 L2 b* Z% ]4 g #ifndef defaults_h3 ?9 c. R$ y9 d5 c
6 @# o) e* r* s6 r* U// Only define the DEFAULT_XXX with where to find the corresponding default_XXX.h file.- ]# f! J( K. @; v // Don't #define defaults_h here, let the selected file do it. Prevents including more than one. " ^ V) P$ B8 k; W' Z7 x: ^8 m//只有定义DEFAULT_XXX在哪里可以找到相应的DEFAULT_XXX。h文件。 7 L) K3 ?$ `" t$ ?; u//别在这里# define defaults_h,让选中的文件。防止包括不止一个。 ) c0 Z q, k# ?( b- O% g9 B % k* g% f! n6 C' @#ifdef DEFAULTS_GENERIC l! m f( r: b1 r# A. c% ` Q7 f// Grbl generic default settings. Should work across different machines.5 A/ `. U% t+ s$ ] // Grbl通过通用默认设置就可以在不同的机器上工作。 8 d: R+ Y7 w# P+ E% m9 y' }8 f2 `, e#include "defaults/defaults_generic.h"/ s0 k. M }3 m {* Q2 G* ~, ? #endif 9 R( I& Q4 R; B u; M% {% d5 V) o7 d5 e) Q8 U1 p( b #ifdef DEFAULTS_SHERLINE_5400+ C! N, r6 ?0 t // Description: Sherline 5400 mill with three NEMA 23 Keling KL23H256-21-8B 185 oz-in stepper motors,& g8 ?( s5 r) H" c/ O3 j // driven by three Pololu A4988 stepper drivers with a 30V, 6A power supply at 1.5A per winding. - H' i; Z% q5 O; p |//描述:Sherline 5400制造厂三个NEMA 23客户KL23H256-21-8B 185扭力步进电机,Z. I- g: C. `- {) u. v //由三个Pololu A4988步进驱动30 v,6在每1.5绕组供电。 . ~1 |4 Q3 }& f2 N- h 3 R- x6 w, m7 X#include "defaults/defaults_sherline.h" , o B0 Q4 k6 n6 \& o#endif , K+ _- y4 k4 t- ?8 U" y! O# e4 o$ h) R; A1 f #ifdef DEFAULTS_SHAPEOKO/ D* a4 Z m/ J Z1 D3 x2 x // Description: Shapeoko CNC mill with three NEMA 17 stepper motors, driven by Synthetos 3 g" d( W# v% @1 k4 L- d// grblShield with a 24V, 4.2A power supply. 4 q4 K ]0 P& t8 r- j, F: a( A// 描述:Shapeoko数控机有三个NEMA 17步进电机,由Synthetos驱动的 " y3 ^! Z k" e$ l// grblShield 24 v,4.2电源。 / H4 O* q3 r8 w1 i6 r 3 ^/ c' i! p7 n& q# l6 v#include "defaults/defaults_shapeoko.h" * M6 w v% j; p# e- m#endif / u1 H' E0 a' F - R% j6 ^ Z1 M3 B+ d7 ^2 ]#ifdef DEFAULTS_SHAPEOKO_2 $ p0 d. Q! a- i// Description: Shapeoko CNC mill with three NEMA 17 stepper motors, driven by Synthetos2 k. {3 j. `# O# ?0 Z8 S // grblShield at 28V.7 y/ W5 U# S( Q4 G2 B& n5 {5 r // 描述:Shapeoko数控机有三个NEMA 17步进电机,由Synthetos驱动的9 c4 b0 r3 T8 d! g8 Q // grblShield 28 v。8 t/ A' d4 g+ o$ t, k ( ]2 N% S% G& t- ?# o% f #include "defaults/defaults_shapeoko2.h"6 D4 }% D2 H" c+ T7 v5 b #endif, i+ N ~' O6 u/ [
8 A) _9 u" M+ F/ s0 R; \9 V#ifdef DEFAULTS_SHAPEOKO_3 - w% l$ m! h5 W* E+ l& p// Description: Shapeoko CNC mill with three NEMA 23 stepper motors, driven by CarbideMotion4 a( H/ N3 u( ]- ~) ~7 g) l% Z // 描述:Shapeoko数控机有三个NEMA 23步进电机,由CarbideMotion驱动的 X! Q4 T; S2 [' w3 C ; u# D% s7 ]3 ]. C: {#include "defaults/defaults_shapeoko3.h"' g% E( E0 ]9 u( {! _+ {3 I3 I #endif ( F( w9 v( o8 {! ~5 K- | ; j$ T8 r% _9 y; F$ L2 y' j; u1 q#ifdef DEFAULTS_X_CARVE_500MM " m! j6 h0 N* J( N// Description: X-Carve 3D Carver CNC mill with three 200 step/rev motors driven by Synthetos 7 ]" D+ C/ y$ l( q# q8 {) s// grblShield at 24V./ _* M! ^+ ]2 `9 u // 描述:X-Carve 3 d卡佛数控机有三个200步/汽车由Synthetos牧师grblShield 24 v。2 F4 o# r9 b: L1 D #include "defaults/defaults_x_carve_500mm.h"/ C7 F {* ]% f9 E, W #endif- v! @6 v5 ]: i- K" d5 g( n* w4 R 2 ?2 O; L _8 ~/ m0 t. W #ifdef DEFAULTS_X_CARVE_1000MM0 m+ V7 M- M+ t // Description: X-Carve 3D Carver CNC mill with three 200 step/rev motors driven by Synthetos 9 L5 j; f9 x6 z, G0 B// grblShield at 24V.* R! }* A# _8 @, z- k #include "defaults/defaults_x_carve_1000mm.h". e6 d" R1 n; ]9 S E #endif$ y C F L' e- V* n
) J& l" _ d0 M6 v$ Q#ifdef DEFAULTS_ZEN_TOOLWORKS_7x7 . F$ {) r: W* r* c// Description: Zen Toolworks 7x7 mill with three Shinano SST43D2121 65oz-in NEMA 17 stepper motors./ P7 ]3 U/ @/ S: D( \7 ^& L // Leadscrew is different from some ZTW kits, where most are 1.25mm/rev rather than 8.0mm/rev here. 1 z2 Z3 _) f) p/ M+ k// Driven by 30V, 6A power supply and TI DRV8811 stepper motor drivers.: k7 D6 I& |9 M9 ~* D. q //描述:禅宗Toolworks 7 x7机有三个Shinano SST43D2121 65扭力NEMA 17步进电机。6 B( P) D; R' a7 Z //导螺杆不同于一些ZTW包,大多数是1.25毫米/牧师而不是8.0毫米/牧师。 : F* U$ ^- H7 r( ^6 V5 G. k. }//由30 v 6电源和TI DRV8811步进电机驱动程序。. @( C1 U) E$ i1 V5 Z
" n4 O# V' G- v" ?0 q8 N0 y8 s#include "defaults/defaults_zen_toolworks_7x7.h"* G1 E: n* o4 Y2 W8 O% t+ J6 V3 \* e #endif 9 O$ ~1 \2 Q; A 6 x. @- q7 l4 g- r- E ^#ifdef DEFAULTS_OXCNC ! S4 W/ p- {, B o+ D// Grbl settings for OpenBuilds OX CNC Machine. j+ ?4 [4 C; ]: i7 L; M // http://www.openbuilds.com/builds/openbuilds-ox-cnc-machine.341/ % c! T9 k9 `1 M6 q7 \- `! t- q5 N. j5 b5 ]- f // http://www.openbuilds.com/builds/openbuilds-ox-cnc-machine.341/) T6 o" Z$ E8 t! T4 M/ ~) }5 [ #include "defaults/defaults_oxcnc.h" // Grbl设置OpenBuilds牛数控机床 / [# t$ v2 v9 Q$ [' x: ]#endif 5 S ^8 |" i5 s3 D- B7 S$ e" m6 W7 F! Q) p. D5 } #ifdef DEFAULTS_SIMULATOR ( S( u2 ]. P% ^2 d// Settings only for Grbl Simulator (www.github.com/grbl/grbl-sim) - c, z, n& U* D" ~+ l1 u5 l' ~#include "defaults/defaults_simulator.h" //设置只对Grbl模拟器(www.github.com/grbl/grbl-sim)& U% `& u0 ^/ G8 I. E) n" J #endif( ^) R p3 }" V6 C: _ . h- s! X& I, d: N6 C #endif 7 H0 \5 O5 A$ C0 w7 A* u6 [$ |: m) O5 y- x3 x __________________________________________________________________________________________________________________1 k6 h# p4 U( [$ }4 y/ ^9 P /* 7 c* t' V+ B9 g. J; z2 qdefaults_generic.h -默认设置配置文件Grbl的一部分% j" W9 ]! v$ ?! h7 F8 f* E 版权(c)2012 - 2015 Sungeun k全, l! E3 _. r" F3 F& D. B' L m Grbl是免费软件:可以重新分配和/或修改 5 b8 e( M8 m; i, q' r3 |, EGNU通用公共许可证的条款下发布的/ ~" F6 a- V; O1 b 自由软件基金会,版本3的许可,或2 D2 I+ B& M+ s* T( {* U R (任您选)其后的版本。3 @* r6 {/ h; j4 o$ | : F% Q0 ^4 f" N Grbl分布,希望这将是有用的, : z4 A! @ A% [, j但是没有任何保证;没有即使的默示保证 2 B/ u% T* h7 z适销性或健身为特定目的。看到/ v8 H8 g2 n6 h9 z2 f0 p) G3 w9 _ GNU通用公共许可证的更多细节。 ( m% B' M/ u! L! |5 w( E* b* ^+ y5 u% h2 B0 o- c, ~( D @ 你应该收到了GNU通用公共许可证的副本 , A! y# v8 B6 N1 O3 ^, _0 W3 Z连同Grbl。如果没有,看< http://www.gnu.org/licenses/ >。& p- G" I1 f* e K! Q * / . u3 C8 y' |/ Y% t9 o . l; ~. @" P& E/ F) g5 X. q5 e/ *默认值。h文件作为一个中央默认设置文件不同的机器1 e# v, F4 L) h& b0 [( H/ s 类型,从DIY米尔斯数控CNC转换的现成的机器。的设置 . t) c' g+ T; Q, a# t. T# o% P这是由用户提供,所以您的结果可能不同。然而,这应该给你# G2 ]4 a$ L. v9 r# @5 G1 T! ^$ U 一个好的起点,你了解你的机器和调整的设置) t6 M9 J$ |1 A% l" F 邪恶的需求。*/8 m A% r! s! X3 | # G, q* C- ~8 |+ b: c
9 W# G& W$ n/ D! a+ U#ifndef defaults_h6 m$ w8 c2 j8 y8 Z #define defaults_h" u2 b0 T! }! r8 L' R) t9 y 4 @% ]6 l4 k8 L3 @5 ^& X+ f // Grbl generic default settings. Should work across different machines.5 F- n+ Y# M1 m7 [( L #define DEFAULT_X_STEPS_PER_MM 250.0 //X轴每mm脉冲当量; a! Y. n0 q2 K) o' B #define DEFAULT_Y_STEPS_PER_MM 250.0 ; m$ j9 ~& n" b W#define DEFAULT_Z_STEPS_PER_MM 250.0$ Z: T- ?: C- E% |) L L9 _ #define DEFAULT_X_MAX_RATE 500.0 // mm/min 最大速度 ! E4 ?6 h7 r i5 p5 w; ?#define DEFAULT_Y_MAX_RATE 500.0 // mm/min + K( A4 [9 @+ K7 v6 x' Y#define DEFAULT_Z_MAX_RATE 500.0 // mm/min 5 N* O% j( W) M. ]4 W' d4 G/*这是毫米/秒/秒的加速度。 ; Z! P, L1 g/ e# ~3 I你不需要理解这是什么意思,我只想说,一个较低的值给smooooother加速度而价值更高的收益率更严格的措施,达到所需的进料速度更快。( e" W! A+ h u) ^" n+ K 从技术角度讲,这是您的机器的点对点的加速度,独立于轴。设置加速度值高达你最限制轴可以让你在不丢失任何步骤。7 @% G, h! j' A: R# P# I$ J 通常你想给自己一些缓冲,因为如果你失去了步骤,Grbl不知道这发生了(开环控制步进),并将继续。*/ : \ D* f% Z# W#define DEFAULT_X_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2 加速度B: s" T# G. Z0 @% V+ S #define DEFAULT_Y_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^27 ^6 |: {7 b" t+ ] #define DEFAULT_Z_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2 2 T3 L H) ^3 e5 }#define DEFAULT_X_MAX_TRAVEL 200.0 // mm 最大步行& A# w7 D2 D' ?8 O+ w #define DEFAULT_Y_MAX_TRAVEL 200.0 // mm5 `9 J% v. z6 [ O! X9 J #define DEFAULT_Z_MAX_TRAVEL 200.0 // mm % V( W0 Q2 A! K. Y! D#define DEFAULT_STEP_PULSE_MICROSECONDS 10 //步进驱动脉冲长度( W0 y- p/ K8 ]- e% l) b$ J$ d #define DEFAULT_STEPPING_INVERT_MASK 0 //步进是否反转6 T* H4 O7 d3 F H4 o" i #define DEFAULT_DIRECTION_INVERT_MASK 0 //方向是否反转 9 }: I6 ^" f4 ] A3 S* X/* 3 `+ p8 o1 Y7 r ~每次你完成步进运动和停止,Grbl将禁用默认步进。% a9 A- c: P6 l( r, c6 o1 \& i 锁步进空闲时间时间长度Grbl将步进锁之前禁用。# b- b, v! _, P 根据系统中,您可以将这个参数设置为零,禁用它。对他人,你可能需要25 - 50毫秒来确保你的斧子来完成禁用前停止。(我的机器往往漂移稍微如果我没有启用。) / M3 P" U( o$ k. I7 u1 l或者,你可以让你的轴在任何时候启用通过将这个值设置为最大255毫秒。再次重复,你总是可以保持所有轴通过设置启用7美元= 255。*/0 G' t! u/ h" B/ J% y" f #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)步进闲着时间 1 j- f D! u0 A! \/ B0 ]#define DEFAULT_STATUS_REPORT_MASK ((BITFLAG_RT_STATUS_MACHINE_POSITION)|(BITFLAG_RT_STATUS_WORK_POSITION)) //是否打印状态报告6 G$ m) Z8 m% b /*一些高低cnc-stepper控制器需要输入反方向和步骤。" ~8 \0 |. p% N x 信号线路通常是高或低信号方向或高,低了几微秒一步事件信号。为了达到这个目标,Grbl可以反转输出比特来满足特定的需求。 & B3 Z! z7 }. a* V反掩码值是一个字节,xor的步骤和方向步进港数据之前发送。这样你可以使用这两个转化步骤脉冲或转化的一个或多个方向的轴。- A6 [8 `/ z/ m# J* t 这个字节对应的比特分配给介入config.h别针。请注意,不用于反演位0和1。默认比特分配是这样的:*/7 ^6 ~5 i9 ^' y - P" W2 m4 y2 x5 ?( G" y /* 转弯路口偏差使用加速度经理决定它如何快速穿过一条路径。5 S( k& w- X: z" d( h( q! w$ H 数学有点复杂,但总的来说,更高的价值给一般快,可能的波动运动。低价值使得加速度经理更加谨慎,将导致小心和慢转弯。 & |8 h3 E ?2 J& h; b6 |$ ~如果你遇到问题,你的机器试图把一个角落太快,降低此值使它慢下来。 # N+ n7 [( G/ p! @( P如果你想让你的机器通过连接移动得更快,增加这个值速度。; r, }* l8 j: v& k3 h& W! ^+ I3 l0 F 为技术人员,点击这个链接阅读关于Grbl转弯算法,速度和结角占一个很简单,高效和可靠的方法。*/ * q% p5 ]( c8 y* y+ y& [[+ g. e4 ?- r. _ #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm //偏差- ?: g) `# i8 u #define DEFAULT_ARC_TOLERANCE 0.002 // mm //圆弧公差 2 \# p7 m; F; f1 U9 ~$ B, Y#define DEFAULT_REPORT_INCHES 0 // false //打印英寸 ; b& W3 \% l3 W# }. O/*默认情况下,步进使销是启用禁用高和低。如果您的设置需要相反的,只是反步进使销通过输入15美元= 1。禁用与15美元= 0。(可能需要一个动力循环加载的变化。)*/3 R' |+ T- f9 p# a #define DEFAULT_INVERT_ST_ENABLE 0 // false ' n* _* v+ K) Y f# l#define DEFAULT_INVERT_LIMIT_PINS 0 // false //反转限位引脚3 {- f- O* K' Z4 ?1 { #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false //软件限位- @( u3 _3 r$ \' s, j; K* P0 C. s #define DEFAULT_HARD_LIMIT_ENABLE 0 // false //硬件限位3 \# }/ T# s; F3 q# e: N- ] #define DEFAULT_HOMING_ENABLE 0 // false //回原点使能 $ Y W. {& `2 z6 H/ o#define DEFAULT_HOMING_DIR_MASK 0 // move positive dir: V$ R6 c8 ^6 O% f N( i #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min+ @( s( Y% ~% O4 g3 [$ Z #define DEFAULT_HOMING_SEEK_RATE 500.0 // mm/min 5 `; x( A/ d4 ]' R#define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)防抖动延时 1 J5 g# ` j5 g- ?7 P) a* C#define DEFAULT_HOMING_PULLOFF 1.0 // mm0 f" @. v5 I( B! w / N4 p1 o, [. k0 ^6 i4 B! P) r5 H$ B! {% ~ #endif# x* s1 }1 z% \5 }/ g+ `" u$ ? % _3 i3 W' v6 C1 P K, o
7 N$ J0 g3 U4 J% [6 `1 V4 T% I; `1 J7 h
* i5 e! m p1 p$ Q) }& o1 P8 j+ T& U! j- I4 @# Y" ]
# F! P+ |6 z" ]4 j* c* m# A& K+ G: \
L8 S. s: m2 v4 P( Y 2 e1 `6 F0 f6 Z% {' q8 O 3 P& O2 V) r U$ V ; v5 B" u4 q, i3 W) Z6 a' [& A6 T$ P# l& I! Q" P9 M) k / l0 r: c8 G3 z4 ?( I
4 t l3 A0 m! a. f ' S% L0 q1 |1 O5 U) |+ c1 ^/ h1 E$ t; e2 I! T4 L2 c
& r/ Y: V3 f/ \ k2 B& K3 [ c. D4 x @' H8 j. r/ x( P 2 F/ U. P! Y' E; p8 Y7 a$ x2 r $ p, ^3 l$ J9 S) ]# }
6 X4 h3 h" l* p, K* H5 M3 k& V7 _( T4 X 3 K! q- j' x! F! i; `. N$ D' w' L
- A- V0 Z, \2 _9 J7 Y: j7 P1 W8 v+ T: M1 |: @
5 f3 K* r4 L/ t |
|