Jump to content

shoneill

Members
  • Content Count

    858
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by shoneill

  1. QUOTE (Aristos Queue @ Apr 23 2008, 05:42 PM) Personally, I think the "Class for each data type" would definitely be the way to go. Variants are run-time bound meaning that errors are found too late. Finding errors at compile-time is very useful. :thumbup: Having classes for U8, I8, SGL, or whatever would be great. OK, this means duplicating code for a lot of things, but this brings me to a wish of my own for LVOOP. I want to be able to define interfaces, or abstract classes to help reduce this work. what's the problem? If I have a parent class with basic functionality and I want to "override" this in child classes, the parent is ALWAYS able to exist on its own in LVOOP. This is sometimes not wanted. The only other option is to duplicate the parent code in each and every child, basically negating the main benefit of the OOP approach...... OK. Rant finished. Shane.
  2. QUOTE (eaolson @ Apr 23 2008, 04:26 PM) Sounds like a decent enough Idea. You could develop Classes to stream whatever you like. It's a bit of work though. Let me know when you're finished..... Shane
  3. QUOTE (Yen @ Apr 15 2008, 05:45 PM) Shucks, you beat me to it! I was just going to say the same thing. I'm currently coding in C#, By-Reference Class usage and all. I can see the appealy of both sides..... Shane.
  4. shoneill

    Ken Lee

    Now THAT was funny! :thumbup:
  5. QUOTE (Irene_he @ Apr 13 2008, 06:04 PM) But I'll say just a couple of short things. 1) Democracy, communism or whatever has nothing to do with evil. This mistake is made from all sides. A political system cannot be inherently good or evil. It may be fair or unfair, but anything else is stretching it a bit far. It's the PEOPLE implementing the systems that are the problem. Communism is a pretty cool idea, it's just very hard to actually implement. Not that democracy has it much easier. I don't think the American system (Winner takes all) is particularly good. Have a look at how things are done in http://en.wikipedia.org/wiki/Politics_of_Switzerland' rel='nofollow' target="_blank">Switzerland. In Switzerland, if the democrats got 40% of the votes, they'd be in 40% of the governmental positions. That way the government REALLY represents what the people want. It's the best system I've encountered. 2) How many human rights violations have China comitted (I think we're pretty agreed that violations have taken place) per citizen compared to America. I think many might be surprised at the answer. 3) Finally, I think the whole "boycott China" thing is ridiculous. All countries do things other countries don't like (Italy may well vote in Berlusconi today!). That's life. Boycotting them for it generally doesn't solve anything, especially when they're big enough to survive without you anyway. A lot of the calls for boycott may well be down to fear of the unknown and general hypocrisy. That's all from me. Shane.
  6. QUOTE (Anders Björk @ Apr 10 2008, 09:12 AM) Integrate over the entire power spectrum. (You get an ever-increasing curve as a result). Then look for the index which corresponds to (CurveMAX/2) and if neccessary interpolate between two individual data points. Find the frequency associated with that index (or interpolated index) and there you have it! Shane.
  7. QUOTE (neB @ Mar 17 2008, 04:19 PM) Hey! Close the Irish branch? Over my dead keayboard! Shane.
  8. QUOTE (hooovahh @ Apr 4 2008, 03:51 PM) I'd love to have those days back where I could afford the "because I can" time it takes to do things like these. But somehow, spending the day doing useful things has it's rewards too..... Shane.
  9. QUOTE (hooovahh @ Apr 3 2008, 06:00 PM) I still cannot fathom WHY someone would actually go through the trouble of installing XP on something which is superiour without it..... As to the Iphone. Well. If you like your life being DRM'd by Steve Jobs then more power to you. I'm getting an Eee soon, and I certainly will NOT be putting XP on it. Shane. PS I would have bought an OLPC, but they don't ship outside the US.
  10. shoneill

    Nice puppy!

    QUOTE (Cmal @ Apr 1 2008, 06:19 PM) Nice. Can it fetch beer? Shane.
  11. QUOTE (tcplomp @ Apr 1 2008, 08:06 AM) Does anyone have a Throughput vs Bending radius curve for the wires? Shane.
  12. QUOTE (Omar Mussa @ Mar 31 2008, 04:21 PM) Nah, an armoured robot that small wouldn't last more than a few minutes in Aussie Rules football...... It can't even kick (Which you'd think would be a requirement for womthing called "BumBot"). Seriously, I think he'll find the people less willing to run away now that a newspaper has actually shown that the robot isn't an official police entity. I'd love to see it taken apart by crowbars and axes..... And then have someone say into the camera - "We KNOW where you are!". Imagine his bar emptying after THAT! Not that I'm into protecting law-breakers, but don' we ALL have to stick to the rules? Shane.
  13. QUOTE (Omar Mussa @ Mar 29 2008, 05:35 PM) Oh come on! There have to be laws against harassing people like that! And to do it anonymously is particularly cowardly. Shane.
  14. QUOTE (Aaron L @ Mar 27 2008, 07:50 PM) What do you mean with "take out the TermChar"? If you don't set the option at all, then it's expected that the Read will wait until timeout. This is because we're telling it to read too many bytes, which it can't do. Hence the timeout. The TermChar option simply gives the Read an earlier Termination option. A Read has three main options for termination: TermChar Timeout Bytes to read In order to make sure we stop at the "Termchar", we need to set this as a termination option. Otherwise the other two remain active, and by setting the "Bytes to Read "too high, the Timeout becomes the only real termination option left. If you lower the "Bytes to Read" (without TermChar) then at some stage (Length of your received message) the "Bytes to Read" termination option will prevail and the timeout will become irrelevant. A Read always stops when the FIRST termination option is fulfilled. For giggles, set the Timeout to -1, no "TermChar" and a huge "Bytes to Read" and you've got a VI which hangs. By doing this you've effectively removed any termination option available. There's always the otion of a Reboot Shane.
  15. QUOTE (Pollux @ Mar 26 2008, 06:34 PM) Sounds like you have a workable solution. My problem back then with LM involved up to 17 Gauss peaks with 3 coefficients each. That makes a 51x51 matrix for reduction within the LM model. The effort required to solve the model increases rapidly with increasing number of coefficients...... I'm familiar with the formula approach to things. This is how the 6.1 version used to work before the reference-based version was implemented. Thanks for the offer though. Good luck with the rest of your work, La revedere, Shane.
  16. QUOTE (orko @ Mar 26 2008, 07:52 AM) That was cool. Man, the Japanese are so.... different. Shane.
  17. QUOTE (Aristos Queue @ Mar 21 2008, 11:47 PM) Apologies for a bit of a thread hijack... The new info about sub-arrays (for me - Since when does LV work with sub-arrays?) is fascinating. So does this mean that we can "undecimate" a sub-array coming from the "Decimate Array" function? Does it also mean that if we do a 3x Decimate, then we have 3 sub-arrays basically all pointing to the same array in memory with different start and stride settings? I assume there are optimisations made based on the assumption that all of these sub-arrays are mutually exclusive.... What happens when we Interleave sub-arrays of the same array in the same order they were decimated? Does this simply return the original array, or does it create a copy? I suggest a new INI setting SuperFunkySubArrayWires = TRUE. I don't like LV doing things like this behind my back (Unless I program it that way). Shane. Ps I just spotted NevilleD's post..... Can this "Decimate (Continuous)" function re-create the original array? Can't this lead to a race condition if other sub-arrays are also running around?
  18. QUOTE (Pollux @ Mar 25 2008, 05:19 PM) It's a common problem if you are entering a text-based model. It's not the most efficient way, even though it is very flexible. You COULD write some hard-coded model VIs which can be switched at run-time by passing a different reference to the LM function. This requires that a change in the model recorrelates to creating a new VI for that model. You can then optimise the code within the respective VI. The gains in speed by using a hard-coded model versus an interpreted one must be weighed against the flexibility enjoyed by the string method. I had the situation once where I started doing multi gauss fits via text-based LM (LabVIEW 6.1) and the fits were taking something like 20 or 30 minutes to complete. After switching to a hard-coded model (And making a few optimisations) I got the fitting time down to something like 5 seconds. Without my extra optimisations (in the LM module itself) I was timing it at about 30 seconds. Even that is a 60-fold increase in speed. If you NEED the flexibility of a string model, you will always be slower than a hard-coded model. How are you interpreting / entering the model string? Shane.
  19. QUOTE Are you saying that this VI Is only included when the VIsion builder is installed? That's a bit weak from NI. What are we supposed to be able to do without a simply copy function? Are these VIs at least included in the run-time licence for the vision module? Shane.
  20. I wonder if he was a Futurama fan? Shane.
  21. QUOTE(Aristos Queue @ Mar 8 2008, 01:10 AM) I have done the .mnu thing, and it works pretty well. Awkward if you need a mnu for each class, but at least it's possible. Native support would rock! Shane.
  22. QUOTE(Aaron L @ Mar 7 2008, 12:29 AM) Aaron, The setting of the TermChar settings should be done only once immediately after you open a reference to the serial port. There's no need to call it in every loop. It might even have detrimental effects. Shane. PS Glad to be of help.
  23. @Dan Thanks for the reply. IIRC I never actually tried setting the TermChar and ASRLEndIn AND using events. That's probably my problem. @AAronL Set the number of Bytes to read to the maximum you should ever receive. I typically set it to double my maximum packet size. The reason is that the VISA read will terminate whenever the number of bytes was read OR the termination character is received, whichever comes first. So we remove the limitation of our Nr. of Bytes by telling it to read s silly amount of data. Then it will quit when it receives the LF Character. Of course, don't set the Nr of characters to read TOO high, otherwise you'll be risking locking up your program...... Also, set the termchar options immediately after opening the port, before the wait. Otherwise it'll miss the first X events. This actually seems to be a downside of my approach. With user-controlled Buffering, blocked programs can be avoided nicely. Is there a way to trigger an event on the serial port? Preferebly without OS calls? I suppose a break might do it, huh? Shane.
  24. QUOTE(ASTDan @ Mar 6 2008, 05:19 PM) Dan, slightly off topic here, but How do you get them to work? I've tried them in the past, but I can NOT get them to work...... On the other hand, isn't this basically what the VISA read does in the background with "ASRLEndIn" set to "TermChar" ? You're also not guaranteed that the string read at this time is only up to the TermChar. Timing effects (especially at hugh Baud) mean you still have to deal with reading more characters than you want and buffering and so on..... Shane.
  25. QUOTE(neB @ Mar 6 2008, 02:36 PM) True, True. It would of course be required to check and received string for a proper \cr\lf combination, otherwise buffer until both are found...... I personally prefer the half-half approach of leaving the buffering to the OS and just taking string by string (or sub-string by sub-string if some buffering is required). Generally though, any element of a termination character should NOT be present in the transmission data. It's just good design. OTOH, much in life is simply beyond our control..... Shane
×
×
  • Create New...

Important Information

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