-
Posts
1,981 -
Joined
-
Last visited
-
Days Won
183
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by drjdpowell
-
Ah, so you need to get DLLs compiled for ARM. I think I just got those DLLs from the postgres install. If you have postgres on the ARM, look for those DLLs and replace the current versions with them.
-
Try your exe on a regular Windows 10 computer that does NOT have Postgres installed. This is to tell if it is a missing dll in the build, or something about Windows IoT that is the problem.
-
If those DLLs are there then my only idea is that perhaps there is an additional dll that is needed, one installed on your Dev machine but missing on the deployed machine. What is the exact error message?
-
If this is an EXE, see if libpq.dll and other dlls are included with the EXE, in its "data" folder. This should happen automatically (because the dlls are part of the PQ class), but I've seen this fail before. If they aren't there try using "Always Include" to include them. The data folder should look like this:
-
I'll have a look when I get a chance. You might just need to install 32bit postgres, just to get the pq dll from it.
-
Thanks. Issue 34 created.
-
Sure. I suspect smithd already has a backsaved version, so you might ask him.
-
A note on "Messaging": A Messaging system is one where different bits of information "messages" come through and are handled one-by-one at the same point. Because different messages are mixed together, the communication cannot be lossy. Even if you have no messages that represent must-not-be-missed commands, you will still have the problem of missing the latest update of an indicator, because of an update to a different indicator. This is different from the case of using multiple separate (possibly lossy) communication methods to update independant indicators (often, this kind of system uses the terminology of "tags"). Because they are separate, the latest value of each "tag" is never lost. But this is not "messaging". Considerations of whether to use "messaging" or "tags" is another conversation.
-
One possible option with a bad hardware driver is to make your actor an independent exe, using the NetworkMessenger for communication Then you can kill the entire exe and restart cleanly. I've never done that, though.
-
Unfortunately one sometimes has to call code like hardware DLLs that are not well written. I have to use a dll that will throw up a dialog box underneath the main LabVIEW window (never to be clicked on by the User) if it has a problem.
-
Hi Max, Recovering from a stuck hardware actor is often impossible, as it is some dll call that is stuck and LabVIEW cannot abort the call. Nor can the dll be reloaded without restarting the entire application. However one still needs to recognise and report the problem. I use the "Timeout Watchdog" recently added to the library. The main actor uses that on the handling of some message that periodically comes from the hardware actor. Now, another unreliable actor is one that handles potentially large blocks of memory. An out-of-memory error will abort the actor, invalidating it's address, and you can use an "Address Watchdog" to notify Main. In that case you probably can restart the actor and recover.
-
It's because of the lack of quotes about 'MFG'. The first function you are using requires valid JSON values, but you are feeding it unquoted standard text.
-
I ask about performance because I wouldn't have thought your new method would in general be faster. When I was considering how to improve the performance of this library I became convinced that I should produce a new package that delt directly with strings, abandoning the objects and variant attributes used here. That package is JSONtext, which I use in all new work. So I am unlikely to make more than minor improvements to this library. However, someone else could continue development of LAVA JSON if they like.
-
What kind of performance improvement does this make?
-
working on it
-
As of the latest Tools Network version, the palettes should also appear in the "Flatten/Unflatten String>>JSONtext" palette, in place of the install link in LabVIEW 2019. It's programmatically added, so let me know if that doesn't work for you.
-
Sorry, I missed your post while on vacation. I actually don't do UML diagrams, so I'm not much help.
-
Issue 31
-
See the posts starting here. You have to use opkg to install sqlite on a Linux RT system.
-
Getting a ref to a clone VI inherently unsafe?
drjdpowell replied to David Boyd's topic in Application Design & Architecture
I don't believe a this-VI ref has any problem; it is only a ref openned by name. Example, if I openned a reference to the string "MyVI.vi:6", then clone 6 of MyVI could leave memory without properly closing the ref. -
Please try the new 1.3.0 version in the LAVA-CR.
-
I know this is a OOP question, but there are other ways of addressing your problem that use "duck typing", such as Shaun's SCPI instruments. In my case, there would probably be an "actor" somewhere that responds to requests for current readings, and any actor that responds to those same messages is capable of substituting for it.