Jump to content

Black Pearl

Members
  • Content Count

    410
  • Joined

  • Last visited

  • Days Won

    13

Posts posted by Black Pearl

  1. I believe the answer is that if you wire from one diagram to the next, it will automatically create a tunnel for you, much like when wiring on an actual diagram. I am unsure about wiring to a structure boundary. Normally, when wiring, I just drop both nodes and then wire from terminal to terminal. I am pretty sure that it is impossible to just create a tunnel on a structure; unwired tunnels typically are removed by type prop.

    Thanks for the explanation. That makes sense.

    I did some testing tonight, I could create a broken wire with a tunnel in the middle. :yes:

    I think that the wiring scripting methods were not created with "bad wiring" in mind. My guess would be that you cannot create a loose end through a wiring method, but rather like you would on an actual diagram, like you discussed.

    I'm aware that it is a pretty unusal idea to script broken wires.:ph34r:

    Felix

  2. Hg I mentioned earlier is also OS/free. It's also known as 'mercurial' and is a distributed RCS like git and bazaar. You also get an explorer extension: TortoiseHg.

    If you go by SVN, I think that JKI's SVN plugin is worth the money. For Hg, I had to write something similar on my own-

    Felix

  3. Forget about the ShiftRegister, I found a bug in my code. I was using the BD instead of the Loop for calculating the offset. :frusty:

    Still Everything I drop inside a for loop is moved by one to the bottom and to the right. Using nested for loops, it only happens once (the inner loop is moved, but not the contents in respect to it).

    Felix

  4. Hmm, seems to be on the BD level already:

    Create For loop, Create ShftReg, Create Const on BD -> fine (on first look)

    Create Const on BD, Create For Loop, Create ShftReg -> ShftReg is Offsetted.

    I'll need to look at the numbers to get more details.

    Felix

  5. ok, found it in the GPL FAQ:

    I heard that someone got a copy of a GPL'ed program under another license. Is this possible?The GNU GPL does not give users permission to attach other licenses to the program. But the copyright holder for a program can release it under several different licenses in parallel. One of them may be the GNU GPL.

    The license that comes in your copy, assuming it was put in by the copyright holder and that you got the copy legitimately, is the license that applies to your copy.

    I would like to release a program I wrote under the GNU GPL, but I would like to use the same code in non-free programs.To release a non-free program is always ethically tainted, but legally there is no obstacle to your doing this. If you are the copyright holder for the code, you can release it under various different non-exclusive licenses at various times.

    So this actually means that I (as copyright holder) can use the reusable part as I like and if someone else wishes to use it for a non-GPL project I just need to give away the code under a different license (such as BSD)?

    Felix

  6. Had another idea and it did show correct:

    The original diagram is covering the area of the 'i'-Term. So I need to use the i-Term as the reference postion. Still don't know exactly how to do this, but at least I've a new point to continue experimenting.

    Felix

  7. This is a bit of a tricky issue you normally won't notice. But when I create a node on a diagram (For Loop), it's not exactly at the position I want it but there is an offset by 1 pixel. Furthermore, during this process Position and Bounds of the diagram also change. This issue isn't really noticable in most cases, but it becomes pretty severe when creating Shift Registers (I get offsets >100 pixels). This only happens when I have a node above the loop.

    Deeper investigation of this issue hints me, that this has to do with automatic resizing the diagram. Just creating the for loop gives me a diagram with the bounds of 16x16. When I place the node on the diagram (or the ShiftRegs), it needs to be resized. I guess in this process, I lose the desired integrity of my positions. I target of an exact pixel location, to make the subsequent wireing possible. I did try with 'Make Space', but that moves the 'i'-Term around with even worse effect on diagrams Pos and Bounds.

    Felix

  8. To simple questions I'd like to get some ideas/experience:

    Q1: How to create a tunnel? For ShiftRegisters (Child Class of Tunnel), there is a method Loop.Add ShiftRegister. For a simple tunnel, I didn't find one. Is it as simple as just to wire through the structures boundary?

    Q2: Creating a broken wire. The create wires metjod needs a sink Term to be called, but how to create a loose end? I was thinking about creating a temporal variant control (indicator) terminal to wire it 'valid' first and then delet the variant.

    Felix

  9. When working on a project, I normally try to make a feature working first. In this process I leave some VIs in a messy state or apply incomplete bug-fixes on other vi's.

    So I'd like to mark these VI's as 'needs attention', so at a later stage (when ideas arn't bubbling fast or I'm tired) I'd come back.

    This idea is scaling up the more I think, as I'd like to put priorities for 'clean-up' done, and also add other marks like 'reuse candidate' or more specific 'TODOs' like 'make Icon' or 'document'.

    Any standard solutions or should I code my home-brewed tool?

    Home-brewed: I was thinking about a cluster constant which I can quickly set to the desired state when working on the VI and a 'explorer' that allows me to browse a project by the settings of this constant.

    Felix

  10. I'm working on an OS project (soon coming into the CR) and thinking about the licensing options.

    I would prefer a 'strong', 'viral' OS license for the App itself, such as GPL.

    But there are some reuse candidates, which I'd like to be able to use in other projects as well (non-GPL, propretarian). So preferable those VIs would be licensed under BSD.

    Anyone has suggestions how to correctly deal with this?

    Felix

  11. I found that Hg works a little bit better than SVN. When I rename a vi from LV, SVN did mess up and force me to merge. Hg has an option 'guess renames' to avoid this.

    The second issue why I prefer Hg is that I'm able to clone me repo on a USB memory stick and work at a customers site with this local repo and push the changes back when I'm back in office.

    Felix

    1. Is it possible to get a type-specific Constant Refnum from the Class ID? How?
    2. Once I have the Constant Refnum, how can I get keep the property node from breaking (see below)?

    1. Hmm, I get from ClassName 'BooleanConstant' and the like. But your code in the other thread already does this, so propably I misunderstand your question.

    2. Not possible. Constant has the Lable property, it's parent GObject has not. Other childs of GObject have it as well, but you need to downcast them explecite as well.

    Felix

  12. Assuming they are programmers and assuming you want to impress them.

    I'd show them how 'highlight execution' works.

    (a) that way they see how these funny pictures form together a sort of code

    (b) they see how easy it is to debug an application

    In a second step, use highlight execution to demonstrate Ben's suggestion of 'multithreading without thinking'.

    Felix

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.