On Sun, Dec 3, 2017, at 11:36 AM, Gene Heskett wrote:
> On Sunday 03 December 2017 11:04:22 andy pugh wrote:
> 
> > On 3 December 2017 at 16:00, Gene Heskett <ghesk...@shentel.net> wrote:
> > > I find my self having to pick up and move a net statement in order
> > > to satisfy the requirement that the src statement must be the first
> > > encountered as the file is being parsed,
> >
> > There is no such requirement. You can connect the  input and output
> > pins to a net in absolutely any order you like.
> 
> You are saying that
> 
> net netname output.pinname another-output.pinname input.pinname is legal 
> now? IOW hal now knows what is a source and what is a load 
> automatically, and will use the first output.pinname it finds in a long 
> line of names as the source pin for that netname?

What do you mean by "source pin"?

When halcmd is making a connection, it absolutely does not care
whether a signal has a source.  Here is what "net" does, in pseudo-code:

if ( signal does not exist ) {
    // need to create signal
    if ( first pin does not exist ) {
        ERROR
    }
    create signal using type of first pin
}
// signal exists now
for (every pin listed) {
    if ( pin does not exist ) {
        ERROR
    }
    if ( {pin type does not match signal type ) {
        ERROR
    }
    if (( pin is an output) AND (signal already has an output pin)) {
        ERROR
    }
    connect pin to signal
}

"type" above means things like bit, float, s32, etc

The net command won't let two outputs drive the same net.
That is done by the last conditional in the pseudo-code above.
But nothing about that code cares which order you connect the
pins.

> 
> Okkaaayyyy. But wasn't that a requirement previous to "two-pass"?

two-pass has absolutely nothing to do with net commands.  The only
thing two-pass processes in the first pass are loadrt commands.
See http://linuxcnc.org/docs/html/hal/twopass.html

> Knowing that now, it will ease my mind considerably because it means I 
> can use a "netname new-target" high in a file that is not developed as a 
> source signal until much later in the file.

That has always been true.

> 
> Thanks Andy.
> 
> Cheers, Gene Heskett
> -- 
> "There are four boxes to be used in defense of liberty:
>  soap, ballot, jury, and ammo. Please use in that order."
> -Ed Howdershelt (Author)
> Genes Web page <http://geneslinuxbox.net:6309/gene>
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


-- 
  John Kasunich
  jmkasun...@fastmail.fm

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to