PCB-FPW developer documentation based on version: 0.0.11

Functions | Variables

to.c File Reference

Functions for TO (Transistor Outline) footprints. More...

Go to the source code of this file.

Functions

int to_create_element_to92 ()
 Create an Element for a TO92 package.
int to_create_element_to92_staggered ()
 Create an Element for a TO92S package.
int to_create_packages_list ()
 Create a list of TO packages with pre-defined values.
int to_drc ()
 Do some Design Rule Checking for the TO package type.
int to_get_default_footprint_values ()
 Look up default values for TO footprint.
int to_set_gui_constraints ()
 Set GUI constraints for the TO package type.
int to_write_footprint_to220 ()
 Write a footprint for a TO220 transistor package.
int to_write_footprint_to220_staggered ()
 Write a footprint for a TO220S transistor package (with staggered pins).
int to_write_footprint_to220_standing ()
 Write a footprint for a TO220W transistor package (standing).
int to_write_footprint_to220_standing_staggered ()
 Write a footprint for a TO220SW transistor package (standing with staggered pins).
int to_write_footprint_to92 ()
 Write a footprint for a TO92 transistor package.
int to_write_footprint_to92_staggered ()
 Write a footprint for a TO92S transistor package (with staggered pins).
 REGISTER_FUNCTIONS (to_function_list)
 A list containing all TO related functions.

Variables

static fpw_function_t to_function_list []
 A list containing all TO related functions.

Detailed Description

Functions for TO (Transistor Outline) footprints.

Author:
Copyright (C) 2007, 2008, 2009, 2010, 2011 by Bert Timmerman <bert.timmerman@xs4all.nl>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Definition in file to.c.


Function Documentation

REGISTER_FUNCTIONS ( to_function_list   ) 

A list containing all TO related functions.

Initialise by registering all TO related functions.

Definition at line 2349 of file to.c.

int to_create_element_to92 (  ) 
int to_create_element_to92_staggered (  ) 
int to_create_packages_list (  ) 

Create a list of TO packages with pre-defined values.

The data in this list can be used in a combobox to select a pre-defined package.

Returns:
EXIT_SUCCESS when an element was created, EXIT_FAILURE when errors were encountered.

Definition at line 446 of file to.c.

int to_drc (  ) 

Do some Design Rule Checking for the TO package type.

  • check for allowed pad shapes.
  • check for zero sized packages.
  • check for a zero sized courtyard.
  • check for minimum clearance between copper (X-direction).
  • check for minimum clearance between copper (Y-direction).
  • check if no fiducials exist.
  • check for clearance of the package length with regard to the courtyard dimensions.
  • check for clearance of the package width with regard to the courtyard dimensions.
  • check for any silk lines or texts touching bare copper.
  • check for soldermask clearance (solder mask overlapping copper at the solder fillet area or worse).
  • check for a reasonable silk line width.
Returns:
EXIT_SUCCESS when no DRC violations were encountered, EXIT_FAILURE when DRC violations were found.

Todo:
Check for any silk lines or texts touching bare copper.
Todo:
Check for soldermask clearance (solder mask overlapping copper at the solder fillet area or worse).

Definition at line 483 of file to.c.

References courtyard_clearance_with_package, courtyard_length, courtyard_width, fiducial, footprint_name, footprint_type, MIL, MIL_100, MM, NO_UNITS, package_body_height, package_body_length, package_body_width, pad_clearance, pad_diameter, pad_shapes_type, pad_width, pitch_x, pitch_y, silkscreen_line_width, silkscreen_package_outline, units_type, and verbose.

Referenced by write_footprint().

int to_get_default_footprint_values (  ) 

Look up default values for TO footprint.

Footprint values can be looked up by placing a question mark "?" in front of the footprint name.
If the footprint name is recognised known values will be loaded and the entries involved in the GUI will be updated accordingly.
Currently the following footprints are supported:

  • .
Returns:
EXIT_SUCCESS when default values for a footprint were found, EXIT_FAILURE when the footprint name was not found.

Definition at line 759 of file to.c.

References count_x, count_y, courtyard_length, courtyard_width, footprint_name, footprint_units, number_of_columns, number_of_pins, number_of_rows, package_body_height, package_body_length, package_body_width, package_is_radial, pad_diameter, pad_length, pad_shape, pad_shapes_type, pad_width, pin_drill_diameter, pitch_x, pitch_y, silkscreen_length, silkscreen_package_outline, silkscreen_width, thermal, thermal_length, and thermal_width.

Referenced by on_footprint_name_entry_changed().

int to_set_gui_constraints (  ) 

Set GUI constraints for the TO package type.

This function is only to be compiled for GUI targets.

Returns:
EXIT_SUCCESS when the function is completed.

Definition at line 812 of file to.c.

References gui_constraints_disable_heel_and_toe_goals_tab_widgets(), gui_constraints_disable_thermal_tab_widgets(), UPPER_LEFT, and widget.

Referenced by on_footprint_type_entry_changed().

Here is the call graph for this function:

int to_write_footprint_to220 (  ) 
int to_write_footprint_to220_staggered (  ) 
int to_write_footprint_to220_standing (  ) 
int to_write_footprint_to220_standing_staggered (  ) 

Write a footprint for a TO220SW transistor package (standing with staggered pins).

Returns:
EXIT_FAILURE when errors were encountered, EXIT_SUCCESS when OK.

Todo:
Write a pin #1 marker on the silkscreen !

Definition at line 1727 of file to.c.

References attributes_in_footprint, courtyard, courtyard_clearance_with_package, courtyard_length, courtyard_line_width, courtyard_width, footprint_filename, footprint_type, fp, license_in_footprint, multiplier, package_body_length, package_body_width, pad_clearance, pad_diameter, pad_shape, pad_solder_mask_clearance, pin1_square, pin_drill_diameter, silkscreen_indicate_1, silkscreen_line_width, silkscreen_package_outline, verbose, write_attributes(), write_element_header(), write_element_line(), write_license(), write_pin(), and write_rectangle().

Referenced by write_footprint().

Here is the call graph for this function:

int to_write_footprint_to92 (  ) 
int to_write_footprint_to92_staggered (  ) 

Variable Documentation

A list containing all TO related functions.

Definition at line 2285 of file to.c.