load "footprint.5c"
import Footprint;
-Footprint::process_clearance = 0.07;
-
real pad_expose = 0.1;
real pad_width = 0.3;
real pad_height = 0.7;
real center_width = 1.6;
real center_height = 1.0;
-real clearance = 0.0061 * 25.4;
-real mask = 0.07;
-
real pad_x_off = package_width / 2 - (pad_width - pad_expose) / 2 + pad_expose;
real num_pad = 3; /* per side */
element_start("s-pwson-n6");
-/* full center pad */
-pad_mm_clear_mask_options(0, 0, center_width, center_height, 0, center_height + mask, "7", "7", "square,nopaste");
-
-/* 70% paste coverage */
-real paste_coverage = 0.70;
-real paste_coverage_scale = sqrt(paste_coverage);
-pad_mm_clear_mask_options(0, 0, center_width * paste_coverage_scale,
- center_height * paste_coverage_scale, 0, center_height + mask, "7", "7", "square");
+pad_mm_partial(0, 0, center_width, center_height, 0.63, "7");
-pin_mm_clear_mask_options(-0.9, 0,
- 0.3811, 0.17, 0.2, 0, "GND", "7", "via");
-
-pin_mm_clear_mask_options(0.9, 0,
- 0.3811, 0.17, 0.2, 0, "GND", "7", "via");
+via_mm(-0.9, 0, process_drill, process_ring, "GND");
+via_mm( 0.9, 0, process_drill, process_ring, "GND");
real pad_y_off = pad_y_spacing / 2;
for (int pad = 0; pad < num_pad; pad++) {
/* bottom side (1-3) */
- pad_mm_clear_mask_options(pad_off(pad),
- pad_y_off,
- pad_width,
- pad_height,
- clearance * 2, pad_width + mask,
- sprintf("%d", pad + 1),
- sprintf("%d", pad + 1), "square");
+ pad_mm(pad_off(pad),
+ pad_y_off,
+ pad_width,
+ pad_height,
+ sprintf("%d", pad + 1),
+ sprintf("%d", pad + 1));
/* top side (6-4) */
- pad_mm_clear_mask_options(pad_off(pad),
- -pad_y_off,
- pad_width,
- pad_height,
- clearance * 2, pad_width + mask,
- sprintf("%d", 6 - pad),
- sprintf("%d", 6 - pad), "square");
-
+ pad_mm(pad_off(pad),
+ -pad_y_off,
+ pad_width,
+ pad_height,
+ sprintf("%d", 6 - pad),
+ sprintf("%d", 6 - pad));
}
rect(-package_width/2, -package_height/2, package_width, package_height);