Jump to content

Neil Pate

Members
  • Posts

    1,179
  • Joined

  • Last visited

  • Days Won

    109

Everything posted by Neil Pate

  1. Definitely. I am speccing out a new PC and plan on having two SM951s (NVMe) into RAID0 for a theoretical read rate of nearly 4 GB/s :-) (yup thats giga-bytes per second)
  2. I am thinking of putting together a benchmarking application that can be used to roughly gauge a PC/target's performance. Kind of like a FutureMark 3DMark but for LabVIEW code. Has anybody done anything like this? I know we all do lots of informal benchmarking of code to test performance of different algorithms, I am suggesting pick certain algorithms and then benchmark against different hardware/OS etc. Does anybody have any recommendations for test suites to run? I was thinking things like encryption algorithms, linear algebra, large FFTs etc, mass compile etc Would love to hear thoughts on this.
  3. In the seven or so years I have been dabbling with LVOOP not once have I said, "gee I am so glad that a class maintains its mutation history". Maybe it's just the kind of applications I develop, dunno. I never serialise my classes directly to disk. Also have seen some terrible editor bugs that can be traced down to stale mutation history in a class.
  4. Sorry, sounds like you know more than I do about shared variables. Can you see the variables using the Distributed System Manager? Have you taken a look at Network Streams? I find them much easier to setup and debug when things don't work. Think of them as TCP/IP with all the re-connection and other management stuff taken care of.
  5. It may be down to the fact that the hostname portion of your variable URL (i.e. RT CompactRIO Target) does not make sense when running the code in the context of the cRIO. Try something along the lines of ni.var.psp://localhost/ etc etc I am not a big fan of shared variables, and try and avoid them whenever possible.
  6. I kinda like manually adding in the Action Engine wrappers (which I do religiously for FGVs and Action Engines). I create them one at a time and test them out as I flesh out the test harness. Sure, takes a little bit longer (than scripting for example, or using GDS), but it gives my brain time to think about the names chosen for the enum values and the names of the wrapper VIs. Often holes in the API become obvious just when thinking about how the accessors will be used.
  7. I believe this is by design. Occurrences are slightly different to other kinds of reference (like notifiers etc) and the actual occurrence reference is determined at compile time or something like that. I remember reading something about this on ni.com years ago. Will try and dig it up.
  8. It's been a while since I did mine, so my memory is a bit rusty, sorry. I think I did not use a template as it would have required too much changing in the heat of the exam (I don't really like the templates shipping with LV), but I did borrow some elements from some of the templates though. The one thing I think I did re-use was the queue handling mechanism as this was neatly wrapped up and easily copied out a sample project. Don't beat yourself up, the CLED was one of the toughest exams I have done. Three and a half hours in I honestly felt like getting up and going home (to sulk), and I am pretty sure ten years ago I would have done that. Instead I managed to knuckle down and passed. In the exam I also had some weird connectivity issues with the RT target, and spent way too long trying to get my build to deploy properly. I probably wasted 30 mins doing this before saying screw it and just leaving it.
  9. Thanks for this tip. I have made the change and now I just have to wait for my application to fall over (or not fall over, hopefully!).
  10. <possible thread hijack> Jack, I had tried to do something similar with the threads just yesterday. Do you know how to achieve this in a built executable? Unfortunately threadconfig.vi is a GUI type VI, so not really able to be embedded into another application. I was able to get the contents of this VI and remove the GUI aspect and then inserted it into my code. However I am not really sure this will do what I want as I do not know if it is possible to modify the thread configuration from a running application? Perhaps I need to modify the LV IDE settings before building? </possible thread hijack>
  11. And it sure it an interesting thread if you care about things like absolute timing on FPGA. Thanks for the crosspost hooovahh I don't browse ni.com nearly as much as I used to.
  12. Perhaps the VI Server/Scripting API for some of the stuff has changed, but I expect a lot of them would work. Annoyingly a lot of the other VIs in LVClassLibrary are still password protected.
  13. In LV2014 all the VIs in the NewAccessors directory are not protected.
  14. Out of curiosity, why are you even trying to read more bytes than are in the file?
  15. That is about as cunning as a fox who's just been appointed Professor of Cunning at Oxford University.
  16. Hi, I am a UK based LabVIEW architect (also qualified as CLED and CPI) and am on the lookout for LabVIEW/systems engineering type work. My formal education consists of bachelors and masters in Electronic Engineering. My professional experience includes significant exposure to virtually the entire LabVIEW stack (PC/RT/FPGA) and I have done work in a diverse range of industries including Formula 1, Telecommunications and Aerospace. If you are in need of a skilled LabVIEW architect, for any size project, please do not hesitate to contact me via this forum. My CV is available on request.
  17. I know nothing about the internals of LabVIEW on this one, but would be a bit surprised if the parents knew about their children, it is more likely to be the other way around surely? At runtime you can inject new child classes, so surely this means the parent must have zero knowledge of children?
  18. That sounds like a very thorough process, and miles ahead of most of what I come across. Is there a jealous HTML tag?
  19. Quick show of hands, does anybody actually use the Build Number in executables? I use Major.Minor.Bugfix, but never build number. Perhaps this would be useful when using some form of continuous integration type processes, but by far on the projects I have been involved in or seen all the builds are done manually by the developer (and thus the version components are manually bumped). In this instance a new build almost certainly correlates with either a bugfix or a new feature. Thoughts?
  20. Try this
  21. Could it be default data saved in the class "cluster"? That or mutation history as James suggested are the only things I can think of that would make the .lvclass file so big.
  22. Where did you find this library? I do not seem to have it in my LabVIEW directory.
  23. Indeed, the writeup on how they managed to get CGA to display 1024 colours is fantastic (and way way over my head).
  24. http://trixter.oldskool.org/2015/04/07/8088-mph-we-break-all-your-emulators/
×
×
  • Create New...

Important Information

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