00001
00026 #include "register_functions.c"
00027 #include "capc.h"
00028
00035 int
00036 capc_create_element ()
00037 {
00038 gdouble xmax;
00039 gdouble xmin;
00040 gdouble ymax;
00041 gdouble ymin;
00042 gdouble x_text;
00043 gdouble y_text;
00044 gdouble dx;
00045 gint pin_number;
00046 gchar *pin_pad_name = g_strdup ("");
00047 FlagType pad_flag;
00048 ElementTypePtr element;
00049
00050 if (!element)
00051 {
00052 if (verbose)
00053 g_log ("", G_LOG_LEVEL_WARNING,
00054 (_("[%s] could not create a valid element pointer for an element.")),
00055 footprint_type);
00056 return (EXIT_FAILURE);
00057 }
00058
00059
00060 element->MarkX = 0;
00061 element->MarkY = 0;
00062
00063
00064 xmin = multiplier * ((-pitch_x / 2.0) - (pad_length / 2.0) - pad_solder_mask_clearance);
00065 xmax = multiplier * (pitch_x / 2.0 + pad_length / 2.0 + pad_solder_mask_clearance);
00066 ymin = multiplier * ((-pad_width / 2.0) - pad_solder_mask_clearance);
00067 ymax = multiplier * (pad_width / 2.0 + pad_solder_mask_clearance);
00068
00069
00070 if ((multiplier * ((-package_body_length / 2.0) - courtyard_clearance_with_package)) < xmin)
00071 {
00072 xmin = (multiplier * ((-package_body_length / 2.0) - courtyard_clearance_with_package));
00073 }
00074 if ((multiplier * ((package_body_length / 2.0) + courtyard_clearance_with_package)) > xmax)
00075 {
00076 xmax = (multiplier * ((package_body_length / 2.0) + courtyard_clearance_with_package));
00077 }
00078 if ((multiplier * ((-package_body_width / 2.0) - courtyard_clearance_with_package)) < ymin)
00079 {
00080 ymin = (multiplier * ((-package_body_width / 2.0) - courtyard_clearance_with_package));
00081 }
00082 if ((multiplier * ((package_body_width / 2.0) + courtyard_clearance_with_package)) > ymax)
00083 {
00084 ymax = (multiplier * ((package_body_width / 2.0) + courtyard_clearance_with_package));
00085 }
00086
00087 if (multiplier * (-courtyard_length / 2.0) < xmin)
00088 {
00089 xmin = multiplier * (-courtyard_length / 2.0);
00090 }
00091 if (multiplier * (courtyard_length / 2.0) > xmax)
00092 {
00093 xmax = multiplier * (courtyard_length / 2.0);
00094 }
00095 if (multiplier * (-courtyard_width / 2.0) < ymin)
00096 {
00097 ymin = multiplier * (-courtyard_width / 2.0);
00098 }
00099 if (multiplier * (courtyard_width / 2.0) > ymax)
00100 {
00101 ymax = multiplier * (courtyard_width / 2.0);
00102 }
00103
00104 element->Name[1].Scale = 100;
00105 element->Name[1].X = 0.0 ;
00106 element->Name[1].Y = (ymin - 10000.0);
00107 element->Name[1].TextString = footprint_name;
00108 element->Name[1].Element = element;
00109 element->Name[1].Direction = EAST;
00110 element->Name[1].ID = ID++;
00111
00112 element->Name[2].Scale = 100;
00113 element->Name[2].X = 0.0 ;
00114 element->Name[2].Y = (ymin - 10000.0);
00115 element->Name[2].TextString = footprint_refdes;
00116 element->Name[2].Element = element;
00117 element->Name[2].Direction = EAST;
00118 element->Name[2].ID = ID++;
00119
00120 element->Name[3].Scale = 100;
00121 element->Name[3].X = 0.0 ;
00122 element->Name[3].Y = (ymin - 10000.0);
00123 element->Name[3].TextString = footprint_value;
00124 element->Name[3].Element = element;
00125 element->Name[3].Direction = EAST;
00126 element->Name[3].ID = ID++;
00127
00128 if (pad_shapes_type == SQUARE)
00129 {
00130 pad_flag.f = SQUARE;
00131 }
00132 else
00133 {
00134 pad_flag.f = CLEAR;
00135 }
00136 if (pad_length > pad_width)
00137 {
00138
00139 create_new_pad
00140 (
00141 element,
00142 (int) (multiplier * ((pitch_x - pad_length + pad_width) / 2.0)),
00143 0,
00144 (int) (multiplier * ((pitch_x + pad_length - pad_width) / 2.0)),
00145 0,
00146 (int) (multiplier * pad_width),
00147 (int) (multiplier * pad_clearance),
00148 (int) (multiplier * (pad_width + (2 * pad_solder_mask_clearance))),
00149 "",
00150 "2",
00151 pad_flag
00152 );
00153
00154 if (pin1_square)
00155 {
00156 pad_flag.f = SQUARE;
00157 }
00158
00159 create_new_pad
00160 (
00161 element,
00162 (int) (multiplier * ((-pitch_x - pad_length + pad_width) / 2.0)),
00163 0,
00164 (int) (multiplier * ((-pitch_x + pad_length - pad_width) / 2.0)),
00165 0,
00166 (int) (multiplier * pad_width),
00167 (int) (multiplier * pad_clearance),
00168 (int) (multiplier * (pad_width + (2 * pad_solder_mask_clearance))),
00169 "",
00170 "1",
00171 pad_flag
00172 );
00173 }
00174 else
00175 {
00176
00177 create_new_pad
00178 (
00179 element,
00180 (int) (multiplier * (pitch_x / 2.0)),
00181 (int) (multiplier * ((pad_width - pad_length) / 2.0)),
00182 (int) (multiplier * (pitch_x / 2.0)),
00183 (int) (multiplier * ((-pad_width + pad_length) / 2.0)),
00184 (int) (multiplier * pad_length),
00185 (int) (multiplier * pad_clearance),
00186 (int) (multiplier * (pad_length + (2 * pad_solder_mask_clearance))),
00187 "",
00188 "2",
00189 pad_flag
00190 );
00191
00192 if (pin1_square)
00193 {
00194 pad_flag.f = SQUARE;
00195 }
00196
00197 create_new_pad
00198 (
00199 element,
00200 (int) (multiplier * (-pitch_x / 2.0)),
00201 (int) (multiplier * ((pad_width - pad_length) / 2.0)),
00202 (int) (multiplier * (-pitch_x / 2)),
00203 (int) (multiplier * ((-pad_width + pad_length) / 2.0)),
00204 (int) (multiplier * pad_length),
00205 (int) (multiplier * pad_clearance),
00206 (int) (multiplier * (pad_length + (2 * pad_solder_mask_clearance))),
00207 "",
00208 "1",
00209 pad_flag
00210 );
00211 }
00212
00213 if (silkscreen_package_outline && package_body_width)
00214 {
00215 create_new_line
00216 (
00217 element,
00218 (int) (multiplier * (((-pitch_x + pad_length) / 2.0) + pad_solder_mask_clearance + silkscreen_line_width)),
00219 (int) (multiplier * (package_body_width / 2.0)),
00220 (int) (multiplier * (((pitch_x - pad_length) / 2.0) - pad_solder_mask_clearance - silkscreen_line_width)),
00221 (int) (multiplier * (package_body_width / 2.0)),
00222 (int) (multiplier * silkscreen_line_width)
00223 );
00224 create_new_line
00225 (
00226 element,
00227 (int) (multiplier * (((-pitch_x + pad_length) / 2.0) + pad_solder_mask_clearance + silkscreen_line_width)),
00228 (int) (multiplier * (-package_body_width / 2.0)),
00229 (int) (multiplier * (((pitch_x - pad_length) / 2.0) - pad_solder_mask_clearance - silkscreen_line_width)),
00230 (int) (multiplier * (-package_body_width / 2.0)),
00231 (int) (multiplier * silkscreen_line_width)
00232 );
00233 }
00234
00235 if (silkscreen_indicate_1)
00236 {
00237
00238 }
00239
00240 if (courtyard)
00241 {
00242 create_new_line
00243 (
00244 element,
00245 (int) (xmin),
00246 (int) (ymin),
00247 (int) (xmin),
00248 (int) (ymax),
00249 (int) (multiplier * courtyard_line_width)
00250 );
00251 create_new_line
00252 (
00253 element,
00254 (int) (xmax),
00255 (int) (ymin),
00256 (int) (xmax),
00257 (int) (ymax),
00258 (int) (multiplier * courtyard_line_width)
00259 );
00260 create_new_line
00261 (
00262 element,
00263 (int) (xmin),
00264 (int) (ymin),
00265 (int) (xmax),
00266 (int) (ymin),
00267 (int) (multiplier * courtyard_line_width)
00268 );
00269 create_new_line
00270 (
00271 element,
00272 (int) (xmax),
00273 (int) (ymax),
00274 (int) (xmin),
00275 (int) (ymax),
00276 (int) (multiplier * courtyard_line_width)
00277 );
00278 }
00279
00280 if (attributes_in_footprint)
00281 {
00282 element = create_attributes_in_element (element);
00283 }
00284
00285 if (verbose)
00286 {
00287 g_log ("", G_LOG_LEVEL_INFO,
00288 (_("[%s] created an element for element: %s.")),
00289 footprint_type,
00290 footprint_filename);
00291 }
00292 current_element = (ElementTypePtr) &element;
00293 return (EXIT_SUCCESS);
00294 }
00295
00296
00306 int
00307 capc_create_packages_list ()
00308 {
00309 g_list_free (packages_list);
00310 packages_list = g_list_append (packages_list, "CAPC0603X33N");
00311 packages_list = g_list_append (packages_list, "CAPC0816X61N");
00312 packages_list = g_list_append (packages_list, "CAPC1005X55N");
00313 packages_list = g_list_append (packages_list, "CAPC1005X56N");
00314 packages_list = g_list_append (packages_list, "CAPC1005X60N");
00315 packages_list = g_list_append (packages_list, "CAPC1220X107N");
00316 packages_list = g_list_append (packages_list, "CAPC1320X76N");
00317 packages_list = g_list_append (packages_list, "CAPC1508X65N");
00318 packages_list = g_list_append (packages_list, "CAPC1608X55N");
00319 packages_list = g_list_append (packages_list, "CAPC1608X86N");
00320 packages_list = g_list_append (packages_list, "CAPC1608X87N");
00321 packages_list = g_list_append (packages_list, "CAPC1608X90N");
00322 packages_list = g_list_append (packages_list, "CAPC1608X92N");
00323 packages_list = g_list_append (packages_list, "CAPC1608X95N");
00324 packages_list = g_list_append (packages_list, "CAPC1632X76N");
00325 packages_list = g_list_append (packages_list, "CAPC1632X168N");
00326 packages_list = g_list_append (packages_list, "CAPC2012X100N");
00327 packages_list = g_list_append (packages_list, "CAPC2012X100AN");
00328 packages_list = g_list_append (packages_list, "CAPC2012X120N");
00329 packages_list = g_list_append (packages_list, "CAPC2012X127N");
00330 packages_list = g_list_append (packages_list, "CAPC2012X130N");
00331 packages_list = g_list_append (packages_list, "CAPC2012X135N");
00332 packages_list = g_list_append (packages_list, "CAPC2012X140N");
00333 packages_list = g_list_append (packages_list, "CAPC2012X145N");
00334 packages_list = g_list_append (packages_list, "CAPC2012X145AN");
00335 packages_list = g_list_append (packages_list, "CAPC2012X70N");
00336 packages_list = g_list_append (packages_list, "CAPC2012X71N");
00337 packages_list = g_list_append (packages_list, "CAPC2012X88N");
00338 packages_list = g_list_append (packages_list, "CAPC2012X90N");
00339 packages_list = g_list_append (packages_list, "CAPC2012X94N");
00340 packages_list = g_list_append (packages_list, "CAPC2012X95N");
00341 packages_list = g_list_append (packages_list, "CAPC2013X140N");
00342 packages_list = g_list_append (packages_list, "CAPC3215X168N");
00343 packages_list = g_list_append (packages_list, "CAPC3216X105N");
00344 packages_list = g_list_append (packages_list, "CAPC3216X125N");
00345 packages_list = g_list_append (packages_list, "CAPC3216X127N");
00346 packages_list = g_list_append (packages_list, "CAPC3216X130N");
00347 packages_list = g_list_append (packages_list, "CAPC3216X130AN");
00348 packages_list = g_list_append (packages_list, "CAPC3216X140N");
00349 packages_list = g_list_append (packages_list, "CAPC3216X152N");
00350 packages_list = g_list_append (packages_list, "CAPC3216X175N");
00351 packages_list = g_list_append (packages_list, "CAPC3216X178N");
00352 packages_list = g_list_append (packages_list, "CAPC3216X180N");
00353 packages_list = g_list_append (packages_list, "CAPC3216X105L");
00354 return (EXIT_SUCCESS);
00355 }
00356
00357
00387 int
00388 capc_drc ()
00389 {
00390 int result = EXIT_SUCCESS;
00391 if (verbose)
00392 {
00393 g_log ("", G_LOG_LEVEL_INFO,
00394 (_("[%s] DRC Check: checking package %s.")),
00395 footprint_type, footprint_name);
00396 }
00397
00398 if (number_of_pins != 2)
00399 {
00400 if (verbose)
00401 {
00402 g_log ("", G_LOG_LEVEL_WARNING,
00403 (_("[%s] DRC Error: check for number of pins/pads <> 2.")),
00404 footprint_type);
00405 }
00406 result = EXIT_FAILURE;
00407 }
00408
00409 switch (pad_shapes_type)
00410 {
00411 case NO_SHAPE:
00412 {
00413 if (verbose)
00414 {
00415 g_log ("", G_LOG_LEVEL_WARNING,
00416 (_("[%s] DRC Error: NO_SHAPE specified for check for allowed pad shapes.")),
00417 footprint_type);
00418 }
00419 result = EXIT_FAILURE;
00420 break;
00421 }
00422 case ROUND:
00423 {
00424 if (verbose)
00425 {
00426 g_log ("", G_LOG_LEVEL_WARNING,
00427 (_("[%s] DRC Error: circular pad shape specified for check for allowed pad shapes.")),
00428 footprint_type);
00429 }
00430 result = EXIT_FAILURE;
00431 break;
00432 }
00433 case SQUARE:
00434 {
00435 break;
00436 }
00437 case OCTAGONAL:
00438 {
00439 if (verbose)
00440 {
00441 g_log ("", G_LOG_LEVEL_WARNING,
00442 (_("[%s] DRC Error: octagonal pad shape specified for check for allowed pad shapes.")),
00443 footprint_type);
00444 }
00445 result = EXIT_FAILURE;
00446 break;
00447 }
00448 case ROUND_ELONGATED:
00449 {
00450 break;
00451 }
00452 default:
00453 {
00454 if (verbose)
00455 {
00456 g_log ("", G_LOG_LEVEL_WARNING,
00457 (_("[%s] DRC Error: no valid pad shape type specified.")),
00458 footprint_type);
00459 }
00460 result = EXIT_FAILURE;
00461 break;
00462 }
00463 }
00464
00465 if (package_body_length <= 0.0)
00466 {
00467 if (verbose)
00468 {
00469 g_log ("", G_LOG_LEVEL_WARNING,
00470 (_("[%s] DRC Error: specified package body length is too small.")),
00471 footprint_type);
00472 }
00473 result = EXIT_FAILURE;
00474 }
00475 if (package_body_width <= 0.0)
00476 {
00477 if (verbose)
00478 {
00479 g_log ("", G_LOG_LEVEL_WARNING,
00480 (_("[%s] DRC Error: specified package body width is too small.")),
00481 footprint_type);
00482 }
00483 result = EXIT_FAILURE;
00484 }
00485 if (package_body_height <= 0.0)
00486 {
00487 if (verbose)
00488 {
00489 g_log ("", G_LOG_LEVEL_WARNING,
00490 (_("[%s] DRC Error: specified package body height is too small.")),
00491 footprint_type);
00492 }
00493 result = EXIT_FAILURE;
00494 }
00495
00496 if (courtyard_length <= 0.0)
00497 {
00498 if (verbose)
00499 {
00500 g_log ("", G_LOG_LEVEL_WARNING,
00501 (_("[%s] DRC Error: specified courtyard length is too small.")),
00502 footprint_type);
00503 }
00504 result = EXIT_FAILURE;
00505 }
00506 if (courtyard_width <= 0.0)
00507 {
00508 if (verbose)
00509 {
00510 g_log ("", G_LOG_LEVEL_WARNING,
00511 (_("[%s] DRC Error: specified courtyard width is too small.")),
00512 footprint_type);
00513 }
00514 return (EXIT_FAILURE);
00515 }
00516
00517 if (pitch_x - pad_length < pad_clearance)
00518 {
00519 if (verbose)
00520 {
00521 g_log ("", G_LOG_LEVEL_WARNING,
00522 (_("[%s] DRC Error: minimum clearance between copper (X-direction) is too small.")),
00523 footprint_type);
00524 }
00525 result = EXIT_FAILURE;
00526 }
00527
00528 if (pitch_y != 0.0)
00529 {
00530 if (verbose)
00531 {
00532 g_log ("", G_LOG_LEVEL_WARNING,
00533 (_("[%s] DRC Error: pitch in Y-direction should be 0.")),
00534 footprint_type);
00535 }
00536 result = EXIT_FAILURE;
00537 }
00538
00539 if (fiducial)
00540 {
00541 if (verbose)
00542 {
00543 g_log ("", G_LOG_LEVEL_WARNING,
00544 (_("[%s] DRC Error: package should not have a fiducial pad.")),
00545 footprint_type);
00546 }
00547 result = EXIT_FAILURE;
00548 }
00549
00550
00551 if (package_body_length - courtyard_length < courtyard_clearance_with_package)
00552 {
00553 if (verbose)
00554 {
00555 g_log ("", G_LOG_LEVEL_WARNING,
00556 (_("[%s] DRC Error: check for clearance of the package length with regard to the courtyard dimensions.")),
00557 footprint_type);
00558 }
00559 result = EXIT_FAILURE;
00560 }
00561
00562
00563 if (package_body_width - courtyard_width < courtyard_clearance_with_package)
00564 {
00565 if (verbose)
00566 {
00567 g_log ("", G_LOG_LEVEL_WARNING,
00568 (_("[%s] DRC Error: check for clearance of the package width with regard to the courtyard dimensions.")),
00569 footprint_type);
00570 }
00571 result = EXIT_FAILURE;
00572 }
00578
00579 if (silkscreen_package_outline && (silkscreen_line_width == 0.0))
00580 {
00581 if (verbose)
00582 {
00583 g_log ("", G_LOG_LEVEL_WARNING,
00584 (_("[%s] DRC Error: silkscreen line width is too small.")),
00585 footprint_type);
00586 }
00587 result = EXIT_FAILURE;
00588 }
00589 switch (units_type)
00590 {
00591 case NO_UNITS:
00592 {
00593 if (verbose)
00594 {
00595 g_log ("", G_LOG_LEVEL_WARNING,
00596 (_("[%s] DRC Error: no units specified.")),
00597 footprint_type);
00598 }
00599 result = EXIT_FAILURE;
00600 break;
00601 }
00602 case MIL:
00603 if (silkscreen_package_outline && (silkscreen_line_width > 40.0))
00604 {
00605 if (verbose)
00606 {
00607 g_log ("", G_LOG_LEVEL_WARNING,
00608 (_("[%s] DRC Error: silkscreen line width too wide.")),
00609 footprint_type);
00610 }
00611 result = EXIT_FAILURE;
00612 break;
00613 }
00614 case MIL_100:
00615 if (silkscreen_package_outline && (silkscreen_line_width > 4000.0))
00616 {
00617 if (verbose)
00618 {
00619 g_log ("", G_LOG_LEVEL_WARNING,
00620 (_("[%s] DRC Error: silkscreen line width too wide.")),
00621 footprint_type);
00622 }
00623 result = EXIT_FAILURE;
00624 break;
00625 }
00626 case MM:
00627 if (silkscreen_package_outline && (silkscreen_line_width > 1.0))
00628 {
00629 if (verbose)
00630 {
00631 g_log ("", G_LOG_LEVEL_WARNING,
00632 (_("[%s] DRC Error: silkscreen line width too wide.")),
00633 footprint_type);
00634 }
00635 result = EXIT_FAILURE;
00636 break;
00637 }
00638 default:
00639 {
00640 if (verbose)
00641 {
00642 g_log ("", G_LOG_LEVEL_WARNING,
00643 (_("[%s] DRC Error: no valid units type specified.")),
00644 footprint_type);
00645 }
00646 result = EXIT_FAILURE;
00647 break;
00648 }
00649 }
00650
00651 if (verbose && (result == EXIT_SUCCESS))
00652 {
00653 g_log ("", G_LOG_LEVEL_INFO,
00654 (_("[%s] DRC Check: no errors while checking package %s.")),
00655 footprint_type, footprint_name);
00656 }
00657 return result;
00658 }
00659
00660
00717 int
00718 capc_get_default_footprint_values ()
00719 {
00720 if (!strcmp (footprint_name, "?CAPC0603X33N"))
00721 {
00722 footprint_units = g_strdup ("mm");
00723 package_body_length = 0.63;
00724 package_body_width = 0.30;
00725 package_body_height = 0.33;
00726 package_is_radial = FALSE;
00727 number_of_pins = 2;
00728 number_of_columns = 0;
00729 number_of_rows = 0;
00730 count_x = 0;
00731 count_y = 0;
00732 pitch_x = 0.66;
00733 pitch_y = 0.0;
00734 pad_length = 0.46;
00735 pad_width = 0.42;
00736 pad_shape = g_strdup ("rectangular pad");
00737 pad_shapes_type = SQUARE;
00738 pad_clearance = 0.075;
00739 pad_solder_mask_clearance = 0.075;
00740 thermal = FALSE;
00741 thermal_length = 0.0;
00742 thermal_width = 0.0;
00743 fiducial = FALSE;
00744 fiducial_pad_diameter = 0.00;
00745 fiducial_pad_solder_mask_clearance = 0.00;
00746 silkscreen_package_outline = FALSE;
00747 silkscreen_length = 0.00;
00748 silkscreen_width = 0.00;
00749 silkscreen_line_width = 0.00;
00750 courtyard_length = 1.42;
00751 courtyard_width = 0.72;
00752 courtyard_line_width = 0.05;
00753 g_free (footprint_name);
00754 footprint_name = g_strdup ("CAPC0603X33N");
00755 if (verbose)
00756 {
00757 g_log ("", G_LOG_LEVEL_INFO,
00758 (_("%s is also known as")), footprint_name,
00759 " EIA 0201, metric 0603.");
00760 g_log ("", G_LOG_LEVEL_WARNING,
00761 (_("%s: pads are being trimmed.")), footprint_name);
00762 g_log ("", G_LOG_LEVEL_WARNING,
00763 (_("%s: footprint is too small for a package outline on the silkscreen.")),
00764 footprint_name);
00765 }
00766 return (EXIT_SUCCESS);
00767 }
00768 else if (!strcmp (footprint_name, "?CAPC0816X61N"))
00769 {
00770 footprint_units = g_strdup ("mm");
00771 package_body_length = 0.96;
00772 package_body_width = 1.75;
00773 package_body_height = 0.61;
00774 package_is_radial = FALSE;
00775 number_of_pins = 2;
00776 number_of_columns = 0;
00777 number_of_rows = 0;
00778 count_x = 0;
00779 count_y = 0;
00780 pitch_x = 0.80;
00781 pitch_y = 0.0;
00782 pad_length = 0.60;
00783 pad_width = 1.78;
00784 pad_shape = g_strdup ("rectangular pad");
00785 pad_shapes_type = SQUARE;
00786 pad_clearance = 0.075;
00787 pad_solder_mask_clearance = 0.075;
00788 thermal = FALSE;
00789 thermal_length = 0.0;
00790 thermal_width = 0.0;
00791 fiducial = FALSE;
00792 fiducial_pad_diameter = 0.00;
00793 fiducial_pad_solder_mask_clearance = 0.00;
00794 silkscreen_package_outline = FALSE;
00795 silkscreen_length = 0.00;
00796 silkscreen_width = 0.00;
00797 silkscreen_line_width = 0.00;
00798 courtyard_length = 1.70;
00799 courtyard_width = 2.08;
00800 courtyard_line_width = 0.05;
00801 g_free (footprint_name);
00802 footprint_name = g_strdup ("CAPC0816X61N");
00803 if (verbose)
00804 {
00805 g_log ("", G_LOG_LEVEL_INFO,
00806 (_("%s is also known as")), footprint_name,
00807 " EIA 0306, metric 0816.");
00808 g_log ("", G_LOG_LEVEL_WARNING,
00809 (_("%s: pads are being trimmed.")), footprint_name);
00810 g_log ("", G_LOG_LEVEL_WARNING,
00811 (_("%s: footprint is too small for a package outline on the silkscreen.")),
00812 footprint_name);
00813 }
00814 return (EXIT_SUCCESS);
00815 }
00816 else if (!strcmp (footprint_name, "?CAPC1005X55N"))
00817 {
00818 footprint_units = g_strdup ("mm");
00819 package_body_length = 1.05;
00820 package_body_width = 0.55;
00821 package_body_height = 0.55;
00822 package_is_radial = FALSE;
00823 number_of_pins = 2;
00824 number_of_columns = 0;
00825 number_of_rows = 0;
00826 count_x = 0;
00827 count_y = 0;
00828 pitch_x = 0.90;
00829 pitch_y = 0.0;
00830 pad_length = 0.62;
00831 pad_width = 0.62;
00832 pad_shape = g_strdup ("rectangular pad");
00833 pad_shapes_type = SQUARE;
00834 pad_clearance = 0.075;
00835 pad_solder_mask_clearance = 0.075;
00836 thermal = FALSE;
00837 thermal_length = 0.0;
00838 thermal_width = 0.0;
00839 fiducial = FALSE;
00840 fiducial_pad_diameter = 0.00;
00841 fiducial_pad_solder_mask_clearance = 0.00;
00842 silkscreen_package_outline = FALSE;
00843 silkscreen_length = 0.00;
00844 silkscreen_width = 0.00;
00845 silkscreen_line_width = 0.00;
00846 courtyard_length = 1.82;
00847 courtyard_width = 0.92;
00848 courtyard_line_width = 0.05;
00849 g_free (footprint_name);
00850 footprint_name = g_strdup ("CAPC1005X55N");
00851 if (verbose)
00852 {
00853 g_log ("", G_LOG_LEVEL_INFO,
00854 (_("%s: is also known as")), footprint_name,
00855 " EIA 0402, metric 1005.");
00856 g_log ("", G_LOG_LEVEL_WARNING,
00857 (_("%s: footprint is too small for a package outline on the silkscreen.")),
00858 footprint_name);
00859 }
00860 return (EXIT_SUCCESS);
00861 }
00862 else if (!strcmp (footprint_name, "?CAPC1005X56N"))
00863 {
00864 footprint_units = g_strdup ("mm");
00865 package_body_length = 1.10;
00866 package_body_width = 0.50;
00867 package_body_height = 0.56;
00868 package_is_radial = FALSE;
00869 number_of_pins = 2;
00870 number_of_columns = 0;
00871 number_of_rows = 0;
00872 count_x = 0;
00873 count_y = 0;
00874 pitch_x = 0.96;
00875 pitch_y = 0.0;
00876 pad_length = 0.59;
00877 pad_width = 0.64;
00878 pad_shape = g_strdup ("rectangular pad");
00879 pad_shapes_type = SQUARE;
00880 pad_clearance = 0.075;
00881 pad_solder_mask_clearance = 0.075;
00882 thermal = FALSE;
00883 thermal_length = 0.0;
00884 thermal_width = 0.0;
00885 fiducial = FALSE;
00886 fiducial_pad_diameter = 0.00;
00887 fiducial_pad_solder_mask_clearance = 0.00;
00888 silkscreen_package_outline = FALSE;
00889 silkscreen_length = 0.00;
00890 silkscreen_width = 0.00;
00891 silkscreen_line_width = 0.00;
00892 courtyard_length = 1.86;
00893 courtyard_width = 0.94;
00894 courtyard_line_width = 0.05;
00895 g_free (footprint_name);
00896 footprint_name = g_strdup ("CAPC1005X56N");
00897 if (verbose)
00898 {
00899 g_log ("", G_LOG_LEVEL_INFO,
00900 (_("%s: is also known as")), footprint_name,
00901 " EIA 0402, metric 1005.");
00902 g_log ("", G_LOG_LEVEL_WARNING,
00903 (_("%s: footprint is too small for a package outline on the silkscreen.")),
00904 footprint_name);
00905 }
00906 return (EXIT_SUCCESS);
00907 }
00908 else if (!strcmp (footprint_name, "?CAPC1005X60N"))
00909 {
00910 footprint_units = g_strdup ("mm");
00911 package_body_length = 1.10;
00912 package_body_width = 0.60;
00913 package_body_height = 0.60;
00914 package_is_radial = FALSE;
00915 number_of_pins = 2;
00916 number_of_columns = 0;
00917 number_of_rows = 0;
00918 count_x = 0;
00919 count_y = 0;
00920 pitch_x = 0.98;
00921 pitch_y = 0.0;
00922 pad_length = 0.58;
00923 pad_width = 0.66;
00924 pad_shape = g_strdup ("rectangular pad");
00925 pad_shapes_type = SQUARE;
00926 pad_clearance = 0.075;
00927 pad_solder_mask_clearance = 0.075;
00928 thermal = FALSE;
00929 thermal_length = 0.0;
00930 thermal_width = 0.0;
00931 fiducial = FALSE;
00932 fiducial_pad_diameter = 0.00;
00933 fiducial_pad_solder_mask_clearance = 0.00;
00934 silkscreen_package_outline = FALSE;
00935 silkscreen_length = 0.00;
00936 silkscreen_width = 0.00;
00937 silkscreen_line_width = 0.00;
00938 courtyard_length = 1.86;
00939 courtyard_width = 0.96;
00940 courtyard_line_width = 0.05;
00941 g_free (footprint_name);
00942 footprint_name = g_strdup ("CAPC1005X60N");
00943 if (verbose)
00944 {
00945 g_log ("", G_LOG_LEVEL_INFO,
00946 (_("%s: is also known as")), footprint_name,
00947 " EIA 0402, metric 1005.");
00948 g_log ("", G_LOG_LEVEL_WARNING,
00949 (_("%s: footprint is too small for a package outline on the silkscreen.")),
00950 footprint_name);
00951 }
00952 return (EXIT_SUCCESS);
00953 }
00954 else if (!strcmp (footprint_name, "?CAPC1220X107N"))
00955 {
00956 footprint_units = g_strdup ("mm");
00957 package_body_length = 1.45;
00958 package_body_width = 2.20;
00959 package_body_height = 1.07;
00960 package_is_radial = FALSE;
00961 number_of_pins = 2;
00962 number_of_columns = 0;
00963 number_of_rows = 0;
00964 count_x = 0;
00965 count_y = 0;
00966 pitch_x = 1.10;
00967 pitch_y = 0.0;
00968 pad_length = 0.77;
00969 pad_width = 2.22;
00970 pad_shape = g_strdup ("rectangular pad");
00971 pad_shapes_type = SQUARE;
00972 pad_clearance = 0.075;
00973 pad_solder_mask_clearance = 0.075;
00974 thermal = FALSE;
00975 thermal_length = 0.0;
00976 thermal_width = 0.0;
00977 fiducial = FALSE;
00978 fiducial_pad_diameter = 0.00;
00979 fiducial_pad_solder_mask_clearance = 0.00;
00980 silkscreen_package_outline = FALSE;
00981 silkscreen_length = 0.00;
00982 silkscreen_width = 0.00;
00983 silkscreen_line_width = 0.00;
00984 courtyard_length = 2.18;
00985 courtyard_width = 2.52;
00986 courtyard_line_width = 0.05;
00987 g_free (footprint_name);
00988 footprint_name = g_strdup ("CAPC1220X107N");
00989 if (verbose)
00990 {
00991 g_log ("", G_LOG_LEVEL_INFO,
00992 (_("%s: is also known as")), footprint_name,
00993 " EIA 0508, metric 1220.");
00994 g_log ("", G_LOG_LEVEL_WARNING,
00995 (_("%s: footprint is too small for a package outline on the silkscreen.")),
00996 footprint_name);
00997 }
00998 return (EXIT_SUCCESS);
00999 }
01000 else if (!strcmp (footprint_name, "?CAPC1320X76N"))
01001 {
01002 footprint_units = g_strdup ("mm");
01003 package_body_length = 1.52;
01004 package_body_width = 2.25;
01005 package_body_height = 0.76;
01006 package_is_radial = FALSE;
01007 number_of_pins = 2;
01008 number_of_columns = 0;
01009 number_of_rows = 0;
01010 count_x = 0;
01011 count_y = 0;
01012 pitch_x = 1.10;
01013 pitch_y = 0.0;
01014 pad_length = 0.84;
01015 pad_width = 2.27;
01016 pad_shape = g_strdup ("rectangular pad");
01017 pad_shapes_type = SQUARE;
01018 pad_clearance = 0.075;
01019 pad_solder_mask_clearance = 0.075;
01020 thermal = FALSE;
01021 thermal_length = 0.0;
01022 thermal_width = 0.0;
01023 fiducial = FALSE;
01024 fiducial_pad_diameter = 0.00;
01025 fiducial_pad_solder_mask_clearance = 0.00;
01026 silkscreen_package_outline = FALSE;
01027 silkscreen_length = 0.00;
01028 silkscreen_width = 0.00;
01029 silkscreen_line_width = 0.00;
01030 courtyard_length = 2.24;
01031 courtyard_width = 2.58;
01032 courtyard_line_width = 0.05;
01033 g_free (footprint_name);
01034 footprint_name = g_strdup ("CAPC1320X76N");
01035 if (verbose)
01036 {
01037 g_log ("", G_LOG_LEVEL_INFO,
01038 (_("%s: is also known as")), footprint_name,
01039 " EIA 0508, metric 1220.");
01040 g_log ("", G_LOG_LEVEL_WARNING,
01041 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01042 footprint_name);
01043 }
01044 return (EXIT_SUCCESS);
01045 }
01046 else if (!strcmp (footprint_name, "?CAPC1508X65N"))
01047 {
01048 footprint_units = g_strdup ("mm");
01049 package_body_length = 1.72;
01050 package_body_width = 1.00;
01051 package_body_height = 0.65;
01052 package_is_radial = FALSE;
01053 number_of_pins = 2;
01054 number_of_columns = 0;
01055 number_of_rows = 0;
01056 count_x = 0;
01057 count_y = 0;
01058 pitch_x = 1.18;
01059 pitch_y = 0.0;
01060 pad_length = 0.97;
01061 pad_width = 1.02;
01062 pad_shape = g_strdup ("rectangular pad");
01063 pad_shapes_type = SQUARE;
01064 pad_clearance = 0.075;
01065 pad_solder_mask_clearance = 0.075;
01066 thermal = FALSE;
01067 thermal_length = 0.0;
01068 thermal_width = 0.0;
01069 fiducial = FALSE;
01070 fiducial_pad_diameter = 0.00;
01071 fiducial_pad_solder_mask_clearance = 0.00;
01072 silkscreen_package_outline = FALSE;
01073 silkscreen_length = 0.00;
01074 silkscreen_width = 0.00;
01075 silkscreen_line_width = 0.00;
01076 courtyard_length = 2.46;
01077 courtyard_width = 1.32;
01078 courtyard_line_width = 0.05;
01079 g_free (footprint_name);
01080 footprint_name = g_strdup ("CAPC1508X65N");
01081 if (verbose)
01082 {
01083 g_log ("", G_LOG_LEVEL_INFO,
01084 (_("%s: is also known as")), footprint_name,
01085 " EIA 0603, metric 1608.");
01086 g_log ("", G_LOG_LEVEL_WARNING,
01087 (_("%s: pads are being trimmed.")), footprint_name);
01088 g_log ("", G_LOG_LEVEL_WARNING,
01089 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01090 footprint_name);
01091 }
01092 return (EXIT_SUCCESS);
01093 }
01094 else if (!strcmp (footprint_name, "?CAPC1608X55N"))
01095 {
01096 footprint_units = g_strdup ("mm");
01097 package_body_length = 1.70;
01098 package_body_width = 0.90;
01099 package_body_height = 0.55;
01100 package_is_radial = FALSE;
01101 number_of_pins = 2;
01102 number_of_columns = 0;
01103 number_of_rows = 0;
01104 count_x = 0;
01105 count_y = 0;
01106 pitch_x = 1.50;
01107 pitch_y = 0.0;
01108 pad_length = 0.90;
01109 pad_width = 0.95;
01110 pad_shape = g_strdup ("rectangular pad");
01111 pad_shapes_type = SQUARE;
01112 pad_clearance = 0.075;
01113 pad_solder_mask_clearance = 0.075;
01114 thermal = FALSE;
01115 thermal_length = 0.0;
01116 thermal_width = 0.0;
01117 fiducial = FALSE;
01118 fiducial_pad_diameter = 0.00;
01119 fiducial_pad_solder_mask_clearance = 0.00;
01120 silkscreen_package_outline = FALSE;
01121 silkscreen_length = 0.00;
01122 silkscreen_width = 0.00;
01123 silkscreen_line_width = 0.00;
01124 courtyard_length = 2.90;
01125 courtyard_width = 1.50;
01126 courtyard_line_width = 0.05;
01127 g_free (footprint_name);
01128 footprint_name = g_strdup ("CAPC1608X55N");
01129 if (verbose)
01130 {
01131 g_log ("", G_LOG_LEVEL_INFO,
01132 (_("%s: is also known as")), footprint_name,
01133 " EIA 0603, metric 1608.");
01134 g_log ("", G_LOG_LEVEL_WARNING,
01135 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01136 footprint_name);
01137 }
01138 return (EXIT_SUCCESS);
01139 }
01140 else if (!strcmp (footprint_name, "?CAPC1608X86N"))
01141 {
01142 footprint_units = g_strdup ("mm");
01143 package_body_length = 1.75;
01144 package_body_width = 0.96;
01145 package_body_height = 0.86;
01146 package_is_radial = FALSE;
01147 number_of_pins = 2;
01148 number_of_columns = 0;
01149 number_of_rows = 0;
01150 count_x = 0;
01151 count_y = 0;
01152 pitch_x = 1.60;
01153 pitch_y = 0.0;
01154 pad_length = 0.95;
01155 pad_width = 1.00;
01156 pad_shape = g_strdup ("rectangular pad");
01157 pad_shapes_type = SQUARE;
01158 pad_clearance = 0.075;
01159 pad_solder_mask_clearance = 0.075;
01160 thermal = FALSE;
01161 thermal_length = 0.0;
01162 thermal_width = 0.0;
01163 fiducial = FALSE;
01164 fiducial_pad_diameter = 0.00;
01165 fiducial_pad_solder_mask_clearance = 0.00;
01166 silkscreen_package_outline = FALSE;
01167 silkscreen_length = 0.00;
01168 silkscreen_width = 0.00;
01169 silkscreen_line_width = 0.00;
01170 courtyard_length = 3.10;
01171 courtyard_width = 1.50;
01172 courtyard_line_width = 0.05;
01173 g_free (footprint_name);
01174 footprint_name = g_strdup ("CAPC1608X86N");
01175 if (verbose)
01176 {
01177 g_log ("", G_LOG_LEVEL_INFO,
01178 (_("%s: is also known as")), footprint_name,
01179 " EIA 0603, metric 1608.");
01180 g_log ("", G_LOG_LEVEL_WARNING,
01181 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01182 footprint_name);
01183 }
01184 return (EXIT_SUCCESS);
01185 }
01186 else if (!strcmp (footprint_name, "?CAPC1608X87N"))
01187 {
01188 footprint_units = g_strdup ("mm");
01189 package_body_length = 1.75;
01190 package_body_width = 0.95;
01191 package_body_height = 0.87;
01192 package_is_radial = FALSE;
01193 number_of_pins = 2;
01194 number_of_columns = 0;
01195 number_of_rows = 0;
01196 count_x = 0;
01197 count_y = 0;
01198 pitch_x = 1.60;
01199 pitch_y = 0.0;
01200 pad_length = 0.95;
01201 pad_width = 1.00;
01202 pad_shape = g_strdup ("rectangular pad");
01203 pad_shapes_type = SQUARE;
01204 pad_clearance = 0.075;
01205 pad_solder_mask_clearance = 0.075;
01206 thermal = FALSE;
01207 thermal_length = 0.0;
01208 thermal_width = 0.0;
01209 fiducial = FALSE;
01210 fiducial_pad_diameter = 0.00;
01211 fiducial_pad_solder_mask_clearance = 0.00;
01212 silkscreen_package_outline = FALSE;
01213 silkscreen_length = 0.00;
01214 silkscreen_width = 0.00;
01215 silkscreen_line_width = 0.00;
01216 courtyard_length = 3.10;
01217 courtyard_width = 1.50;
01218 courtyard_line_width = 0.05;
01219 g_free (footprint_name);
01220 footprint_name = g_strdup ("CAPC1608X87N");
01221 if (verbose)
01222 {
01223 g_log ("", G_LOG_LEVEL_INFO,
01224 (_("%s: is also known as")), footprint_name,
01225 " EIA 0603, metric 1608.");
01226 g_log ("", G_LOG_LEVEL_WARNING,
01227 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01228 footprint_name);
01229 }
01230 return (EXIT_SUCCESS);
01231 }
01232 else if (!strcmp (footprint_name, "?CAPC1608X90N"))
01233 {
01234 footprint_units = g_strdup ("mm");
01235 package_body_length = 1.75;
01236 package_body_width = 0.95;
01237 package_body_height = 0.90;
01238 package_is_radial = FALSE;
01239 number_of_pins = 2;
01240 number_of_columns = 0;
01241 number_of_rows = 0;
01242 count_x = 0;
01243 count_y = 0;
01244 pitch_x = 1.60;
01245 pitch_y = 0.0;
01246 pad_length = 0.95;
01247 pad_width = 1.00;
01248 pad_shape = g_strdup ("rectangular pad");
01249 pad_shapes_type = SQUARE;
01250 pad_clearance = 0.075;
01251 pad_solder_mask_clearance = 0.075;
01252 thermal = FALSE;
01253 thermal_length = 0.0;
01254 thermal_width = 0.0;
01255 fiducial = FALSE;
01256 fiducial_pad_diameter = 0.00;
01257 fiducial_pad_solder_mask_clearance = 0.00;
01258 silkscreen_package_outline = FALSE;
01259 silkscreen_length = 0.00;
01260 silkscreen_width = 0.00;
01261 silkscreen_line_width = 0.00;
01262 courtyard_length = 3.10;
01263 courtyard_width = 1.50;
01264 courtyard_line_width = 0.05;
01265 g_free (footprint_name);
01266 footprint_name = g_strdup ("CAPC1608X90N");
01267 if (verbose)
01268 {
01269 g_log ("", G_LOG_LEVEL_INFO,
01270 (_("%s: is also known as")), footprint_name,
01271 " EIA 0603, metric 1608.");
01272 g_log ("", G_LOG_LEVEL_WARNING,
01273 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01274 footprint_name);
01275 }
01276 return (EXIT_SUCCESS);
01277 }
01278 else if (!strcmp (footprint_name, "?CAPC1608X92N"))
01279 {
01280 footprint_units = g_strdup ("mm");
01281 package_body_length = 1.72;
01282 package_body_width = 0.92;
01283 package_body_height = 0.92;
01284 package_is_radial = FALSE;
01285 number_of_pins = 2;
01286 number_of_columns = 0;
01287 number_of_rows = 0;
01288 count_x = 0;
01289 count_y = 0;
01290 pitch_x = 1.60;
01291 pitch_y = 0.0;
01292 pad_length = 0.90;
01293 pad_width = 0.92;
01294 pad_shape = g_strdup ("rectangular pad");
01295 pad_shapes_type = SQUARE;
01296 pad_clearance = 0.075;
01297 pad_solder_mask_clearance = 0.075;
01298 thermal = FALSE;
01299 thermal_length = 0.0;
01300 thermal_width = 0.0;
01301 fiducial = FALSE;
01302 fiducial_pad_diameter = 0.00;
01303 fiducial_pad_solder_mask_clearance = 0.00;
01304 silkscreen_package_outline = FALSE;
01305 silkscreen_length = 0.00;
01306 silkscreen_width = 0.00;
01307 silkscreen_line_width = 0.00;
01308 courtyard_length = 3.00;
01309 courtyard_width = 1.50;
01310 courtyard_line_width = 0.05;
01311 g_free (footprint_name);
01312 footprint_name = g_strdup ("CAPC1608X92N");
01313 if (verbose)
01314 {
01315 g_log ("", G_LOG_LEVEL_INFO,
01316 (_("%s: is also known as")), footprint_name,
01317 " EIA 0603, metric 1608.");
01318 g_log ("", G_LOG_LEVEL_WARNING,
01319 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01320 footprint_name);
01321 }
01322 return (EXIT_SUCCESS);
01323 }
01324 else if (!strcmp (footprint_name, "?CAPC1608X95N"))
01325 {
01326 footprint_units = g_strdup ("mm");
01327 package_body_length = 1.75;
01328 package_body_width = 0.95;
01329 package_body_height = 0.95;
01330 package_is_radial = FALSE;
01331 number_of_pins = 2;
01332 number_of_columns = 0;
01333 number_of_rows = 0;
01334 count_x = 0;
01335 count_y = 0;
01336 pitch_x = 1.60;
01337 pitch_y = 0.0;
01338 pad_length = 0.95;
01339 pad_width = 1.00;
01340 pad_shape = g_strdup ("rectangular pad");
01341 pad_shapes_type = SQUARE;
01342 pad_clearance = 0.075;
01343 pad_solder_mask_clearance = 0.075;
01344 thermal = FALSE;
01345 thermal_length = 0.0;
01346 thermal_width = 0.0;
01347 fiducial = FALSE;
01348 fiducial_pad_diameter = 0.00;
01349 fiducial_pad_solder_mask_clearance = 0.00;
01350 silkscreen_package_outline = FALSE;
01351 silkscreen_length = 0.00;
01352 silkscreen_width = 0.00;
01353 silkscreen_line_width = 0.00;
01354 courtyard_length = 3.10;
01355 courtyard_width = 1.50;
01356 courtyard_line_width = 0.05;
01357 g_free (footprint_name);
01358 footprint_name = g_strdup ("CAPC1608X95N");
01359 if (verbose)
01360 {
01361 g_log ("", G_LOG_LEVEL_INFO,
01362 (_("%s: is also known as")), footprint_name,
01363 " EIA 0603, metric 1608.");
01364 g_log ("", G_LOG_LEVEL_WARNING,
01365 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01366 footprint_name);
01367 }
01368 return (EXIT_SUCCESS);
01369 }
01370 else if (!strcmp (footprint_name, "?CAPC1632X76N"))
01371 {
01372 footprint_units = g_strdup ("mm");
01373 package_body_length = 1.85;
01374 package_body_width = 3.45;
01375 package_body_height = 0.76;
01376 package_is_radial = FALSE;
01377 number_of_pins = 2;
01378 number_of_columns = 0;
01379 number_of_rows = 0;
01380 count_x = 0;
01381 count_y = 0;
01382 pitch_x = 1.60;
01383 pitch_y = 0.0;
01384 pad_length = 0.95;
01385 pad_width = 3.45;
01386 pad_shape = g_strdup ("rectangular pad");
01387 pad_shapes_type = SQUARE;
01388 pad_clearance = 0.075;
01389 pad_solder_mask_clearance = 0.075;
01390 thermal = FALSE;
01391 thermal_length = 0.0;
01392 thermal_width = 0.0;
01393 fiducial = FALSE;
01394 fiducial_pad_diameter = 0.00;
01395 fiducial_pad_solder_mask_clearance = 0.00;
01396 silkscreen_package_outline = FALSE;
01397 silkscreen_length = 0.00;
01398 silkscreen_width = 0.00;
01399 silkscreen_line_width = 0.00;
01400 courtyard_length = 3.10;
01401 courtyard_width = 4.00;
01402 courtyard_line_width = 0.05;
01403 g_free (footprint_name);
01404 footprint_name = g_strdup ("CAPC1632X76N");
01405 if (verbose)
01406 {
01407 g_log ("", G_LOG_LEVEL_INFO,
01408 (_("%s: is also known as")), footprint_name,
01409 " EIA 0612, metric 1632.");
01410 g_log ("", G_LOG_LEVEL_WARNING,
01411 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01412 footprint_name);
01413 }
01414 return (EXIT_SUCCESS);
01415 }
01416 else if (!strcmp (footprint_name, "?CAPC1632X168N"))
01417 {
01418 footprint_units = g_strdup ("mm");
01419 package_body_length = 1.80;
01420 package_body_width = 3.40;
01421 package_body_height = 1.68;
01422 package_is_radial = FALSE;
01423 number_of_pins = 2;
01424 number_of_columns = 0;
01425 number_of_rows = 0;
01426 count_x = 0;
01427 count_y = 0;
01428 pitch_x = 1.60;
01429 pitch_y = 0.0;
01430 pad_length = 0.95;
01431 pad_width = 3.40;
01432 pad_shape = g_strdup ("rectangular pad");
01433 pad_shapes_type = SQUARE;
01434 pad_clearance = 0.075;
01435 pad_solder_mask_clearance = 0.075;
01436 thermal = FALSE;
01437 thermal_length = 0.0;
01438 thermal_width = 0.0;
01439 fiducial = FALSE;
01440 fiducial_pad_diameter = 0.00;
01441 fiducial_pad_solder_mask_clearance = 0.00;
01442 silkscreen_package_outline = FALSE;
01443 silkscreen_length = 0.00;
01444 silkscreen_width = 0.00;
01445 silkscreen_line_width = 0.00;
01446 courtyard_length = 3.10;
01447 courtyard_width = 3.90;
01448 courtyard_line_width = 0.05;
01449 g_free (footprint_name);
01450 footprint_name = g_strdup ("CAPC1632X168N");
01451 if (verbose)
01452 {
01453 g_log ("", G_LOG_LEVEL_INFO,
01454 (_("%s: is also known as")), footprint_name,
01455 " EIA 0612, metric 1632.");
01456 g_log ("", G_LOG_LEVEL_WARNING,
01457 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01458 footprint_name);
01459 }
01460 return (EXIT_SUCCESS);
01461 }
01462 else if (!strcmp (footprint_name, "?CAPC2012X100N"))
01463 {
01464 footprint_units = g_strdup ("mm");
01465 package_body_length = 2.20;
01466 package_body_width = 1.45;
01467 package_body_height = 1.00;
01468 package_is_radial = FALSE;
01469 number_of_pins = 2;
01470 number_of_columns = 0;
01471 number_of_rows = 0;
01472 count_x = 0;
01473 count_y = 0;
01474 pitch_x = 1.80;
01475 pitch_y = 0.0;
01476 pad_length = 1.15;
01477 pad_width = 1.45;
01478 pad_shape = g_strdup ("rectangular pad");
01479 pad_shapes_type = SQUARE;
01480 pad_clearance = 0.075;
01481 pad_solder_mask_clearance = 0.075;
01482 thermal = FALSE;
01483 thermal_length = 0.0;
01484 thermal_width = 0.0;
01485 fiducial = FALSE;
01486 fiducial_pad_diameter = 0.00;
01487 fiducial_pad_solder_mask_clearance = 0.00;
01488 silkscreen_package_outline = FALSE;
01489 silkscreen_length = 0.00;
01490 silkscreen_width = 0.00;
01491 silkscreen_line_width = 0.00;
01492 courtyard_length = 3.50;
01493 courtyard_width = 2.00;
01494 courtyard_line_width = 0.05;
01495 g_free (footprint_name);
01496 footprint_name = g_strdup ("CAPC2012X100N");
01497 if (verbose)
01498 {
01499 g_log ("", G_LOG_LEVEL_INFO,
01500 (_("%s: is also known as")), footprint_name,
01501 " EIA 0805, metric 2012.");
01502 g_log ("", G_LOG_LEVEL_WARNING,
01503 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01504 footprint_name);
01505 }
01506 return (EXIT_SUCCESS);
01507 }
01508 else if (!strcmp (footprint_name, "?CAPC2012X100AN"))
01509 {
01510 footprint_units = g_strdup ("mm");
01511 package_body_length = 2.20;
01512 package_body_width = 1.40;
01513 package_body_height = 1.00;
01514 package_is_radial = FALSE;
01515 number_of_pins = 2;
01516 number_of_columns = 0;
01517 number_of_rows = 0;
01518 count_x = 0;
01519 count_y = 0;
01520 pitch_x = 1.80;
01521 pitch_y = 0.0;
01522 pad_length = 1.15;
01523 pad_width = 1.40;
01524 pad_shape = g_strdup ("rectangular pad");
01525 pad_shapes_type = SQUARE;
01526 pad_clearance = 0.075;
01527 pad_solder_mask_clearance = 0.075;
01528 thermal = FALSE;
01529 thermal_length = 0.0;
01530 thermal_width = 0.0;
01531 fiducial = FALSE;
01532 fiducial_pad_diameter = 0.00;
01533 fiducial_pad_solder_mask_clearance = 0.00;
01534 silkscreen_package_outline = FALSE;
01535 silkscreen_length = 0.00;
01536 silkscreen_width = 0.00;
01537 silkscreen_line_width = 0.00;
01538 courtyard_length = 3.50;
01539 courtyard_width = 1.90;
01540 courtyard_line_width = 0.05;
01541 g_free (footprint_name);
01542 footprint_name = g_strdup ("CAPC2012X100AN");
01543 if (verbose)
01544 {
01545 g_log ("", G_LOG_LEVEL_INFO,
01546 (_("%s: is also known as")), footprint_name,
01547 " EIA 0805, metric 2012.");
01548 g_log ("", G_LOG_LEVEL_WARNING,
01549 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01550 footprint_name);
01551 }
01552 return (EXIT_SUCCESS);
01553 }
01554 else if (!strcmp (footprint_name, "?CAPC2012X120N"))
01555 {
01556 footprint_units = g_strdup ("mm");
01557 package_body_length = 2.20;
01558 package_body_width = 1.45;
01559 package_body_height = 1.20;
01560 package_is_radial = FALSE;
01561 number_of_pins = 2;
01562 number_of_columns = 0;
01563 number_of_rows = 0;
01564 count_x = 0;
01565 count_y = 0;
01566 pitch_x = 1.80;
01567 pitch_y = 0.0;
01568 pad_length = 1.15;
01569 pad_width = 1.45;
01570 pad_shape = g_strdup ("rectangular pad");
01571 pad_shapes_type = SQUARE;
01572 pad_clearance = 0.075;
01573 pad_solder_mask_clearance = 0.075;
01574 thermal = FALSE;
01575 thermal_length = 0.0;
01576 thermal_width = 0.0;
01577 fiducial = FALSE;
01578 fiducial_pad_diameter = 0.00;
01579 fiducial_pad_solder_mask_clearance = 0.00;
01580 silkscreen_package_outline = FALSE;
01581 silkscreen_length = 0.00;
01582 silkscreen_width = 0.00;
01583 silkscreen_line_width = 0.00;
01584 courtyard_length = 3.50;
01585 courtyard_width = 2.00;
01586 courtyard_line_width = 0.05;
01587 g_free (footprint_name);
01588 footprint_name = g_strdup ("CAPC2012X120N");
01589 if (verbose)
01590 {
01591 g_log ("", G_LOG_LEVEL_INFO,
01592 (_("%s: is also known as")), footprint_name,
01593 " EIA 0805, metric 2012.");
01594 g_log ("", G_LOG_LEVEL_WARNING,
01595 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01596 footprint_name);
01597 }
01598 return (EXIT_SUCCESS);
01599 }
01600 else if (!strcmp (footprint_name, "?CAPC2012X127N"))
01601 {
01602 footprint_units = g_strdup ("mm");
01603 package_body_length = 2.21;
01604 package_body_width = 1.45;
01605 package_body_height = 1.27;
01606 package_is_radial = FALSE;
01607 number_of_pins = 2;
01608 number_of_columns = 0;
01609 number_of_rows = 0;
01610 count_x = 0;
01611 count_y = 0;
01612 pitch_x = 1.80;
01613 pitch_y = 0.0;
01614 pad_length = 1.15;
01615 pad_width = 1.45;
01616 pad_shape = g_strdup ("rectangular pad");
01617 pad_shapes_type = SQUARE;
01618 pad_clearance = 0.075;
01619 pad_solder_mask_clearance = 0.075;
01620 thermal = FALSE;
01621 thermal_length = 0.0;
01622 thermal_width = 0.0;
01623 fiducial = FALSE;
01624 fiducial_pad_diameter = 0.00;
01625 fiducial_pad_solder_mask_clearance = 0.00;
01626 silkscreen_package_outline = FALSE;
01627 silkscreen_length = 0.00;
01628 silkscreen_width = 0.00;
01629 silkscreen_line_width = 0.00;
01630 courtyard_length = 3.50;
01631 courtyard_width = 2.00;
01632 courtyard_line_width = 0.05;
01633 g_free (footprint_name);
01634 footprint_name = g_strdup ("CAPC2012X127N");
01635 if (verbose)
01636 {
01637 g_log ("", G_LOG_LEVEL_INFO,
01638 (_("%s: is also known as")), footprint_name,
01639 " EIA 0805, metric 2012.");
01640 g_log ("", G_LOG_LEVEL_WARNING,
01641 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01642 footprint_name);
01643 }
01644 return (EXIT_SUCCESS);
01645 }
01646 else if (!strcmp (footprint_name, "?CAPC2012X130N"))
01647 {
01648 footprint_units = g_strdup ("mm");
01649 package_body_length = 2.38;
01650 package_body_width = 1.63;
01651 package_body_height = 1.30;
01652 package_is_radial = FALSE;
01653 number_of_pins = 2;
01654 number_of_columns = 0;
01655 number_of_rows = 0;
01656 count_x = 0;
01657 count_y = 0;
01658 pitch_x = 1.80;
01659 pitch_y = 0.0;
01660 pad_length = 1.30;
01661 pad_width = 1.65;
01662 pad_shape = g_strdup ("rectangular pad");
01663 pad_shapes_type = SQUARE;
01664 pad_clearance = 0.075;
01665 pad_solder_mask_clearance = 0.075;
01666 thermal = FALSE;
01667 thermal_length = 0.0;
01668 thermal_width = 0.0;
01669 fiducial = FALSE;
01670 fiducial_pad_diameter = 0.00;
01671 fiducial_pad_solder_mask_clearance = 0.00;
01672 silkscreen_package_outline = FALSE;
01673 silkscreen_length = 0.00;
01674 silkscreen_width = 0.00;
01675 silkscreen_line_width = 0.00;
01676 courtyard_length = 3.60;
01677 courtyard_width = 2.20;
01678 courtyard_line_width = 0.05;
01679 g_free (footprint_name);
01680 footprint_name = g_strdup ("CAPC2012X130N");
01681 if (verbose)
01682 {
01683 g_log ("", G_LOG_LEVEL_INFO,
01684 (_("%s: is also known as")), footprint_name,
01685 " EIA 0805, metric 2012.");
01686 g_log ("", G_LOG_LEVEL_WARNING,
01687 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01688 footprint_name);
01689 }
01690 return (EXIT_SUCCESS);
01691 }
01692 else if (!strcmp (footprint_name, "?CAPC2012X135N"))
01693 {
01694 footprint_units = g_strdup ("mm");
01695 package_body_length = 2.10;
01696 package_body_width = 1.35;
01697 package_body_height = 1.35;
01698 package_is_radial = FALSE;
01699 number_of_pins = 2;
01700 number_of_columns = 0;
01701 number_of_rows = 0;
01702 count_x = 0;
01703 count_y = 0;
01704 pitch_x = 1.80;
01705 pitch_y = 0.0;
01706 pad_length = 1.05;
01707 pad_width = 1.40;
01708 pad_shape = g_strdup ("rectangular pad");
01709 pad_shapes_type = SQUARE;
01710 pad_clearance = 0.075;
01711 pad_solder_mask_clearance = 0.075;
01712 thermal = FALSE;
01713 thermal_length = 0.0;
01714 thermal_width = 0.0;
01715 fiducial = FALSE;
01716 fiducial_pad_diameter = 0.00;
01717 fiducial_pad_solder_mask_clearance = 0.00;
01718 silkscreen_package_outline = FALSE;
01719 silkscreen_length = 0.00;
01720 silkscreen_width = 0.00;
01721 silkscreen_line_width = 0.00;
01722 courtyard_length = 3.40;
01723 courtyard_width = 1.90;
01724 courtyard_line_width = 0.05;
01725 g_free (footprint_name);
01726 footprint_name = g_strdup ("CAPC2012X135N");
01727 if (verbose)
01728 {
01729 g_log ("", G_LOG_LEVEL_INFO,
01730 (_("%s: is also known as")), footprint_name,
01731 " EIA 0805, metric 2012.");
01732 g_log ("", G_LOG_LEVEL_WARNING,
01733 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01734 footprint_name);
01735 }
01736 return (EXIT_SUCCESS);
01737 }
01738 else if (!strcmp (footprint_name, "?CAPC2012X140N"))
01739 {
01740 footprint_units = g_strdup ("mm");
01741 package_body_length = 2.20;
01742 package_body_width = 1.45;
01743 package_body_height = 1.40;
01744 package_is_radial = FALSE;
01745 number_of_pins = 2;
01746 number_of_columns = 0;
01747 number_of_rows = 0;
01748 count_x = 0;
01749 count_y = 0;
01750 pitch_x = 1.80;
01751 pitch_y = 0.0;
01752 pad_length = 1.15;
01753 pad_width = 1.45;
01754 pad_shape = g_strdup ("rectangular pad");
01755 pad_shapes_type = SQUARE;
01756 pad_clearance = 0.075;
01757 pad_solder_mask_clearance = 0.075;
01758 thermal = FALSE;
01759 thermal_length = 0.0;
01760 thermal_width = 0.0;
01761 fiducial = FALSE;
01762 fiducial_pad_diameter = 0.00;
01763 fiducial_pad_solder_mask_clearance = 0.00;
01764 silkscreen_package_outline = FALSE;
01765 silkscreen_length = 0.00;
01766 silkscreen_width = 0.00;
01767 silkscreen_line_width = 0.00;
01768 courtyard_length = 3.50;
01769 courtyard_width = 2.00;
01770 courtyard_line_width = 0.05;
01771 g_free (footprint_name);
01772 footprint_name = g_strdup ("CAPC2012X140N");
01773 if (verbose)
01774 {
01775 g_log ("", G_LOG_LEVEL_INFO,
01776 (_("%s: is also known as")), footprint_name,
01777 " EIA 0805, metric 2012.");
01778 g_log ("", G_LOG_LEVEL_WARNING,
01779 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01780 footprint_name);
01781 }
01782 return (EXIT_SUCCESS);
01783 }
01784 else if (!strcmp (footprint_name, "?CAPC2012X145N"))
01785 {
01786 footprint_units = g_strdup ("mm");
01787 package_body_length = 2.20;
01788 package_body_width = 1.45;
01789 package_body_height = 1.45;
01790 package_is_radial = FALSE;
01791 number_of_pins = 2;
01792 number_of_columns = 0;
01793 number_of_rows = 0;
01794 count_x = 0;
01795 count_y = 0;
01796 pitch_x = 1.80;
01797 pitch_y = 0.0;
01798 pad_length = 1.15;
01799 pad_width = 1.45;
01800 pad_shape = g_strdup ("rectangular pad");
01801 pad_shapes_type = SQUARE;
01802 pad_clearance = 0.075;
01803 pad_solder_mask_clearance = 0.075;
01804 thermal = FALSE;
01805 thermal_length = 0.0;
01806 thermal_width = 0.0;
01807 fiducial = FALSE;
01808 fiducial_pad_diameter = 0.00;
01809 fiducial_pad_solder_mask_clearance = 0.00;
01810 silkscreen_package_outline = FALSE;
01811 silkscreen_length = 0.00;
01812 silkscreen_width = 0.00;
01813 silkscreen_line_width = 0.00;
01814 courtyard_length = 3.50;
01815 courtyard_width = 2.00;
01816 courtyard_line_width = 0.05;
01817 g_free (footprint_name);
01818 footprint_name = g_strdup ("CAPC2012X145N");
01819 if (verbose)
01820 {
01821 g_log ("", G_LOG_LEVEL_INFO,
01822 (_("%s: is also known as")), footprint_name,
01823 " EIA 0805, metric 2012.");
01824 g_log ("", G_LOG_LEVEL_WARNING,
01825 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01826 footprint_name);
01827 }
01828 return (EXIT_SUCCESS);
01829 }
01830 else if (!strcmp (footprint_name, "?CAPC2012X145AN"))
01831 {
01832 footprint_units = g_strdup ("mm");
01833 package_body_length = 2.20;
01834 package_body_width = 1.45;
01835 package_body_height = 1.45;
01836 package_is_radial = FALSE;
01837 number_of_pins = 2;
01838 number_of_columns = 0;
01839 number_of_rows = 0;
01840 count_x = 0;
01841 count_y = 0;
01842 pitch_x = 1.80;
01843 pitch_y = 0.0;
01844 pad_length = 1.15;
01845 pad_width = 1.45;
01846 pad_shape = g_strdup ("rectangular pad");
01847 pad_shapes_type = SQUARE;
01848 pad_clearance = 0.075;
01849 pad_solder_mask_clearance = 0.075;
01850 thermal = FALSE;
01851 thermal_length = 0.0;
01852 thermal_width = 0.0;
01853 fiducial = FALSE;
01854 fiducial_pad_diameter = 0.00;
01855 fiducial_pad_solder_mask_clearance = 0.00;
01856 silkscreen_package_outline = FALSE;
01857 silkscreen_length = 0.00;
01858 silkscreen_width = 0.00;
01859 silkscreen_line_width = 0.00;
01860 courtyard_length = 3.50;
01861 courtyard_width = 2.00;
01862 courtyard_line_width = 0.05;
01863 g_free (footprint_name);
01864 footprint_name = g_strdup ("CAPC2012X145AN");
01865 if (verbose)
01866 {
01867 g_log ("", G_LOG_LEVEL_INFO,
01868 (_("%s: is also known as")), footprint_name,
01869 " EIA 0805, metric 2012.");
01870 g_log ("", G_LOG_LEVEL_WARNING,
01871 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01872 footprint_name);
01873 }
01874 return (EXIT_SUCCESS);
01875 }
01876 else if (!strcmp (footprint_name, "?CAPC2012X70N"))
01877 {
01878 footprint_units = g_strdup ("mm");
01879 package_body_length = 2.20;
01880 package_body_width = 1.45;
01881 package_body_height = 0.70;
01882 package_is_radial = FALSE;
01883 number_of_pins = 2;
01884 number_of_columns = 0;
01885 number_of_rows = 0;
01886 count_x = 0;
01887 count_y = 0;
01888 pitch_x = 1.80;
01889 pitch_y = 0.0;
01890 pad_length = 1.15;
01891 pad_width = 1.45;
01892 pad_shape = g_strdup ("rectangular pad");
01893 pad_shapes_type = SQUARE;
01894 pad_clearance = 0.075;
01895 pad_solder_mask_clearance = 0.075;
01896 thermal = FALSE;
01897 thermal_length = 0.0;
01898 thermal_width = 0.0;
01899 fiducial = FALSE;
01900 fiducial_pad_diameter = 0.00;
01901 fiducial_pad_solder_mask_clearance = 0.00;
01902 silkscreen_package_outline = FALSE;
01903 silkscreen_length = 0.00;
01904 silkscreen_width = 0.00;
01905 silkscreen_line_width = 0.00;
01906 courtyard_length = 3.50;
01907 courtyard_width = 2.00;
01908 courtyard_line_width = 0.05;
01909 g_free (footprint_name);
01910 footprint_name = g_strdup ("CAPC2012X70N");
01911 if (verbose)
01912 {
01913 g_log ("", G_LOG_LEVEL_INFO,
01914 (_("%s: is also known as")), footprint_name,
01915 " EIA 0805, metric 2012.");
01916 g_log ("", G_LOG_LEVEL_WARNING,
01917 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01918 footprint_name);
01919 }
01920 return (EXIT_SUCCESS);
01921 }
01922 else if (!strcmp (footprint_name, "?CAPC2012X71N"))
01923 {
01924 footprint_units = g_strdup ("mm");
01925 package_body_length = 2.20;
01926 package_body_width = 1.45;
01927 package_body_height = 0.71;
01928 package_is_radial = FALSE;
01929 number_of_pins = 2;
01930 number_of_columns = 0;
01931 number_of_rows = 0;
01932 count_x = 0;
01933 count_y = 0;
01934 pitch_x = 1.80;
01935 pitch_y = 0.0;
01936 pad_length = 1.15;
01937 pad_width = 1.45;
01938 pad_shape = g_strdup ("rectangular pad");
01939 pad_shapes_type = SQUARE;
01940 pad_clearance = 0.075;
01941 pad_solder_mask_clearance = 0.075;
01942 thermal = FALSE;
01943 thermal_length = 0.0;
01944 thermal_width = 0.0;
01945 fiducial = FALSE;
01946 fiducial_pad_diameter = 0.00;
01947 fiducial_pad_solder_mask_clearance = 0.00;
01948 silkscreen_package_outline = FALSE;
01949 silkscreen_length = 0.00;
01950 silkscreen_width = 0.00;
01951 silkscreen_line_width = 0.00;
01952 courtyard_length = 3.50;
01953 courtyard_width = 2.00;
01954 courtyard_line_width = 0.05;
01955 g_free (footprint_name);
01956 footprint_name = g_strdup ("CAPC2012X71N");
01957 if (verbose)
01958 {
01959 g_log ("", G_LOG_LEVEL_INFO,
01960 (_("%s: is also known as")), footprint_name,
01961 " EIA 0805, metric 2012.");
01962 g_log ("", G_LOG_LEVEL_WARNING,
01963 (_("%s: footprint is too small for a package outline on the silkscreen.")),
01964 footprint_name);
01965 }
01966 return (EXIT_SUCCESS);
01967 }
01968 else if (!strcmp (footprint_name, "?CAPC2012X88N"))
01969 {
01970 footprint_units = g_strdup ("mm");
01971 package_body_length = 2.20;
01972 package_body_width = 1.45;
01973 package_body_height = 0.88;
01974 package_is_radial = FALSE;
01975 number_of_pins = 2;
01976 number_of_columns = 0;
01977 number_of_rows = 0;
01978 count_x = 0;
01979 count_y = 0;
01980 pitch_x = 1.80;
01981 pitch_y = 0.0;
01982 pad_length = 1.15;
01983 pad_width = 1.45;
01984 pad_shape = g_strdup ("rectangular pad");
01985 pad_shapes_type = SQUARE;
01986 pad_clearance = 0.075;
01987 pad_solder_mask_clearance = 0.075;
01988 thermal = FALSE;
01989 thermal_length = 0.0;
01990 thermal_width = 0.0;
01991 fiducial = FALSE;
01992 fiducial_pad_diameter = 0.00;
01993 fiducial_pad_solder_mask_clearance = 0.00;
01994 silkscreen_package_outline = FALSE;
01995 silkscreen_length = 0.00;
01996 silkscreen_width = 0.00;
01997 silkscreen_line_width = 0.00;
01998 courtyard_length = 3.50;
01999 courtyard_width = 2.00;
02000 courtyard_line_width = 0.05;
02001 g_free (footprint_name);
02002 footprint_name = g_strdup ("CAPC2012X88N");
02003 if (verbose)
02004 {
02005 g_log ("", G_LOG_LEVEL_INFO,
02006 (_("%s: is also known as")), footprint_name,
02007 " EIA 0805, metric 2012.");
02008 g_log ("", G_LOG_LEVEL_WARNING,
02009 (_("%s: footprint is too small for a package outline on the silkscreen.")),
02010 footprint_name);
02011 }
02012 return (EXIT_SUCCESS);
02013 }
02014 else if (!strcmp (footprint_name, "?CAPC2012X90N"))
02015 {
02016 footprint_units = g_strdup ("mm");
02017 package_body_length = 2.20;
02018 package_body_width = 1.45;
02019 package_body_height = 0.90;
02020 package_is_radial = FALSE;
02021 number_of_pins = 2;
02022 number_of_columns = 0;
02023 number_of_rows = 0;
02024 count_x = 0;
02025 count_y = 0;
02026 pitch_x = 1.80;
02027 pitch_y = 0.0;
02028 pad_length = 1.15;
02029 pad_width = 1.45;
02030 pad_shape = g_strdup ("rectangular pad");
02031 pad_shapes_type = SQUARE;
02032 pad_clearance = 0.075;
02033 pad_solder_mask_clearance = 0.075;
02034 thermal = FALSE;
02035 thermal_length = 0.0;
02036 thermal_width = 0.0;
02037 fiducial = FALSE;
02038 fiducial_pad_diameter = 0.00;
02039 fiducial_pad_solder_mask_clearance = 0.00;
02040 silkscreen_package_outline = FALSE;
02041 silkscreen_length = 0.00;
02042 silkscreen_width = 0.00;
02043 silkscreen_line_width = 0.00;
02044 courtyard_length = 3.50;
02045 courtyard_width = 2.00;
02046 courtyard_line_width = 0.05;
02047 g_free (footprint_name);
02048 footprint_name = g_strdup ("CAPC2012X90N");
02049 if (verbose)
02050 {
02051 g_log ("", G_LOG_LEVEL_INFO,
02052 (_("%s: is also known as")), footprint_name,
02053 " EIA 0805, metric 2012.");
02054 g_log ("", G_LOG_LEVEL_WARNING,
02055 (_("%s: footprint is too small for a package outline on the silkscreen.")),
02056 footprint_name);
02057 }
02058 return (EXIT_SUCCESS);
02059 }
02060 else if (!strcmp (footprint_name, "?CAPC2012X94N"))
02061 {
02062 footprint_units = g_strdup ("mm");
02063 package_body_length = 2.21;
02064 package_body_width = 1.45;
02065 package_body_height = 0.94;
02066 package_is_radial = FALSE;
02067 number_of_pins = 2;
02068 number_of_columns = 0;
02069 number_of_rows = 0;
02070 count_x = 0;
02071 count_y = 0;
02072 pitch_x = 1.80;
02073 pitch_y = 0.0;
02074 pad_length = 1.15;
02075 pad_width = 1.45;
02076 pad_shape = g_strdup ("rectangular pad");
02077 pad_shapes_type = SQUARE;
02078 pad_clearance = 0.075;
02079 pad_solder_mask_clearance = 0.075;
02080 thermal = FALSE;
02081 thermal_length = 0.0;
02082 thermal_width = 0.0;
02083 fiducial = FALSE;
02084 fiducial_pad_diameter = 0.00;
02085 fiducial_pad_solder_mask_clearance = 0.00;
02086 silkscreen_package_outline = FALSE;
02087 silkscreen_length = 0.00;
02088 silkscreen_width = 0.00;
02089 silkscreen_line_width = 0.00;
02090 courtyard_length = 3.50;
02091 courtyard_width = 2.00;
02092 courtyard_line_width = 0.05;
02093 g_free (footprint_name);
02094 footprint_name = g_strdup ("CAPC2012X94N");
02095 if (verbose)
02096 {
02097 g_log ("", G_LOG_LEVEL_INFO,
02098 (_("%s: is also known as")), footprint_name,
02099 " EIA 0805, metric 2012.");
02100 g_log ("", G_LOG_LEVEL_WARNING,
02101 (_("%s: footprint is too small for a package outline on the silkscreen.")),
02102 footprint_name);
02103 }
02104 return (EXIT_SUCCESS);
02105 }
02106 else if (!strcmp (footprint_name, "?CAPC2012X95N"))
02107 {
02108 footprint_units = g_strdup ("mm");
02109 package_body_length = 2.20;
02110 package_body_width = 1.45;
02111 package_body_height = 0.95;
02112 package_is_radial = FALSE;
02113 number_of_pins = 2;
02114 number_of_columns = 0;
02115 number_of_rows = 0;
02116 count_x = 0;
02117 count_y = 0;
02118 pitch_x = 1.80;
02119 pitch_y = 0.0;
02120 pad_length = 1.15;
02121 pad_width = 1.45;
02122 pad_shape = g_strdup ("rectangular pad");
02123 pad_shapes_type = SQUARE;
02124 pad_clearance = 0.075;
02125 pad_solder_mask_clearance = 0.075;
02126 thermal = FALSE;
02127 thermal_length = 0.0;
02128 thermal_width = 0.0;
02129 fiducial = FALSE;
02130 fiducial_pad_diameter = 0.00;
02131 fiducial_pad_solder_mask_clearance = 0.00;
02132 silkscreen_package_outline = FALSE;
02133 silkscreen_length = 0.00;
02134 silkscreen_width = 0.00;
02135 silkscreen_line_width = 0.00;
02136 courtyard_length = 3.50;
02137 courtyard_width = 2.00;
02138 courtyard_line_width = 0.05;
02139 g_free (footprint_name);
02140 footprint_name = g_strdup ("CAPC2012X95N");
02141 if (verbose)
02142 {
02143 g_log ("", G_LOG_LEVEL_INFO,
02144 (_("%s: is also known as")), footprint_name,
02145 " EIA 0805, metric 2012.");
02146 g_log ("", G_LOG_LEVEL_WARNING,
02147 (_("%s: footprint is too small for a package outline on the silkscreen.")),
02148 footprint_name);
02149 }
02150 return (EXIT_SUCCESS);
02151 }
02152 else if (!strcmp (footprint_name, "?CAPC2013X140N"))
02153 {
02154 footprint_units = g_strdup ("mm");
02155 package_body_length = 2.38;
02156 package_body_width = 1.65;
02157 package_body_height = 1.40;
02158 package_is_radial = FALSE;
02159 number_of_pins = 2;
02160 number_of_columns = 0;
02161 number_of_rows = 0;
02162 count_x = 0;
02163 count_y = 0;
02164 pitch_x = 1.80;
02165 pitch_y = 0.0;
02166 pad_length = 1.30;
02167 pad_width = 1.65;
02168 pad_shape = g_strdup ("rectangular pad");
02169 pad_shapes_type = SQUARE;
02170 pad_clearance = 0.075;
02171 pad_solder_mask_clearance = 0.075;
02172 thermal = FALSE;
02173 thermal_length = 0.0;
02174 thermal_width = 0.0;
02175 fiducial = FALSE;
02176 fiducial_pad_diameter = 0.00;
02177 fiducial_pad_solder_mask_clearance = 0.00;
02178 silkscreen_package_outline = FALSE;
02179 silkscreen_length = 0.00;
02180 silkscreen_width = 0.00;
02181 silkscreen_line_width = 0.00;
02182 courtyard_length = 3.60;
02183 courtyard_width = 2.20;
02184 courtyard_line_width = 0.05;
02185 g_free (footprint_name);
02186 footprint_name = g_strdup ("CAPC2013X140N");
02187 if (verbose)
02188 {
02189 g_log ("", G_LOG_LEVEL_INFO,
02190 (_("%s: is also known as")), footprint_name,
02191 " 0805.");
02192 g_log ("", G_LOG_LEVEL_WARNING,
02193 (_("%s: footprint is too small for a package outline on the silkscreen.")),
02194 footprint_name);
02195 }
02196 return (EXIT_SUCCESS);
02197 }
02198 else if (!strcmp (footprint_name, "?CAPC3215X168N"))
02199 {
02200 footprint_units = g_strdup ("mm");
02201 package_body_length = 3.40;
02202 package_body_width = 1.60;
02203 package_body_height = 1.68;
02204 package_is_radial = FALSE;
02205 number_of_pins = 2;
02206 number_of_columns = 0;
02207 number_of_rows = 0;
02208 count_x = 0;
02209 count_y = 0;
02210 pitch_x = 3.00;
02211 pitch_y = 0.0;
02212 pad_length = 1.15;
02213 pad_width = 1.65;
02214 pad_shape = g_strdup ("rectangular pad");
02215 pad_shapes_type = SQUARE;
02216 pad_clearance = 0.075;
02217 pad_solder_mask_clearance = 0.075;
02218 thermal = FALSE;
02219 thermal_length = 0.0;
02220 thermal_width = 0.0;
02221 fiducial = FALSE;
02222 fiducial_pad_diameter = 0.00;
02223 fiducial_pad_solder_mask_clearance = 0.00;
02224 silkscreen_package_outline = TRUE;
02225 silkscreen_length = 1.10;
02226 silkscreen_width = 1.50;
02227 silkscreen_line_width = 0.20;
02228 courtyard_length = 4.70;
02229 courtyard_width = 2.20;
02230 courtyard_line_width = 0.05;
02231 g_free (footprint_name);
02232 footprint_name = g_strdup ("CAPC3215X168N");
02233 if (verbose)
02234 {
02235 g_log ("", G_LOG_LEVEL_INFO,
02236 (_("%s: is also known as")), footprint_name,
02237 " EIA 1206, metric 3216.");
02238 }
02239 return (EXIT_SUCCESS);
02240 }
02241 else if (!strcmp (footprint_name, "?CAPC3216X105N"))
02242 {
02243 footprint_units = g_strdup ("mm");
02244 package_body_length = 3.40;
02245 package_body_width = 1.80;
02246 package_body_height = 1.05;
02247 package_is_radial = FALSE;
02248 number_of_pins = 2;
02249 number_of_columns = 0;
02250 number_of_rows = 0;
02251 count_x = 0;
02252 count_y = 0;
02253 pitch_x = 3.00;
02254 pitch_y = 0.0;
02255 pad_length = 1.15;
02256 pad_width = 1.80;
02257 pad_shape = g_strdup ("rectangular pad");
02258 pad_shapes_type = SQUARE;
02259 pad_clearance = 0.075;
02260 pad_solder_mask_clearance = 0.075;
02261 thermal = FALSE;
02262 thermal_length = 0.0;
02263 thermal_width = 0.0;
02264 fiducial = FALSE;
02265 fiducial_pad_diameter = 0.00;
02266 fiducial_pad_solder_mask_clearance = 0.00;
02267 silkscreen_package_outline = TRUE;
02268 silkscreen_length = 1.10;
02269 silkscreen_width = 1.60;
02270 silkscreen_line_width = 0.20;
02271 courtyard_length = 4.70;
02272 courtyard_width = 2.30;
02273 courtyard_line_width = 0.05;
02274 g_free (footprint_name);
02275 footprint_name = g_strdup ("CAPC3216X105N");
02276 if (verbose)
02277 {
02278 g_log ("", G_LOG_LEVEL_INFO,
02279 (_("%s: is also known as")), footprint_name,
02280 " EIA 1206, metric 3216.");
02281 }
02282 return (EXIT_SUCCESS);
02283 }
02284 else if (!strcmp (footprint_name, "?CAPC3216X125N"))
02285 {
02286 footprint_units = g_strdup ("mm");
02287 package_body_length = 3.40;
02288 package_body_width = 1.80;
02289 package_body_height = 1.25;
02290 package_is_radial = FALSE;
02291 number_of_pins = 2;
02292 number_of_columns = 0;
02293 number_of_rows = 0;
02294 count_x = 0;
02295 count_y = 0;
02296 pitch_x = 3.00;
02297 pitch_y = 0.0;
02298 pad_length = 1.15;
02299 pad_width = 1.80;
02300 pad_shape = g_strdup ("rectangular pad");
02301 pad_shapes_type = SQUARE;
02302 pad_clearance = 0.075;
02303 pad_solder_mask_clearance = 0.075;
02304 thermal = FALSE;
02305 thermal_length = 0.0;
02306 thermal_width = 0.0;
02307 fiducial = FALSE;
02308 fiducial_pad_diameter = 0.00;
02309 fiducial_pad_solder_mask_clearance = 0.00;
02310 silkscreen_package_outline = TRUE;
02311 silkscreen_length = 1.10;
02312 silkscreen_width = 1.60;
02313 silkscreen_line_width = 0.20;
02314 courtyard_length = 4.70;
02315 courtyard_width = 2.30;
02316 courtyard_line_width = 0.05;
02317 g_free (footprint_name);
02318 footprint_name = g_strdup ("CAPC3216X125N");
02319 if (verbose)
02320 {
02321 g_log ("", G_LOG_LEVEL_INFO,
02322 (_("%s: is also known as")), footprint_name,
02323 " EIA 1206, metric 3216.");
02324 }
02325 return (EXIT_SUCCESS);
02326 }
02327 else if (!strcmp (footprint_name, "?CAPC3216X127N"))
02328 {
02329 footprint_units = g_strdup ("mm");
02330 package_body_length = 3.40;
02331 package_body_width = 1.80;
02332 package_body_height = 1.27;
02333 package_is_radial = FALSE;
02334 number_of_pins = 2;
02335 number_of_columns = 0;
02336 number_of_rows = 0;
02337 count_x = 0;
02338 count_y = 0;
02339 pitch_x = 3.00;
02340 pitch_y = 0.0;
02341 pad_length = 1.15;
02342 pad_width = 1.80;
02343 pad_shape = g_strdup ("rectangular pad");
02344 pad_shapes_type = SQUARE;
02345 pad_clearance = 0.075;
02346 pad_solder_mask_clearance = 0.075;
02347 thermal = FALSE;
02348 thermal_length = 0.0;
02349 thermal_width = 0.0;
02350 fiducial = FALSE;
02351 fiducial_pad_diameter = 0.00;
02352 fiducial_pad_solder_mask_clearance = 0.00;
02353 silkscreen_package_outline = TRUE;
02354 silkscreen_length = 1.10;
02355 silkscreen_width = 1.60;
02356 silkscreen_line_width = 0.20;
02357 courtyard_length = 4.70;
02358 courtyard_width = 2.30;
02359 courtyard_line_width = 0.05;
02360 g_free (footprint_name);
02361 footprint_name = g_strdup ("CAPC3216X127N");
02362 if (verbose)
02363 {
02364 g_log ("", G_LOG_LEVEL_INFO,
02365 (_("%s: is also known as")), footprint_name,
02366 " EIA 1206, metric 3216.");
02367 }
02368 return (EXIT_SUCCESS);
02369 }
02370 else if (!strcmp (footprint_name, "?CAPC3216X130N"))
02371 {
02372 footprint_units = g_strdup ("mm");
02373 package_body_length = 3.40;
02374 package_body_width = 1.80;
02375 package_body_height = 1.30;
02376 package_is_radial = FALSE;
02377 number_of_pins = 2;
02378 number_of_columns = 0;
02379 number_of_rows = 0;
02380 count_x = 0;
02381 count_y = 0;
02382 pitch_x = 3.00;
02383 pitch_y = 0.0;
02384 pad_length = 1.15;
02385 pad_width = 1.80;
02386 pad_shape = g_strdup ("rectangular pad");
02387 pad_shapes_type = SQUARE;
02388 pad_clearance = 0.075;
02389 pad_solder_mask_clearance = 0.075;
02390 thermal = FALSE;
02391 thermal_length = 0.0;
02392 thermal_width = 0.0;
02393 fiducial = FALSE;
02394 fiducial_pad_diameter = 0.00;
02395 fiducial_pad_solder_mask_clearance = 0.00;
02396 silkscreen_package_outline = TRUE;
02397 silkscreen_length = 1.10;
02398 silkscreen_width = 1.60;
02399 silkscreen_line_width = 0.20;
02400 courtyard_length = 4.70;
02401 courtyard_width = 2.30;
02402 courtyard_line_width = 0.05;
02403 g_free (footprint_name);
02404 footprint_name = g_strdup ("CAPC3216X130N");
02405 if (verbose)
02406 {
02407 g_log ("", G_LOG_LEVEL_INFO,
02408 (_("%s: is also known as")), footprint_name,
02409 " EIA 1206, metric 3216.");
02410 }
02411 return (EXIT_SUCCESS);
02412 }
02413 else if (!strcmp (footprint_name, "?CAPC3216X130AN"))
02414 {
02415 footprint_units = g_strdup ("mm");
02416 package_body_length = 3.58;
02417 package_body_width = 1.98;
02418 package_body_height = 1.30;
02419 package_is_radial = FALSE;
02420 number_of_pins = 2;
02421 number_of_columns = 0;
02422 number_of_rows = 0;
02423 count_x = 0;
02424 count_y = 0;
02425 pitch_x = 3.00;
02426 pitch_y = 0.0;
02427 pad_length = 1.30;
02428 pad_width = 2.00;
02429 pad_shape = g_strdup ("rectangular pad");
02430 pad_shapes_type = SQUARE;
02431 pad_clearance = 0.075;
02432 pad_solder_mask_clearance = 0.075;
02433 thermal = FALSE;
02434 thermal_length = 0.0;
02435 thermal_width = 0.0;
02436 fiducial = FALSE;
02437 fiducial_pad_diameter = 0.00;
02438 fiducial_pad_solder_mask_clearance = 0.00;
02439 silkscreen_package_outline = TRUE;
02440 silkscreen_length = 1.00;
02441 silkscreen_width = 1.60;
02442 silkscreen_line_width = 0.20;
02443 courtyard_length = 4.80;
02444 courtyard_width = 2.50;
02445 courtyard_line_width = 0.05;
02446 g_free (footprint_name);
02447 footprint_name = g_strdup ("CAPC3216X130AN");
02448 if (verbose)
02449 {
02450 g_log ("", G_LOG_LEVEL_INFO,
02451 (_("%s: is also known as")), footprint_name,
02452 " EIA 1206, metric 3216.");
02453 }
02454 return (EXIT_SUCCESS);
02455 }
02456 else if (!strcmp (footprint_name, "?CAPC3216X140N"))
02457 {
02458 footprint_units = g_strdup ("mm");
02459 package_body_length = 3.40;
02460 package_body_width = 1.80;
02461 package_body_height = 1.40;
02462 package_is_radial = FALSE;
02463 number_of_pins = 2;
02464 number_of_columns = 0;
02465 number_of_rows = 0;
02466 count_x = 0;
02467 count_y = 0;
02468 pitch_x = 3.00;
02469 pitch_y = 0.0;
02470 pad_length = 1.15;
02471 pad_width = 1.80;
02472 pad_shape = g_strdup ("rectangular pad");
02473 pad_shapes_type = SQUARE;
02474 pad_clearance = 0.075;
02475 pad_solder_mask_clearance = 0.075;
02476 thermal = FALSE;
02477 thermal_length = 0.0;
02478 thermal_width = 0.0;
02479 fiducial = FALSE;
02480 fiducial_pad_diameter = 0.00;
02481 fiducial_pad_solder_mask_clearance = 0.00;
02482 silkscreen_package_outline = TRUE;
02483 silkscreen_length = 1.10;
02484 silkscreen_width = 1.60;
02485 silkscreen_line_width = 0.20;
02486 courtyard_length = 4.70;
02487 courtyard_width = 2.30;
02488 courtyard_line_width = 0.05;
02489 g_free (footprint_name);
02490 footprint_name = g_strdup ("CAPC3216X140N");
02491 if (verbose)
02492 {
02493 g_log ("", G_LOG_LEVEL_INFO,
02494 (_("%s: is also known as")), footprint_name,
02495 " EIA 1206, metric 3216.");
02496 }
02497 return (EXIT_SUCCESS);
02498 }
02499 else if (!strcmp (footprint_name, "?CAPC3216X152N"))
02500 {
02501 footprint_units = g_strdup ("mm");
02502 package_body_length = 3.40;
02503 package_body_width = 1.80;
02504 package_body_height = 1.52;
02505 package_is_radial = FALSE;
02506 number_of_pins = 2;
02507 number_of_columns = 0;
02508 number_of_rows = 0;
02509 count_x = 0;
02510 count_y = 0;
02511 pitch_x = 3.00;
02512 pitch_y = 0.0;
02513 pad_length = 1.15;
02514 pad_width = 1.80;
02515 pad_shape = g_strdup ("rectangular pad");
02516 pad_shapes_type = SQUARE;
02517 pad_clearance = 0.075;
02518 pad_solder_mask_clearance = 0.075;
02519 thermal = FALSE;
02520 thermal_length = 0.0;
02521 thermal_width = 0.0;
02522 fiducial = FALSE;
02523 fiducial_pad_diameter = 0.00;
02524 fiducial_pad_solder_mask_clearance = 0.00;
02525 silkscreen_package_outline = TRUE;
02526 silkscreen_length = 1.10;
02527 silkscreen_width = 1.60;
02528 silkscreen_line_width = 0.20;
02529 courtyard_length = 4.70;
02530 courtyard_width = 2.30;
02531 courtyard_line_width = 0.05;
02532 g_free (footprint_name);
02533 footprint_name = g_strdup ("CAPC3216X152N");
02534 if (verbose)
02535 {
02536 g_log ("", G_LOG_LEVEL_INFO,
02537 (_("%s: is also known as")), footprint_name,
02538 " EIA 1206, metric 3216.");
02539 }
02540 return (EXIT_SUCCESS);
02541 }
02542 else if (!strcmp (footprint_name, "?CAPC3216X175N"))
02543 {
02544 footprint_units = g_strdup ("mm");
02545 package_body_length = 3.40;
02546 package_body_width = 1.80;
02547 package_body_height = 1.75;
02548 package_is_radial = FALSE;
02549 number_of_pins = 2;
02550 number_of_columns = 0;
02551 number_of_rows = 0;
02552 count_x = 0;
02553 count_y = 0;
02554 pitch_x = 3.00;
02555 pitch_y = 0.0;
02556 pad_length = 1.15;
02557 pad_width = 1.80;
02558 pad_shape = g_strdup ("rectangular pad");
02559 pad_shapes_type = SQUARE;
02560 pad_clearance = 0.075;
02561 pad_solder_mask_clearance = 0.075;
02562 thermal = FALSE;
02563 thermal_length = 0.0;
02564 thermal_width = 0.0;
02565 fiducial = FALSE;
02566 fiducial_pad_diameter = 0.00;
02567 fiducial_pad_solder_mask_clearance = 0.00;
02568 silkscreen_package_outline = TRUE;
02569 silkscreen_length = 1.10;
02570 silkscreen_width = 1.60;
02571 silkscreen_line_width = 0.20;
02572 courtyard_length = 4.70;
02573 courtyard_width = 2.30;
02574 courtyard_line_width = 0.05;
02575 g_free (footprint_name);
02576 footprint_name = g_strdup ("CAPC3216X175N");
02577 if (verbose)
02578 {
02579 g_log ("", G_LOG_LEVEL_INFO,
02580 (_("%s: is also known as")), footprint_name,
02581 " EIA 1206, metric 3216.");
02582 }
02583 return (EXIT_SUCCESS);
02584 }
02585 else if (!strcmp (footprint_name, "?CAPC3216X178N"))
02586 {
02587 footprint_units = g_strdup ("mm");
02588 package_body_length = 3.40;
02589 package_body_width = 1.80;
02590 package_body_height = 1.78;
02591 package_is_radial = FALSE;
02592 number_of_pins = 2;
02593 number_of_columns = 0;
02594 number_of_rows = 0;
02595 count_x = 0;
02596 count_y = 0;
02597 pitch_x = 3.00;
02598 pitch_y = 0.0;
02599 pad_length = 1.15;
02600 pad_width = 1.80;
02601 pad_shape = g_strdup ("rectangular pad");
02602 pad_shapes_type = SQUARE;
02603 pad_clearance = 0.075;
02604 pad_solder_mask_clearance = 0.075;
02605 thermal = FALSE;
02606 thermal_length = 0.0;
02607 thermal_width = 0.0;
02608 fiducial = FALSE;
02609 fiducial_pad_diameter = 0.00;
02610 fiducial_pad_solder_mask_clearance = 0.00;
02611 silkscreen_package_outline = TRUE;
02612 silkscreen_length = 1.10;
02613 silkscreen_width = 1.60;
02614 silkscreen_line_width = 0.20;
02615 courtyard_length = 4.70;
02616 courtyard_width = 2.30;
02617 courtyard_line_width = 0.05;
02618 g_free (footprint_name);
02619 footprint_name = g_strdup ("CAPC3216X178N");
02620 if (verbose)
02621 {
02622 g_log ("", G_LOG_LEVEL_INFO,
02623 (_("%s: is also known as")), footprint_name,
02624 " EIA 1206, metric 3216.");
02625 }
02626 return (EXIT_SUCCESS);
02627 }
02628 else if (!strcmp (footprint_name, "?CAPC3216X180N"))
02629 {
02630 footprint_units = g_strdup ("mm");
02631 package_body_length = 3.40;
02632 package_body_width = 1.80;
02633 package_body_height = 1.80;
02634 package_is_radial = FALSE;
02635 number_of_pins = 2;
02636 number_of_columns = 0;
02637 number_of_rows = 0;
02638 count_x = 0;
02639 count_y = 0;
02640 pitch_x = 3.00;
02641 pitch_y = 0.0;
02642 pad_length = 1.15;
02643 pad_width = 1.80;
02644 pad_shape = g_strdup ("rectangular pad");
02645 pad_shapes_type = SQUARE;
02646 pad_clearance = 0.075;
02647 pad_solder_mask_clearance = 0.075;
02648 thermal = FALSE;
02649 thermal_length = 0.0;
02650 thermal_width = 0.0;
02651 fiducial = FALSE;
02652 fiducial_pad_diameter = 0.00;
02653 fiducial_pad_solder_mask_clearance = 0.00;
02654 silkscreen_package_outline = TRUE;
02655 silkscreen_length = 1.10;
02656 silkscreen_width = 1.60;
02657 silkscreen_line_width = 0.20;
02658 courtyard_length = 4.70;
02659 courtyard_width = 2.30;
02660 courtyard_line_width = 0.05;
02661 g_free (footprint_name);
02662 footprint_name = g_strdup ("CAPC3216X180N");
02663 if (verbose)
02664 {
02665 g_log ("", G_LOG_LEVEL_INFO,
02666 (_("%s: is also known as")), footprint_name,
02667 " EIA 1206, metric 3216.");
02668 }
02669 return (EXIT_SUCCESS);
02670 }
02671 else if (!strcmp (footprint_name, "?CAPC3216X105L"))
02672 {
02673 footprint_units = g_strdup ("mm");
02674 package_body_length = 3.40;
02675 package_body_width = 1.80;
02676 package_body_height = 1.05;
02677 package_is_radial = FALSE;
02678 number_of_pins = 2;
02679 number_of_columns = 0;
02680 number_of_rows = 0;
02681 count_x = 0;
02682 count_y = 0;
02683 pitch_x = 2.80;
02684 pitch_y = 0.0;
02685 pad_length = 0.95;
02686 pad_width = 1.70;
02687 pad_shape = g_strdup ("rectangular pad");
02688 pad_shapes_type = SQUARE;
02689 pad_clearance = 0.075;
02690 pad_solder_mask_clearance = 0.075;
02691 thermal = FALSE;
02692 thermal_length = 0.0;
02693 thermal_width = 0.0;
02694 fiducial = FALSE;
02695 fiducial_pad_diameter = 0.00;
02696 fiducial_pad_solder_mask_clearance = 0.00;
02697 silkscreen_package_outline = TRUE;
02698 silkscreen_length = 1.10;
02699 silkscreen_width = 1.60;
02700 silkscreen_line_width = 0.20;
02701 courtyard_length = 4.00;
02702 courtyard_width = 2.00;
02703 courtyard_line_width = 0.05;
02704 g_free (footprint_name);
02705 footprint_name = g_strdup ("CAPC3216X105L");
02706 if (verbose)
02707 {
02708 g_log ("", G_LOG_LEVEL_INFO,
02709 (_("%s: is also known as")), footprint_name,
02710 " EIA 1206.");
02711 }
02712 return (EXIT_SUCCESS);
02713 }
02714 else
02715 {
02716 g_log ("", G_LOG_LEVEL_WARNING,
02717 (_("default values for footprint %s not found.\n")),
02718 footprint_name);
02719 return (EXIT_FAILURE);
02720 }
02721 }
02722
02723
02731 #if GUI
02732 int
02733 capc_set_gui_constraints ()
02734 {
02735
02736 GtkWidget *package_is_radial_checkbutton = lookup_widget (GTK_WIDGET (widget),
02737 "package_is_radial_checkbutton");
02738 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (package_is_radial_checkbutton), FALSE);
02739 gtk_widget_set_sensitive (package_is_radial_checkbutton, FALSE);
02740
02741
02742 GtkWidget *number_of_columns_entry = lookup_widget (GTK_WIDGET (widget),
02743 "number_of_columns_entry");
02744 gtk_entry_set_text (GTK_ENTRY (number_of_columns_entry), "2");
02745 gtk_widget_set_sensitive (number_of_columns_entry, FALSE);
02746 GtkWidget *number_of_rows_entry = lookup_widget (GTK_WIDGET (widget),
02747 "number_of_rows_entry");
02748 gtk_entry_set_text (GTK_ENTRY (number_of_rows_entry), "1");
02749 gtk_widget_set_sensitive (number_of_rows_entry, FALSE);
02750 GtkWidget *pitch_y_entry = lookup_widget (GTK_WIDGET (widget),
02751 "pitch_y_entry");
02752 gtk_entry_set_text (GTK_ENTRY (pitch_y_entry), "");
02753 gtk_widget_set_sensitive (pitch_y_entry, FALSE);
02754 GtkWidget *count_x_entry = lookup_widget (GTK_WIDGET (widget),
02755 "count_x_entry");
02756 gtk_entry_set_text (GTK_ENTRY (count_x_entry), "");
02757 gtk_widget_set_sensitive (count_x_entry, FALSE);
02758 GtkWidget *count_y_entry = lookup_widget (GTK_WIDGET (widget),
02759 "count_y_entry");
02760 gtk_entry_set_text (GTK_ENTRY (count_y_entry), "");
02761 gtk_widget_set_sensitive (count_y_entry, FALSE);
02762 GtkWidget *number_1_position_entry = lookup_widget (GTK_WIDGET (widget),
02763 "number_1_position_entry");
02764 gtk_combo_box_set_active (GTK_COMBO_BOX (number_1_position_entry), UPPER_LEFT);
02765 gtk_widget_set_sensitive (number_1_position_entry, FALSE);
02766
02767
02768 gui_constraints_disable_thermal_tab_widgets (widget);
02769
02770
02771 gui_constraints_disable_heel_and_toe_goals_tab_widgets (widget);
02772 return (EXIT_SUCCESS);
02773 }
02774 #endif
02775
02776
02783 int
02784 capc_write_footprint ()
02785 {
02786 gdouble xmax;
02787 gdouble xmin;
02788 gdouble ymax;
02789 gdouble ymin;
02790 gdouble x_text;
02791 gdouble y_text;
02792 gchar *pin_pad_flags = g_strdup ("");
02793
02794
02795 fp = fopen (footprint_filename, "w");
02796 if (!fp)
02797 {
02798 g_log ("", G_LOG_LEVEL_WARNING,
02799 (_("could not open file for %s footprint: %s.")),
02800 footprint_type, footprint_filename);
02801 fclose (fp);
02802 return (EXIT_FAILURE);
02803 }
02804
02805 if (license_in_footprint)
02806 {
02807 write_license ();
02808 }
02809
02810
02811 xmin = multiplier * ((-pitch_x / 2.0) - (pad_length / 2.0) - pad_solder_mask_clearance);
02812 xmax = multiplier * (pitch_x / 2.0 + pad_length / 2.0 + pad_solder_mask_clearance);
02813 ymin = multiplier * ((-pad_width / 2.0) - pad_solder_mask_clearance);
02814 ymax = multiplier * (pad_width / 2.0 + pad_solder_mask_clearance);
02815
02816
02817 if ((multiplier * ((-package_body_length / 2.0) - courtyard_clearance_with_package)) < xmin)
02818 xmin = (multiplier * ((-package_body_length / 2.0) - courtyard_clearance_with_package));
02819 if ((multiplier * ((package_body_length / 2.0) + courtyard_clearance_with_package)) > xmax)
02820 xmax = (multiplier * ((package_body_length / 2.0) + courtyard_clearance_with_package));
02821 if ((multiplier * ((-package_body_width / 2.0) - courtyard_clearance_with_package)) < ymin)
02822 ymin = (multiplier * ((-package_body_width / 2.0) - courtyard_clearance_with_package));
02823 if ((multiplier * ((package_body_width / 2.0) + courtyard_clearance_with_package)) > ymax)
02824 ymax = (multiplier * ((package_body_width / 2.0) + courtyard_clearance_with_package));
02825
02826 if (multiplier * (-courtyard_length / 2.0) < xmin)
02827 xmin = multiplier * (-courtyard_length / 2.0);
02828 if (multiplier * (courtyard_length / 2.0) > xmax)
02829 xmax = multiplier * (courtyard_length / 2.0);
02830 if (multiplier * (-courtyard_width / 2.0) < ymin)
02831 ymin = multiplier * (-courtyard_width / 2.0);
02832 if (multiplier * (courtyard_width / 2.0) > ymax)
02833 ymax = multiplier * (courtyard_width / 2.0);
02834
02835
02836 x_text = 0.0 ;
02837 y_text = (ymin - 10000.0);
02838 write_element_header (x_text, y_text);
02839
02840 if (!strcmp (pad_shape, "rectangular pad"))
02841 pin_pad_flags = g_strdup ("square");
02842 if (pad_length > pad_width)
02843 {
02844
02845 write_pad
02846 (
02847 1,
02848 "",
02849 multiplier * ((-pitch_x - pad_length + pad_width) / 2.0),
02850 0,
02851 multiplier * ((-pitch_x + pad_length - pad_width) / 2.0),
02852 0,
02853 multiplier * pad_width,
02854 multiplier * pad_clearance,
02855 multiplier * (pad_width + (2 * pad_solder_mask_clearance)),
02856
02857 (pin1_square) ? "square" : pin_pad_flags
02858 );
02859
02860 write_pad
02861 (
02862 2,
02863 "",
02864 multiplier * ((pitch_x - pad_length + pad_width) / 2.0),
02865 0,
02866 multiplier * ((pitch_x + pad_length - pad_width) / 2.0),
02867 0,
02868 multiplier * pad_width,
02869 multiplier * pad_clearance,
02870 multiplier * (pad_width + (2 * pad_solder_mask_clearance)),
02871 pin_pad_flags
02872 );
02873 }
02874 else
02875 {
02876
02877 write_pad
02878 (
02879 1,
02880 "",
02881 multiplier * (-pitch_x / 2.0),
02882 multiplier * ((pad_width - pad_length) / 2.0),
02883 multiplier * (-pitch_x / 2),
02884 multiplier * ((-pad_width + pad_length) / 2.0),
02885 multiplier * pad_length,
02886 multiplier * pad_clearance,
02887 multiplier * (pad_length + (2 * pad_solder_mask_clearance)),
02888
02889 (pin1_square) ? "square" : pin_pad_flags
02890 );
02891
02892 write_pad
02893 (
02894 2,
02895 "",
02896 multiplier * (pitch_x / 2.0),
02897 multiplier * ((pad_width - pad_length) / 2.0),
02898 multiplier * (pitch_x / 2.0),
02899 multiplier * ((-pad_width + pad_length) / 2.0),
02900 multiplier * pad_length,
02901 multiplier * pad_clearance,
02902 multiplier * (pad_length + (2 * pad_solder_mask_clearance)),
02903 pin_pad_flags
02904 );
02905 }
02906
02907 if (silkscreen_package_outline && package_body_width)
02908 {
02909 fprintf (fp, (_("# Write a package body on the silkscreen\n")));
02910 write_element_line
02911 (
02912 multiplier * (((-pitch_x + pad_length) / 2.0) + pad_solder_mask_clearance + silkscreen_line_width),
02913 multiplier * (package_body_width / 2.0),
02914 multiplier * (((pitch_x - pad_length) / 2.0) - pad_solder_mask_clearance - silkscreen_line_width),
02915 multiplier * (package_body_width / 2.0),
02916 multiplier * silkscreen_line_width
02917 );
02918 write_element_line
02919 (
02920 multiplier * (((-pitch_x + pad_length) / 2.0) + pad_solder_mask_clearance + silkscreen_line_width),
02921 multiplier * (-package_body_width / 2.0),
02922 multiplier * (((pitch_x - pad_length) / 2.0) - pad_solder_mask_clearance - silkscreen_line_width),
02923 multiplier * (-package_body_width / 2.0),
02924 multiplier * silkscreen_line_width
02925 );
02926 }
02927
02928 if (silkscreen_indicate_1)
02929 {
02930
02931 }
02932
02933 if (courtyard)
02934 {
02935 fprintf (fp, (_("# Write a courtyard on the silkscreen\n")));
02936 write_rectangle
02937 (
02938 xmin,
02939 ymin,
02940 xmax,
02941 ymax,
02942 multiplier * courtyard_line_width
02943 );
02944 }
02945
02946 if (attributes_in_footprint)
02947 {
02948 write_attributes ();
02949 }
02950
02951 fprintf (fp, "\n");
02952 fprintf (fp, ")\n");
02953 fclose (fp);
02954
02955 if (verbose)
02956 {
02957 g_log ("", G_LOG_LEVEL_INFO,
02958 (_("wrote a footprint for a %s package: %s.")),
02959 footprint_type,
02960 footprint_filename);
02961 }
02962 return (EXIT_SUCCESS);
02963 }
02964
02965
02969 static fpw_function_t
02970 capc_function_list[] =
02971 {
02972 #if GUI
02973 {
02974 "Set GUI constraints",
02975 capc_set_gui_constraints,
02976 "Set GUI constraints for a CAPC package",
02977 NULL
02978 },
02979 #endif
02980 {
02981 "Create Element",
02982 capc_create_element,
02983 "Create a pcb element for a CAPC package",
02984 NULL
02985 },
02986 {
02987 "Create Packages List",
02988 capc_create_packages_list,
02989 "Create a list of known CAPC packages",
02990 NULL
02991 },
02992 {
02993 "DRC CAPC Element",
02994 capc_drc,
02995 "Design Rule Check for a CAPC package",
02996 NULL
02997 },
02998 {
02999 "Default Element Values",
03000 capc_get_default_footprint_values,
03001 "Get default values for a selected CAPC package",
03002 NULL
03003 },
03004 {
03005 "Write footprint",
03006 capc_write_footprint,
03007 "Write a footprint for a CAPC package",
03008 NULL
03009 }
03010 };
03011
03012
03013 REGISTER_FUNCTIONS (capc_function_list)
03014
03015
03016
03019 void
03020 capc_init ()
03021 {
03022 register_capc_function_list ();
03023 }
03024
03025
03026