Jump to content

drjdpowell

Members
  • Posts

    1,981
  • Joined

  • Last visited

  • Days Won

    183

Everything posted by drjdpowell

  1. Compiled object cache is an SQLite database, I believe, so is suspect you can easily delete VIs from it. Though you'd have to test that.
  2. I'm afraid I don't have an example. I did once prototype a version where I swapped out the flattened message format for one that used JSON (I recommend JSON as an easy, reliable format to go between languages).
  3. I use the "Advanced PNG Export" feature of https://pictogrammers.com/library/mdi/. This allows some customisation of icon (size, colour, transparency, border) before downloading.
  4. Why are you making Setting modules at all, rather than just having the other modules just read the INI file directly? This seems very over complicated.
  5. Quite a lot of good architectures are based on using messages between semi-independent modules, with the modules being based on a standardized template. There are a few such "frameworks" publicly available via vipm.io that you could look at. Mine is "Messenger Library", which has some instructional videos.
  6. I've long thought the Event API has bad naming. If the Event Reg Refnum was called "Event Queue" and the User Event was called "Event Generator", then it would be easier for people to understand it.
  7. Maybe if you posted what device you are trying to talk to, and perhaps pointed to the manual, you might get better help.
  8. Did you do the Write? It only outputs on Write. I am considering having the Read write the Template, as it is confusing to have an empty file untill the Write happens.
  9. Here is the Issues lost: https://bitbucket.org/drjdpowell/pq-labview/issues?status=new&status=open I am not actively working on this project, but it might be the case that the PQ dll used by the library needs updating.
  10. Re the main issue, this seems to be my misunderstanding about how Savepoints work (as distinct from BEGIN and ROLLBACK). Here is a relevant discussion. From that discussion, I see I should, instead of "ROLLBACK TO <Savepoint>" I should do "ROLLBACK TO <Savepoint>; RELEASE <Savepoint>;" Issue 22
  11. As an aside, you should look into the Upsert clause, which allows doing INSERT or UPDATE in a single SQL statement. Also, note that you don't need savepoints about a single transaction (all single statements are their own transaction, and either succeed or rollback automatically).
  12. Hi @mwebster, Can you upload an example showing this problem? Something is wrong somewhere, as a Savepoint outside of an open transaction should behave the same as Begin-Rollback, to my understanding.
  13. This appears to be a pretty standard "hostile takeover" attempt, complete with all the usual things like a "poison pill" defence, and an appeal to shareholders to set up for a "proxy fight". Noone in the corporate world thinks any less of Emerson for doing a very normal business thing.
  14. The market presumable thinks the offer will be accepted, possibly at a higher price.
  15. Just to second ShawnR's suggestion to look for documentation on the underlying communication protocol. Multiple times I have found poor quality LabVIEW libraries just use better quality communication protocols underneath, and I just implement that protocol with my own library.
  16. I did the exact same thing! Posted my version here: https://github.com/ni/grpc-labview/issues/206 I made a small helper class to allow easier configuration of each Procedure with a name and two message clusters:
  17. NI is working on gRPC and LabVIEW. I am trying to give them feedback on their Github page. In particular, I think they are going the wrong way in trying to create a Scripting-black-box solution rather than a simpler gRPC Library, and that this is a major danger to the project. gRPC looks like it could be important, and we have a stake in making this project successful. If anyone else would like to comment on this, please see https://github.com/ni/grpc-labview/issues/208
  18. Why are you using Finite Samples in a cycle, rather than Continuous Samples?
  19. Your doing it in the UI thread (that would have been my number one guess). Switching threads is one of the few things that can be multi-millisecond expensive. Switch the Call to "any thread". Edit: actually, even a thread switch shouldn't take 40 milliseconds, but give it a try anyway.
  20. Move block is way faster than than that. Can you post an example VI showing how you are calling it?
  21. Exactly. The function can do the approprioate thing, based on there being an upstream error. Ususally that is doing nothing, sometimes it is doing what it would have even if no error, and occasionaly it is something different.
  22. I generally solve it by not forking the reference wire and not acting on it in parallel. It's all in the UI thread anyway so there is no performance advantage to parallel execution.
  23. Actually, BOTH behaviours with or without "ignore errors inside node" set are different from error-chaining the individual subVIs (which is how I would argue stacked Property Node should behave).
  24. One option is to trigger a soft shutdown of your app, then do a reboot a short while latter.
×
×
  • Create New...

Important Information

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