X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding:x-gm-message-state; bh=KlsptR6t507lrPIbpxmAWBf8xqhOwoWtohNQrF3+/oI=; b=YRTg6CmD46/A1YwyJqg4XJnxEd2UtOgNvOfjPmLCwa7Ml1Tcp952SsvyVlcERKBxAi 1khiV2GRGOlAMKO9QXuiCSPZjk6Dok+x8SbruWdKsuNhlgy45ihv0YKmj3p9wWWPrSHI e6WdCQXlm0wochNgDZariyci7X66YZCWfyDTu/GghFgSbSS0I48dTY2UYAPg+y8xCjH0 5iOQc9uRH/rll6NKz+d3UAYE84d0EYRZOuAa4cIqBdWzO4IAdQRhHJ5QGUblhSzN640L pyW/KPExeaXcmiKQm04uZDccwp8azIC5+Z9r1TqHDz3sPA2taJ3nZV0X3OVX48bsrFJh sCRA== MIME-Version: 1.0 In-Reply-To: <20120426130554.2B4B1814784B@turkos.aspodata.se> References: <20111217222833 DOT 1F99881FD929 AT turkos DOT aspodata DOT se> <20111218194622 DOT 5FFDB81FD937 AT turkos DOT aspodata DOT se> <4EEE6884 DOT 20408 AT ecosensory DOT com> <20120425213315 DOT 7366B814784A AT turkos DOT aspodata DOT se> <20120426130554 DOT 2B4B1814784B AT turkos DOT aspodata DOT se> Date: Thu, 26 Apr 2012 10:23:00 -0700 Message-ID: Subject: Re: [geda-user] Make multiple pins auto-numbered in gschem From: Russell Dill To: geda-user AT delorie DOT com Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQmMP/AdrEKOY1OMpFh/yqYZai3OrWfC0sJixTPEI3dDnW+/jrefptW192JuAoLMM31xzA38 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id q3QHN5A4014783 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 On Thu, Apr 26, 2012 at 6:05 AM, Karl Hammar wrote: > Russel Dill: >> On Wed, Apr 25, 2012 at 2:33 PM, Karl Hammar wrote: > ... >> > $ ~/git/openhw/share/ibis.pl stm32f2_lqfp100.ibs | head >> > Component: STM32F2_LQFP100 >> > 1 PE2 >> > 2 PE3 > ... >> > So I'm wondering how to make that to a .sym file. > ... >> djboxsym is the probably the easiest way from that data, however... >> >> $ git clone git://github.com/russdill/pybis.git > > Wery, nice. > > ... >> $ PYTHONPATH=. examples/ibs2symdef.py stm32f2_lqfp100.ibs > ... >> $ djboxsym < STM32F2_LQFP100.symdef > STM32F2_LQFP100.sym > ... >> The model doesn't contain any ground or power pins, so they do not >> appear in the symbol. Also, the first model option for all the other >> pins, so they all show up on the left side of the symbol. Its easy >> enough to edit the symdef file to move them around though. > > Well, the pins are there, but commented and without a model to reference: > > $ egrep '^\|[0-9]+ [A-Z]' stm32f2_lqfp100.ibs > |6 VBAT VDD33IOSWCO_MOSSWI_FT > |10 VSS_5 VSSIOCO > |11 VDD_5 VDD33IOCO > |14 NRST RESET > |19 VDD_12 VDD33IOCO_VSSIOCO_MOSSWI_FT > |20 VSSA VSSCO > |21 VREF+ VDD33CO > |22 VDDA VDD33CO > |27 VSS_4 VSSIOCO > |28 VDD_4 VDD33IOCO > |49 VCAP1_0 > |50 VDD_1 > |53 PA11 IO8USB_LSFS_OTG_FT_USB > |54 PA12 IO8USB_LSFS_OTG_FT_USB > |70 PA11 IO8USB_LSFS_OTG_FT_NON_USB_DNV33 > |71 PA12 IO8USB_LSFS_OTG_FT_NON_USB_DPV33 > |73 VCAP2 > |74 VSS_2 > |75 VDD_2 > |99 NC > |100 VDD_3  VDD33CO > $ > > Should one expect ibis files to contain such incomplete pin definitions > and somehow add some ad hoc rules for them (I havn't seen many ibis > files so I can't say)? Generally when stuff is commented out in an IBIS file, its either because it doesn't work, it provides the user with some alternate functionality they can toggle, or its just informative. In this case it doesn't work and it might just be informative. The models referenced on the power and ground pins do not exist. The model name for a power pin should be just POWER and for a ground pin just GND. Pins that are not connected should have the model name NC. I also notice in this model that there are some pin names duplicated which may or may not be intentional, you'd have to check the datasheet. In the case of the IBIS file given, taking out the comment character and parsing these lines anyway would give: Exception: Component 'STM32F2_LQFP100' lists unknown model 'VDD33IOSWCO_MOSSWI_FT' for pin '6' > I cannot easily understand your code and provide a test patch. My guess > is that you parse comments starting with "class Comment(Bracket):" on > line 426 in pybis.py, and that it treats comments the same regardless of > the current keyword. The IBIS standard is rather bizzare and difficult to parse. 'class Comment(Bracket):" is actually the function that parses the [Comment Char] keyword that can change the comment char at any time. I think the committee got tired of bike shedding on what the comment char should be so they punted. I've never seen an IBIS file that uses a different comment char, but almost every IBIS file I've seen redundantly defines the comment char as the default one. The actual parsing of comments is handled in the parseLine method of the Parser object: text, _, comment = line.partition(self.comment_holder[0]) The comment is not thrown away because a large percentage of files comment out entire text sections such as '[Copyright]'. Data which really should be in the output file, eg: [Copyright] | We own this IBIS file | Don't try anything funny instead of just: [Copyright] We own this IBIS file Don't try anything funny > Regards, > /Karl Hammar > > ----------------------------------------------------------------------- > Aspö Data > Lilla Aspö 148 > S-742 94 Östhammar > Sweden > +46 173 140 57 > >