-
Notifications
You must be signed in to change notification settings - Fork 23
/
widget.html
1023 lines (932 loc) · 68.7 KB
/
widget.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title><!--(auto-fill by runme.js--></title>
<!-- ChiliPeppr is based on bootstrap CSS. -->
<link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<!-- Customized version of require.js for ChiliPeppr. Please see require.js docs for how
ChiliPeppr's dependency system works as it's based on require.js. -->
<script type='text/javascript' src="//i2dcui.appspot.com/js/require.js"></script>
<!-- widget.css DON'T REMOVE -->
<style type='text/css'>
/* widget.css will get inlined here by runme.js. don't remove this comment or inlining will fail. */
</style>
<link rel="stylesheet" type="text/css" href="widget.css">
<!-- DON'T REMOVE end widget.css -->
<!-- widget.js DON'T REMOVE -->
<script type='text/javascript'>
//<![CDATA[
/* widget.js will get inlined here by runme.js. don't remove this comment or inlining will fail. */
//]]>
</script>
<script type='text/javascript' src="widget.js"></script>
<!-- DON'T REMOVE end widget.js -->
</head>
<body>
<div id="com-chilipeppr-widget-eagle" class="panel panel-default">
<div class="panel-heading">
<span class="panel-title" data-toggle="popover">Eagle BRD</span>
<span style="font-size:9px;" class="fb-build">v5.8</span>
<div class="btn-toolbar pull-right" role="toolbar">
<div class="btn-group"></div>
<div class="btn-group">
<button type="button" class="btn btn-xs btn-default btn-refresh" data-delay="500"
data-animation="true" data-placement="auto" data-container="body" data-trigger="hover"
data-title="Refresh 3D Viewer" data-content="Hit Ctrl+Enter in any of the edit boxes below to trigger a refresh. Update the 3D Viewer with your new settings."><span
class="glyphicon glyphicon-refresh"></span>
</button>
<button type="button" class="btn btn-xs btn-default btn-eagle-sendgcodetows" data-delay="500"
data-animation="true" data-placement="auto" data-container="body" data-trigger="hover"
data-title="Send Gcode to Workspace" disabled
data-content="Generate all of the Gcode and send it to the workspace so you can run it.">
<span class="glyphicon glyphicon-send"></span>
</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-xs btn-default hidebody"><span class="glyphicon glyphicon-chevron-up"></span>
</button>
</div>
<div class="btn-group">
<div class="dropdown">
<button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu"></ul>
</div>
</div>
</div>
<div class="eagle-draghere" style="font-size:80%; margin-top:5px;">Drag your Eagle BRD file here...</div>
</div>
<div class="alert alert-danger hidden eagle-holes-alert" style="margin-bottom:5px;padding:5px;font-size:80%;">Gcode could not be generated for some of the holes (the ones highlighted in red), check tool size in the Gcode tab.</div>
<div class="alert alert-danger hidden eagle-slots-alert" style="margin-bottom:5px;padding:5px;font-size:80%;">Gcode could not be generated for some of the slots (the ones highlighted in red), check tool size in the Gcode tab or correct any mistakes in your .brd file.</div>
<div class="panel-body">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li class="active" id="com-chilipeppr-widget-eagle-navtab-main"><a href="#eagle-main" role="tab" data-toggle="tab">Render</a>
</li>
<li id="com-chilipeppr-widget-eagle-navtab-gcode"><a href="#eagle-gcode" role="tab" data-toggle="tab">Gcode</a></li>
<li xclass="active"><a href="#eagle-soldermask" role="tab" data-toggle="tab">Solder Mask</a>
</li>
<li ><a href="#eagle-tutorial" role="tab" data-toggle="tab">Tutorial</a>
</li>
</ul>
<!-- ----------------------- RENDER ------------------------>
<div class="tab-content">
<div class="tab-pane tab-pane-container active" id="eagle-main">
<!-- <p>Best Endmill Size to Use <code><span class="best-size highlight"><i>Undetermined</i></span></code></p> -->
<div class="panel-eagle-sendgcodetows hidden">
<button type="button" class="btn btn-xs btn-default btn-eagle-sendgcodetows"
style="margin: 4px 0;" disabled><span class="glyphicon glyphicon-send"></span> Send Gcode to Workspace</button>
</div>
<div style="margin: 4px 0;"></div>
<ul class="nav nav-tabs nav-tabs-2ndpos" role="tablist" style="">
<li class="active"><a href="#main-board" role="tab" data-toggle="tab">Board</a>
</li>
<li><a href="#main-signals" role="tab" data-toggle="tab">Signals</a>
</li>
<!--<li id="com-chilipeppr-widget-eagle-navtab-main-registration"><a href="#main-registation" role="tab" data-toggle="tab">Registration</a>-->
<!--</li>-->
<li><a href="#main-options" role="tab" data-toggle="tab">Options</a>
</li>
</ul>
<!-- ----------------------- RENDER:BOARD ------------------------>
<div class="tab-content">
<div class="tab-pane active" id="main-board">
<h2 style="margin-top:0px;">Board Layer</h2>
<div class="form-group">
<select class="selectLayer form-control" id="selectLayer">
<!-- <option>Select Layer</option> -->
</select>
</div>
<div class="form-group">
Select Mirror Axis
<p class="descriptive-text">To see mirrored results, either select different board layer or hit Render button.</p>
<div class="checkbox">
<label>
<input type="checkbox" class="mirrorAxisY" checked /> Mirror horizontally - Y Axis
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" class="mirrorAxisX" checked /> Mirror vertically - X Axis
</label>
</div>
</div>
<!-- ----------------------- RENDER:BOARD:BLANK FR4 BOARD ------------------------>
<div style="border:1px dashed black; padding:0 10px;border-radius:6px;">
<div class="checkbox">
<label>
<input type="checkbox" class="use-blank-pcb" checked>
<h2 style="margin-top:0px;">Blank FR4 Board</h2>
</label>
</div>
<p class="descriptive-text" style="margin-top:0;padding-top:0;">
Use this section to create a set size FR4 board that you can
mill registration holes in for flipping your board over.
</p>
<p class="descriptive-text" style="margin-top:0;padding-top:0;">
The following settings will affect how the selected board layer is
mirrored. If this option is unchecked, the widget will use
board dimensions instead.</p>
Width
<div class="input-group">
<input class="form-control blank-pcb-width" type="number" placeholder="Width" value="150" min="20" step="10"/>
<div class="input-group-addon">mm</div>
</div>
Height
<div class="input-group" style="margin-bottom: 10px;">
<input class="form-control blank-pcb-height" type="number" placeholder="Height" value="100" min="20" step="10"/>
<div class="input-group-addon">mm</div>
</div>
Location (X, Y)
<p class="descriptive-text" style="margin-bottom: 0px; padding-top: 0px;">Location of left bottom corner of blank FR4 board</p>
<div class="input-group">
<input class="form-control blank-pcb-x" style="width:48%; margin-right: 4%;" type="number" placeholder="X" value="0" step="1"/>
<input class="form-control blank-pcb-y" style="width:48%;" type="number" placeholder="Y" value="0" step="1"/>
</div>
<!-- ----------------------- RENDER:BOARD:REGISTRATION HOLES ------------------------>
<div class="checkbox" style="margin-bottom:0px;">
<label>
<input type="checkbox" class="form-group use-reg-holes" checked>
<h2 style="margin-top:10px; margin-bottom:0px;">Registration Holes</h2>
</label>
</div>
<p class="descriptive-text reg-holes-note" style="margin:0px; padding:0px; color:red">Check Blank FR4 Board to enable this feature.</p>
<p class="descriptive-text">
The following settings will generate Gcode to drill registration holes.
This will be a seperate Gcode file available in the textbox below.
The registration holes are useful when milling a board with multiple
layers or whenever there is a need to remove the board and put it
back in exactly the same location.</p>
Holes Pattern
<div class="form-group">
<select class="form-control" id="reg-holes-pattern">
<option value='400'>4 Hole on corners</option>
<option value='410'>4 Hole on sides</option>
<option value='200'>2 Hole on corners BL/TR</option>
<option value='201'>2 Hole on corners TL/BR</option>
<option value='210'>2 Hole on sides T/B</option>
<option value='211'>2 Hole on sides L/R</option>
</select>
<p class="descriptive-text">T: Top, B: Bottom, L: Left, R: Right.</p>
</div>
Holes Diameter
<div class="input-group" style="margin-bottom: 10px;">
<input class="form-control reg-holes-diameter" type="number" placeholder="Diameter" value="3.175" min="1" max="4" step=".1"/>
<div class="input-group-addon">mm</div>
</div>
Distance from Edges
<div class="input-group" style="margin-bottom: 10px;">
<input class="form-control reg-holes-distance" type="number" placeholder="Distance" value="1" min="0.5" max="10" step=".5"/>
<div class="input-group-addon">mm</div>
</div>
<!-- ----------------------- RENDER:BOARD:REGISTRATION HOLES:GCODE ------------------------>
<h2 style="margin-top:10px;">Gcode Parameters</h2>
<p class="descriptive-text" style="padding-top: 0px;">Following Gcode parementers are used for drilling registration holes only.</p>
Depth for Drilling
<div class="input-group" style="margin-bottom: 10px;">
<input class="form-control reg-holes-depth" type="number" placeholder="Depth" value="-1.7" min="-20" max="-0.1" step="0.1"/>
<div class="input-group-addon">mm</div>
</div>
Clearance Height
<div class="input-group" style="margin-bottom: 10px;">
<input class="form-control reg-holes-clearance" type="number" placeholder="Clearance" value="2" min="0.5" step="0.5"/>
<div class="input-group-addon">mm</div>
</div>
Feedrate
<div class="input-group" style="margin-bottom: 10px;">
<input class="form-control reg-holes-feedrate" type="number" placeholder="Feed rate" value="200" min="20" step="100"/>
<div class="input-group-addon">mm/min</div>
</div>
Spindle Speed
<div class="input-group" style="margin-bottom: 10px;">
<input class="form-control reg-holes-spindle-rpm" type="number" placeholder="Speed" value="12000" min="3000" step="1000"/>
<div class="input-group-addon">rpm</div>
</div>
<button style="margin-bottom:4px;" type="button" class="btn btn-default reg-holes-sendgcodetows">Send Gcode to Workspace</button>
<textarea class="reg-holes-gcode" rows="3" spellcheck="false"></textarea>
</div>
</div>
<!-- End Blank FR4 Board section -->
<!-- ----------------------- RENDER:SIGNALS ------------------------>
<div class="tab-pane xactive" id="main-signals">
<h2 style="margin-top:10px;">Inflate Traces</h2>
<div class="form-group">
Inflate Milling Path By
<div class="input-group">
<input class="form-control inflate-by" type="number" placeholder="" value="0.35" />
<div class="input-group-addon">mm</div>
</div>
<!-- <button type="button" class="btn btn-xs btn-eagle-advanced" >Advanced</button> -->
<!-- <button type="button" class="btn btn-xs btnAnimate" >Animate</button> -->
<!-- <p style="font-size:9px">This value is auto-set by determining the largest endmill you can use to isolate all signals, pads, and vias without milling into adjacent ones. You want to use the largest endmill you can, but you are limited by how closely spaced your elements are. It is best to leave this value alone, however you can attempt to expand your endmill at the cost of milling into other elements.</p> -->
<!-- <p style="font-size:9px">In practice, you almost always will expand this size, so use the auto-set value as a baseline for what's safe and then go up from there. If you are going to manually set this value, best practice is to set this value to half of your endmill size. Then check the 3D viewer to see what effect it will have on taking away too much copper. You can use the "actual endmill" feature below to better visualize this offset combined with how much copper the endmill will take off.</p> -->
<p class="descriptive-text">Inflate your milling path by half the diameter of your endmill. If you are using a 0.5mm endmill, then enter 0.25mm above. If you are using a V-bit then figure out the diameter based on how deep you'll mill. Copper on FR4 is usually
1 oz = 0.035mm, 2 oz = 0.07mm, 3 oz = 0.105mm thick. If you use ChiliPeppr's Auto-Level, you could safely mill with depths of 1 oz = 0.07mm, 2 oz = 0.1mm (most popular), 3 oz = 0.15mm. That means a V-bit with a 45° angle
at 0.1mm depth will have a diameter of roughly 0.1mm. So, you could use 0.05mm above, however, in practice it would be best to inflate further than that to be safe.</p>
</div>
Advanced Inflating
<p class="descriptive-text">Instead of using the default inflate value, you can override
inflate values for specific elements on the board.</p>
<div class="panel eagle-advanced" style="margin-bottom:10px;">
<div class="checkbox">
<label>
<input type="checkbox" class="use-inflate-smds-by" xchecked /> Inflate SMDs By
</label>
</div>
<div class="input-group">
<input class="form-control inflate-smds-by" type="number" placeholder="" value="0.175" />
<div class="input-group-addon">mm</div>
</div>
<div class="checkbox" style="margin: 4px 0 6px 18px;">
<label>
<input type="checkbox" class="use-smd-clipwire" checked /> Clip wires
</label>
</div>
<div class="checkbox" style="margin: 2px 0 14px 18px;">
<label>
<input type="checkbox" class="use-smd-ignoreundefined" xchecked /> Remove Undefined SMDs
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" class="use-inflate-pads-by" xchecked /> Inflate Pads By
</label>
</div>
<div class="input-group">
<input class="form-control inflate-pads-by" type="number" placeholder="" value="0.175" />
<div class="input-group-addon">mm</div>
</div>
<div class="checkbox">
<label>
<input type="checkbox" class="use-inflate-vias-by" xchecked /> Inflate Vias By
</label>
</div>
<div class="input-group">
<input class="form-control inflate-vias-by" type="number" placeholder="" value="0.175" />
<div class="input-group-addon">mm</div>
</div>
</div>
</div>
<!-- ----------------------- RENDER:OPTIONS ------------------------>
<div class="tab-pane xactive" id="main-options">
<h2 style="margin-top:10px;">Options</h2>
<div class="form-group">
Show Actual End Mill Path
<div class="checkbox">
<label>
<input type="checkbox" class="show-actual" xchecked /> Show (Takes long to process)
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" class="show-actual-asmesh" checked> As Solid Line (Takes super long to process) </input>
</label>
</div>
<div class="input-group">
<input class="form-control actual-endmill-size" type="number" placeholder="Size" value="0.35" />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">This value does not affect how your Gcode is created, rather it just lets you visualize where your endmill will travel. The size you place here is simulated in the 3D viewer along the inflated milling path you specified above.
It is common to mill PCB's with an endmill larger than what should exactly be used at the cost of cutting off more copper from signals/vias/pads. To ensure you aren't causing any actual problems, look at where the cyan line
goes to understand.</p>
</div>
<div class="form-group">
Curve Resolution (Segment Length)
<div class="input-group">
<input class="form-control curve-resolution" type="number" placeholder="" value="0.5" />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">Curved board dimensions, curved polygond or curved wires will be converted to line segments and executed as G01 gcode commands, this value is the length of each line segment, smaller value means higher curve accuracy and larget gcode file, please input value between 0.1 - 1.00 mm</p>
</div>
<div class="form-group">
Toggle Signal/Pad/Via Popup Windows
<div class="checkbox">
<label>
<input type="checkbox" class="popups-hide" xchecked /> Hide
</label>
</div>
<p class="descriptive-text">This allows you to hide the popup windows as you mouse around with the 3D viewer. They can sometimes get in the way when iterating the best endmill sizes and inflate by values.</p>
</div>
</div>
</div>
<canvas id="eagle-canvas" class="hidden" width="100%" height="130"></canvas>
</div>
<div class="tab-pane tab-pane-container xactive" id="eagle-gcode">
<button type="button" class="btn btn-xs btn-default btn-eagle-sendgcodetows hidden"
style="margin: 4px 0;" disabled><span class="glyphicon glyphicon-send"></span> Send Gcode to Workspace</button>
<div style="margin: 4px 0;"></div>
<ul class="nav nav-tabs nav-tabs-2ndpos" role="tablist">
<li class="active"><a href="#gcode-traces" role="tab" data-toggle="tab">Traces</a>
</li>
<li><a href="#gcode-drilling" role="tab" data-toggle="tab">Drilling</a>
</li>
<li><a href="#gcode-milling" role="tab" data-toggle="tab">Milling</a>
</li>
<li><a href="#gcode-tabs" role="tab" data-toggle="tab">Tabs</a>
</li>
<li><a href="#gcode-gcode" role="tab" data-toggle="tab">Gcode</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="gcode-traces">
<div class="checkbox">
<label>
<input type="checkbox" class="use-traces" checked>
<h2 style="margin-top:10px;">Traces</h2>
</label>
</div>
Depth of Milling Traces
<div class="input-group">
<input class="form-control trace-depth" type="number" placeholder="Depth" value="-0.1" />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">If you use ChiliPeppr's Auto-Level, you should be able to achieve copper removal with -0.1mm depth on 2oz copper. Or refer to the following depths:
<ul class="descriptive-text" style="padding-left:20px;padding-top:0;">
<li>1 oz copper : <b>-0.07</b>mm depth (0.035mm is typical thickness)</li>
<li>2 oz copper : <b>-0.1</b>mm depth (Most popular. 0.07mm is typical thickness)</li>
<li>3 oz copper : <b>-0.15</b>mm depth (0.105mm is typical thickness)</li>
</ul>
</p>
Tracing Board Dimensions
<div class="panel eagle-advanced" style="margin-bottom:10px;">
<div class="checkbox">
<label>
<input type="checkbox" class="AvoidTraceBoardDimensions" checked /> Avoid Tracing Board Dimensions
</label>
</div>
<p class="descriptive-text">Experimental - This feature will eliminate tracing any path(s) that match board dimensions. Hit Render button after changing this checkbox to see the results.</p>
</div>
Feedrate for Milling Traces
<div class="input-group">
<input class="form-control trace-fr" type="number" placeholder="Feedrate" value="80" />
<div class="input-group-addon">mm/min</div>
</div>
<p class="descriptive-text">The feedrate to use for milling your traces. Default is 80mm/min.
</p>
Feedrate for Plunge into Copper
<div class="input-group">
<input class="form-control trace-fr-plunge" type="number" placeholder="Feedrate" value="30" />
<div class="input-group-addon">mm/min</div>
</div>
<p class="descriptive-text">The feedrate to use when the Z is descending into your copper. Default is 30mm/min.
</p>
Spindle Speed
<div class="input-group">
<input class="form-control spindle-rpm" type="number" placeholder="" value="12000" />
<div class="input-group-addon">rpm</div>
</div>
<p class="descriptive-text">Spindle speed (rpm) value will be used for a whole job. If you need various speeds for different parts of the job e.g. milling traces, drilling, milling board outline, please edit the gcode file manually and replace S12000 with Sxxxx, where xxxx = your new spindle speed value.
</p>
<h2>Clearance Height</h2> Clearance for Z Axis Moves
<div class="input-group">
<input class="form-control clearance-height" type="number" placeholder="Clearance" value="1" />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">The clearance height to move the Z axis to for moving from trace to trace without hitting anything. Default is 1mm, but if you are using the Auto-Level you could get away with 0.5mm.
</p>
</div>
<div class="tab-pane xactive" id="gcode-drilling">
<!-- ----------------------- DRILLING ------------------------>
<div class="checkbox">
<label>
<input type="checkbox" class="use-drilling" checked>
<h2 style="margin-top:10px;">Drilling Holes</h2>
</label>
</div>
<div style="margin-left:10px;">
<div class="checkbox" style="padding-top:4px;">
<label>
<input type="checkbox" class="drill-markholes" checked> Mark holes for drilling </input>
</label>
</div>
<p class="descriptive-text" style="padding-top:0; margin-top:-8px;">This will mark holes for drill, which is a slight touch of the top surface to create an indent. The first endmill (V-Bit or other) will touch the middle of a hole to center the mill, to prevent "dancing drill" effect.</p>
</div>
Depth for Drilling Holes
<div class="checkbox">
<label>
<input type="checkbox" class="drill-useboarddepth" checked> Use Board Depth </input>
</label>
</div>
<div class="input-group">
<input class="form-control drill-depth" type="number" placeholder="Depth" value="" disabled />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">The depth for drilling your holes will typically match your board depth.
</p>
Maximum hole diameter to drill
<div class="input-group">
<input class="form-control drill-max" type="number" placeholder="MaxDiameter" value="1.00" />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">The maximum diameter to drill. If you have bigger holes then they want to mill. I.e. You have a PCB with a lot of 1mm holes and on every corner a hole with 3.6mm. You want the small holes drill and the bigger ones to mill. Please
remember, you need a endmill for dimension with a diameter smaller as this value!</p>
<div class="drill-feedrate" style="">
Feedrate for Drill
<div class="input-group">
<input class="form-control drill-feedrate" type="number" placeholder="Drillfeedrate" value="200" />
<div class="input-group-addon">mm/min</div>
</div>
<p class="descriptive-text">The Feedrate for Drilling.</p>
</div>
<!-- ----------------------- DRILLING END ------------------------>
</div>
<div class="tab-pane xactive" id="gcode-milling">
<div class="checkbox">
<label>
<input type="checkbox" class="use-milling" checked>
<h2 style="margin-top:10px;">Milling Dimensions</h2>
</label>
</div>
Select Dimension Layer(s)
<div class="panel eagle-advanced" style="margin-bottom:10px;">
<div class="checkbox" style="margin-bottom:6px;">
<label>
<input type="checkbox" class="dimension-layer-20" checked> 20 Dimension (Default)</input>
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" class="dimension-layer-46" checked> 46 Milling</input>
</label>
</div>
<p class="descriptive-text">Select which layer to use as board dimansions layer. Both layers will be rendered in the 3D viewer, but gcode will be generated for selected layer(s) only.
</p>
</div>
Tool Size Options
<div class="panel eagle-advanced" style="margin-bottom:10px;padding-top:10px;">
Diameter of tool for cutting dimension
<div class="input-group">
<input class="form-control dimension-mill-diameter" type="number" placeholder="Size" value="1" />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">Please input the diameter of your endmill for cutting the dimension. If you want to use multiple tools, then use wire width as tool diameter.<br />If you want to mill some holes, then the tool diameter has to be smaller than the smallest hole, if you are using multiple cutting tools, the tools with smallest diameter will be used to mill holes.
</p>
<div class="radio">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-dimension-tso" class="com-chilipeppr-widget-eagle-dimension-tso-oneTool" xchecked />
Use same tool for all paths
<p style="margin-top:0px;margin-bottom:0px;font-size:11px;">
Mill all dimension paths (including large holes) with one tool, select tool size from above option.
</p>
</input>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-dimension-tso" class="com-chilipeppr-widget-eagle-dimension-tso-wireWidth" checked />
Use wire width
<p style="margin-top:0px;margin-bottom:0px;font-size:11px;">
Use wire width as tool diameter, you can override width of small or zero width wires with the diameter set above by setting minimum wire width listed next.
</p>
</label>
</div>
Minimum wire width to use as tool diameter
<div class="input-group">
<input class="form-control dimension-minimum-wire-width" type="number" placeholder="Size" value="1" />
<div class="input-group-addon">mm</div>
</div>
<div class="checkbox">
<label>
<input type="checkbox" class="dimension-ignore-small-wires" xchecked> Ignore wires with smaller width</input>
</label>
</div>
<p class="descriptive-text">If this option is checked, smaller wires will be ignored, otherwise will be milled with cutting tool set above.
</p>
</div>
Depth of Cutting Out Dimensions (Board Depth)
<div class="input-group">
<input class="form-control dimension-depth" type="number" placeholder="Size" value="-1.7" max="0" step="0.1" />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">Typical FR4 thickness is 1.7mm.
</p>
Step Down for Cutting Dimensions
<div class="input-group">
<input class="form-control dimension-stepdown" type="number" placeholder="Size" value="-0.5" max="0" step="0.1" />
<div class="input-group-addon">mm</div>
</div>
<p style="margin-bottom:0px;">Passes <code><span class="dimension-passes highlight"><i>4</i></span></code> Last Pass <code><span class="dimension-lastpass highlight"><i>-0.2</i>mm</span></code></p>
<p class="descriptive-text">The amount to step down in the Z axis for each pass of cutting out your board dimensions. Default value is -0.5mm. </p>
Feedrate for Cutting Dimensions
<div class="input-group">
<input class="form-control dimension-feedrate" type="number" placeholder="Feedrate" value="100" />
<div class="input-group-addon">mm/min</div>
</div>
<p class="descriptive-text">The feedrate used for cutting out your dimensions. Default value is 100mm/min.
</p>
</div>
<div class="tab-pane xactive" id="gcode-tabs">
<!-- ----------------------- TABS --------------------------->
<div class="checkbox">
<label>
<input type="checkbox" class="use-tabs" checked>
<h2 style="margin-top:10px;">Tabs (Board Holders)</h2>
</label>
</div>
<p class="descriptive-text">Add tabs to board dimensions toolpaths to provide fixture of your PCB.</p>
Tab Distance
<div class="input-group">
<input class="form-control tab-distance" type="number" placeholder="Distance between tabs" value="25" />
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">The distance between two tabs at one dimension segment.</p>
Tab Width
<div class="input-group">
<input class="form-control tab-width" type="number" placeholder="Tab Width" value="1" min="0.5" max="3" step="0.1"/>
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">Tab width, value between 0.5mm to 3.0mm, take in consideration tool radius</p>
Tab Height
<div class="input-group">
<input class="form-control tab-height" type="number" placeholder="Tab Height" value="0.8" min="0.5" step="0.1"/>
<div class="input-group-addon">mm</div>
</div>
<p class="descriptive-text">Tab height from bottom of board, value between 0.5mm to 1.7mm (board thinkness)</p>
<div class="checkbox">
<label>
<input type="checkbox" class="tabs-4-slots">
Tabs for slots and holes</input>
</label>
</div>
<p class="descriptive-text">Add tabs to inner board dimensions like slots and large holes, no tabs will be added to small slots or holes.</p>
<!-- ----------------------- TABS END ----------------------->
</div>
<div class="tab-pane xactive" id="gcode-gcode">
<!-- ----------------- Milling Direction--------------------->
<h2 style="margin-top:10px;margin-bottom:0;">Tool Paths Direction</h2>
<p class="descriptive-text" style="padding-top:0;">Following selections will adjust the orientation of tool paths, if left to default, orientation of paths is unpredictable and depends on how traces and wires were drawn in Eagle. Hit Render button after changing these values.
</p>
<div class="form-group">
Milling Traces
<select class="selectMillTraces form-control" id="DirectionMilling">
<option value='0'>Don't Care</option>
<option value='1'>Conventional Milling</option>
<option value='2'>Climb milling</option>
</select>
</div>
<div class="input-group">
Cutting Dimensions & Milling Holes
<select class="selectMillTraces form-control" id="DirectionCutting" disabled>
<option value='0'>Don't Care</option>
<option value='1'>Conventional Milling</option>
<option value='2'>Climb milling</option>
</select>
</div>
<p style="margin:10px 0 0 0;">Generated Gcode</p>
<textarea class="com-chilipeppr-widget-eagle-gcode" spellcheck="false"></textarea>
</div>
</div>
</div>
<div class="tab-pane xactive" id="eagle-soldermask">
<p>Use these tools to
to reveal or cut out pads/smds for soldering.</p>
<!--<h2>Mask Reveal</h2>-->
<p style="font-size:10px;">This approach assumes you have painted, rolled, glued, or stuck on a solder mask and you want to laser
etch or mill away the solder pads and smd pads. This can work with paint or rolled
on solder mask. Some people use Dynamask, which is a gel film you laminate on with a hot roller. Some
people use vinyl and then cut out the pads, then paint. Laser etching the mask can work because copper is highly reflective
and thus lasers won't effect it, while burning away the paint. Milling is possible, but
you need to be massively accurate on your Z depth to not mill away the copper and only mill
the mask ink. Auto-levelling is highly suggested before mask if milling.</p>
<!--<div style="padding-bottom:10px;">-->
<!-- <button class="btn xbtn-xs btn-default com-chilipeppr-widget-eagle-soldermask-render">Render</button>-->
<!--</div>-->
Show Actual Laser / End Mill Path
<div class="radio">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-show" class="com-chilipeppr-widget-eagle-soldermask-showAsLine" xchecked />
As Path Line
<p style="margin-top:0px;margin-bottom:0px;font-size:11px;">
Shows center line of path without width of laser / end mill.
</p>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-show" class="com-chilipeppr-widget-eagle-soldermask-showAsMesh" checked />
As Solid Line (Slow)
<p style="margin-top:0px;margin-bottom:0px;font-size:11px;">
Shows path with width of laser / end mill.
</p>
</input>
</label>
</div>
Laser / Mill Full Pad or Outline
<div class="radio" style="padding-top:10px;">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-fullOrOutline" class="com-chilipeppr-widget-eagle-soldermask-full" checked />
Full Pad
<p style="margin-top:0px;margin-bottom:0px;font-size:11px;">
Best if laser ablating mask over pads.
</p>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-fullOrOutline" class="com-chilipeppr-widget-eagle-soldermask-outline" xchecked />
Outline Only
<p style="margin-top:0px;margin-bottom:0px;font-size:11px;">
Best if laser cutting a vinyl mask, peeling off vinyl, leaving pads covered.
</p>
</label>
</div>
<div class="com-chilipeppr-widget-eagle-soldermask-outlineRegion hidden">
<div class="radio" style="margin-left:20px;">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-outlineStyle" class="com-chilipeppr-widget-eagle-soldermask-outlineOutside eagle-soldermask-regen-onrender-click" checked />
Outside Pad Outline
</label>
</div>
<div class="radio" style="margin-left:20px;">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-outlineStyle" class="com-chilipeppr-widget-eagle-soldermask-outlineOn eagle-soldermask-regen-onrender-click" xchecked />
On Pad Outline
</label>
</div>
<div class="radio" style="margin-left:20px;">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-outlineStyle" class="com-chilipeppr-widget-eagle-soldermask-outlineInside eagle-soldermask-regen-onrender-click" xchecked />
Inside Pad Outline
</label>
</div>
<div class="checkbox" style="margin-left:20px;margin-top:0; margin-bottom:0;">
<label>
<input type="checkbox" name="com-chilipeppr-widget-eagle-soldermask-outlineDimensions" class="com-chilipeppr-widget-eagle-soldermask-outlineDimensions eagle-soldermask-regen-onrender-click" xchecked />
Include Dimensions
<p style="margin-top:0px;margin-bottom:0px;font-size:11px;">
Adds board shape path to Gcode.
</p>
</input>
</label>
</div>
</div>
<div class="hidden">
Invert
<p style="margin-top:3px;margin-bottom:4px;font-size:11px;">
This lets you invert your laser/mill path so you are effecting
every part of the board other than the pads or SMDs. This is useful if you are
exposing your solder mask with a UV laser, and then washing away the undeveloped
mask on the pads/smds.
</p>
<div class="checkbox" style="margin-top:0;margin-bottom:0;">
<label>
<input type="checkbox" name="com-chilipeppr-widget-eagle-soldermask-invert" class="com-chilipeppr-widget-eagle-soldermask-invert eagle-soldermask-regen-onrender-click" xchecked />
Invert Path
</label>
</div>
<div class="com-chilipeppr-widget-eagle-soldermask-invert-insetRegion hidden">
<div class="radio" style="margin-left:20px; margin-top:4px;">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-invertStyle" class="com-chilipeppr-widget-eagle-soldermask-invertOutside eagle-soldermask-regen-onrender-click" checked />
Start Outside Pad Outline
</label>
</div>
<div class="radio" style="margin-left:20px;">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-invertStyle" class="com-chilipeppr-widget-eagle-soldermask-invertOn eagle-soldermask-regen-onrender-click" xchecked />
Start On Pad Outline
</label>
</div>
<div class="radio" style="margin-left:20px;">
<label>
<input type="radio" name="com-chilipeppr-widget-eagle-soldermask-invertStyle" class="com-chilipeppr-widget-eagle-soldermask-invertInside eagle-soldermask-regen-onrender-click" xchecked />
Start Inside Pad Outline
</label>
</div>
<div class="checkbox" style="margin-left:20px;margin-top:0; margin-bottom:0;">
<label>
<input type="checkbox" name="com-chilipeppr-widget-eagle-soldermask-invert-dbltrace" class="com-chilipeppr-widget-eagle-soldermask-invert-dbltrace eagle-soldermask-regen-onrender-click" xchecked />
Double Trace Pad Outline
<p style="margin-top:0px;margin-bottom:0px;font-size:11px;">
Adds extra laser exposure to edge of pads.
</p>
</input>
</label>
</div>
</div>
</div>
<p style="padding-top:10px;margin-bottom:0;">
Diameter of laser point or end mill
</p>
<div class="alert alert-danger hidden eagle-soldermask-alert" style="margin-bottom:5px;">Some of your pads/smds could not get a path rendered because your laser point or end mill diameter is too wide.</div>
<div class="input-group">
<input class="form-control eagle-soldermask-regen-onrender com-chilipeppr-widget-soldermask-laser-width" type="number" placeholder="Width of laser point" value="0.2" step="0.1" />
<div class="input-group-addon">mm</div>
</div>
<div class="com-chilipeppr-widget-soldermask-laser-overlapRegion">
Overlap of paths
<div class="input-group">
<input class="form-control eagle-soldermask-regen-onrender com-chilipeppr-widget-soldermask-laser-overlap" type="number" min="0" max="100" placeholder="Overlap %'age" value="20" step="1" />
<div class="input-group-addon">%</div>
</div>
</div>
<div class="form-group" style="padding-top:10px;">
<p style="margin-bottom:0">Mode</p>
<div>
<label class="radio-inline">
<input class="eagle-soldermask-modetype eagle-soldermask-regen-onchange" type="radio" name="com-chilipeppr-widget-eagle-soldermask-mode" value="laser" checked=""> Laser
</label>
<div class="form-group eagle-soldermask-mode-laser" style="padding-left:20px;margin-bottom:0">
<p style="margin-bottom:0;font-size:11px;">Turn Laser On With</p>
<label class="radio-inline">
<input class="eagle-soldermask-modetype eagle-soldermask-regen-onchange" type="radio" name="com-chilipeppr-widget-eagle-soldermask-laseron" value="M3" xchecked="">
M3 (Spindle)
</label><br>
<label class="radio-inline">
<input class="eagle-soldermask-modetype eagle-soldermask-regen-onchange" type="radio" name="com-chilipeppr-widget-eagle-soldermask-laseron" value="M7" checked>
M8 (Coolant)
</label><br>
<label class="radio-inline">
<input class="eagle-soldermask-modetype eagle-soldermask-regen-onchange" type="radio" name="com-chilipeppr-widget-eagle-soldermask-laseron" value="outN">
OutN (TinyG G2)
</label><br>
<label class="radio-inline">
<input class="eagle-soldermask-modetype eagle-soldermask-regen-onchange" type="radio" name="com-chilipeppr-widget-eagle-soldermask-laseron" value="cayenn">
Cayenn Command
</label>
<div class="eagle-soldermask-modeoutN hidden">
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">Which TinyG G2 Output Port?</p>
<select class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</select>
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">
TinyG G2 core supports generic GPIO. Laser on puts the port HIGH. Laser off is LOW.
</p>
</div>
<div class="eagle-soldermask-modecayenn hidden">
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">Pre-Run Command (Start of Gcode)</p>
<input type="text" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-cayenn-pre" value="{CayennDevice:"Laser6W",Cmd:"LaserBoot",PauseAfter:2}" placeholder="Enter Cayenn pre-run cmd">
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">Laser On Command</p>
<input type="text" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-cayenn-on" value="{Cmd:"PwmOn",Hz:1000,Duty:1023}" placeholder="Enter Cayenn on cmd">
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">Laser Off Command</p>
<input type="text" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-cayenn-off" value="{Cmd:"PwmOff"}" placeholder="Enter Cayenn off cmd">
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">Post-Run Command (End of Gcode)</p>
<input type="text" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-cayenn-post" value="{Cmd:"LaserShutdown"}" placeholder="Enter Cayenn post-run cmd">
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">
View the Cayenn widget to see what commands are available for your
laser Cayenn device.
</p>
</div>
<div class="eagle-soldermask-modem3 hidden">
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">S Value (M3 PWM Spindle Speed)</p>
<div class="input-group">
<input type="number" min="0" step="1" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-svalue" value="1" placeholder="Enter S value">
<div class="input-group-addon">mm</div>
</div>
<p style="margin-top:3px;margin-bottom:0;font-size:11px;">
On TinyG enter $p1 to see PWM settings. Set $p1cpl=0, $p1cph=1, $p1csl=0,
$p1csh=1, $p1pof=0 then use
1 in the box above for 100% power, 0.1 for 10% power, etc.
</p>
</div>
</div>
</div>
<label class="radio-inline">
<input class="eagle-soldermask-modetype eagle-soldermask-regen-onchange" type="radio" name="com-chilipeppr-widget-eagle-soldermask-mode" value="mill"> Mill
</label>
<div class="form-group eagle-soldermask-mode-millRegion hidden" style="padding-left:20px;margin-bottom:0">
<p style="margin-bottom:0;font-size:11px;">Clearance Height</p>
<div class="input-group">
<input type="number" step="1" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-clearance" value="2" placeholder="Enter clearance height">
<div class="input-group-addon">mm</div>
</div>
<p style="margin-bottom:0;font-size:11px;">Depth of Cut</p>
<div class="input-group">
<input type="number" step="1" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-depthcut" value="0" placeholder="Enter depth of cut">
<div class="input-group-addon">mm</div>
</div>
<p style="margin-bottom:0;font-size:11px;">Feedrate of Plunge</p>
<div class="input-group">
<input type="number" step="10" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-feedrateplunge" value="30" placeholder="Enter feedrate">
<div class="input-group-addon">mm/min</div>
</div>
<p style="margin-bottom:0;font-size:11px;">Spindle Speed</p>
<div class="input-group">
<input type="number" step="100" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-spindle" value="8000" placeholder="Enter spindle speed">
<div class="input-group-addon">rpm</div>
</div>
</div>
</div>
<p style="margin-bottom:0;font-size:11px;">
Feedrate of Laser / Mill
</p>
<div class="input-group">
<input type="number" step="10" class="form-control eagle-soldermask-regen-onblur eagle-soldermask-input-feedrate" value="30" placeholder="Enter feedrate">
<div class="input-group-addon">mm/min</div>
</div>
<!--<p style="margin-bottom:0;font-size:11px;">Clearance Height</p>-->
<!--<div class="input-group">-->
<!-- <input type="number" step="1" class="form-control eagle-soldermask-input-clearance" value="10" placeholder="Enter clearance height">-->
<!-- <div class="input-group-addon">mm</div>-->
<!--</div>-->
<p style="margin-top:10px;margin-bottom:2px;">Gcode <span class="eagle-soldermask-regenerate" style="font-size:11px;color:red;">Needs re-generated</span>
<span class="eagle-soldermask-gcode-size-span hidden"><span class="eagle-soldermask-gcode-size" style="font-size:11px;color:blue;">88Kb</span></span></p>
<button style="margin-bottom:4px;" type="button" class="btn btn-default btn-eagle-soldermask-sendgcodetows">Send Gcode to Workspace</button>
<textarea class="form-control eagle-soldermask-gcode" rows="3" spellcheck="false"></textarea>
</div>
<div class="tab-pane" id="eagle-tutorial">
<!-- lazy loaded on switch to tab so don't put content here. -->
<!-- put content in javascript code only -->
<!--<iframe width="100%" xheight="315" src="https://www.youtube.com/embed/DX0xGgSARj4" frameborder="0" allowfullscreen></iframe>-->
</div>
</div>
<!-- Notify panel -->
<div class="alert alert-info com-chilipeppr-widget-eagle-infoTemp hidden" style="position:absolute;left:2px;right:2px;bottom:2px;margin:0;z-index:100;">
Rendering...
</div>
</div>
<div class="panel-footer hidden">
<!--<textarea id="com-chilipeppr-widget-lasersolder-status" class="widget-status form-control" rows="3"></textarea>-->
</div>
<div class="com-chilipeppr-widget-eagle-info panel hidden">
<table class="table table-bordered table-striped table-condensed">
<!-- <colgroup>
<col class="col-xs-1" />
<col class="col-xs-7" />
</colgroup> -->
<!-- <thead>
<tr>
<th>Item</th>
<th>Description</th>
</tr>
</thead> -->
<tbody>
<tr>
<th colspan="2" class="info-title"></th>
</tr>
<tr class="row-pad">
<td>Pad #</td>
<td class="info-pad"></td>
</tr>
<tr class="row-signal">
<td>Signal</td>
<td class="info-signal"></td>
</tr>
<tr class="row-package">
<td class="name-package">Package</td>
<td class="info-package"></td>
</tr>
<!-- <tr class="hidden">
<td>
Library
</td>
<td class="info-library"></td>
</tr> -->
<tr>
<td>Layer</td>
<td class="info-layer"></td>
</tr>
<tr class="row-elem-name">
<td>Element Name</td>
<td class="info-elem-name"></td>
</tr>
<tr class="row-elem-value">
<td>Element Value</td>
<td class="info-elem-value"></td>
</tr>
<tr class="info-elem-dispenser hidden">
<td>Ignore in Dispenser</td>
<td>
<input type="checkbox" class="ignore-in-dispenser" xchecked />
</td>
</tr>
</tbody>
</table>
</div>
<div class="com-chilipeppr-widget-eagle-info-signal panel hidden">
<table class="table table-bordered table-striped table-condensed">
<tbody>
<tr>
<th colspan="2" class="info-title"></th>
</tr>
<tr class="row-signal">
<td>Signal</td>