circuitdata 0.3.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
+ }