Wouldn't it also be smarter to make it an enum? "2" and "1" are already annoying values as you have to hunt them down.
On Wed, Mar 27, 2019 at 10:59 PM Jon Evans <j...@craftyjon.com> wrote: > No, reverting that commit causes the problems to reappear, even after > 175a2bc0b. > > In SCH_EDIT_FRAME::ConvertPart(), the logic appears to toggle the parameter > between 1 and 2 (value 0 is not used). It appears that the convert value > for a > component is never supposed to be 0, even though the convert value for > component > members (shapes and pins) can be 0 to indicate that they are common to all > body > styles. > > In SCH_COMPONENT::GetNetListItem(), the following check is made: > > if( pin->GetConvert() && ( pin->GetConvert() != GetConvert() ) ) continue; > > This has the effect that a component with m_convert set to zero, > containing pins > with m_convert set to 1, will appear to have no pins when netlisting. I > just > checked some of the demo projects (that were not converted from Eagle, to > rule > that out), and it appears that we do default to setting m_convert to 1 when > creating new parts. > > In DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow(): > > if( m_cbAlternateSymbol->IsEnabled() ) m_cmp->SetConvert( > m_cbAlternateSymbol->GetValue() ? 2 : 1 ); > > I am out of time to trace this any deeper, but from brief examination of > the > code, it looks like the m_convert parameter of SCH_COMPONENT should > default to > 1. It is initialized this way in all places except for the Eagle > conversion, > which is probably why this bug was triggered. > > > -Jon > > On Wed, Mar 27, 2019 at 10:36 AM Wayne Stambaugh <stambau...@gmail.com> > wrote: > >> Jon, >> >> Would you please see if reverting commit ab74445df4 and loading the the >> schematic with the 64 bit time stamps has been fixed by commit 175a2bc0b >> when you get a chance? If commit 175a2bc0b resolves the issue, then >> your commit should be reverted. >> >> Thanks, >> >> Wayne >> >> On 3/27/2019 9:44 AM, Jon Evans wrote: >> > In my investigation of the issue in that forum thread, I found that >> > eeschema was choking on the convert value being zero. >> > >> > In that case, I have misunderstood the code and we should probably >> > revert ab74445df4 >> > That commit fixed the loading/netlisting issues in the forum thread but >> > perhaps it fixed it the wrong way. >> > >> > -Jon >> > >> > On Wed, Mar 27, 2019 at 8:35 AM Wayne Stambaugh <stambau...@gmail.com >> > <mailto:stambau...@gmail.com>> wrote: >> > >> > Oops. >> > >> > On 3/27/2019 8:30 AM, Wayne Stambaugh wrote: >> > > Jon, >> > > >> > > I don't think setting m_Convert to 1 is the correct solution >> > unless the >> > > part actually has a convert. According to the Doxygen comment: >> > >> > /** >> > * Shape identification for alternate body styles. Set 0 if the >> item >> > * is common to all body styles. This is commonly referred to as >> > * DeMorgan style and this is typically how it is used in KiCad. >> > */ >> > >> > Unless someone changed this behavior this should still be valid. >> > >> > > >> > > >> > > On 3/23/2019 9:08 PM, Jon Evans wrote: >> > >> For context, I've been looking at the issues in this forum >> > >> >> > thread: >> https://forum.kicad.info/t/before-giving-up-on-kicad-one-last-attempt-erc-misery/15933/63 >> > >> > This post is about the timestamps not the convert value. >> > >> > >> >> > >> I have already pushed a band-aid fix to "repair" these >> > situations, but >> > >> it looks like they are being caused by the EAGLE importer (or at >> > least >> > >> that is one path to this situation coming up) >> > >> >> > >> Specifically, it looks like m_convert is set to 0 in >> > >> SCH_COMPONENT::Init(), but this value is not valid (it should be >> at >> > >> least 1 for components). >> > >> >> > >> Are there any cases that I am missing, where it makes sense for a >> > >> component to have m_convert set to 0? If not, it's an easy fix >> > in that >> > >> Init() to set it to 1. If so, we can just update >> > the SCH_EAGLE_PLUGIN >> > >> to call SetConvert() wherever it creates new components. >> > >> >> > >> -Jon >> > >> >> > >> _______________________________________________ >> > >> Mailing list: https://launchpad.net/~kicad-developers >> > >> Post to : kicad-developers@lists.launchpad.net >> > <mailto:kicad-developers@lists.launchpad.net> >> > >> Unsubscribe : https://launchpad.net/~kicad-developers >> > >> More help : https://help.launchpad.net/ListHelp >> > >> >> > >> > _______________________________________________ >> > Mailing list: https://launchpad.net/~kicad-developers >> > Post to : kicad-developers@lists.launchpad.net >> > <mailto:kicad-developers@lists.launchpad.net> >> > Unsubscribe : https://launchpad.net/~kicad-developers >> > More help : https://help.launchpad.net/ListHelp >> > >> > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > -- Mark
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp