PCB-FPW developer documentation based on version: 0.0.11

Todo List

Global bga_drc ()

Check for minimum clearance between pad copper and fiducial pad copper (including solder mask clearances).

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).

Global capa_drc ()

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).

Global capc_drc ()

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).

Global capm_drc ()

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).

Global capmp_drc ()

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).

Global cappr_drc ()

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).

Global con_dil_drc ()

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).

Global con_dip_drc ()

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).

Create attributes here.

Global con_hdr_drc ()

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).

Create attributes here.

Global con_sil_drc ()

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).

Global create_attributes_in_element (ElementTypePtr element)
Add tests to check if Attributes are already present and do not contain the defining value already, thus avoiding duplication.

Global create_new_arc (ElementTypePtr element, LocationType X, LocationType Y, BDimension width, BDimension height, int angle, int delta, BDimension thickness)
Check all existing Arc entities in the element to avoid duplication.

Global create_new_attribute (AttributeListTypePtr list,char *name,char *value)
Check all existing Attributes in the element to avoid duplication.

Global create_new_line (ElementTypePtr element, LocationType X1, LocationType Y1, LocationType X2, LocationType Y2, BDimension thickness)
Check all existing Line entities in the element to avoid duplication.

Global create_new_pad (ElementTypePtr element, LocationType X1, LocationType Y1, LocationType X2, LocationType Y2, BDimension thickness, BDimension clearance, BDimension mask, char *name, char *number, FlagType flags)
Check all existing Pad entities in the element to avoid duplication.

Global create_new_pin (ElementTypePtr element, LocationType X, LocationType Y, BDimension thickness, BDimension clearance, BDimension mask, BDimension drillinghole, char *name, char *number, FlagType flags)
Check all existing Pin entities in the element to avoid duplication.

Global diom_drc ()

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).

Global diomelf_drc ()

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).

Global dip_drc ()

- check for minimum clearance between pad copper and fiducial pad copper (including solder mask clearances).

Check for minimum clearance between pad copper and fiducial pad copper (including solder mask clearances).

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).

Global dips_drc ()
- check for minimum clearance between pad copper and fiducial pad copper (including solder mask clearances).

Global fpw_function (const char *name)
The registering and usage of functions still needs to be implemented in proper way.

Global fpw_functionv (const char *name, int argc, char **argv)
The registering and usage of functions still needs to be implemented in proper way.

Global fpw_register_functions (fpw_function_t *a, int n)
The registering and usage of functions still needs to be implemented in proper way.

File globals.h
Collect all global variables for the footprint into a single struct.
Switching to another preview will be easier by just switching pointers.

Global if (silkscreen_package_outline &&(silkscreen_line_width==0.0))

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).

Global indc_drc ()

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).

Global indm_drc ()

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).

Global indp_drc ()

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).

Global on_about_dialog_credits_button_clicked (Widget w, XtPointer client_data, XtPointer call_data)
Add code ...

Global on_about_dialog_license_button_clicked (Widget w, XtPointer client_data, XtPointer call_data)
Add code ...

Global on_clear_button_clicked (GtkButton *button, gpointer user_data)

Combobox entries to be stripped of characters with something like gtk_combo_box_remove_text ().

Combobox entries to be stripped of characters with something like gtk_combo_box_remove_text ().

Global on_filechooser_dialog_cancel_button_clicked (GtkButton *button, gpointer user_data)

- maybe restore the preview widget ?

- maybe restore the preview widget ?

- maybe restore the preview widget ?

Global on_filechooser_dialog_selection_changed (GtkFileChooser *filechooser, gpointer user_data)

- store the selected filename in temp_fpw_filename.

- read the values from the selected footprintwizard file in a temporary set of variables temp_*.

- generate a new preview image.

- update the preview widget.

- store the selected filename in temp_fpw_filename.

- read the values from the selected footprintwizard file in a temporary set of variables temp_*.

- generate a new preview image.

- update the preview widget.

- store the selected filename in temp_fpw_filename.

- read the values from the selected footprintwizard file in a temporary set of variables temp_*.

- generate a new preview image.

- update the preview widget.

Global on_filechooser_dialog_update_preview (GtkFileChooser *filechooser, gpointer user_data)

- generate a new preview image.

- update the preview widget.

- generate a new preview image.

- update the preview widget.

- generate a new preview image.

- update the preview widget.

Global on_preview_button_clicked (GtkButton *button, gpointer user_data)

- create and (re)load the preview image.

- create and (re)load the preview image.

Global pga_drc ()

- check for minimum clearance between pad copper and fiducial pad copper (including solder mask clearances).

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).

Global plcc_drc ()

Check for minimum clearance between pad copper and fiducial pad copper (including solder mask clearances).

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).

Global preview_draw_pad (GtkWidget *widget)

Add code here.

Add code here.

Global preview_draw_pin (GtkWidget *widget)

Add code here.

Add code here.

Global preview_expose_event (GtkWidget *widget, GdkEventExpose *event)

Add code here to draw footprints.

Add code here to draw footprints.

Global res_drc ()

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).

Global resc_drc ()

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).

Global resm_drc ()

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).

Global resmelf_drc ()

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).

Global sil_drc ()

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).

Global sip_drc ()

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).

Global sot_drc ()

Check for minimum clearance between pad copper and fiducial pad copper (including solder mask clearances).

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).

Global to_drc ()

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).

Global to_write_footprint_to220 ()
Write a pin #1 marker on the silkscreen !

Global to_write_footprint_to220_staggered ()
Write a pin #1 marker on the silkscreen !

Global to_write_footprint_to220_standing ()
Write a pin #1 marker on the silkscreen !

Global to_write_footprint_to220_standing_staggered ()
Write a pin #1 marker on the silkscreen !

Global to_write_footprint_to92 ()
Write a pin #1 marker on the silkscreen !

Global to_write_footprint_to92_staggered ()
Write a pin #1 marker on the silkscreen !