Jump to content

robijn

Members
  • Posts

    171
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by robijn

  1. QUOTE(jlokanis @ Nov 13 2007, 09:11 PM) Hi, You could also, instead of creating a copy of your original data to compare with, create a copy of the tree data to compare with. Most data of the tree can be represented by a 2D array of strings and a 1D array of indentation values. Joris
  2. QUOTE(Daklu @ Nov 21 2007, 08:59 PM) I don't get the comparison. Visual studio does not have this limitation, neither has LabVIEW. The view of both are limited by what fits on the screen. You have to scroll in both if the code is too large. I think this feature would be considered by many as an invitation for satelite view programming. Like with Google Earth you zoom in on the part of the block diagram you want to see. That would result in even worse block diagrams than what I've seen sometimes. I hate the auto resizing structures as they also resize when you don't want them to. And even worse, this resizing messes up other parts of the block diagram. No, a subVI is definitely much more than just a part of the code that could have been present in the main VI. Joris
  3. QUOTE(Justin Goeres @ Nov 10 2007, 10:23 PM) I can confirm this, I found out the same on october 3rd. At that time, only point 1 and 2 were enough to trigger the effect. Joris
  4. QUOTE(Justin Goeres @ Nov 10 2007, 10:23 PM) I can confirm this, I found out the same on october 3rd. At that time, only point 1 and 2 were enough to trigger the effect. Joris
  5. QUOTE(Aristos Queue @ Oct 31 2007, 01:06 AM) I would be interested in numbers like this: 0. #nodes, total wire length, #subVI's 1. #nodes / wire length (low rate means spagetti code) 2. #wire bends / wire or wire length (low rate indicates better wire straighting) 3. Code structure complexity indicator: deepest nesting level of structures in the code (except error case around whole VI) 4. Data structure complexity indicator: number of bunde / unbundle / index array / delete from array / insert into array / replace array el / operations in the code 5. Code branch obfuscation indicator: number of case frames or dynamic dispatch method calls 6. Error wire use indicator: is an error wire connection wired through or is the error "put under the carpet" (i.e. lost) These numbers should give some fingerprint of what the code looks like. I think you should be able to confirm that a program you have hacked together is actually written worse than one that was properly designed Joris
  6. QUOTE(jpdrolet @ Aug 17 2004, 03:01 PM) Let me place this item at attention once again ! Gee, I really miss this shortcut. Joris
  7. QUOTE(jlokanis @ Oct 24 2007, 03:53 AM) I've also wanted a tree control to display a lot of info. I wrote a small lib a couple of years ago that tries to limit the required action on the tree control as much as possible, i.e. only add new items, only update changed cells etc. It also integrates better into your dataflow, with cell strings, colours and item glyphs flowing in (or out)... You can find it at http://robijn.net/labview . I have lately discovered a bug with items at the end, and I have updated code ready but not placed yet... Joris
  8. QUOTE(JFM @ Oct 23 2007, 02:47 PM) I would say why not..? It's already being done if you place two VI's in parallel. (or do you mean LV internal threads...? I don't think that makes a difference for this problem) I'm waiting for the "Number of processors" function on the LV palette... Joris
  9. Hi, What you can do is have the subVI run continously by placing it parallel to your other code in the main=UI VI. Then communicate the status of the subsystem via globals or (usually better) via functional globals to your main VI. The subVI should store its status when it changes into the global or functional global. The main VI should poll the global or functional global at a limited rate (i.e. not continously, but with a wait in a loop). This is the base of many templates. Instead of polling queues are then usually used to communicate with a subprocess, but that is not required if you want to learn how get a subVI to run independently. In many such templates there is a main VI which calls a UI VI and 1 or multiple hardware interface VI and optionally for example a processing VI. These VI's loop autonomously and when they have all stopped looping the main VI stops. Joris
  10. Hey that's a nice idea ! Up to now we need to do this pooling and starting instances ourselves... It's like a for loop but executed in parallel ! That "thing" inside the structure should it indicate the number of the current thread# ? The same as N in a for loop. Joris
  11. QUOTE(mballa @ Oct 17 2007, 07:58 PM) Wow this looks fantastic !
  12. QUOTE(Aristos Queue @ Oct 15 2007, 06:51 PM) When I was something like 5 I had learned the letters of the alphabeth. I couldn't do much useful with them then because I could not really read words. Then I was struck by physics with mirrors, I remember it was triggered by ambulances that have that word mirrored on their hood and so I wanted to know the letters the other way too. I should not have done that. I got into trouble when I had to write words for school. Suddenly I couldn't remember if you wrote bed like bed or like deb. I learned the hard way you should not go to step B if step A isn't mastered yet... Joris
  13. QUOTE(PJM_labview @ Oct 15 2007, 11:23 PM) Yes this would be a very handy LV feature or tool. It could also warn if you connect an error in at top-left or a functional global action (enum) at left or an output at left. If it could not match your controls to the 4x2x2x4 connector it could present you with a choice for an other one... or resize the window to have only the controls visible that are to be attached... or ask you politely to clean things up and position controls better... I like polite software. Joris
  14. Why did you not call yourself uaq ? Joris
  15. AQ thanks for clearing up the misunderstandings. I guess a linked list is indeed a better demo because it is basically a simple tree without the more complicated stuff like balancing and searching. The most important thing about the inplaceness is demonstrated very clearly. Joris
  16. QUOTE(Milchbilch @ Oct 12 2007, 10:44 AM) If you call the parent (=base) class method, the child (=derived) class method will actually be executed, as it overrides the base class method. Just like you're used to in C++. Joris
  17. QUOTE(Michael_Aivaliotis @ Oct 8 2007, 12:03 AM) Hey it's great NI implemented this feature ! I've wanted this for years. Indeed forcing error out and objects. I hope it will be selectable in 8.5.1 or whatever version. Probaably the first time NI can remove code from their codebase to add a feature. Joris
  18. QUOTE(Jim Kring @ Oct 8 2007, 09:41 PM) I am having difficulty resolving links for a complicated projects. It's actually a kind of a merge of two projects, and the VI's point to multiple identically named subVI's. These VI's were exactly the same, but on a different path. Up to now, that would not be a problem, you would just have to force the VI's from the correct path to be in memory first, then load the other VI's and then save once. But now I have to fix all 500+ conflicting VI's one by one... Has anyone found a quicker way ? Joris
  19. QUOTE(MikaelH @ Oct 4 2007, 02:08 AM) Well if I was NI I wouldn't know any other way to get rid of LLB's other than to stop supporting them. LLB's are evil. They destroy hierarchy to flat level. They are terrible with file corruption. And you can't store anything but VIs and CTLs in them (or actually NI can...). Yeah, they are really bad. But... well... they are very convenient to put stuff in compactly. And they are very fast. And they rule with tools. I'll have a hard time living without LLB's. Joris
  20. Just posted a reply to my own reply. The system then merges the two messages. However, this time it removed all formatting (in the form of newlines etc ) so it now looks as if both my Enter keys were broken. Joris
  21. QUOTE(rolfk @ Oct 3 2007, 08:15 AM) Hello,Rolf, I think you are making things too complicated here. Microsoft themselves introduced the semicolon ( as comment symbol, so although it's not a standard as in ISO or IEEE I don't think there can be too much discussion about how you should place comments in an ini file. Note NI calls them config files, I guess to stay out of MS's water. My experience with config files and the routines I have developed a couple of years back, is that it is possible to enhance the functionality and speed greatly over NI's routines. To prevent messing up the file layout, I am modifying only the value part and keep the rest of the text unmodified, and don't reconstruct the section by collecting keys and values. I insert new keys at the beginning of a new line (after the last written entry or at the end, depending on whether somethings was already written). These are simple measures to retain comments.Other useful improvements could be to write entire sections (so you can store other kinds of data). That way, you can store 1D or 2D arrays of DBL/I32/string in a transparant way in a section.JorisPS yeah that smiley should have been a semicolon
  22. I think the VISA parallel port functionality is only meant for parallel printers. Printer output works something like this: 1 wait until not busy and not error 2 place next byte on D lines 3 toggle the strobe line 4 if more bytes goto 1 You have much more freedom with the port IO functions, but I think they are limited to low port addresses. Have a look on http://beyondlogic.org, the parallel port section. Anyway the LPT port is an ancient piece of hardware, and you're lucky if you still have one to play with I would limit the use to playing only. Joris
  23. Hmm, I could try with my LabVIEW SLR(1) parser module... I curious how it performs against very optimized solutions. Joris
  24. Maybe bettter to use the connectionless protocol UDP instead of TCP. This makes (temporary) loss of connectivity not a problem. You will need to number your packets and you need to resend commands if you don't get a respons. But you get no delays if the connection breaks temporary. You are in control of the "connection", not the TCP stack. My PDA phone speaks WiFi and I want to try something like this too Joris
×
×
  • Create New...

Important Information

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