2018-06-19 20:25:40 +00:00
var grblSettingCodes = {
0 : "Step pulse time, microseconds" ,
1 : "Step idle delay, milliseconds" ,
2 : "Step pulse invert, mask" ,
3 : "Step direction invert, mask" ,
4 : "Invert step enable pin, boolean" ,
5 : "Invert limit pins, boolean" ,
6 : "Invert probe pin, boolean" ,
10 : "Status report options, mask" ,
11 : "Junction deviation, millimeters" ,
12 : "Arc tolerance, millimeters" ,
13 : "Report in inches, boolean" ,
20 : "Soft limits enable, boolean" ,
21 : "Hard limits enable, boolean" ,
22 : "Homing cycle enable, boolean" ,
23 : "Homing direction invert, mask" ,
24 : "Homing locate feed rate, mm/min" ,
25 : "Homing search seek rate, mm/min" ,
26 : "Homing switch debounce delay, milliseconds" ,
27 : "Homing switch pull-off distance, millimeters" ,
30 : "Maximum spindle speed, RPM" ,
31 : "Minimum spindle speed, RPM" ,
32 : "Laser-mode enable, boolean" ,
100 : "X-axis steps per millimeter" ,
101 : "Y-axis steps per millimeter" ,
102 : "Z-axis steps per millimeter" ,
110 : "X-axis maximum rate, mm/min" ,
111 : "Y-axis maximum rate, mm/min" ,
112 : "Z-axis maximum rate, mm/min" ,
120 : "X-axis acceleration, mm/sec^2" ,
121 : "Y-axis acceleration, mm/sec^2" ,
122 : "Z-axis acceleration, mm/sec^2" ,
130 : "X-axis maximum travel, millimeters" ,
131 : "Y-axis maximum travel, millimeters" ,
132 : "Z-axis maximum travel, millimeters"
} ;
function grblSettings ( data ) {
2018-06-27 19:23:34 +00:00
console . log ( data )
2018-06-19 20:25:40 +00:00
var template = ` `
grblconfig = data . split ( '\n' )
for ( i = 0 ; i < grblconfig . length ; i ++ ) {
var key = grblconfig [ i ] . split ( '=' ) [ 0 ] ;
var param = grblconfig [ i ] . split ( '=' ) [ 1 ]
grblParams [ key ] = param
}
2018-06-25 20:13:58 +00:00
// $('#grblconfig').show();
// grblPopulate();
// $('#grblSaveBtn').removeAttr('disabled');
// $('#grblFirmwareBtn').removeAttr('disabled');
$ ( '#grblSettings' ) . show ( )
2018-06-19 20:25:40 +00:00
}
function grblPopulate ( ) {
2018-06-25 20:13:58 +00:00
$ ( '#grblconfig' ) . show ( ) ;
2018-06-19 20:25:40 +00:00
$ ( '#grblconfig' ) . empty ( ) ;
var template = `
2018-06-27 19:23:34 +00:00
< form id = "grblSettingsTable" >
2018-06-25 20:13:58 +00:00
< table data - role = "table" class = "table compact striped row-hover row-border" data - show - rows - steps = "false" data - rows = "200" data - show - pagination = "false" data - show - table - info = "false" >
< thead >
< tr >
2018-06-29 13:01:16 +00:00
< td > Key < / t h >
< th class = "sortable-column" data - format = "number" > < / t h >
2018-06-25 20:13:58 +00:00
< th class = "sortable-column" > Parameter < / t h >
< th > Value < / t h >
2018-08-07 15:40:04 +00:00
< td > calc < / t h >
2018-06-25 20:13:58 +00:00
< / t r >
< / t h e a d >
< tbody >
2018-06-29 13:01:16 +00:00
< tr > < td > $ < / t d > < t d > 0 < / t d > < t d > S t e p p u l s e t i m e , m i c r o s e c o n d s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 0 ' ] + ` " i d = " v a l - ` + 0 + ` - i n p u t " > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 < / t d > < t d > S t e p i d l e d e l a y , m i l l i s e c o n d s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 ' ] + ` " i d = " v a l - ` + 1 + ` - i n p u t " > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 2 < / t d >
2018-06-27 19:23:34 +00:00
< td > Step pulse invert < / t d >
< td >
< select id = "val-` + 2 + `-input" value = "` + grblParams['$2'] + `" >
2018-07-24 16:03:28 +00:00
< option value = "0" > [ 0 ] X : & # 9898 ; Y : & # 9898 ; Z : & # 9898 ; < / o p t i o n >
< option value = "1" > [ 1 ] X : & # 9899 ; Y : & # 9898 ; Z : & # 9898 ; < / o p t i o n >
< option value = "2" > [ 2 ] X : & # 9898 ; Y : & # 9899 ; Z : & # 9898 ; < / o p t i o n >
< option value = "3" > [ 3 ] X : & # 9898 ; Y : & # 9898 ; Z : & # 9899 ; < / o p t i o n >
< option value = "4" > [ 4 ] X : & # 9899 ; Y : & # 9899 ; Z : & # 9898 ; < / o p t i o n >
< option value = "5" > [ 5 ] X : & # 9899 ; Y : & # 9898 ; Z : & # 9899 ; < / o p t i o n >
< option value = "6" > [ 6 ] X : & # 9898 ; Y : & # 9899 ; Z : & # 9899 ; < / o p t i o n >
< option value = "7" > [ 7 ] X : & # 9899 ; Y : & # 9899 ; Z : & # 9899 ; < / o p t i o n >
2018-06-27 19:23:34 +00:00
< / s e l e c t >
< / t d >
2018-08-07 15:40:04 +00:00
< td > < / t d >
2018-06-27 19:23:34 +00:00
< / t r >
2018-06-29 13:01:16 +00:00
< tr > < td > $ < / t d > < t d > 3 < / t d > < t d > S t e p d i r e c t i o n i n v e r t < / t d > < t d > < s e l e c t i d = " v a l - ` + 3 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 3 ' ] + ` " >
2018-07-24 16:03:28 +00:00
< option value = "0" > [ 0 ] X : & # 9898 ; Y : & # 9898 ; Z : & # 9898 ; < / o p t i o n >
< option value = "1" > [ 1 ] X : & # 9899 ; Y : & # 9898 ; Z : & # 9898 ; < / o p t i o n >
< option value = "2" > [ 2 ] X : & # 9898 ; Y : & # 9899 ; Z : & # 9898 ; < / o p t i o n >
< option value = "3" > [ 3 ] X : & # 9898 ; Y : & # 9898 ; Z : & # 9899 ; < / o p t i o n >
< option value = "4" > [ 4 ] X : & # 9899 ; Y : & # 9899 ; Z : & # 9898 ; < / o p t i o n >
< option value = "5" > [ 5 ] X : & # 9899 ; Y : & # 9898 ; Z : & # 9899 ; < / o p t i o n >
< option value = "6" > [ 6 ] X : & # 9898 ; Y : & # 9899 ; Z : & # 9899 ; < / o p t i o n >
< option value = "7" > [ 7 ] X : & # 9899 ; Y : & # 9899 ; Z : & # 9899 ; < / o p t i o n >
2018-08-07 15:40:04 +00:00
< / s e l e c t > < / t d > < t d > < / t d > < / t r >
2018-06-29 19:48:34 +00:00
< tr > < td > $ < / t d > < t d > 4 < / t d > < t d > I n v e r t s t e p e n a b l e p i n < / t d > < t d > < s e l e c t i d = " v a l - ` + 4 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 4 ' ] + ` " > < o p t i o n v a l u e = " 0 " > & # x 2 7 1 7 ; D i s a b l e < / o p t i o n > < o p t i o n v a l u e = " 1 " > & # x 2 7 1 3 ; E n a b l e < / o p t i o n > < / s e l e c t > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 5 < / t d > < t d > I n v e r t l i m i t p i n s < / t d > < t d > < s e l e c t i d = " v a l - ` + 5 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 5 ' ] + ` " > < o p t i o n v a l u e = " 0 " > & # x 2 7 1 7 ; D i s a b l e < / o p t i o n > < o p t i o n v a l u e = " 1 " > & # x 2 7 1 3 ; E n a b l e < / o p t i o n > < / s e l e c t > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 6 < / t d > < t d > I n v e r t p r o b e p i n < / t d > < t d > < s e l e c t i d = " v a l - ` + 6 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 6 ' ] + ` " > < o p t i o n v a l u e = " 0 " > & # x 2 7 1 7 ; D i s a b l e < / o p t i o n > < o p t i o n v a l u e = " 1 " > & # x 2 7 1 3 ; E n a b l e < / o p t i o n > < / s e l e c t > < / t d > < / t r >
2018-06-29 13:01:16 +00:00
< tr > < td > $ < / t d > < t d > 1 0 < / t d > < t d > S t a t u s r e p o r t o p t i o n s < / t d > < t d > < s e l e c t i d = " v a l - ` + 1 0 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 0 ' ] + ` " >
2018-07-24 16:03:28 +00:00
< option value = "0" > [ 0 ] WPos : & # 9899 ; MPos : & # 9898 ; Buf : & # 9898 ; < / o p t i o n >
< option value = "1" > [ 1 ] WPos : & # 9898 ; MPos : & # 9899 ; Buf : & # 9898 ; < / o p t i o n >
< option value = "2" > [ 2 ] WPos : & # 9899 ; MPos : & # 9898 ; Buf : & # 9899 ; < / o p t i o n >
2018-08-07 15:40:04 +00:00
< / s e l e c t > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 1 < / t d > < t d > J u n c t i o n d e v i a t i o n , m i l l i m e t e r s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 1 ' ] + ` " i d = " v a l - ` + 1 1 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 2 < / t d > < t d > A r c t o l e r a n c e , m i l l i m e t e r s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 2 ' ] + ` " i d = " v a l - ` + 1 2 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
2018-06-29 19:48:34 +00:00
< tr > < td > $ < / t d > < t d > 1 3 < / t d > < t d > R e p o r t i n i n c h e s < / t d > < t d > < s e l e c t i d = " v a l - ` + 1 3 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 3 ' ] + ` " > < o p t i o n v a l u e = " 0 " > & # 9 8 9 8 ; D i s a b l e < / o p t i o n > < o p t i o n v a l u e = " 1 " > & # 9 8 9 9 ; E n a b l e < / o p t i o n > < / s e l e c t > < / t d > < / t r >
2018-06-29 13:01:16 +00:00
2018-06-29 19:48:34 +00:00
< tr > < td > $ < / t d > < t d > 2 0 < / t d > < t d > S o f t l i m i t s e n a b l e < s m a l l > ( E n a b l e a n d S a v e H o m i n g f i r s t b e f o r e e n a b l i n g ) < s m a l l > < / t d > < t d > < s e l e c t i d = " v a l - ` + 2 0 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 2 0 ' ] + ` " > < o p t i o n v a l u e = " 0 " > & # x 2 7 1 7 ; D i s a b l e < / o p t i o n > < o p t i o n v a l u e = " 1 " > & # x 2 7 1 3 ; E n a b l e < / o p t i o n > < / s e l e c t > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 2 1 < / t d > < t d > H a r d l i m i t s e n a b l e < / t d > < t d > < s e l e c t i d = " v a l - ` + 2 1 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 2 1 ' ] + ` " > < o p t i o n v a l u e = " 0 " > & # x 2 7 1 7 ; D i s a b l e < / o p t i o n > < o p t i o n v a l u e = " 1 " > & # x 2 7 1 3 ; E n a b l e < / o p t i o n > < / s e l e c t > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 2 2 < / t d > < t d > H o m i n g c y c l e e n a b l e < / t d > < t d > < s e l e c t i d = " v a l - ` + 2 2 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 2 2 ' ] + ` " > < o p t i o n v a l u e = " 0 " > & # x 2 7 1 7 ; D i s a b l e < / o p t i o n > < o p t i o n v a l u e = " 1 " > & # x 2 7 1 3 ; E n a b l e < / o p t i o n > < / s e l e c t > < / t d > < / t r >
2018-06-29 13:01:16 +00:00
< tr > < td > $ < / t d > < t d > 2 3 < / t d > < t d > H o m i n g d i r e c t i o n i n v e r t < / t d > < t d > < s e l e c t i d = " v a l - ` + 2 3 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 2 3 ' ] + ` " >
2018-07-24 16:03:28 +00:00
< option value = "0" > [ 0 ] X : & # 9898 ; Y : & # 9898 ; Z : & # 9898 ; < / o p t i o n >
< option value = "1" > [ 1 ] X : & # 9899 ; Y : & # 9898 ; Z : & # 9898 ; < / o p t i o n >
< option value = "2" > [ 2 ] X : & # 9898 ; Y : & # 9899 ; Z : & # 9898 ; < / o p t i o n >
< option value = "3" > [ 3 ] X : & # 9898 ; Y : & # 9898 ; Z : & # 9899 ; < / o p t i o n >
< option value = "4" > [ 4 ] X : & # 9899 ; Y : & # 9899 ; Z : & # 9898 ; < / o p t i o n >
< option value = "5" > [ 5 ] X : & # 9899 ; Y : & # 9898 ; Z : & # 9899 ; < / o p t i o n >
< option value = "6" > [ 6 ] X : & # 9898 ; Y : & # 9899 ; Z : & # 9899 ; < / o p t i o n >
< option value = "7" > [ 7 ] X : & # 9899 ; Y : & # 9899 ; Z : & # 9899 ; < / o p t i o n >
2018-08-07 15:40:04 +00:00
< / s e l e c t > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 2 4 < / t d > < t d > H o m i n g l o c a t e f e e d r a t e , m m / m i n < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 2 4 ' ] + ` " i d = " v a l - ` + 2 4 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 2 5 < / t d > < t d > H o m i n g s e a r c h s e e k r a t e , m m / m i n < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 2 5 ' ] + ` " i d = " v a l - ` + 2 5 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 2 6 < / t d > < t d > H o m i n g s w i t c h d e b o u n c e d e l a y , m i l l i s e c o n d s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 2 6 ' ] + ` " i d = " v a l - ` + 2 6 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 2 7 < / t d > < t d > H o m i n g s w i t c h p u l l - o f f d i s t a n c e , m i l l i m e t e r s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 2 7 ' ] + ` " i d = " v a l - ` + 2 7 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
2018-06-27 19:23:34 +00:00
2018-08-07 15:40:04 +00:00
< tr > < td > $ < / t d > < t d > 3 0 < / t d > < t d > M a x i m u m s p i n d l e s p e e d , R P M < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 3 0 ' ] + ` " i d = " v a l - ` + 3 0 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 3 1 < / t d > < t d > M i n i m u m s p i n d l e s p e e d , R P M < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 3 1 ' ] + ` " i d = " v a l - ` + 3 1 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 3 2 < / t d > < t d > L a s e r - m o d e e n a b l e < / t d > < t d > < s e l e c t i d = " v a l - ` + 3 2 + ` - i n p u t " v a l u e = " ` + g r b l P a r a m s [ ' $ 3 2 ' ] + ` " > < o p t i o n v a l u e = " 0 " > & # x 2 7 1 7 ; D i s a b l e < / o p t i o n > < o p t i o n v a l u e = " 1 " > & # x 2 7 1 3 ; E n a b l e < / o p t i o n > < / s e l e c t > < / t d > < t d > < / t d > < / t r >
2018-06-27 19:23:34 +00:00
2018-08-07 15:40:04 +00:00
< tr > < td > $ < / t d > < t d > 1 0 0 < / t d > < t d > X - a x i s s t e p s p e r m i l l i m e t e r < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 0 0 ' ] + ` " i d = " v a l - ` + 1 0 0 + ` - i n p u t " > < / t d > < t d > < b u t t o n c l a s s = " b u t t o n " t y p e = " b u t t o n " o n c l i c k = " x s t e p s p e r m m ( ) " > < i c l a s s = " f a s f a - c a l c u l a t o r " > < / i > < / b u t t o n > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 0 1 < / t d > < t d > Y - a x i s s t e p s p e r m i l l i m e t e r < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 0 1 ' ] + ` " i d = " v a l - ` + 1 0 1 + ` - i n p u t " > < / t d > < t d > < b u t t o n c l a s s = " b u t t o n " t y p e = " b u t t o n " o n c l i c k = " y s t e p s p e r m m ( ) " > < i c l a s s = " f a s f a - c a l c u l a t o r " > < / i > < / b u t t o n > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 0 2 < / t d > < t d > Z - a x i s s t e p s p e r m i l l i m e t e r < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 0 2 ' ] + ` " i d = " v a l - ` + 1 0 2 + ` - i n p u t " > < / t d > < t d > < b u t t o n c l a s s = " b u t t o n " t y p e = " b u t t o n " o n c l i c k = " z s t e p s p e r m m ( ) " > < i c l a s s = " f a s f a - c a l c u l a t o r " > < / i > < / b u t t o n > < / t d > < / t r >
2018-06-27 19:23:34 +00:00
2018-08-07 15:40:04 +00:00
< tr > < td > $ < / t d > < t d > 1 1 0 < / t d > < t d > X - a x i s m a x i m u m r a t e , m m / m i n < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 1 0 ' ] + ` " i d = " v a l - ` + 1 1 0 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 1 1 < / t d > < t d > Y - a x i s m a x i m u m r a t e , m m / m i n < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 1 1 ' ] + ` " i d = " v a l - ` + 1 1 1 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 1 2 < / t d > < t d > Z - a x i s m a x i m u m r a t e , m m / m i n < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 1 2 ' ] + ` " i d = " v a l - ` + 1 1 2 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
2018-06-27 19:23:34 +00:00
2018-08-07 15:40:04 +00:00
< tr > < td > $ < / t d > < t d > 1 2 0 < / t d > < t d > X - a x i s a c c e l e r a t i o n , m m / s e c < s u p > 2 < / s u p > < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 2 0 ' ] + ` " i d = " v a l - ` + 1 2 0 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 2 1 < / t d > < t d > Y - a x i s a c c e l e r a t i o n , m m / s e c < s u p > 2 < / s u p > < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 2 1 ' ] + ` " i d = " v a l - ` + 1 2 1 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 2 2 < / t d > < t d > Z - a x i s a c c e l e r a t i o n , m m / s e c < s u p > 2 < / s u p > < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 2 2 ' ] + ` " i d = " v a l - ` + 1 2 2 + ` - i n p u t " > < / t d > < / t d > < t d > < / t d > < / t r >
2018-06-27 19:23:34 +00:00
2018-08-07 15:40:04 +00:00
< tr > < td > $ < / t d > < t d > 1 3 0 < / t d > < t d > X - a x i s m a x i m u m t r a v e l , m i l l i m e t e r s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 3 0 ' ] + ` " i d = " v a l - ` + 1 3 0 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 3 1 < / t d > < t d > Y - a x i s m a x i m u m t r a v e l , m i l l i m e t e r s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 3 1 ' ] + ` " i d = " v a l - ` + 1 3 1 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
< tr > < td > $ < / t d > < t d > 1 3 2 < / t d > < t d > Z - a x i s m a x i m u m t r a v e l , m i l l i m e t e r s < / t d > < t d > < i n p u t t y p e = " t e x t " v a l u e = " ` + g r b l P a r a m s [ ' $ 1 3 2 ' ] + ` " i d = " v a l - ` + 1 3 2 + ` - i n p u t " > < / t d > < t d > < / t d > < / t r >
2018-06-27 19:23:34 +00:00
2018-06-25 20:13:58 +00:00
< / t b o d y >
2018-06-19 20:25:40 +00:00
< / t a b l e >
2018-06-27 19:23:34 +00:00
< / f o r m >
2018-06-19 20:25:40 +00:00
< / d i v >
< / d i v > `
$ ( '#grblconfig' ) . append ( template )
setTimeout ( function ( ) {
$ ( "#val-32-input" ) . val ( parseInt ( grblParams [ '$32' ] ) ) . trigger ( "change" ) ;
$ ( "#val-20-input" ) . val ( parseInt ( grblParams [ '$20' ] ) ) . trigger ( "change" ) ;
$ ( "#val-21-input" ) . val ( parseInt ( grblParams [ '$21' ] ) ) . trigger ( "change" ) ;
$ ( "#val-22-input" ) . val ( parseInt ( grblParams [ '$22' ] ) ) . trigger ( "change" ) ;
$ ( "#val-23-input" ) . val ( parseInt ( grblParams [ '$23' ] ) ) . trigger ( "change" ) ;
$ ( "#val-5-input" ) . val ( parseInt ( grblParams [ '$5' ] ) ) . trigger ( "change" ) ;
$ ( "#val-6-input" ) . val ( parseInt ( grblParams [ '$6' ] ) ) . trigger ( "change" ) ;
$ ( "#val-2-input" ) . val ( parseInt ( grblParams [ '$2' ] ) ) . trigger ( "change" ) ;
$ ( "#val-3-input" ) . val ( parseInt ( grblParams [ '$3' ] ) ) . trigger ( "change" ) ;
$ ( "#val-4-input" ) . val ( parseInt ( grblParams [ '$4' ] ) ) . trigger ( "change" ) ;
$ ( "#val-10-input" ) . val ( parseInt ( grblParams [ '$10' ] ) ) . trigger ( "change" ) ;
2018-06-25 20:13:58 +00:00
} , 100 ) ; ;
2018-06-27 19:23:34 +00:00
$ ( '#grblSettingsTable' ) . on ( 'keyup paste click' , 'input, select' , function ( ) {
2018-08-07 15:40:04 +00:00
checkifchanged ( )
2018-06-27 19:23:34 +00:00
} ) ;
$ ( '#grblSettingsBadge' ) . hide ( ) ;
2018-06-19 20:25:40 +00:00
}
2018-08-07 15:40:04 +00:00
function checkifchanged ( ) {
var hasChanged = false ;
for ( var key in grblParams ) {
if ( grblParams . hasOwnProperty ( key ) ) {
var j = key . substring ( 1 )
var newVal = $ ( "#val-" + j + "-input" ) . val ( ) ;
// Only send values that changed
if ( parseFloat ( newVal ) != parseFloat ( grblParams [ key ] ) ) {
hasChanged = true ;
}
}
}
if ( hasChanged ) {
$ ( '#grblSettingsBadge' ) . fadeIn ( 'slow' ) ;
$ ( '#saveBtn' ) . attr ( 'disabled' , false ) . removeClass ( 'disabled' ) ;
$ ( '#saveBtnIcon' ) . removeClass ( 'fg-gray' ) . addClass ( 'fg-grayBlue' ) ;
} else {
$ ( '#grblSettingsBadge' ) . fadeOut ( 'slow' ) ;
$ ( '#saveBtn' ) . attr ( 'disabled' , true ) . addClass ( 'disabled' ) ;
$ ( '#saveBtnIcon' ) . removeClass ( 'fg-grayBlue' ) . addClass ( 'fg-gray' ) ;
}
}
2018-06-19 20:25:40 +00:00
function grblSaveSettings ( ) {
for ( var key in grblParams ) {
if ( grblParams . hasOwnProperty ( key ) ) {
var j = key . substring ( 1 )
2018-06-25 20:33:44 +00:00
var newVal = $ ( "#val-" + j + "-input" ) . val ( ) ;
// Only send values that changed
if ( parseFloat ( newVal ) != parseFloat ( grblParams [ key ] ) ) {
console . log ( key + ' was ' + grblParams [ key ] + ' but now, its ' + newVal ) ;
sendGcode ( key + '=' + newVal ) ;
}
2018-06-19 20:25:40 +00:00
}
}
2018-06-25 20:57:18 +00:00
grblParams = { } ;
2018-06-27 20:53:07 +00:00
Metro . dialog . create ( {
title : "Configuration Updated. Reset Grbl?" ,
content : "<div>Some changes in the Grbl Configuration only take effect after a restart/reset of the controller. Would you like to Reset the controller now?</div>" ,
actions : [ {
caption : "Yes" ,
cls : "js-dialog-close secondary" ,
onclick : function ( ) {
setTimeout ( function ( ) {
sendGcode ( String . fromCharCode ( 0x18 ) ) ;
} , 3000 ) ;
}
} ,
{
caption : "Later" ,
cls : "js-dialog-close" ,
onclick : function ( ) {
console . log ( "Do nothing" )
refreshGrblSettings ( ) ;
}
}
]
} ) ;
2018-06-27 19:23:34 +00:00
$ ( '#grblSettingsBadge' ) . hide ( ) ;
2018-06-25 20:42:17 +00:00
}
function refreshGrblSettings ( ) {
2018-06-25 20:57:18 +00:00
grblParams = { } ;
2018-06-25 20:13:58 +00:00
$ ( '#grblconfig' ) . empty ( ) ;
2018-08-07 10:05:49 +00:00
$ ( '#grblconfig' ) . append ( "<center>Please Wait... </center><br><center>Requesting updated parameters from the controller firmware...</center>" ) ;
2018-06-25 20:13:58 +00:00
setTimeout ( function ( ) {
2018-06-25 20:57:18 +00:00
sendGcode ( '$$' ) ;
2018-06-25 20:13:58 +00:00
setTimeout ( function ( ) {
2018-06-25 20:57:18 +00:00
grblPopulate ( ) ;
2018-08-07 10:05:49 +00:00
} , 500 ) ;
2018-06-27 20:53:07 +00:00
} , 50 ) ;
2018-06-25 20:57:18 +00:00
2018-06-19 20:25:40 +00:00
}