changeset 74:58f11f06d831

pads2gpcb: main output implemented
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Mon, 01 Feb 2016 00:45:24 +0000
parents bdfd0b802bb0
children 959df5ddf7a2
files pads2gpcb/Makefile pads2gpcb/main.c pads2gpcb/mainoutput.c
diffstat 3 files changed, 30 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/pads2gpcb/Makefile	Mon Feb 01 00:29:36 2016 +0000
+++ b/pads2gpcb/Makefile	Mon Feb 01 00:45:24 2016 +0000
@@ -1,7 +1,7 @@
 CC=	gcc
 CFLAGS=	-O2
-OBJS=	decals.o fpmanip.o globals.o gpcbout.o main.o partinst.o parttype.o \
-	rdunits.o readpads.o silkselect.o util.o writeelem.o
+OBJS=	decals.o fpmanip.o globals.o gpcbout.o main.o mainoutput.o partinst.o \
+	parttype.o rdunits.o readpads.o silkselect.o util.o writeelem.o
 HDRS=	globals.h gpcbout.h struct.h
 PROG=	pads2gpcb
 BINDIR=	/usr/local/bin
--- a/pads2gpcb/main.c	Mon Feb 01 00:29:36 2016 +0000
+++ b/pads2gpcb/main.c	Mon Feb 01 00:45:24 2016 +0000
@@ -87,5 +87,7 @@
 			goto loop;
 		}
 	}
+	if (main_output)
+		write_elements_pcb(main_output);
 	exit(0);
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pads2gpcb/mainoutput.c	Mon Feb 01 00:45:24 2016 +0000
@@ -0,0 +1,26 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "globals.h"
+#include "struct.h"
+
+write_elements_pcb(filename)
+	char *filename;
+{
+	struct part_instance *p;
+	FILE *outf;
+
+	outf = fopen(filename, "w");
+	if (!outf) {
+		perror(filename);
+		exit(1);
+	}
+	for (p = part_inst_list; p; p = p->next) {
+		if (!p->newname)
+			continue;
+		write_gpcb_element(outf, p->body, p->type->alpha_pins,
+				   p->type->name, p->newname, p->decal->name,
+				   p->onbottom);
+	}
+	fclose(outf);
+	return(0);
+}