X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Sun, 1 Sep 2013 15:13:57 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] PCB file format - compatibility suggestion In-Reply-To: <5223378D.4010208@jump-ing.de> Message-ID: References: <5223378D DOT 4010208 AT jump-ing DOT de> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-563823897-1378041237=:11551" Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-563823897-1378041237=:11551 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Sun, 1 Sep 2013, Markus Hitter wrote: > Am 01.09.2013 09:00, schrieb gedau AT igor2 DOT repo DOT hu: >> I've started a local branch/fork/whatever of PCB to add a few features I >> need daily. These features required adding new element and pin/pad >> flags. Mainstream PCB does not understand these flags, and that is >> expected. > > Is it possible these additional flags are interesting for everybody? Or > are they more like arbitrary notes? Arbitrary ones. If you want to implement a new feature _optionally_ affecting elements, pins, pads, text, lines, etc. in your branch, it may end up requiring a new flag. If another branch or release of PCB deletes these flags in a load&save cycle, incompatibility between such branches are guaranteed. > Together with some means to edit these flags I'd call this not a hack, > but a valueable feature. Even if I can't imagine right now, how such > custom flags might be useful. In my version: - nonetlist flag of an element means the element is not in the netlist and should not cause a short (useful for 1206 jumpers - I hated to add them on schematics) - intconn(g) for pins and pads, representing internal connections of an element, which my version of find.c can track (g being an integer group ID) - shape(i) for pins to have more polygon shaped pins beyond square and octagon > > Anyways, patches are always welcome. Here, or better into the Launchpad > bug tracker. If you feel like you'd prefer to apply them yourselfs, it > isn't hard to convince DJ Delorie to give you write access to the repo. > Just ask. The only patch I could extract is from my svn; if anyone wants to invest the time to merge it with current versions (but I based my branch on the last stable release, which is like 2 years old), attached. It doesn't add an UI for editing those unknown flags. Since this patch was for my fork, I did not follow the (inconsistent) whitespace and naming conventions of the existing code. Regards, Tibor --0-563823897-1378041237=:11551 Content-Type: TEXT/x-diff; name=flagcomp.diff Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=flagcomp.diff SW5kZXg6IGRyYXcuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGRy YXcuYwkocmV2aXNpb24gNDUpDQorKysgZHJhdy5jCShyZXZpc2lvbiA0OCkN CkBAIC0xNDg3LDYgKzE0ODcsMTggQEANCiAgIEVORF9MT09QOw0KIH0NCiAN Cit2b2lkDQorRXJhc2VGbGFncyhGbGFnVHlwZSAqZikNCit7DQorCXVua25v d25fZmxhZ190ICp1LCAqbmV4dDsNCisJZm9yKHUgPSBmLT51bmtub3duczsg dSAhPSBOVUxMOyB1ID0gbmV4dCkgew0KKwkJZnJlZSh1LT5zdHIpOw0KKwkJ bmV4dCA9IHUtPm5leHQ7DQorCQlmcmVlKHUpOw0KKwl9DQorCWYtPnVua25v d25zID0gTlVMTDsNCit9DQorDQogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQogICogZXJhc2UgYSB2aWENCiAgKi8NCkBAIC0xNDk2LDYg KzE1MDgsNyBAQA0KICAgQWRkUGFydCAoVmlhKTsNCiAgIGlmIChURVNUX0ZM QUcgKERJU1BMQVlOQU1FRkxBRywgVmlhKSkNCiAgICAgRXJhc2VWaWFOYW1l IChWaWEpOw0KKyAgRXJhc2VGbGFncygmVmlhLT5GbGFncyk7DQogfQ0KIA0K IC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQEAgLTE1MTgs NiArMTUzMSw3IEBADQogICAgIH0NCiAgIGVsc2UNCiAgICAgRXJhc2VMaW5l ICgoTGluZVR5cGUgKilSYXQpOw0KKyAgRXJhc2VGbGFncygmUmF0LT5GbGFn cyk7DQogfQ0KIA0KIA0KQEAgLTE1MzksNiArMTU1Myw3IEBADQogICBBZGRQ YXJ0IChQYWQpOw0KICAgaWYgKFRFU1RfRkxBRyAoRElTUExBWU5BTUVGTEFH LCBQYWQpKQ0KICAgICBFcmFzZVBhZE5hbWUgKFBhZCk7DQorICBFcmFzZUZs YWdzKCZQYWQtPkZsYWdzKTsNCiB9DQogDQogLyogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQpAQCAtMTU1OSw2ICsxNTc0LDcgQEANCiAgIEFk ZFBhcnQgKFBpbik7DQogICBpZiAoVEVTVF9GTEFHIChESVNQTEFZTkFNRUZM QUcsIFBpbikpDQogICAgIEVyYXNlUGluTmFtZSAoUGluKTsNCisgIEVyYXNl RmxhZ3MoJlBpbi0+RmxhZ3MpOw0KIH0NCiANCiAvKiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkBAIC0xNTc3LDYgKzE1OTMsNyBAQA0KIEVy YXNlTGluZSAoTGluZVR5cGVQdHIgTGluZSkNCiB7DQogICBBZGRQYXJ0IChM aW5lKTsNCisgIEVyYXNlRmxhZ3MoJkxpbmUtPkZsYWdzKTsNCiB9DQogDQog LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpAQCAtMTU4OCw2 ICsxNjA1LDcgQEANCiAgIGlmICghQXJjLT5UaGlja25lc3MpDQogICAgIHJl dHVybjsNCiAgIEFkZFBhcnQgKEFyYyk7DQorICBFcmFzZUZsYWdzKCZBcmMt PkZsYWdzKTsNCiB9DQogDQogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQpAQCAtMTYwNiw2ICsxNjI0LDcgQEANCiBFcmFzZVBvbHlnb24g KFBvbHlnb25UeXBlUHRyIFBvbHlnb24pDQogew0KICAgQWRkUGFydCAoUG9s eWdvbik7DQorICBFcmFzZUZsYWdzKCZQb2x5Z29uLT5GbGFncyk7DQogfQ0K IA0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQEAgLTE2 MjYsNiArMTY0NSw3IEBADQogICBFTkRfTE9PUDsNCiAgIEVyYXNlRWxlbWVu dE5hbWUgKEVsZW1lbnQpOw0KICAgRXJhc2VFbGVtZW50UGluc0FuZFBhZHMg KEVsZW1lbnQpOw0KKyAgRXJhc2VGbGFncygmRWxlbWVudC0+RmxhZ3MpOw0K IH0NCiANCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkBA IC0xNjk1LDcgKzE3MTUsNiBAQA0KIH0NCiANCiANCi0NCiB2b2lkDQogRHJh d09iamVjdCAoaW50IHR5cGUsIHZvaWQgKnB0cjEsIHZvaWQgKnB0cjIpDQog ew0KSW5kZXg6IGdsb2JhbC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot LS0gZ2xvYmFsLmgJKHJldmlzaW9uIDQ1KQ0KKysrIGdsb2JhbC5oCShyZXZp c2lvbiA0OCkNCkBAIC0xMTYsMTIgKzExNiwxOSBAQA0KIC8qIE5vYm9keSBz aG91bGQga25vdyBhYm91dCB0aGUgaW50ZXJuYWxzIG9mIHRoaXMgZXhjZXB0 IHRoZSBtYWNyb3MgaW4NCiAgICBtYWNyb3MuaCB0aGF0IGFjY2VzcyBpdC4g IFRoaXMgc3RydWN0dXJlIG11c3QgYmUgc2ltcGxlLWFzc2lnbmFibGUNCiAg ICBmb3Igbm93LiAgKi8NCit0eXBlZGVmIHN0cnVjdCB1bmtub3duX2ZsYWdf cyB1bmtub3duX2ZsYWdfdDsNCitzdHJ1Y3QgdW5rbm93bl9mbGFnX3Mgew0K KwljaGFyICpzdHI7DQorCXVua25vd25fZmxhZ190ICpuZXh0Ow0KK307DQor DQogdHlwZWRlZiBzdHJ1Y3QNCiB7DQogICB1bnNpZ25lZCBsb25nIGY7CQkv KiBnZW5lcmljIGZsYWdzICovDQogICB1bnNpZ25lZCBjaGFyIHRbKE1BWF9M QVlFUiArIDEpIC8gMl07CS8qIHRoZXJtYWxzICovDQogICB1bnNpZ25lZCBj aGFyIHE7CS8qIHNxdWFyZSBnZW9tZXRyeSBmbGFnICovDQogICB1bnNpZ25l ZCBjaGFyIGludF9jb25uX2dycDsNCisgIHVua25vd25fZmxhZ190ICp1bmtu b3duczsNCiB9IEZsYWdUeXBlLCAqRmxhZ1R5cGVQdHI7DQogDQogI2lmbmRl ZiBfX0dOVUNfXw0KSW5kZXg6IHN0cmZsYWdzLmMNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NCi0tLSBzdHJmbGFncy5jCShyZXZpc2lvbiA0NSkNCisrKyBz dHJmbGFncy5jCShyZXZpc2lvbiA0OCkNCkBAIC00MzksOSArNDM5LDM1IEBA DQogCSAgaWYgKCFmb3VuZCkNCiAJICAgIHsNCiAJICAgICAgY29uc3QgY2hh ciAqZm10ID0gIlVua25vd24gZmxhZzogXCIlLipzXCIgaWdub3JlZCI7DQot CSAgICAgIGNoYXIgKm1zZyA9IGFsbG9jX2J1ZiAoc3RybGVuIChmbXQpICsg Zmxlbik7DQorCSAgICAgIHVua25vd25fZmxhZ190ICp1Ow0KKwkgICAgICBj aGFyICptc2csICpzOw0KKw0KKwkgICAgICAvKiBpbmNsdWRlICgpICovDQor CSAgICAgIHMgPSBmcCArIGZsZW47DQorCSAgICAgIGlmICgqcyA9PSAnKCcp IHsNCisJICAgICAgCXdoaWxlKCpzICE9ICcpJykgew0KKwkgICAgICAJCWZs ZW4rKzsNCisJICAgICAgCQlzKys7DQorCSAgICAgIAl9DQorCSAgICAgIH0N CisJICAgICAgaWYgKCpzID09ICcpJykNCisJICAgICAgCWZsZW4rKzsNCisN CisJICAgICAgbXNnID0gYWxsb2NfYnVmIChzdHJsZW4gKGZtdCkgKyBmbGVu KTsNCiAJICAgICAgc3ByaW50ZiAobXNnLCBmbXQsIGZsZW4sIGZwKTsNCiAJ ICAgICAgZXJyb3IgKG1zZyk7DQorDQorCSAgICAgIHUgPSBtYWxsb2Moc2l6 ZW9mKHVua25vd25fZmxhZ190KSk7DQorCSAgICAgIHUtPnN0ciA9IHN0cm5k dXAoZnAsIGZsZW4pOw0KKwkgICAgICB1LT5uZXh0ID0gTlVMTDsNCisJICAg ICAgLyogbmVlZCB0byBhcHBlbmQsIHRvIGtlZXAgb3JkZXIgb2YgZmxhZ3Mg Ki8NCisJICAgICAgaWYgKHJ2LkZsYWdzLnVua25vd25zICE9IE5VTEwpIHsN CisJICAgICAgCXVua25vd25fZmxhZ190ICpuOw0KKwkgICAgICAJZm9yKG4g PSBydi5GbGFncy51bmtub3duczsgbi0+bmV4dCAhPSBOVUxMOyBuID0gbi0+ bmV4dCkgOw0KKwkgICAgICAJbi0+bmV4dCA9IHU7DQorCSAgICAgIH0NCisJ ICAgICAgZWxzZQ0KKwkgICAgICAJcnYuRmxhZ3MudW5rbm93bnMgPSB1Ow0K IAkgICAgfQ0KIAl9DQogICAgICAgZnAgPSBlcCArIDE7DQpAQCAtNDkxLDYg KzUxNyw3IEBADQogICBpbnQgaTsNCiAgIEZsYWdIb2xkZXIgZmgsIHNhdmVm Ow0KICAgY2hhciAqYnVmLCAqYnA7DQorICB1bmtub3duX2ZsYWdfdCAqdTsN CiANCiAgIGZoLkZsYWdzID0gZmxhZ3M7DQogDQpAQCAtNTQ3LDYgKzU3NCw5 IEBADQogCQkJCWxlbisrOw0KICAgICB9DQogDQorCWZvcih1ID0gZmxhZ3Mu dW5rbm93bnM7IHUgIT0gTlVMTDsgdSA9IHUtPm5leHQpDQorCQlsZW4gKz0g c3RybGVuKHUtPnN0cikrMTsNCisNCiAgIGJwID0gYnVmID0gYWxsb2NfYnVm IChsZW4gKyAyKTsNCiANCiAgICpicCsrID0gJyInOw0KQEAgLTU5MSw2ICs2 MjEsMTUgQEANCiAJCQlicCArPSBzcHJpbnRmKGJwLCAiaW50Y29ubiglZCki LCBmbGFncy5pbnRfY29ubl9ncnApOw0KICAgICB9DQogDQorCWZvcih1ID0g ZmxhZ3MudW5rbm93bnM7IHUgIT0gTlVMTDsgdSA9IHUtPm5leHQpIHsNCisJ CWludCBsZW47DQorCQlsZW4gPSBzdHJsZW4odS0+c3RyKTsNCisJCWlmIChi cCAhPSBidWYgKyAxKQ0KKwkJCSpicCsrID0gJywnOw0KKwkJbWVtY3B5KGJw LCB1LT5zdHIsIGxlbik7DQorCQlicCArPSBsZW47DQorCX0NCisNCiAgICpi cCsrID0gJyInOw0KICAgKmJwID0gMDsNCiAgIHJldHVybiBidWY7DQo= --0-563823897-1378041237=:11551--