-
Posts
4,939 -
Joined
-
Days Won
306
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by ShaunR
-
-
I feel like I've posted this before but can't find it anywhere...
Occasionally, I would like to copy an exe or installer setup from one project to another. Is this possible?
(I'm using 8.6.1)
Not really.....but...
The project file is xml. So in the past I have cut and pasted the section
<Item Name="Build Specifications" Type="Build">
.....
</item>
and it worked fine.
-
1
-
-
Yup. I do it the same way as sachsm.
-
All I can say is to invest (going with the stock market theme) in OpenG - if you are interested in becoming an OpenG Developer please PM me!
I thought I already was
. Isn't my name on an openG FP somewhere?
-
1
-
-
They never drop and the sky's the limit ...
Naaah. I'd prefer it like like JGs. You would have made a huge profit in only 3 weeks.
-
1
-
-
I'm not sure, but isn't "GetRawSocketFromConnectionID.vi" found in the TCP_NODELAY.LLB of that KB the the same as "vi.lib\Utility\tcp.llb\TCP Get Raw Net Object.vi"?.
I believe it is (or at least a wrapper for it).
This is the prototype it (TCP Get Raw Net Object.vi) uses as the call to LabVIEW
int32_t NCGetRawNetObject(uint32_t nc, uintptr_t *netobject);
It is just a typecast to get the nc parm from the connection ID.
-
Well. there is an "Addons" palette. So shouldn't "Addons" be in there? I know your post is against top level folders but I also don't prefer bunching other tools in the labview installed locations as I prefer separation between the standard labview installed software and addons/toolkits.
It's already a case that we have to drill down 3 or 4 layers of folders to find (for example) the TCPIP vis. It is that that causes menus to roam across the screen rather than having them further up the hierarchy. There is (as I have mentioned) the addons folder. There is also the User Libraries and Favourites on the top level which rarely have much in them...if anything. Better use of the top level palette folders would make more sense. But we are being told that we shouldn't use the User Libraries folder?
-
Why is it that we do not get the fine-grained thread control for CLNs as we do for VIs - or is it that "execution systems" in LabVIEW are not explicitly threads?
The execution systems consist of a number of (typically 4...up to 8) threads. In this respect, you are specifying a smaller "pool" of threads that labview should use for a particular VI or set of VIs rather than explicitly defining which threads things run in.
-
That's a good idea. (As long as the control isn't on the UI.)
You can still use it, but show the caption instead of the label. I use a similar method for changing languages.
Captions are not used nearly as frequently as they should be (IMHO)
-
1
-
-
I guess that by saying you are using the "Client Request Waveform" that you are actually polling for the wave forms rather than streaming. This is really bad for performance since you get double the amount of network latency.
16000 data points (assuming double precision numbers) equates to about 125KB. On a 100Mb connection you should be getting in the region of 60-80 updates per sec (10MB/125kB = 80).
For an example of streaming waveforms, take a look at Transport.lvlib
-
All controls/indicators have a "visible" property.
-
1
-
-
Peak detection above or below waist? (Peaks above=female, peak below=male)
Seriously though.
I read somewhere that the fundamental frequencies for males voices are about 120Hz and for female are about 210Hz. so i expect Fourier is the way forward.
-
Labwindows is (essentially) ANSI C. But it is the packaged libraries you will have to learn since they are proprietary to NI. I would dive straight in with Labwindows (C doesn't have front panels for example) and any good book on C will do for the stuff in-between.
-
How about a pitch shifter (make people sound like they are on helium). If you google, there is even an example in labview.
-
Certified 8-30-2010 placed in Remote Control, Monitoring and the Internet
-
Resubmitted on 8-27-2011 due to accidental deletion of file.
Many thanks Mark.
-
-
Maybe you can rename it to just plain "Transport".
Well. It's not a different product, just a different version. I was kinda hoping the old one wasn't deleted permanently and it could be merged back in. would renaming mean that this would be possible?
-
Name: Transport.lvlib
Submitter: ShaunR
Submitted: 27 Aug 2011
Category: Remote Control, Monitoring and the Internet
LabVIEW Version: 2009License Type: Other (included with download)
Transport.lvlib is a LabView API to simplify and accelerate networked communication development.
It simplifies development by abstracting TCPIP, UDP and Bluetooth and TLS interfaces
into a single polymorphic vi which is a thin wrapper around the conventional
open, read, write, close and listener VIs for all the network interfaces.
Features:
Supports TCP/IP, Bluetooth, UDP (p2p, broadcast and multicast) and TLS.
Supports symetric encryption (blowfish).
Supports compression (zlib).
INSTALLATION:
Run the supplied installer and follow the instructions.
-
2
-
-
Fast Trim rermoves null chars (non-printable) and not just whitespace.
-
Ok, so this is an update of the VI based on the above.
Is everyone happy (e.g. this is the most optimized version for common use case).
These are the relative times (note: Time New and Trim Whitespace+ are now the same BD):
Looks familair
. But I think the second 0xD in the arrays needs to be a 0xB if it is considered a white-space (personally, I don't think 0xB and 0xC are...but that's probably a judgement call).
-
i5-2410M only 2 cores I am afraid!
Hmmm. Foesn't make a lot of sense. Must be sheer willpower then
-
True, except I think he never found a 1 or an eight, right? So I guess it's the sextet that I truly understand. And we have come full circle.
-
@JG
Well. Both functions of yours are much faster than on my machine. Not running on a quad core are you? (it does use parallelism).
Yes I have optimised the order. But for the purposes of your tests; I moved the space char to be the last.
But in my tests (poor lowly Dual core) it made no difference whether it was in the first frame or last. The original was about 10ms faster, but since your tests are 100 ms faster than mine anyway;that's about a gnats fart
It's interesting to note that in both our cases, the native LV function is pretty similar. Again I'm coming back to parallelism since the regex functions only use the UI thread (if I remember correctly).
Note that I don't have the openG libs installed so the old one is disabled (hence zero)
Still waiting to see the performance improvements in 2011...lol.
@JK.
The main advantage of this method (over and above just being faster than the in-built function) is that it is very robust in terms of the length of the string (very similar times for a short string of say 10 chars and one of ..say 10,000 chars-all beginning and end white spaces being equal). Performance is dictated by the number of white spaces only, unlike the other methods that need to iterate over the entire string.
-
@ JG
Why have you slowed it down?
(those arrays were inside the for loops for a reason
)
@JK.
You are right. The original Trim Whitespace+.vi (thanks for pointing out the two chars I missed JG-are they considered whitespace?) was a direct replacement for the built in Trim [whitespace] function. However. the Fast Trim was more useful on comms strings (especially serial) where you can have all sorts of non-printable chars and not just "whitespace".
-
1
-
-
Why is everyone's avatar all messed up? Is it just my eyes after writing LabVIEW all day?
JG always looks like that
-
I am stuck on how to be able to generate new tab pages on the fly. In the meantime I will just have some number of blank subpanels within parent tab pages.
Use the system tab rather than the Labview one. It has the method to create them on-the-fly (if I remeber correctly).
Copy Installer to Different Project
in Application Builder, Installers and code distribution
Posted
Good point......
Don't forget to press the "Generate" button to regenerate the product code in the version page if your copying an installer.