Jump to content

Grampa_of_Oliva_n_Eden

Members
  • Posts

    2,767
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by Grampa_of_Oliva_n_Eden

  1. QUOTE (sachsm @ Mar 10 2009, 11:20 AM) Moving to three digits with syle! Nice. Ben
  2. QUOTE (crelf @ Mar 10 2009, 10:45 AM) No and no. BTW: DAQmx Tasks will do the same thing (but you will have to trust me on that one. ) That behaviour SEEMS to apply to every resource allocated by LV. I think it has to do with hedging against the possiblity that someone that doesn't know what they are doing cloising a ref and then latter trying to use it (trap catcher?), but NOW I AM speculating. Ben
  3. QUOTE (crelf @ Mar 9 2009, 06:08 PM) Exactly. Ben
  4. QUOTE (sachsm @ Mar 9 2009, 04:08 PM) See http://forums.ni.com/ni/board/message?board.id=170&thread.id=387614&view=by_date_ascending&page=1' target="_blank">this thread on the dark-side. The new CAR is 147779. Ben
  5. Results of over- the week-end test Task manager memory showed (Kbytes) start 1450404 end 1407336 That's 43M over the week-end. Ben
  6. QUOTE (crelf @ Mar 6 2009, 01:12 PM) Here is Dan Mondrik confirming there was an issue with opening and closing VISA sessions. Yes that post is old but I work across LV versions and there only has to be one version that is buggy for me to adapt my rules. Here is a more recent reference to VISA and leaks that recomends making sure they are the most recent version of VISA. I never said the leak rate was high. I have apps that run for years without restarting so even a slow leak is of concern to me. I have an LV 8.6 machine running a test to see if this issue exists in a more recent version. So far it holding so that issue may have been fixed. Ben
  7. QUOTE (d_nikolaos @ Mar 6 2009, 12:17 PM) YOu will need to use the build waveform node found on the Waveform palette. If you expand it you will see it accepts three values "T0", "dt", and "Y". since you are uisng serial I suspect your values will not be equally spaced in time. If that is true then you should not put more than one rading in the "Y" array but use an array that contains a single value for the "Y" input. WHen you only have a single value in the Y aray the "dt" is not used so you can ignore that input. THe "t0" value is where you specify when the value was taken. If you need how to convert your I32 to an array of floats post back. Have fun! Ben
  8. QUOTE (TG @ Mar 6 2009, 10:57 AM) When last i looked there where about 1K bytes allocated for every opean which were NOT released until after LV shutdown for every open opeation. Ben
  9. QUOTE (TG @ Mar 6 2009, 10:44 AM) Framing Erors are generally due to issue with the transmission medium. I question the need to close and re-open. Just flushing the port and doing a retry would be my first attempt at handling this situation. Closing and re-opening a VISA session will bite you eventually uless the app is restarted regularly.
  10. QUOTE (Yair @ Mar 5 2009, 12:50 PM) Thank you Yair! It has taken me more than 16 years to get an answer to that question. Ben
  11. QUOTE (Yair @ Mar 5 2009, 12:20 PM) I tried it once! After watch Bill Clinton's swearing ceremony first his first term in office, I was suprised to learn his middle name was "Jefferson". So I did my best to transliterate William Jefferson Clinton into hebrew (using an appendix in Webster's Unabrdged Dictionary) and did the math. The big question I had was itf it was "valid" to use the letter "yud" (?) for the "J" and wether or not the double "f" warrented two letters or if it should be transliterated as a single character. Indiana Jones indicated my guess about the "yud" was right but still not sure about the double "f". Judging by history I guess I should have only used a single character for the double "f". Ben
  12. QUOTE (swalpole @ Mar 4 2009, 02:16 PM) Adding to Shawn's post; Yes investigate using LVOOP. The Class libraries do not have to be part of the exe. You can put the appropriate Class in the right place when the driver is loaded. Ben
  13. QUOTE (crelf @ Mar 3 2009, 04:29 PM) In all fairness I made that recomendation based on something that crelf said in a meeting about a month ago. :ninja: So like most stories here on LAVA they end with a carrige return and Line-feed with a little "e' thown in to allow access to the imaginary*. Ben * If you think that was bad, I can out do that! Here is a LAVA palindrome. "Avalon did no LAVA"
  14. Here are screen shots of a project I developed that had a similar (I am guessing) structure. THere is some extra stuff done on the "Save" side since my plug-in object where not by value but actually my own version of "by reference" So the For loops queries each object for its current state. But after I have all of the states they just slip into the class data and are saved as a binary. The restore side was even easier since I knew the state of teh object (read from file) so I did not have to query them but rather re-create them. I was very pleased will how well this construct adapted to changes in my class data. The only problem I ran into was when I added a field to fix an issue in the object. THe reading from file was fine but when I restored objects that had been saved before my fix was added, they didn't have the required field so they still suffered from the bug that I had just fixed! The work-around for that situation was exactly the same as when we upgrade a LV app and one of the parts is acting stupid, just delete the object and recreate a new one. Ben
  15. QUOTE (Cat @ Mar 3 2009, 10:08 AM) The http://sine.ni.com/nips/cds/view/p/lang/en/nid/206790' target="_blank">execution trace toolkit should help to nail that issue. It works with exe's and should "lift the hood" to let you peek in at what is happening while the memory is being goobled. Ben Ben
  16. QUOTE (Daklu @ Feb 27 2009, 07:49 AM) I'm confused. As soon as the proper item is selected a left-click on the diagram should start the drop. Where or why does the enter key get involved? Ben
  17. QUOTE (Antoine Châlons @ Feb 26 2009, 11:51 AM) After about three minutes of thinking I finally got it! Ben
  18. QUOTE (Michael Aivaliotis @ Feb 26 2009, 11:37 AM) Good idea! LVOOP has not been covered in any previous challenge. So what type of "bunch of similar stuff but different" challenge could we use? How about "Bug wars" where two ant hills with workers and warrior ants do battle. So which side do the cross-posters contribute too?
  19. QUOTE (Bjarne Joergensen @ Feb 26 2009, 04:34 AM) If the VI is in a project you can right-click and select find callers. I use this method to fix-up projects where someone turned on "auto-populate" with broken VI in the folders. THe missing links in the Depndencies can then be used to chase up the tree to the caller. Ben
  20. QUOTE (jdunham @ Feb 25 2009, 07:07 PM) :worship: Same routine here but I did NOT knw about the llb. Ben
  21. That image dovetails with a conversation I ws having with my buddy last night where we came away wondering if the days of the programable computer are numbered. WIth many people moving to hand held devices for phone twitter etc, gamers going to X-box like platforms, and video watcher going with Roku boxes to port videos to TVs the use of PC is being gradually eroded. Withe the recent advances of technology, we may see the reamining PC apps migrating to specialized hardware that fils the need possibly controlled by FPGAs r the like. So... THere may come a day when a a programable computer is going to become increasingly rare. Ben
  22. QUOTE (Val Brown @ Feb 24 2009, 01:20 PM) No I don't have a demo just the complete application. Lets see if this helps. I wrote a "Controls on the Fly" app that when in run mode took this form. http://lavag.org/old_files/monthly_02_2009/post-29-1235507532.png' target="_blank"> Picture was seperate process that kept a picture control updated on the GUI. Object was one of a 100 widgets that could be dropped on the screen. Information was an engine that interfaced to the real world or a simulator. WHen a value changed, the correct instance of "Object" had to be updated. When a user clicked on a region of the picture allocated for the "Object" Picture had to tell the correct "Object" about the click. "Object" could decide to change itself (like a scrolling marque indicator). So "Object" exposed methods that where avaiable to Picture and Information but could also do internal methods. So where do I keep the data for an instance of "Object"? If I stuck it in Picture or Information then either one or the other would have to be interupted or invoked from the other. On top of that, to let the Object jiggle itself, then whoever owned the data would have to periodically touch the "Object" so it could do its thing. So rather than slamming the Object into one or the other I made it its own loop so it update itself any time it wanted. To expose the Methods "Mouse Move" "and "Update Value" the Object has a unique queue to accept the Method invokation. The LVOOP method a used by the Picture effectively queued up the Method requestod required a response, the queue had built into it, a response queue that the invoker could monitor for a message with the returned data. So the Picture used the queue ref for that instance of Object to request the method. This worked fine in my book with 100 indicators/controls updating at 10 Hz with only about 35% CPU usage. What I did not like about the final app was that I could only crate about 100 widgets before I ran out of memory. I would have liked to have done more but the customer was happy so I never dug deep enough to see if I changed the structure a little if the foot-print for every instance would be smaller.* Just trying to help and maybe learn something on the way, Ben * I have this suspicion that in one of my methods I was stashing away the entire screen instead of just the background of the Object. 100 copies of a huge monitor can fill memory fast.
  23. QUOTE (Kubo @ Feb 24 2009, 11:14 AM) I'm lost as well but I'll guess. On your button bar (the bar with the run arrow) the far right button called "Reorder" may be what you want (after you select the object).
  24. QUOTE (Val Brown @ Feb 24 2009, 11:46 AM) I'll give it a try since I have not been OOPing long enough to fall into the trap of using those fancy OOPish terms. I understand the difference is the nature of the wire being passed around. IN LVOOP the data is in the wire. The "by-ref" version passes a reference to the data. So it is a question of where is the data. Since LVOOP is smart enough to work in-place it ends up being faster. The by-ref version requires moving the data (after getting a lock) to where it is manipulated and then putting it back. THe movement of data back and forth is what always kept me out of GOOP but the native LVOOP removed that limitaion. THe only limitation that I ran into is something that is an automatic in my design but not straight forward in LVOOP. I understand it to be called an "Active Object". These are objects that once created can go on by themselves doing their job while also offering services (methods) to other objects. Ben
  25. QUOTE (ASTDan @ Feb 23 2009, 11:05 AM) I thought this was a purely font issue. If the font you are using supports that character it will work. So check your font? Ben
×
×
  • Create New...

Important Information

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