{"action":"created","issue":{"url":"https://api.github.com/repos/machinekit/machinekit/issues/800","labels_url":"https://api.github.com/repos/machinekit/machinekit/issues/800/labels{/name}","comments_url":"https://api.github.com/repos/machinekit/machinekit/issues/800/comments","events_url":"https://api.github.com/repos/machinekit/machinekit/issues/800/events","html_url":"https://github.com/machinekit/machinekit/issues/800","id":119234793,"number":800,"title":"What's the reason for restricting multiple signals to one output pin?","user":{"login":"luminize","id":2206842,"avatar_url":"https://avatars.githubusercontent.com/u/2206842?v=3","gravatar_id":"","url":"https://api.github.com/users/luminize","html_url":"https://github.com/luminize","followers_url":"https://api.github.com/users/luminize/followers","following_url":"https://api.github.com/users/luminize/following{/other_user}","gists_url":"https://api.github.com/users/luminize/gists{/gist_id}","starred_url":"https://api.github.com/users/luminize/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luminize/subscriptions","organizations_url":"https://api.github.com/users/luminize/orgs","repos_url":"https://api.github.com/users/luminize/repos","events_url":"https://api.github.com/users/luminize/events{/privacy}","received_events_url":"https://api.github.com/users/luminize/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/machinekit/machinekit/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-11-27T18:42:47Z","updated_at":"2015-11-28T12:27:44Z","closed_at":null,"body":"I'm trying to understand why an output pin can not be connected to multiple signals.\r\nA signal can have only 1 source and multiple outputs. I would like to understand the reason for the restriction that output pins can only have signal attached.\r\n\r\n```\r\nhalcmd: newinst lutn or-1 pincount=2 functn=0xe\r\nhalcmd: newinst lutn or-2 pincount=2 functn=0xe\r\nhalcmd: newinst lutn or-3 pincount=2 functn=0xe\r\nhalcmd: show pin\r\nComponent Pins:\r\n  Comp   Inst Type  Dir         Value  Name                             Epsilon         Flags\r\n    73     74 bit   IN          FALSE  or-1.in-00                    \t\t\t0\r\n    73     74 bit   IN          FALSE  or-1.in-01                    \t\t\t0\r\n    73     74 bit   OUT         FALSE  or-1.out                      \t\t\t0\r\n    73     74 s32   OUT             0  or-1.time                     \t\t\t0\r\n    73     82 bit   IN          FALSE  or-2.in-00                    \t\t\t0\r\n    73     82 bit   IN          FALSE  or-2.in-01                    \t\t\t0\r\n    73     82 bit   OUT         FALSE  or-2.out                      \t\t\t0\r\n    73     82 s32   OUT             0  or-2.time                     \t\t\t0\r\n    73     90 bit   IN          FALSE  or-3.in-00                    \t\t\t0\r\n    73     90 bit   IN          FALSE  or-3.in-01                    \t\t\t0\r\n    73     90 bit   OUT         FALSE  or-3.out                      \t\t\t0\r\n    73     90 s32   OUT             0  or-3.time                     \t\t\t0\r\n\r\nhalcmd: net sig-or1-out-to-or2-in or-1.out or-2.in-00\r\nhalcmd: net sig-or1-out-to-or3-in or-1.out or-3.in-00\r\n<stdin>:9: Pin 'or-1.out' was already linked to signal 'sig-or1-out-to-or2-in'\r\n```"},"comment":{"url":"https://api.github.com/repos/machinekit/machinekit/issues/comments/160288675","html_url":"https://github.com/machinekit/machinekit/issues/800#issuecomment-160288675","issue_url":"https://api.github.com/repos/machinekit/machinekit/issues/800","id":160288675,"user":{"login":"mhaberler","id":901479,"avatar_url":"https://avatars.githubusercontent.com/u/901479?v=3","gravatar_id":"","url":"https://api.github.com/users/mhaberler","html_url":"https://github.com/mhaberler","followers_url":"https://api.github.com/users/mhaberler/followers","following_url":"https://api.github.com/users/mhaberler/following{/other_user}","gists_url":"https://api.github.com/users/mhaberler/gists{/gist_id}","starred_url":"https://api.github.com/users/mhaberler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhaberler/subscriptions","organizations_url":"https://api.github.com/users/mhaberler/orgs","repos_url":"https://api.github.com/users/mhaberler/repos","events_url":"https://api.github.com/users/mhaberler/events{/privacy}","received_events_url":"https://api.github.com/users/mhaberler/received_events","type":"User","site_admin":false},"created_at":"2015-11-28T12:27:44Z","updated_at":"2015-11-28T12:27:44Z","body":"that is conceivable but not a good idea because of the default pin value semantics\r\n\r\nNB a pin can have a default value, which is stored in its default signal\r\n\r\nat first link to an unlinked signal, the signal \"inherits\" the default value of that pin\r\n\r\nat unlink time, the current value of the signal is copied to the pin's default signal and becomes the - possibly modified - default value; on next link to an unlinked signal, the game repeats\r\n\r\nif you abuse the default signal as a net name (btw which default signal, the in or the out default signal?) you mess up the default value semantics\r\n\r\nI do not fully understand what the problem actually is - do you take issue that for linking foo.out to bar.in you need a named signal to do so? is it the extra signal name which you think is unnecessary? Is this a  convenience or a functional argument?\r\n\r\n"}}