Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by smithd

  1. I am not a lawyer and neither is anyone you are likely to get to respond here. If your company has a legal team, I'm pretty sure they would prefer you ask them rather than the internet. With that said... On the first statement, this sounds very clearly insane. More importantly, I would assume that if it *were* correct, you posting the question here would provide a record showing that you and your company violated the license and so posting here (if the entire idea wasn't crazy) would open you up to lawsuits. On the second (VIPM package which is GPL), as I understand it this means you
  2. I would interpret that the opposite way...the point of a serialization format like json isn't to go string->data->string and have the strings match, its to go data->string->data and have the data match. According to that line in the wiki, that would seem to require 17 digits. 15 digits only handles the s->d->s use case.
  3. or smart cameras: http://www.ni.com/en-us/shop/select/smart-camera
  4. I used to be in favor of this, but I've found that user events are too buggy to use effectively in this manner without being sad.
  5. https://forums.ni.com/t5/LabVIEW/How-to-link-SQL-server-to-Labview-with-Database-Toolkit/td-p/967330 Fundamentally you need to pick out a driver that supports remote communication (readme has specific info on ms sql), then you make a configuration file or string which describes how you will talk to it (see link above), and then you use that to initiate a connection as shown in the examples in the example finder.
  6. I dont know how much of a use case there is for this toolkit on RT, but I absolutely would branch it and make my own copy if you asked me to use a pre-build VI to script a different path into an RT exe in order to safe a few usec per call
  7. I would guess in parallel you incur locking overhead either inside labview or the kernel. The problem with a constant set on install is it would be problematic for rt. I would suggest a subroutine priority fgv with caching. Would that not be the best of both worlds (except path-in-node)?
  8. For moving to 2017, was it just VIMs on the palette? Or did you encounter actual bugs with vims in 2015? (I ask because I have my own internal branch of yours, and I just put the vims in as drop VIs). Edit: It looks like my approach did not work -- the vim's don't auto-update. Maybe before they polished it in 2017, vims couldn't adapt if their type was variant? I know that polymorphs have trouble with variants so maybe its similar. I also removed the private marker for variant to json text. Its still useful on its own, and making it private broke backwards compatibility with my code. Real
  9. what about a calculated path (eg build a path control -- set to empty -- with your lib path). I was surprised by the 600 usec benchmark above -- my recollection from a few years ago was that overhead of a constant name in the CLFN vs one on the diagram was only a small overhead, maybe 13 usec vs 15 usec for some stupidly simple dll call.
  10. In contrast, today I right clicked on a random VI* in my project and labview hung...through several restarts, until I just gave up sorry, were we being positive in this thread? *to be fair I needed to use lvoop for something, so random crashes and hangs are expected
  11. I need rt, I need fpga. Most of my systems have less than 2 GB of ram, the vast majority are at 256 or 512. Database access is valuable as well, although we now have alternatives for mysql, postgres, and sqlite. I only really need 64-bit for database access tasks.
  12. awesome, thanks for sharing!
  13. This makes sense on the surface but I don't understand the real impetus for the change -- you kind of jumped from "its big and complex" to "here are solutions I came up with for the problem". Do you need to be able to reuse your core state machine inside of another application, or share behavior between implementations? Most of your solutions sound like they are still tightly coupled to a specific UI (eg get set control values), you're just adding an additional layer of code. More in reply to the other posts, since as I said I dont totally understand the problem you're trying to so
  14. Your link just makes it sound like qpid is buggy If its windows, seems like you can just use their .net code: https://qpid.apache.org/releases/qpid-cpp-1.36.0/messaging-api/book/ch01s03.html
  15. well that one i cant answer...at this point probably the tech preview for nxg :/ Its actually kind of interesting nobody has taken diff on as a vi scripting exercise. merge makes sense -- it seems hard -- but diff seems relatively easy if you consider that the built-in diff doesn't do a ton of semantic filtering on changes.
  16. Glad that worked. And yeah, the sourcetree/git was only because its available even from a single machine without setting up a server. The other differences between git and svn aren't sufficient to get worked up over.
  17. Diff is professional only, not full: http://www.ni.com/en-us/shop/labview/buy-labview.html ("Software engineering tools" section)
  18. Ah yes I see you now on the other page. Either way, sounds like maybe time for a repair. Or is there a possibility you don't have the appropriate labview version activated?
  19. Thats weird...what happens if you run the compare from labview tools menu? Does that work? Also, more generally if you havent seen: https://lavag.org/topic/17934-configuring-git-to-work-with-lvcompare-and-lvmerge/?page=2
  20. Since you wired up the file path directly you're performing an implicit open. I would assume that the implicit open uses "read/write" (the default) rather than "read-only" and "write-only" , and opening the same file as writable twice seems like something which labview or windows would take issue with.. Maintaining the reference rather than the path should fix this, as would manually opening the file with the selected access mode.
  21. Please please please start using source control other than a monthly backup. Go to https://www.sourcetreeapp.com/, install it, and create a new repo "add" a working copy option. Everything is embedded, no separate server is necessary, you're just comitting changes locally. Its 5-10 minutes to set up, then all you have to remember to do is to commit occasionally -- I do it like every hour, some people prefer when they finish a feature, but in any case its easy and simple and would solve this problem in the future. OK, so now to try to fix the issue. My first thought is to try to ena
  22. Not specifically, but it doesn't surprise me. Classes are buggy. Flattening variants is buggy. Flattening variants inside of a class...probably buggy I don't have a good answer for how to fix it either, except to say that if I know a class needs to be saved I'll always make a to/from string (or to/from config cluster) and save stuff more manually. I use dr's json lib these days.
  23. If you have the vision development module, there is a function for the built-in options: C:\Program Files (x86)\National Instruments\LabVIEW 2015\vi.lib\vision\Display.llb\IMAQ GetPalette Useful if someone wants to replicate the behavior of the imaq image display.
  24. Well you'd basically have to write a program in .net which takes, for example, TCP messages, and plops them on an AMQP queue. It would be doable, but annoying. A similar but slightly preferable mechanism would be to write a windows host program that your cRIOs talk to using plain TCP. This windows host program could do the interfacing to AMQP and potentially run on the same machine as amqp. A different route entirely would be to use the rabbitmq adapter for the MQTT protocol. I've never used the adapter, but the protocol is very simple and there are plenty of native labview implement
  • Create New...

Important Information

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