geda(PCB) Project Upload

Hello,

I was wondering if someone could provide some guidance on the necessary steps in uploading a design to batchpcb that was generated using by PCB(geda). I tried it a couple of times using different options names and number options.

Steps I just followed on the third attempt:

-Exported Gerber files in PCB

-Uploaded zip’d gerber files to batchpcb

-Didn’t specify “Keep Out Layer” nor the “Bottom Silk layer”

-On the page inquiring about the number format and software package I chose “unknown” and specified PCB(geda) as the software.

-Submited Design

I get a confirmation page indicating it will be processing the design.

-Less than a minute later I get an e-mail with two error log messages that say:

unmatched 274X paramblock LNFRONT - len 7

Beginning GCODE run

Invalid DCODE 0

GCode execution failed!

Here is a snippet of the front gerber:

G04 start of page 2 for group 0 idx 0

G04 Title: (unknown), component *

G04 Creator: pcb 20070208 *

G04 CreationDate: Thu Feb 21 22:09:58 2008 UTC *

G04 For: jffvnrkl *

G04 Format: Gerber/RS-274X *

G04 PCB-Dimensions: 599999 299999 *

G04 PCB-Coordinate-Origin: lower left *

%MOIN*%

%FSLAX24Y24*%

%LNFRONT*%

%ADD11C,0.0100*%

%ADD12C,0.0250*%

%ADD13C,0.0400*%

%ADD14C,0.0400*%

%ADD15C,0.0100*%

%ADD16C,0.0800*%

%ADD78C,0.0350*%

G54D11X32695Y18099D02X32650D01*

X33150Y17645D02X32695Y18099D01

X36980Y18989D02Y18529D01

G54D41X37130Y19919D03

G54D63G54D38G54D14G54D63G54D64G54D65G54D63G54D64G54D66G54D64G54D65G54D38G54D66G54D63G54D67G54D63G54D31G54D63G54D68G54D67G54D0G54D63G54D68G54D38G54D63G54D69G54D38G54D70G54D38G54D65G54D38G54D64G54D67G54D63G54D71G54D72G54D71G54D63G54D68G54D73G54D63G54D72G54D63G54D68G54D0G54D67G54D74G54D63G54D74G54D63G54D71G54D70G54D71G54D70G54D63G54D71G54D72G54D71G54D72G54D71G54D75G54D76G54D75G54D76G54D75G54D77G54D75G54D77G54D75G54D77G54D75G54D76G54D75G54D76G54D75G54D76G54D75G54D76G54D75G54D76G54D78G54D76G54D75G54D76G54D75G54D78G54D76G54D78G54D76G54D78G54D76G54D75M02*

Any help would be appreciated.

Thanks,

Jeff

I still can’t seem to track down what the issue is. The design passes the auto drc checker at protoexpress so I can’t be to far off. I just keep getting the errors. It looks like it gets past the LNFRONT and LNBack but gets stuck on DCODE, whatever that means. Any assistance would be appreciated.

Front:

unmatched 274X paramblock LNFRONT - len 7

Beginning GCODE run

Invalid DCODE 0

GCode execution failed!

Back:

unmatched 274X paramblock LNBACK - len 6

Beginning GCODE run

Invalid DCODE 0

GCode execution failed!

Jeff

As a work-around, you could probably delete the %LN lines, they’re just layer names (which have no effect on the board design). I’m not sure if the “Invalid DCODE” is a side-effect of that error, or is a different, actual error.

Hmmm… I use pcb and I’ve never had a problem. I’ve always included back silk, though. Does is display correctly in gerbv?

As a work-around, you could probably delete the %LN lines

I removed the %LN lines like you suggested which removed one of the errors but is still didn’t work. It looks like the problem is whatever is related to the DCODE 0

Bottom and Top:

Beginning GCODE run

Invalid DCODE 0

GCode execution failed!

I’m not using a bottom silk screen and I saw one person on the geda list was having trouble with this. It seems odd to me that a bottom silk layer would be required. I’ll see if this makes a difference. As a test though I did try reusing my top silk during 1 of the submissions but it didn’t matter.

Everything looks fine in ViewMate, at least I import the gerbers etc and it looks just like it did in PCB.

I’ve always included back silk, though. Does is display correctly in gerbv?

I just created a basic silk layer with a board outline in it. Checked it with viewmate and uploaded the design. It failed. :frowning:

This is what the log file said for both the bottom and the top.

Beginning GCODE run

Invalid DCODE 0

GCode execution failed!

what version of pcb are you using?

You might want to ask about this problem on the geda-user e-mail list.

what version of pcb are you using?

I'm using version 20070208

You might want to ask about this problem on the geda-user e-mail list.

Yes, I've found people there to be very helpful. I just wanted to provide a more useful definition of the error message before posting a question about pcb's gerber generation. I'm not sure there's enough information to try and determine what pcb is doing different.

I just did a ‘grep LN *.gbr’ on a couple of designs that I ran through a few weeks ago, and got several hits, including LNFRONT. Did I read elsewhere on the board that the DRC bot has been changed since the first of the year?

We’ve made a couple of tweaks to the infrastructure over the last few months, but nothing has changed in how gerber files are parsed.

This [thread from a while back might be relevant. I think the real error is “Invalid DCODE 0”.

I’ll look into this, but it might be Monday before I’ve got much time to throw at it. (As ever, thanks for your patience.)](http://forum.sparkfun.com/viewtopic.php?t=5776)

Well, just to see if perhaps it was something that changed in DRC, I re-submitted a file that successfully fabbed in December, and it came back DRC clean, so that points away from this being caused by any change in DRC.

Well, D-code 0 is inherently invalid; the valid ones are D01, D02, D03, and anything from D10 on up (those have to be defined via %ADDnn lines). Search the file for any occurrence of “D00” (or perhaps any “D” with less than two digits following it), that may give a hint as to where the problem is coming from.

Well, D-code 0 is inherently invalid;

As soon as I remove all references to Dcode00 the problem goes away. The issue was when I created “holes” with size zero for my fiducials pcb created references with Dcode00. ProtoExpress must have been ignoring these codes. Sorry for the trouble and thanks for the help.

Jeff

Well, D-code 0 is inherently invalid;

Not to spoil a happy ending, but upon reflection this would indicate the need for some bug reports.

If D-code D00 is a Bad Thing, then:

a) pcb should never create one, even if the user has an erroneous footprint definition. There should be an enhancement request filed in the bug tracker to check this case.

b) the gerber viewer should print out a warning or error message. So ViewMate (I’m not familiar with it) should have caught this for you. I use gerbv – I’m sure the gerbv team would appreciate it if you could check to see if gerbv whines about D-Code 00, and file an enhancement request if it doesn’t. Or if installing gerbv is inconvenient, and you are willing to share the gerber, I could do a quick check.

This is a fair point - and on a related note, I’m going to look into upping the user-friendliness of the bot’s error outputs.

I checked in a patch to PCB to no longer emit zero-radius filled circles or drills, should solve this particular problem.