Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,196
  • Joined

  • Last visited

  • Days Won

    103

Posts posted by Michael Aivaliotis

  1. It seems that this dispute places much weight on the fluke patents and software. For those of us who have never seen the software, is there any place where we can see the patent or old software :question:

    Yes, this information is all in the public domain. I just spent a few hours perusing :book: the United States patent and trademark office website. What a treasuretrove of fascinating information :!:

    I found the original NI patent in question:

    United States Patent: 4,901,221

    It's interesting to view the original screenshots of the MAC version of LabVIEW.

    Images.

    The Fluke patent is here:

    United States Patent: 4,849,880

    Images

    Of course there are dozens of other patents that have come out since then that are somehow related both from NI and SoftWIRE.

    As I was going through the various patents I noticed that there were other companies with patents describing similer graphical technologies. I guess the decision on who sues who is decided based on certain criteria such as, can the case be won or not. There must be lawyers out there who's sole purpose in life is to read patents and consult there clients on who they should sue next.

    We'll have to keep monitoring this topic...

  2. I accidentaly discovered how to reveal the subpanel terminal. This terminal is usually hidden from view. Only certain methods and properties are allowed on it.

    Place a subpanel frame inside a tab control. Right-click on the subpanel frame and replace it with a sub-panel. Goto the digram. You will see a black terminal which is the subpanel. :shifty:

    Another spooky thing is that if you then drag the front panel (subPanel) outside the tab control then you have lost it. It dissapears from the front panel but the diagram terminal remains... :wacko:

  3. You can take a look at the attached example to see what I'm talking about and to test whether the bug is really fixed.

    Well, I tried it out and it seems to be fixed. :thumbup:

    However there is a place for both implementation methods. I usually use sub-panels as part of a larger user interface approach. I prefer my sub-panel call to be non-blocking so my caller can go about it's business. This is why I prefer the VIServer implementation. However from an ease of use standpoint the call by reference is much better.

  4. I am curious to know how you are passing data to the sub-paneled VI right now?

    In any case, to pass data to a VI control before launch you can use the VI Server Method Set Control Value. I have attached an image that shows how to do this before running and embedding the VI.

    post-15-1075840972.gif?width=400

  5. Jack, welcome to the wacky world of real-time. I have programmed several real-time applications using PXI and Fieldpoint so I know exactly what you're going through. Your post is so timely for me since I am right in the middle of another RT system and have my own recent gripes. I didn't realize how much of a paradigm shift I had to make from standard LabVIEW coding practices. My first RT project was under quoted by about five-fold. Needless to say, I lost money on that first one. :2cents:

    Any VI written to be run in/on real-time must be coded with this intent ground-up. You
  6. If you look at the advanced pallete in LV7 you will see the input device control subpallete. There is a VI that returns the scroll position.

    I tried running this but could not get it to work. If we could get this to run I think we would be on our way to solve the problem of trapping the scroll button.

  7. yes i did it before posting.

    the thing is that the VI constantly check if all vi's in memory are running

    and i was trying to avoid this with just sending an event

    :(

    Yes, well you don't really have to do it the way they show. I mean you can also just respond to that event. You will have to get the references to those vi's that want to send an event then you can respond to a panel close or anything else.

    The way the existing event system works in LabVIEW requires that there be an event case for the specific event you are responding to. You cannot dynamically register NEW events only re-assign existing registrations to other VI's or controls. Hopefully this may be added in future releases. ;)

    post-10-1074101247.gif?width=400

  8. Match pattern is working for me. Scan from String is sometime too strict in it's parsing I've found.

    Just be carefull when using Match Pattern. Sometime you forget about special characters that are used in the regular expression input. See example:

    As you see we are looking for \b and can't find it since it thinks we want the backspace code. Of course this can be ignored by using \\b but you should be aware of this especially if your regular expression is programmatically generated.

    post-10-1074063984.gif?width=400

  9. This is a confirmed bug from NI support that was just recently reported. I'm surprised that it hasn't popped-up earlier than this.

    Create a multi-column listbox with about 5 columns and 1000 rows of data. Make sure you have 1 or more items selection capability enabled. Now using the selection tool (finger) click on the first row then scroll to the bottom of the list and shift-click the last row. This effectivly selects - highlights ALL rows. After doing this, LV hangs.

    At first I thought that LV crashed but eventually it comes back and displays the selection. It seems to take longer to come back with the more rows of data you select. Regardless, this is definitly an issue since no-one will wait 5 minutes or more for a user interface to respond. In all essence LV is crashed.

    post-16-1074047738.gif?width=400

  10. the idea is to make know to VI-2 when n Vi's like VI-1 are closed by the user

    but without needing to check constantly if n windows are opened and use the power of the event functionality which is more responsive and less time consuming

    I assume you have seen the NI example called: Dynamically Monitor VI's.vi. This will do what you ask. It is a combination of firing events and monitoring panel states. The entire process is very fast and efficient.

    You can also investigate ActiveX events that implement VI callbacks. Look at this post for more details.:

    http://forums.lavausergroup.org/index.php?showtopic=61

    post-10-1074007359.gif?width=400

  11. :question:

    i am trying to find a way to send an event to another VI

    especially a timeout event if possible, but an unused (in that case)

    event like "keydown" would be fine

    but am embarassed with this hassling registering procedure

    and can't make it work

    does someone could enlight me or send me a small example for it ?

    Here is an image of an example that will pass an event to another VI when a timeout has occured. remember to right-click on the event structure and select Show Dynamic Event Terminals

    Can anyone suggest a better approach to passing a timeout event to another VI? Please post any suggestions.

    post-10-1073966676.gif?width=400

  12. :lightbulb: Yes, this can be used on any html page that you want to get off the web. Once the data is received you can just parse out the important content.

    I made a VI that gets the nymber of registered LAVA forum users. I attached an image that shows how to do this. As you see, once the html page is retrieved, the rest of the process is just plain text string manipulation.

    post-10-1073765628.gif?width=400

  13. Listbox symbols can be changed using the Item Symbols property node. You need to feed-in an array of numbers which represent the position of the symbol as it appears on the front panel selector.

    If you look at the attached image, you will see that the Item Symbol selector on the front panel is high-lighting the X symbol. This symbol is position 2 in the selector if we count the first position as zero. If you go to the diagram you can see that we just build up an array of indexes that select the symbol we want to use.

    A much easier way to do this would be to use the Listbox Symbol Ring Constant located in the numeric constants pallette. This way we can use intuitive icons for selections. Don't worry, I didn't know this was there either until 2 years of using LabVIEW. This is not clearly documented.

    Another hidden feature is the ability to create a disabled line effect by entering -1 as an item symbol. Don't try to find the line symbol in the constant. It isn't there. It's only visible on the front panel selector. I guess this is a bug or an ommision.

    One final thing to watch out for. Symbols will only show-up for item lines that have text in them!

    Enjoy. :rolleyes:

    post-19-1073531658.gif?width=400

  14. Of course any good graphic artist can cook up whatever you want. I am still looking for a good Web graphic program that can do this.

    I use Photoshop. Since I started using it a year ago, I find it to be the best program out there. This is what I use for the LAVA site. I used it to create the text in the logo and headers and the special button graphics on this forum. It really can't be beat. My most favorite feature is the drop shadowing effects. Whenever I use it I find it adds depth and realism t text and graphics.

    If you don't want to spend too much money and want a simple interface, there is Paintshop Pro. It is not so loaded down with complex features and capabilities but it does the job well.

  15. I think this is a good demonstration of using graphic images to replace common elements of a control. This VI sparked an idea that we could add to the wish list.

    mellow.gif See how you have tiled several images to create a background? I think it would be great to have the ability to specify an image in the VI properties and let LV tile then automatically. This would be similer to the HTML tag in web pages to tile a background.

    post-19-1073432845.gif?width=400

  16. To check, if you recovert the seconds back into LabVIEW time the clock should be off by 66 years but the hours and time of day should be the same. Some constants proposed have a 1 hour offset. (Although I am scratching my head about leap years which logically should subract a day for every 4 years. (16.5 days for 66 years) but the simple calculated offset is still correct)

    Actually, Jack you are right, there is a leap year issue. I'm not sure why it is working for you because it is NOT working for me. I think you should NOT just subtract the 66 years in seconds. You should be subtracting the number of seconds until jan 1 1970 from 1904.

    post-10-1073411118.gif?width=400

  17. With the event structure in LV7 and user events, a number of other possibilties for architectures become available.  I was able to add my NI_week slides by zipping up the file rather than sending as .llb in case anyone wants to see how I used the event structure with user events to create a nested tab control example using only the event structure and with no polling.

    Don,

    Could you re-post the attachment called "NI week interface slides lv7.zip"?

    While upgrading the forums I discovered that this file was not uploaded properly and was in fact blank! :(

×
×
  • Create New...

Important Information

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