circuitdata 0.3.5 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1139 @@
1
+ {
2
+ "definitions": {
3
+ "version": {
4
+ "type": "string",
5
+ "pattern": "^0.6$"
6
+ },
7
+ "stackup_specific": {
8
+ "layer_order": {
9
+ "type": "integer"
10
+ },
11
+ "layer_name": {
12
+ "type": "string"
13
+ }
14
+ },
15
+ "custom": {
16
+ "soldermasks": {
17
+ "type": "object",
18
+ "additionalProperties": false,
19
+ "required": ["name"],
20
+ "properties": {
21
+ "name": {
22
+ "type": "string",
23
+ "uom": null,
24
+ "description": "The name of the Soldermask. Use the official name or some name as close to it as possible"
25
+ },
26
+ "manufacturer": {
27
+ "type": "string",
28
+ "uom": null,
29
+ "description": "The name of the manufacturer"
30
+ },
31
+ "ipc-sm-840-class": {
32
+ "type": "list",
33
+ "enum": ["T", "H"],
34
+ "uom": null,
35
+ "description": "Soldermask to meet IPC SM 840 Class."
36
+ },
37
+ "link": {
38
+ "type": "string",
39
+ "uom": null,
40
+ "description": "The link to some url that gives more information or a reference to the product."
41
+ }
42
+ },
43
+ "aliases": "",
44
+ "name": "Soldermasks",
45
+ "description": "Materials used as soldermask"
46
+ },
47
+ "dielectrics": {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "required": ["name"],
51
+ "properties": {
52
+ "name": {
53
+ "type": "string",
54
+ "uom": null,
55
+ "description": "The name of the Laminate. Use the official name or some name as close to it as possible."
56
+ },
57
+ "manufacturer": {
58
+ "type": "string",
59
+ "uom": null,
60
+ "description": "The name of the manufacturer"
61
+ },
62
+ "ipc_4101_sheet": {
63
+ "type": "integer",
64
+ "uom": null,
65
+ "description": "The reference sheet number of the IPC 4101 Standard."
66
+ },
67
+ "ipc_4103_sheet": {
68
+ "type": "integer",
69
+ "uom": null,
70
+ "description": "The reference sheet number of the IPC 4103 Standard."
71
+ },
72
+ "ipc_4204_sheet": {
73
+ "type": "integer",
74
+ "uom": null,
75
+ "description": "The reference sheet number of the IPC 4204 Standard."
76
+ },
77
+ "tg_min": {
78
+ "type": "integer",
79
+ "uom": null,
80
+ "description": "The minimum Glass Transition Temperature (Tg) required."
81
+ },
82
+ "tg_range_from": {
83
+ "type": "integer",
84
+ "uom": null,
85
+ "description": "The Glass Transition Temperature (Tg) range starts at."
86
+ },
87
+ "tg_range_to": {
88
+ "type": "integer",
89
+ "uom": null,
90
+ "description": "The Glass Transition Temperature (Tg) range ands at."
91
+ },
92
+ "td_min": {
93
+ "type": "integer",
94
+ "uom": null,
95
+ "description": "The minimum required temperature at which a base laminate material experiences an established percentage of weight loss using Thermograv imetric Analysis (TGA)."
96
+ },
97
+ "td_range_from": {
98
+ "type": "integer",
99
+ "uom": null,
100
+ "description": "The Td range starts at."
101
+ },
102
+ "td_range_to": {
103
+ "type": "integer",
104
+ "uom": null,
105
+ "description": "The Td range stops at."
106
+ },
107
+ "halogen_free": {
108
+ "type": "boolean",
109
+ "uom": null,
110
+ "description": "Indicates the material is material free or is required to be"
111
+ },
112
+ "rw_en45545_2_2013": {
113
+ "type": "boolean",
114
+ "uom": null,
115
+ "description": "Railway Europe EN45545-2:2013 compatible"
116
+ },
117
+ "rw_nf_f_16_101": {
118
+ "type": "boolean",
119
+ "uom": null,
120
+ "description": "Railway France NF F 16-101 compatible"
121
+ },
122
+ "rw_uni_cei_11170_3": {
123
+ "type": "boolean",
124
+ "uom": null,
125
+ "description": "Railway Italy UNI CEI 11170-3 compatible."
126
+ },
127
+ "rw_nfpa_130": {
128
+ "type": "boolean",
129
+ "uom": null,
130
+ "description": "Railway USA NFPA 130 compatible."
131
+ },
132
+ "ul": {
133
+ "type": "boolean",
134
+ "uom": null,
135
+ "description": "UL compatible."
136
+ },
137
+ "link": {
138
+ "type": "string",
139
+ "uom": null,
140
+ "description": "The link to some url that gives more information or a reference to the product."
141
+ },
142
+ "accept_equivalent": {
143
+ "type": "boolean",
144
+ "uom": null,
145
+ "description": "Equivalent material to the one specified is OK to use as a replacement if true."
146
+ }
147
+ },
148
+ "aliases": "",
149
+ "name": "Dielectrics",
150
+ "description": "Materials used as dielectrics/laminates"
151
+ },
152
+ "stiffeners": {
153
+ "type": "array",
154
+ "additionalProperties": false,
155
+ "required": ["name"],
156
+ "properties": {
157
+ "name": {
158
+ "type": "string",
159
+ "uom": null,
160
+ "description": "The name of the Soldermask. Use the official name or some name as close to it as possible"
161
+ },
162
+ "manufacturer": {
163
+ "type": "string",
164
+ "uom": null,
165
+ "description": "The name of the manufacturer"
166
+ },
167
+ "link": {
168
+ "type": "string",
169
+ "uom": null,
170
+ "description": "The link to some url that gives more information or a reference to the product."
171
+ }
172
+ },
173
+ "aliases": "",
174
+ "name": "Stiffener",
175
+ "uom": null,
176
+ "description": "The materials to be used as stiffener"
177
+ }
178
+ },
179
+ "generics": {
180
+ "thickness_min_micron": {
181
+ "type": "number",
182
+ "uom": ["um"],
183
+ "description": "The minimum thickness in micrometer."
184
+ },
185
+ "thickness_max_micron": {
186
+ "type": "number",
187
+ "uom": ["um"],
188
+ "description": "The maximum thickness in micrometer."
189
+ },
190
+ "range": {
191
+ "type": "string",
192
+ "pattern": "^(\\d*|\\d*.\\d*)\\.\\.\\.(\\d*|\\d*.\\d*)$"
193
+ },
194
+ "number": {
195
+ "type": "number"
196
+ },
197
+ "string": {
198
+ "type": "string"
199
+ }
200
+ },
201
+ "elements": {
202
+ "conductive_layer": {
203
+ "count": {
204
+ "type": "integer",
205
+ "uom": null,
206
+ "description": "The number of conductive layers."
207
+ },
208
+ "minimum_internal_track_width": {
209
+ "type": "number",
210
+ "uom": ["um"],
211
+ "description": "The minimum nominal width of conductors on internal/unplated layers (minimum track)."
212
+ },
213
+ "minimum_external_track_width": {
214
+ "type": "number",
215
+ "uom": ["um"],
216
+ "description": "The minimum nominal width of conductors on external/plated layers (minimum track). If only only one minimum track is present, is should be here."
217
+ },
218
+ "minimum_internal_spacing_width": {
219
+ "type": "number",
220
+ "uom": ["um"],
221
+ "description": "The minimum gap between two conductors on the internal layers."
222
+ },
223
+ "minimum_external_spacing_width": {
224
+ "type": "number",
225
+ "description": "The minimum gap between two conductors on the external layers. If only one minimum gap is present, is should be here."
226
+ },
227
+ "external_base_copper_thickness": {
228
+ "type": "number",
229
+ "enum": [5.1, 8.5, 12, 17.1, 25.7, 34.3, 68.6, 102.9, 137.2, 171.5, 205.7, 240, 342.9, 480.1],
230
+ "uom": ["um"],
231
+ "description": "Finished base copper thickness following IPC Class on the up to two external layers in micrometer."
232
+ },
233
+ "internal_base_copper_thickness": {
234
+ "type": "number",
235
+ "enum": [5.1, 8.5, 12, 17.1, 25.7, 34.3, 68.6, 102.9, 137.2, 171.5, 205.7, 240, 342.9, 480.1],
236
+ "uom": ["um"],
237
+ "description": "Finished base copper thickness following IPC Class on the internal layers in micrometer."
238
+ },
239
+ "copper_foil_roughness": {
240
+ "type": "string",
241
+ "enum": ["S", "L", "V"],
242
+ "uom": ["um"],
243
+ "description": "The roughness of the copper foil."
244
+ },
245
+ "copper_coverage_average": {
246
+ "type": "number",
247
+ "uom": ["%"],
248
+ "description": "The average copper coverage of the board. UoM is percentage"
249
+ }
250
+ },
251
+ "final_finish": {
252
+ "finish": {
253
+ "type": "string",
254
+ "enum": ["none", "c_bare_copper", "isn", "iag", "enig", "enepig", "osp", "ht_osp", "g", "GS", "t_fused", "tlu_unfused", "dig", "gwb-1_ultrasonic", "gwb-2-thermosonic", "s_hasl", "b1_lfhasl"],
255
+ "uom": null,
256
+ "description": "The material/method/surface to be used in the finish."
257
+ },
258
+ "area": {
259
+ "type": "number",
260
+ "uom": ["dm2"],
261
+ "description": "The area that the finish will cover, in square decimeter."
262
+ }
263
+ },
264
+ "soldermask": {
265
+ "color": {
266
+ "type": "string",
267
+ "uom": null,
268
+ "description": "This describes the color based on the name of the color; green, black, blue, red, white, yellow. If a specific color needs to be defined, this can be done custom -> colors section."
269
+ },
270
+ "finish": {
271
+ "type": "string",
272
+ "enum": ["matte", "semi-matte", "glossy", "any"],
273
+ "uom": null,
274
+ "description": "The finish of the soldermask."
275
+ },
276
+ "min_thickness": {
277
+ "type": "number",
278
+ "uom": ["um"],
279
+ "description": "The minimum thickness of the soldermask."
280
+ },
281
+ "max_thickness": {
282
+ "type": "number",
283
+ "uom": ["um"],
284
+ "description": "The maximum thickness of the soldermask."
285
+ },
286
+ "material": {
287
+ "type": "string",
288
+ "uom": null,
289
+ "description": "The name of a material that appears in the materials section"
290
+ },
291
+ "top": {
292
+ "type": "boolean",
293
+ "uom": null,
294
+ "description": "Indicates soldermask presence/capability at top"
295
+ },
296
+ "bottom": {
297
+ "type": "boolean",
298
+ "uom": null,
299
+ "description": "Indicates soldermask presence/capability at bottom"
300
+ },
301
+ "allow_touchups": {
302
+ "type": "boolean",
303
+ "uom": null,
304
+ "description": "The manufacturer is allowed to do touchups on the soldermask if true"
305
+ }
306
+ },
307
+ "legend": {
308
+ "color": {
309
+ "type": "string",
310
+ "uom": null,
311
+ "description": "This describes the color based on the name of the color; white, yellow. If a specific color needs to be defined, this can be done custom -> colors section."
312
+ },
313
+ "top": {
314
+ "type": "boolean",
315
+ "uom": null,
316
+ "description": "Indicates legend presence/capability at top"
317
+ },
318
+ "bottom": {
319
+ "type": "boolean",
320
+ "uom": null,
321
+ "description": "Indicates legend presence/capability at bottom"
322
+ }
323
+ },
324
+ "stiffener": {
325
+ "size": {
326
+ "type": "number",
327
+ "uom": ["um"],
328
+ "description": "The size of the stiffener should be specified in drawing"
329
+ },
330
+ "placement": {
331
+ "type": "string",
332
+ "enum": ["top", "bottom"],
333
+ "uom": null,
334
+ "description": "Indicating if the stiffener is on top or bottom of the flexible layer."
335
+ },
336
+ "thickness": {
337
+ "type": "number",
338
+ "uom": ["um"],
339
+ "description": "The thickness of the stiffener"
340
+ },
341
+ "material": {
342
+ "type": "string",
343
+ "uom": null,
344
+ "description": "The name of a material that appears in the materials section"
345
+ }
346
+ },
347
+ "coverlay": {
348
+ "total_thickness": {
349
+ "type": "number",
350
+ "uom": null,
351
+ "description": "The total thickness of the coverlay"
352
+ },
353
+ "top": {
354
+ "type": "boolean",
355
+ "uom": null,
356
+ "description": "Indicates coverlay presence/capability at top"
357
+ },
358
+ "bottom": {
359
+ "type": "boolean",
360
+ "uom": null,
361
+ "description": "Indicates coverlay presence/capability at bottom"
362
+ },
363
+ "material": {
364
+ "type": "string",
365
+ "uom": null,
366
+ "description": "The name of a material that appears in the materials -> soldermask section"
367
+ }
368
+ },
369
+ "peelable_mask": {
370
+ "heating_operations": {
371
+ "type": "integer",
372
+ "uom": null,
373
+ "description": ""
374
+ },
375
+ "top": {
376
+ "type": "boolean",
377
+ "uom": null,
378
+ "description": "Indicates peelable mask presence/capability at top"
379
+ },
380
+ "bottom": {
381
+ "type": "boolean",
382
+ "uom": null,
383
+ "description": "Indicates peelable mask presence/capability at bottom"
384
+ }
385
+ },
386
+ "kapton_tape": {
387
+ "accept_equivalent": {
388
+ "type": "boolean",
389
+ "uom": null,
390
+ "description": "If alternative to DuPont™ Kapton® HN general-purpose film can be used"
391
+ },
392
+ "top": {
393
+ "type": "boolean",
394
+ "uom": null,
395
+ "description": "Indicates kapton tape presence/capability at top"
396
+ },
397
+ "bottom": {
398
+ "type": "boolean",
399
+ "uom": null,
400
+ "description": "Indicates kapton tape presence/capability at top"
401
+ }
402
+ },
403
+ "conductive_carbon_print": {
404
+ "top": {
405
+ "type": "boolean",
406
+ "uom": null,
407
+ "description": "Indicates Conductive Carbon Print presence/capability at top"
408
+ },
409
+ "bottom": {
410
+ "type": "boolean",
411
+ "uom": null,
412
+ "description": "Indicates Conductive Carbon Print presence/capability at bottom"
413
+ }
414
+ },
415
+ "silver_print": {
416
+ "top": {
417
+ "type": "boolean",
418
+ "uom": null,
419
+ "description": "Indicates silver print presence/capability at top"
420
+ },
421
+ "bottom": {
422
+ "type": "boolean",
423
+ "uom": null,
424
+ "description": "Indicates silver print presence/capability at bottom"
425
+ }
426
+ },
427
+ "inner_packaging": {
428
+ "type_of_bag": {
429
+ "type": "string",
430
+ "enum": ["a", "b", "c", "d"],
431
+ "uom": null,
432
+ "description": "The material of the bag to be used"
433
+ },
434
+ "hic": {
435
+ "type": "boolean",
436
+ "uom": null,
437
+ "description": "True to include a Humidity Indicator Card (HIC), False to not"
438
+ },
439
+ "esd": {
440
+ "type": "boolean",
441
+ "uom": null,
442
+ "description": "True to indicate that packaging for ESD-sensitive required."
443
+ },
444
+ "desiccant": {
445
+ "type": "boolean",
446
+ "uom": null,
447
+ "description": "True to indicate that a desiccant material is required."
448
+ },
449
+ "vacuum": {
450
+ "type": "boolean",
451
+ "uom": null,
452
+ "description": "True to indicate that vacuum is needed for shrinkage - no heat rap or shrink rap allowed."
453
+ }
454
+ },
455
+ "via_protection": {
456
+ "type_1": {
457
+ "type": "boolean",
458
+ "uom": null,
459
+ "description": "A via with a dry film mask material applied bridging over the via wherein no additional materials are in the hole."
460
+ },
461
+ "type_2": {
462
+ "type": "boolean",
463
+ "uom": null,
464
+ "description": "A Type I via with a secondary covering of mask material applied over the tented via."
465
+ },
466
+ "type_3": {
467
+ "type": "boolean",
468
+ "uom": null,
469
+ "description": "A via with material applied allowing partial penetration into the via. The plug material may be applied from one or both sides."
470
+ },
471
+ "type_4a": {
472
+ "type": "boolean",
473
+ "uom": null,
474
+ "description": "A Type III via with a secondary covering of material applied over the via. The plug material may be applied from one or both sides."
475
+ },
476
+ "type_4b": {
477
+ "type": "boolean",
478
+ "uom": null,
479
+ "description": "A Type III via with a secondary covering of material applied over the via. The plug material may be applied from one or both sides."
480
+ },
481
+ "type_5": {
482
+ "type": "boolean",
483
+ "uom": null,
484
+ "description": "A via with material applied into the via targeting a full penetration and encapsulation of the hole."
485
+ },
486
+ "type_6a": {
487
+ "type": "boolean",
488
+ "uom": null,
489
+ "description": "A Type V via with a secondary covering of material (liquid or dry film soldermask) applied over the via. The plug material may be applied from one or both sides."
490
+ },
491
+ "type_6b": {
492
+ "type": "boolean",
493
+ "uom": null,
494
+ "description": "A Type V via with a secondary covering of material (liquid or dry film soldermask) applied over the via. The plug material may be applied from one or both sides."
495
+ },
496
+ "type_7": {
497
+ "type": "boolean",
498
+ "uom": null,
499
+ "description": "A Type V via with a secondary metallized coating covering the via. The metallization is on both sides."
500
+ }
501
+ },
502
+ "board": {
503
+ "size_x": {
504
+ "type": "number",
505
+ "uom": ["mm"],
506
+ "description": "The size of the board in the x-asis, measured in millimeters"
507
+ },
508
+ "size_y": {
509
+ "type": "number",
510
+ "uom": ["mm"],
511
+ "description": "The size of the board in the y-asis, measured in millimeters"
512
+ },
513
+ "thickness": {
514
+ "type": "number",
515
+ "uom": ["mm"],
516
+ "description": "The thickness of the board measured in millimeters"
517
+ }
518
+ },
519
+ "array": {
520
+ "size_x": {
521
+ "type": "number",
522
+ "uom": ["mm"],
523
+ "description": "The size of the array in the x-asis, measured in millimeters"
524
+ },
525
+ "size_y": {
526
+ "type": "number",
527
+ "uom": ["mm"],
528
+ "description": "The size of the array in the y-asis, measured in millimeters"
529
+ },
530
+ "boards_x": {
531
+ "type": "integer",
532
+ "uom": null,
533
+ "description": "Number of boards in the panel in the x-direction."
534
+ },
535
+ "boards_y": {
536
+ "type": "integer",
537
+ "uom": null,
538
+ "description": "Number of boards in the panel in the y-direction."
539
+ },
540
+ "boards_total": {
541
+ "type": "integer",
542
+ "uom": ["mm"],
543
+ "description": "Number total number of boards in the panel. This is not the preferred method of stating the number, \"boards_x\" and \"boards_y\" should be used."
544
+ },
545
+ "border_left": {
546
+ "type": "number",
547
+ "uom": ["mm"],
548
+ "description": "The size of the left side boarder between the edge and the board measured in millimeters. When used in a Profile or Capability, it must specify minimum needed boarder"
549
+ },
550
+ "border_right": {
551
+ "type": "number",
552
+ "uom": ["mm"],
553
+ "description": "The size of the right side boarder between the edge and the board measured in millimeters. When used in a Profile or Capability, it must specify minimum needed boarder"
554
+ },
555
+ "border_top": {
556
+ "type": "number",
557
+ "uom": ["mm"],
558
+ "description": "The size of the top side boarder between the edge and the board measured in millimeters. When used in a Profile or Capability, it must specify minimum needed boarder"
559
+ },
560
+ "border_bottom": {
561
+ "type": "number",
562
+ "uom": ["mm"],
563
+ "description": "The size of the bottom side boarder between the edge and the board measured in millimeters. When used in a Profile or Capability, it must specify minimum needed boarder"
564
+ },
565
+ "board_spacing_x": {
566
+ "type": "number",
567
+ "uom": ["mm"],
568
+ "description": "The size of the space between the boards in the x-direction measured in millimeters. When used in a Profile or Capability, it must specify the minimum needed space"
569
+ },
570
+ "board_spacing_y": {
571
+ "type": "number",
572
+ "uom": ["mm"],
573
+ "description": "The size of the space between the boards in the y-direction measured in millimeters. When used in a Profile or Capability, it must specify the minimum needed space"
574
+ },
575
+ "fiducials_number": {
576
+ "type": "integer",
577
+ "uom": null,
578
+ "description": "The number of fiducials on the array."
579
+ },
580
+ "fiducials_size": {
581
+ "type": "number",
582
+ "uom": ["mm"],
583
+ "description": "The size of the fiducials measured in millimeters. If used in a Profile, it is the minimum needed size"
584
+ },
585
+ "fiducials_shape": {
586
+ "type": "string",
587
+ "enum": ["donut", "circle", "plus", "diamond"],
588
+ "uom": null,
589
+ "description": "The shape of the fiducials."
590
+ },
591
+ "breakaway_method": {
592
+ "type": "string",
593
+ "enum": ["routing", "scoring", "v-cut", "v-grove", "jump_scoring"],
594
+ "uom": null,
595
+ "description": "The method of creation of the breakaways on the array"
596
+ },
597
+ "mouse_bites": {
598
+ "type": "boolean",
599
+ "uom": null,
600
+ "description": "Indicates if there should be \"mouse bites\" to allow easy break away of the boards"
601
+ },
602
+ "tooling_holes_number": {
603
+ "type": "integer",
604
+ "uom": null,
605
+ "description": "The number of tooling holes on the array."
606
+ },
607
+ "tooling_holes_size": {
608
+ "type": "number",
609
+ "uom": ["mm"],
610
+ "description": "The size of the tooling holes measured in millimeters. If used in a Profile, it is the minimum needed size."
611
+ },
612
+ "x_outs_allowed": {
613
+ "type": "boolean",
614
+ "uom": null,
615
+ "description": "Manufacturer can deliver arrays with defect boards as long as these are clearly marked as defect (X'ed out)."
616
+ },
617
+ "x_outs_max_percentage_on_array": {
618
+ "type": "integer",
619
+ "uom": ["percentage"],
620
+ "description": "The maximum number of defective and clearly marked as such boards that are allowed on on panel, stated in percentage"
621
+ },
622
+ "transplant_board_allowed": {
623
+ "type": "boolean",
624
+ "uom": null,
625
+ "description": "The maximum number of defective and clearly marked as such boards that are allowed on on panel, stated in percentage."
626
+ },
627
+ "weight": {
628
+ "type": "number",
629
+ "uom": ["g"],
630
+ "description": "The weight of the array measured in grams."
631
+ }
632
+ },
633
+ "inner_packaging": {
634
+ "type_of_bag": {
635
+ "type": "string",
636
+ "enum": ["a", "b", "c", "d"],
637
+ "uom": null,
638
+ "description": "The material of the bag to be used"
639
+ },
640
+ "hic": {
641
+ "type": "boolean",
642
+ "uom": null,
643
+ "description": "True to include a Humidity Indicator Card (HIC), False to not"
644
+ },
645
+ "esd": {
646
+ "type": "boolean",
647
+ "uom": null,
648
+ "description": "True to indicate that packaging for ESD-sensitive required."
649
+ },
650
+ "desiccant": {
651
+ "type": "boolean",
652
+ "uom": null,
653
+ "description": "True to indicate that a desiccant material is required."
654
+ },
655
+ "vacuum": {
656
+ "type": "boolean",
657
+ "uom": null,
658
+ "description": "True to indicate that vacuum is needed for shrinkage - no heat rap or shrink rap allowed."
659
+ }
660
+ },
661
+ "mechanical": {
662
+ "edge_bevelling": {
663
+ "type": "boolean",
664
+ "uom": null,
665
+ "description": "Edge bevelling present."
666
+ },
667
+ "depth_routing_top": {
668
+ "type": "boolean",
669
+ "uom": null,
670
+ "description": "Depth Routing from the top present"
671
+ },
672
+ "depth_routing_bottom": {
673
+ "type": "boolean",
674
+ "uom": null,
675
+ "description": "Depth Routing from the bottom present."
676
+ },
677
+ "counterboring_top": {
678
+ "type": "boolean",
679
+ "uom": null,
680
+ "description": "Counterboring from the top present."
681
+ },
682
+ "counterboring_bottom": {
683
+ "type": "boolean",
684
+ "uom": null,
685
+ "description": "Counterboring from the bottom present."
686
+ },
687
+ "countersink_top": {
688
+ "type": "boolean",
689
+ "uom": null,
690
+ "description": "Countersink from the top present."
691
+ },
692
+ "countersink_bottom": {
693
+ "type": "boolean",
694
+ "uom": null,
695
+ "description": "Countersink from the bottom present."
696
+ },
697
+ "punching": {
698
+ "type": "boolean",
699
+ "uom": null,
700
+ "description": "Punching process required."
701
+ },
702
+ "plated_edges": {
703
+ "type": "boolean",
704
+ "uom": null,
705
+ "description": "Plated Edges process required."
706
+ },
707
+ "plated_slots": {
708
+ "type": "boolean",
709
+ "uom": null,
710
+ "description": "Plated Slots process required."
711
+ },
712
+ "plated_castellated_holes": {
713
+ "type": "boolean",
714
+ "uom": null,
715
+ "description": "Plated Castellated Holes process required."
716
+ },
717
+ "coin_attachment": {
718
+ "type": "boolean",
719
+ "uom": null,
720
+ "description": "Coin Attachment process required."
721
+ }
722
+ },
723
+ "selective_plated_pads": {
724
+ "present": {
725
+ "type": "boolean",
726
+ "uom": null,
727
+ "description": "Selective plated pads present."
728
+ },
729
+ "layers": {
730
+ "type": "string",
731
+ "uom": null,
732
+ "description": "The layers included in the connectors, counter from 1 (top layer)."
733
+ }
734
+ },
735
+ "hard_gold_edge_connectors": {
736
+ "present": {
737
+ "type": "boolean",
738
+ "uom": null,
739
+ "description": "Hard gold edge connectors present."
740
+ },
741
+ "thickness": {
742
+ "type": "string",
743
+ "enum": ["0.76", "1.27", "other"],
744
+ "uom": null,
745
+ "description": "The thickness of the connectors"
746
+ },
747
+ "thickness_other": {
748
+ "type": "number",
749
+ "uom": null,
750
+ "description": "Thickness if it is not \"0.76\" or \"1.27\"."
751
+ },
752
+ "area": {
753
+ "type": "number",
754
+ "uom": null,
755
+ "description": "Area covered by the edge connectors in square desimeter."
756
+ },
757
+ "layers": {
758
+ "type": "string",
759
+ "uom": null,
760
+ "description": "The layers included in the connectors, counter from 1 (top layer)."
761
+ }
762
+ },
763
+ "markings": {
764
+ "date_code": {
765
+ "type": "string",
766
+ "uom": null,
767
+ "description": "Possible values are \"YY\" for year, \"WW\" for week \"-\" and \"LOT\" (alias \"BATCH\"). E.g. \"YYWW-LOT\" or \"LOT-YYWW\". If no marking, set \"NONE\"."
768
+ },
769
+ "placement": {
770
+ "type": "string",
771
+ "enum": ["copper_top", "copper_bottom", "soldermask_top", "soldermask_bottom", "legend_top", "legend_bottom"],
772
+ "uom": null,
773
+ "description": "Placement of the markings."
774
+ },
775
+ "manufacturer_identification": {
776
+ "type": "boolean",
777
+ "uom": null,
778
+ "description": "Manufacturer identification present."
779
+ },
780
+ "standards": {
781
+ "type": "array",
782
+ "uom": null,
783
+ "description": "Possible values are the ones listed in the subelement \"standards\" but typical will be \"ul\" and \"rohs\". Separate by comma."
784
+ },
785
+ "serial_number": {
786
+ "type": "boolean",
787
+ "uom": null,
788
+ "description": "Serial number should be added in the markings."
789
+ },
790
+ "serial_number_format": {
791
+ "type": "string",
792
+ "uom": null,
793
+ "description": "Format of the serial number expressed as a \"regular expression\" but needs to have x amount of digits in it."
794
+ },
795
+ "serial_number_start": {
796
+ "type": "integer",
797
+ "uom": null,
798
+ "description": "The number to start the serial number from. Will have to replace the digits from the \"serial_number_format\" above."
799
+ },
800
+ "serial_number_increase_by": {
801
+ "type": "integer",
802
+ "uom": null,
803
+ "description": "The increase in number from \"serial_number_start\" with each product."
804
+ }
805
+ },
806
+ "standards": {
807
+ "ul": {
808
+ "type": "boolean",
809
+ "uom": null,
810
+ "description": "Indicating if UL is required for the board. Can not be used as a capability, as this will be indicated on each material."
811
+ },
812
+ "c_ul": {
813
+ "type": "boolean",
814
+ "uom": null,
815
+ "description": "Indicating if Canadian UL is required for the board. Can not be used as a capability, as this will be indicated on each material."
816
+ },
817
+ "rohs": {
818
+ "type": "boolean",
819
+ "uom": null,
820
+ "description": "RoHS."
821
+ },
822
+ "ul94": {
823
+ "type": "string",
824
+ "enum": ["hb", "v_0", "v_1", "v_2", "5vb", "5va"],
825
+ "uom": null,
826
+ "description": "UL 94 - Standard for Safety of Flammability of Plastic Materials for Parts in Devices and Appliances testing"
827
+ },
828
+ "esa": {
829
+ "type": "boolean",
830
+ "uom": null,
831
+ "description": "European Space Agency Use."
832
+ },
833
+ "itar": {
834
+ "type": "boolean",
835
+ "uom": null,
836
+ "description": "US ITAR."
837
+ },
838
+ "dfars": {
839
+ "type": "boolean",
840
+ "uom": null,
841
+ "description": "US DFARS."
842
+ },
843
+ "mil_prf_55110": {
844
+ "type": "boolean",
845
+ "uom": null,
846
+ "description": "MIL-PRF-55110."
847
+ },
848
+ "mil_prf_50884": {
849
+ "type": "boolean",
850
+ "uom": null,
851
+ "description": "MIL-PRF-5884."
852
+ },
853
+ "mil_prf_31032": {
854
+ "type": "boolean",
855
+ "uom": null,
856
+ "description": "MIL-PRF-31032."
857
+ },
858
+ "as9100": {
859
+ "type": "boolean",
860
+ "uom": null,
861
+ "description": "AS9100."
862
+ },
863
+ "nadcap": {
864
+ "type": "boolean",
865
+ "uom": null,
866
+ "description": "NADCAP."
867
+ },
868
+ "rw_en45545_2_2013": {
869
+ "type": "boolean",
870
+ "uom": null,
871
+ "description": "Railway Europe EN45545-2:2013."
872
+ },
873
+ "rw_nf_f_16_101": {
874
+ "type": "boolean",
875
+ "uom": null,
876
+ "description": "Railway France NF F 16-101."
877
+ },
878
+ "rw_uni_cei_11170_3": {
879
+ "type": "boolean",
880
+ "uom": null,
881
+ "description": "Railway Italy UNI CEI 11170-3."
882
+ },
883
+ "rw_nfpa_130": {
884
+ "type": "boolean",
885
+ "uom": null,
886
+ "description": "Railway USA NFPA 130."
887
+ },
888
+ "ipc_6010_class": {
889
+ "type": "string",
890
+ "enum": ["1", "2", "3"],
891
+ "uom": null,
892
+ "description": "According to Table 4-2 /4-3."
893
+ },
894
+ "ipc_6010_compliance_level": {
895
+ "type": "string",
896
+ "enum": ["full", "factory_standard", "aabus"],
897
+ "uom": null,
898
+ "description": ""
899
+ },
900
+ "ipc_6010_copper_plating_thickness_level": {
901
+ "type": "string",
902
+ "enum": ["2", "3"],
903
+ "uom": null,
904
+ "description": "Used either if ipc_6010_class is set to 2 and you want to add copper plating thickness demands from class 3, or the other way round - class 3 is set but you can accept demands from class 2."
905
+ },
906
+ "ipc_6010_annular_ring_level": {
907
+ "type": "string",
908
+ "enum": ["2", "3"],
909
+ "uom": null,
910
+ "description": "Used either if ipc_6010_class is set to 2 and you want to add annular ring demands from class 3, or the other way round - class 3 is set but you can accept demands from class 2."
911
+ },
912
+ "ipc_6010_conductor_spacing_level": {
913
+ "type": "string",
914
+ "enum": ["2", "3"],
915
+ "uom": null,
916
+ "description": "Used either if ipc_6010_class is set to 2 and you want to add conductor spacing demands from class 3, or the other way round - class 3 is set but you can accept demands from class 2."
917
+ },
918
+ "ipc_6010_conductor_width_level": {
919
+ "type": "string",
920
+ "enum": ["2", "3"],
921
+ "uom": null,
922
+ "description": "Used either if ipc_6010_class is set to 2 and you want to add conductor width demands from class 3, or the other way round - class 3 is set but you can accept demands from class 2."
923
+ },
924
+ "ipc_6012_class": {
925
+ "type": "string",
926
+ "enum": ["1", "2", "3", "3A", "3S", "3M"],
927
+ "uom": null,
928
+ "description": "Requirements according to IPC 6012 class."
929
+ },
930
+ "ipc_6013_class": {
931
+ "type": "string",
932
+ "enum": ["1", "2", "3"],
933
+ "uom": null,
934
+ "description": "Requirements according to IPC 6013 for flexible or rigid-flex boards."
935
+ },
936
+ "ipc_6018":{
937
+ "type": "boolean",
938
+ "uom": null,
939
+ "description": "IPC-6018 Microwave End Product Board Inspection and Test."
940
+ }
941
+ },
942
+ "testing": {
943
+ "netlist": {
944
+ "type": "boolean",
945
+ "uom": null,
946
+ "description": "100% Netlist testing according to IPC-D-356, ODB++ or IPC2581."
947
+ },
948
+ "allow_generate_netlist": {
949
+ "type": "boolean",
950
+ "uom": null,
951
+ "description": "Allow Netlist to be generated from Gerber or other file format if needed."
952
+ },
953
+ "hipot": {
954
+ "type": "boolean",
955
+ "uom": null,
956
+ "description": " HiPot Test (Dielectric Withstanding Voltage Test)."
957
+ },
958
+ "4_wire": {
959
+ "type": "boolean",
960
+ "uom": null,
961
+ "description": "Use 4 wired test"
962
+ },
963
+ "ist": {
964
+ "type": "boolean",
965
+ "uom": null,
966
+ "description": "Use IST testing."
967
+ },
968
+ "impedance": {
969
+ "type": "string",
970
+ "enum": ["controlled", "calculated", "follow_stackup"],
971
+ "uom": null,
972
+ "description": ""
973
+ }
974
+ },
975
+ "country_of_origin": {
976
+ "iso_3166_1_alpha_3": {
977
+ "type": "string",
978
+ "uom": null,
979
+ "description": "A three letter string representation of the Country of origin according too ISO 3166-1."
980
+ },
981
+ "iso_3166_1_alpha_2": {
982
+ "type": "string",
983
+ "uom": null,
984
+ "description": "A two letter string representation of the Country of origin according too ISO 3166-1."
985
+ },
986
+ "nato_member": {
987
+ "type": "boolean",
988
+ "uom": null,
989
+ "description": "Indicates if the COO is a NATO member state"
990
+ },
991
+ "eu_member": {
992
+ "type": "boolean",
993
+ "uom": null,
994
+ "description": "Indicates if the COO is a European Union member state."
995
+ }
996
+ },
997
+ "conflict_resolution": {
998
+ "order": {
999
+ "type": "integer",
1000
+ "uom": null,
1001
+ "description": "Information provided on order level"
1002
+ },
1003
+ "oem_specification_sheet": {
1004
+ "type": "integer",
1005
+ "uom": null,
1006
+ "description": "Information provided from the OEM in a PDF or other document format"
1007
+ },
1008
+ "assembly_specification_sheet": {
1009
+ "type": "integer",
1010
+ "uom": null,
1011
+ "description": "Information provided from the assembly facility in a PDF or other document format"
1012
+ },
1013
+ "drawing": {
1014
+ "type": "integer",
1015
+ "uom": null,
1016
+ "description": "Information in a drawing (if present)"
1017
+ },
1018
+ "ipc2581": {
1019
+ "type": "integer",
1020
+ "uom": null,
1021
+ "description": "Information in an IPC-2581 file"
1022
+ },
1023
+ "odb": {
1024
+ "type": "integer",
1025
+ "uom": null,
1026
+ "description": " Information in a ODB++ file."
1027
+ },
1028
+ "gerber": {
1029
+ "type": "integer",
1030
+ "uom": null,
1031
+ "description": "Information in a Gerber format file"
1032
+ }
1033
+ },
1034
+ "holes": {
1035
+ "number": {
1036
+ "type": "integer",
1037
+ "uom": null,
1038
+ "description": "The number of holes total or in this process."
1039
+ },
1040
+ "type": {
1041
+ "type": "string",
1042
+ "enum": ["through", "blind", "buried", "back_drill"],
1043
+ "uom": null,
1044
+ "description": "The type of holes."
1045
+ },
1046
+ "plated": {
1047
+ "type": "boolean",
1048
+ "uom": null,
1049
+ "description": "True if the holes are plated."
1050
+ },
1051
+ "size": {
1052
+ "type": "number",
1053
+ "uom": ["um"],
1054
+ "description": "The size of the hole in micrometers. Can be considered the minimum hole size if only one holes element present in the list or as a capability."
1055
+ },
1056
+ "layer_start": {
1057
+ "type": "integer",
1058
+ "uom": null,
1059
+ "description": "The layer where the hole starts, counted from the top, where top layer is 1."
1060
+ },
1061
+ "layer_stop": {
1062
+ "type": "integer",
1063
+ "uom": null,
1064
+ "description": "The layer where the hole stops, counted from the top, where top layer is 1."
1065
+ },
1066
+ "depth": {
1067
+ "type": "number",
1068
+ "uom": ["um"],
1069
+ "description": "The depth of the hole in micrometer."
1070
+ },
1071
+ "method": {
1072
+ "type": "string",
1073
+ "enum": ["routing", "drilling", "laser"],
1074
+ "uom": null,
1075
+ "description": "Can be either \"routing\" or \"drilling\", where drilling is default"
1076
+ },
1077
+ "minimum_designed_annular_ring": {
1078
+ "type": "number",
1079
+ "uom": null,
1080
+ "description": "The minimum designed annular ring in micrometers."
1081
+ },
1082
+ "press_fit": {
1083
+ "type": "boolean",
1084
+ "uom": null,
1085
+ "description": "Press Fit holes."
1086
+ },
1087
+ "copper_filled": {
1088
+ "type": "boolean",
1089
+ "uom": null,
1090
+ "description": "Copper filled holes."
1091
+ },
1092
+ "staggered": {
1093
+ "type": "boolean",
1094
+ "uom": null,
1095
+ "description": "Staggered holes."
1096
+ },
1097
+ "stacked": {
1098
+ "type": "boolean",
1099
+ "uom": null,
1100
+ "description": "Stacked holes."
1101
+ },
1102
+ "alivh": {
1103
+ "type": "boolean",
1104
+ "uom": null,
1105
+ "description": "ALIVH holes."
1106
+ }
1107
+ },
1108
+ "allowed_modifications": {
1109
+ "dead_pad_removal": {
1110
+ "type": "boolean",
1111
+ "uom": null,
1112
+ "description": "Non Functioning Pad removal."
1113
+ },
1114
+ "add_copper_balancing": {
1115
+ "type": "boolean",
1116
+ "uom": null,
1117
+ "description": "Adding copper balancing pattern"
1118
+ },
1119
+ "add_copper_balancing_on_array": {
1120
+ "type": "boolean",
1121
+ "uom": null,
1122
+ "description": "Adding copper balancing pattern on array/panel frame."
1123
+ },
1124
+ "add_tear_drops": {
1125
+ "type": "boolean",
1126
+ "uom": null,
1127
+ "description": "Adding Tear Drops."
1128
+ }
1129
+ },
1130
+ "additional_requirements": {
1131
+ "any_name": {
1132
+ "type": "string",
1133
+ "uom": null,
1134
+ "description": "Must have a similar element in the custom -> additional"
1135
+ }
1136
+ }
1137
+ }
1138
+ }
1139
+ }