Jump to content

ShaunR

Members
  • Posts

    4,853
  • Joined

  • Days Won

    292

Everything posted by ShaunR

  1. I usually use shift registers. Normally 2. One for the control/status etc. And one for data. Local variables get very messy very quickly.
  2. Win 7 x64 LV2010 x64. Change the socket parameter to a "pointer sized integer". it wont work if you are using lv x32 with a u64
  3. If you set your TCPIP read function to "IMMEDIATE". IT will wait for the time-out period if nothing is received and return immediately if some bytes arrive. Alternatively. If you open your TCPIP connection using the VISA functions instead of the TCPIP functions; you can you can then use a property node to read the number of bytes at the port before reading. It will also enable you (if I remember correctly) to set different time-outs for the read and write functions. If you are using a native labview STM driver, you can always go in and hard-wire the time-outs manually.
  4. This is why we need a project manager (read project/class/lvlib manager) that can nest projects like any other language can. At present, we can only include sub-components at one level down the dependent tree. This means that in your (and my) cases if your component also shares reusable code, that code cannot be used higher up the hierarchy (or so it seems). We have lost one of the big benefits of LV in that if a VI is in memory, it is automatically used (without winge-ing that x owns y or breaking VIs). If you want easily distributable (slim) components. Don't use the project manager or lvlib -. Use a VI tree.vi.
  5. Me too. . I'm going to mod Dispatcher this weekend and have a play
  6. Sweet. that's my (sad) weekend filled. A little food for thought to maybe kick off a discussion.....With a small spattering of ajax to show/refresh an image and detect where in the image the user has clicked, and you wouldn't need all the extra libraries and widgets and you can standardise the deployment (even via CDN) I think the real boon in websockets is purely for web browsers (not much difference for LV-LV client/servers). With a websocket, polling is no longer required and the server can stream data to the client. something that without websockets has always been a bit cumbersome and very limiting (requiring the user to refresh the page and use a intermediary webserver). My thoughts here are along the lines of Google Maps (but for VIs) where we can have an ajax browser API that "seamlessly" interacts with a LV front end - A remote-panel that is more effective and configurable (not to mention open source) than NI remote panels whilst being able to leverage already established technologies (KML, SVG and the like). No dedicated, pre configured servers. Just VIs and browsers. Wouldn't it be nice to just put a link in to your webpage to download the script from the NI CDN and, hey presto, your front panel appears in the <div class="NI"> tag with a websocket stream straight to/from your VI?
  7. 1. Where's the code then 2.FF4 and Opera are going to disable websocket support in future releases, over security concerns (rather foolishly). 3 Websockets are the future.
  8. Yup. Sounds very familiar. You have remembered correctly. You have not attached the manual, but. Assuming MODE doesn't stand for something else (like a number) try setting the string control to "\" Codes Display and sending $MODE ?\n
  9. Why not just pass the VISA com reference to a normal VI and just track the com reference instead of the vi reference.
  10. Well. Assuming signal names out is being populated correctly. Right click on the case structure and make sure "case-insensitive" is checked.
  11. OK. I'll get serious (just for a moment ). It depends on what you are trying to do. As far as I'm aware (under windows at least) there is no native labview way to "hook" a TCPIP connection. In fact, without a kernel level driver not many other apps can either (they use WinPCap). I know RolfK did a load with TCPIP which got into the nuts and bolts of TCPIP and UDP (they're on LAVA somewhere). But I only looked at them briefly - maybe something in there for you. If you just want to detect if something is active, you can ,however, just open the port. If it fails; "something" has it. Quick and dirty if that's all you need to know. The other way is as a proxy handler. Where, each end-point connects to ports in your software so you become the "man-in-the-middle". you can then pretty much do what you like with the streams form that point but you stipulate "without reading" so I guess that's out. Labview tries to alleviate the programmer from really low level stuff, so it's not surprising there is nothing "off-the-shelf". You are probably better off using wire-shark, logging to a file, then reading it in LV (I don't know if Wire-shark has an API or not).
  12. For me; 8.x was the worst (pick any version). I almost cried with joy when 2009 came out. I've skipped 2010 altogether - far to slow loading dynamic VIs (which many of my designs use) and no real new features or improvements that I either want or use (maybe the cluster hiding, but that's about it). It''s only used for playing and downloading stuff from LAVA - nothing serious. If 2011 is a bug-fixed version of 2010, then unless it fixes the bugs relevant to me, then that probably will get skipped as well. I'm pleased that NI now have yearly releases with defined periodic bug fixes, because now I know not to even think about upgrading until SP1 is released Oh. And don't get me started on beta testing
  13. Activation wizard works fine. Development machines don't have internet access, nor do they need it. We have separate (IT owned) machines for office work like internet browsing
  14. Lol. I don't have time for my own bugs, let alone someone else's
  15. You do realise that, in it's current format, this can never be certified I would suggest at least putting a warning in the description that the package does not contain any accessible source code as this is unusual for LAVA.
  16. Those were the days . When men were men, and sheep were worried. (and the known issues would fit on a cigarette packet ) < wispy reminiscing emoticon>
  17. Amen !!!!!. Much rather have a beer and a woman
  18. That's sweet. I like the idea of using the lexical class. How do you trim both ends? Use twice? You could use an enum to choose head/tail or both. The speed of my implementation derives from the fact you do both ends at the same time and you don't have to increment along the entire string. So the speed doesn't deteriorate with increasing string size (assuming the reverse string and array aren't a factor....which they don't seem to be). But it's a bit moot since we both have difficulty testing our implementations without resorting to ridiculous string sizes and/or improbable numbers of iterations. But I love these sorts of little nuggets of re-inventing the wheel - only a little rounder and a little more grease.
  19. In ancient times cats were worshipped as gods; they have not forgotten this. ~Terry Pratchett

    1. Show previous comments  2 more
    2. ShaunR

      ShaunR

      Nebulus: Never been....ever. Apart from cats...is it nice?

      JCarmody: Up until April 2010. Iver here it was legal to own a person, let alone a cat. As for the animal rights fanatics, if my cat (if I had one) crapped on their trousers; I'm sure they would consider me the "owner" for the dry cleaning bill.

    3. Grampa_of_Oliva_n_Eden

      Grampa_of_Oliva_n_Eden

      Once I figured how to order hamburger in metric units it was great, provided you don't dress like a nerd. Seemed like nerds scared the locals, including the kids in strollers.

    4. ShaunR

      ShaunR

      Isn't it called a "Big Mac" then? :)

      When I was learning a new language (spoken that is - and by immersion) the most useful everyday words were the numbers 1-10 and "That/this" and "OK/No":) You can pretty much shop for anything with those words and a bit of face pulling...lol

  20. MARS1.jpg? You can right click and use "Copy" then click inside the path constant and press "CTRL V". It will paste the path into the constant.
×
×
  • Create New...

Important Information

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