-int pad_blocks = 3;
-
-real block_width = center_width / pad_blocks;
-real block_height = center_height / pad_blocks;
-
-real block_x(int x) = (x - (pad_blocks - 1)/2) * block_width;
-real block_y(int y) = (y - (pad_blocks - 1)/2) * block_height;
-
-bool via_block(int x, int y) {
- return (x & 1) == 0 && (y & 1) == 0;
-}
-
-real via_hole = 13/1000 * 25.4; /* 13 mil drill */
-real via_copper = 7/1000 * 25.4; /* 5.6 mil anulus */
-
-for (int pad_y = 0; pad_y < pad_blocks; pad_y++) {
- for (int pad_x = 0; pad_x < pad_blocks; pad_x++)
- if (via_block(pad_x, pad_y)) {
- pin_mm_clear_mask(block_x(pad_x), block_y(pad_y),
- via_hole, via_hole + 2 * via_copper, pad_clearance, 0,
- "GND", "GND");
- pad_mm_clear_mask_options(block_x(pad_x), block_y(pad_y),
- block_width, block_height,
- pad_clearance, 0,
- "GND", "GND","square,nopaste");
- } else {
- /* full square of metal */
- pad_mm_clear_options(block_x(pad_x), block_y(pad_y),
- block_width, block_height,
- 0,
- "GND", "GND","square,nopaste");
- /* 1/4 full of solder paste */
- pad_mm_clear_options(block_x(pad_x), block_y(pad_y),
- block_width/2, block_height/2,
- 0,
- "GND", "GND","square");
- }
-}