-
Posts
4,942 -
Joined
-
Days Won
308
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by ShaunR
-
-
May seem like a silly solution.
But can't you put the data on the right hand side so as as the # columns grow; they grow away from the graph rather than towards it? Then you can keep the size fixed.
-
If you Google for
connection closed by peer
you will find this is the standard description for this error for lots of programming APIs. For example
http://technet.micro...y/cc957018.aspx
This is one of those cases where LV described the behavior using industry standard terms, which is sometimes a "damned if you do, damned if you don't" situation... very helpful for those who know the networking standards and are working in LV, somewhat misleading for LabVIEW programmers working with networking standards.
If only we had a "ping" function
-
2
-
-
-
Hi there ,
Currently we use Atmel programmer i.e sam-ba v2.9 for downloading the bin file into the microcontroller using USB-JTAG (Jlink ). I require to do the same using Labview .
The dll is available for the same .
I registered the dll successfully and using function "Automation open" the methods under it are available .
But i am unable to use the methods successfully .
for e.g the method Scan requires input as a pointer to a table where the list of devices are located ,
the data type of the input is U8 , so if i input a value of 0 , it gives me an error ..
Can anybody help , how can we pass pointers in Labview
The example code snippet given for the method in the manual is as given below,
CHAR *strConnectedDevices[5];
for (UINT i=0; i<5; i++)
strConnectedDevices = (CHAR *)malloc(100);
AT91Boot_Scan((char *)strConnectedDevices);
Please help ....
Tan
P.s attaching the library files
The char * is simply a C string and it's unfortunate you are using an activeX component since you you can pass that to and from a dll with the string type drop down selection in a code library node.
An array of strings is a different matter since there is only a selector for an array of numeric types and although you can de-reference the pointer; you don't know how long the string is in each element (unless they are fixed length)
Dereferencing pointefrom C/C++ in LabVIEW is is a fantastic article with execelent examples for many data types. The VI you will need is the Xnode GetValueByPoionter.
However, Moveblock
-
I feel sorry for any girls that are desperate enough to need to come her for lust love.
-
Please check out my new blog, the Gun Book Review, when you have a few minutes to waste. It's a tongue-in-cheek parody of serious review-type blogs where I'll discuss one of the things I do for pleasure (when I'm not programming in LabVIEW).
War and Peace next? The one book I'd rather shoot myself than read
-
Hi,
I am trying to read sqlite files in labview of 350 mb size in a computer having 3 gigs of ram and has windows xp.
I could read txt files of that size in this computer, even with a 2 gig ram. but, unable to open files of size larger than even 80 megs.
I run into out of memory problem. Is there any way I could read this kind of files.
The SQLite API is quite capable of reading 350MB plus files (I've just read a 450MB one). Your issue is probably to do with LabVIEW memory management.
If you are putting an indicator on the front panel. Don't.
LV Memory Memory Management 101:
File-size 456MB win 7 X64 LV x32
500 for the VI 0 wire junctions Requires 500 MB during and after execution.
500 MB for the VI, 500MB for the 1 wire junction, 500MB for the 1 indicator. Requires 1.5GB whilst executing (assuming it has already run once) and 1 GB after execution.
Add 1 more indicator and it will run out of memory. Why?....Because.....
500MB for the VI, 1GB for the 2 wire junctions, 1GB for the 2 indicators. Requires 2.5 GB whilst executing (assuming it has already run once) and 1.5 GB after execution.
Very approximate calculations, but I think you get the idea.
1. You need n x wire junctions more memory whilst running than you do with a static VI after execution
2. you need n x indicators memory to store the results.
-
Hmmm.
Am I right in thinking that you are trying to access exposed methods via the dll interface instead of the COM interface?
An activeX dll needs to be registered with the OS. Every-time you create your dll you should uregister and re-register it using regervr32. Then in your VI you can use the "automation open" to open a refnum which can be wired to the property nodes.
-
I don't think there is anything inherently complicated about creating Xcontrols any more than creating a class. The issue is though, is that you cannot inherit from a pre-existing control (class?). This is what makes it not worth the effort since even for a simple control (a numeric for example) all the existing properties and methods have to be re-written Instead of just writing the additional functionality.
Therefore you don't write all the normal properties and methods for that control type and end up with a specialised control, with limited functionality, which is only useful to you ( and even then, probably in only a couple of scenarios). However, if you could inherit all the properties and methods from, say, an x-y graph and just add a bit of code to add a trend-line. then that would be worthwhile.
-
Hello!
Is there any possibility to get the size of an array from a reference to the array?
Since the data type within the array is unknown, I can't convert it to the actual data type and then use the built in 'array size'.
Thanks in advance!
//Lars Mellberg
-
Shaun, if you were interested, this VI would be a great addition to OpenG. I will contact you offline to follow up.
If it needs to be a direct replacement for the normal trim. Here she is......
-
You're right. I didn't look closely enough at the code inside the loop and I flipped its logic. It happens to me sometimes.
Yes. Hunting edge cases is not what I would consider a fun activity in my current state.
OK. enough is enough eh? I've uploaded the fixed version.
Shaun, if you were interested, this VI would be a great addition to OpenG. I will contact you offline to follow up.
Knock yerself out. Do I get a fee package manager professional
-
I was watching "The Gadget Show" earlier where they were they were trying to get a football to break the sound barrier...yeah right
Anyhoo.
One of their attempts was using a high-g-gun that is usually used for crash testing to shoot cars along a rail (this is at MIRA) . They attached a football boot to it and shot the sled at a ball.They didn't say, but it looks to me like LV. Only Labview programmers are able to come up with these sorts of colour schemes for UIs
It appears about 3/4 of the way through.
-
Yeah I know. you can't build it.....but couldn't resist
-
I completely agree. We simply wanted the possibility for legal accountability (even at an extra cost), as this is necessary for certain applications and industries. We wanted 3rd party products (especially the top tier) to have the possibility of being used in the same strict environments as LabVIEW.
Those industries/companies that demand support, do so as a separate contract from the product. Some (for example) require 24 hr call-out and dedicated telephone numbers and contact names. As such accountability (legal or social) has nothing to do with the original product; II is a separate contract drawn up by the two involved parties and, accountable in it's own right.
As was pointed out before with the Linux example, There is nothing to stop a 3rd party entering into a contract to supplying support for an open source product and, indeed, there is nothing prohibitive about purchasing a product without support. It is a company policy restriction (like acceptable licenses - some companies don't allow open source at all) and that will change from one company to the next.
So the possibility is already there - It is possible to draw up a support contract regardless if you are the provider or not.
-
. That's just a bug,
Does it have a CAR?
-
2. Accountability
The response helps them resolve their current issue. But if the provider doesn't respond or the issue isn't resolved, there needs to be some accountability for the product.
This is good point. But .....
if I pay monies for a product then there are certain responsibilities that the provider must adhere to by law. This is true of not only tangible product but things like services too. If support is offered as a product or, if it is an inclusive part of a product (as stated in their literature), then the provider is bound to provide that service and is legally accountable to the terms of that service.
However, if it is not offered in this way, then the provider is only "socially" accountable and is under no obligation to provide that service and, if it is supplied, it is as a "value-added" service rather than a "rightful" one, with much less stringent responsibilities. From this definition, open source products are a socially accountable products and are no different than equivalent commercial offerings and the metric can be considered by customer satisfaction and review.
-
Does it trim whitespace and everything else as well?
Nope.
It works fine, but for 1 edge case.
I didn't look at the code, only the screenshot, but to expand on vugie's answer:
- If there's no leading or trailing white space, I believe it will keep going until it finds the first WS and trim the text before/after it as well.
- If there is no WS at all, I believe it will trim the entire string.
The function doesn't detect whites-paces, rather it detects non-white-spaces.
- It will stop at the first and last non white-space. So it will return the string at offset 0 of length = length and never gets to see any within the string.
- If there are no white-spaces at all then it will halt at offset=0 and length will equal length (length - 0 - 0) so it will return the entire string
Are we bored yet
-
That's true, but my point is that "resizable" applies to more than just whether or not there are resize handles. On OS X there is no such thing as "maximized" in the sense of not having borders. That concept just doesn't exist. Also, in Windows 7 you can grab a title bar from a maximized window and drag it somewhere else to unmaximize and then move it. There's no such thing as "maximized and not umaximizable", and If the size can change then it is resizable. Maximizing and unmaximizing changes the size, therefore if a window is maximizable it must be resizable. Like I said, this is just how it works. You can't be "maximized" if you're not resizable. The best you can do is try the steps I listed above.
Indeed. If it s maximisable then it is resizeable. But if it is maximised. it might not be resizable. The behaviour you are describing in Windows 7 is a feature of Aero that can be turned off or may not be available on some systems (and doesn't doesn't exist in XP, Vista and probably not in linux either)
I think what the OP is seeing is this.......
Create a new VI and put something in it so that it will run continuously.
Uncheck the VI properties "Allow User To Minimise Window" and Allow "User To Resize Window"
Turn off the Aero Snap
Maximise the VI.
Run the VI.
You should now have a full screen window that you cannot resize or move. and there are no minimise and no restore/maximise buttons. So far so good.
Double click on the title-bar.
It restores and now you are stuck with a non-resizeable, non-maximized (able) window.
Well in 2009 at least.
-
BUG !!!!
Anyone spotted it yet?
-
Sure you can. Just unmaximize it. That's a resize. You can only be in a maximized state if your window is resizable because you can't get into a maximized state without maximizing, and maximizing is itself an act of resizing. That's just the way Windows and Linux (and presumably OS X) work, and at the very least that's the way LabVIEW works.
Hmm.
Whaaaat?
The point I was making (don't know id you were answering it or not...lol) Was that when maximized, there are no grab-handles so you cannot grab a border and resize a window You must first "restore" it then you get your handles back and can resize it..
-
To guarantee a response time requires resources, budgets and funding to be specifically allocated to that goal. For most companies, the resource is already in place as it is considered as an integral part of a company as an accounts or purchasing department s are. Free software (not trial or shareware, but truly.free of charge and royalties) in this environment is really a loss-leader - a gateway to sales for paid products and it is the companies interest to use existing support structures to capitalise on this and a proportion of the cost of a paid product is calculated to provide this support.. I think that is reflected in that (as far as I'm aware) all "Gold Compatible" are paid-for products with only 1 exception.
However. Open source software (like the OpenG) is a non-commercial environment. As such, there are no allocated resources, budgets or funds. There is no existing support infrastructure. There is only community/personal pride, commitment to self improvement and a willingness to share; often at personal cost in both time and monies. Of course. There may not be a team of 30 engineers on the end of a telephone and the software might only be created and supported by a lone individual, but in my experience the support response is far superior as you are actually interfacing with a technical specialist rather than a telephone jocky and they have a vested interest in the product - not your wallet
.
But the biggest advantage is it has source code, and that empowers the user to be able to support themselves in a way that they cannot with proprietary, closed-source products so reliance on a fast support response is greatly diminished..
What does it actually mean "2-day turn around time on technical support". Is that to resolve an issue (I don't think anyone can guarantee that given time-zone differences). Is it to get an automated response to an email enquiry (It doesn't mean my problem will be solved). How does a 2 day support turn-around make some software more "compatible"?
I think the Standard and Silver have the right idea - Peer tested and reviewed. If you view the "Compatible" award system as a measure of excellence then I think the issue of support is a bit moot since it is catered for within reviews. If another measure (or alternative) is required to distinguish Gold from Silver, then perhaps it should be relevant to the quality, number of commendations, platform dependence or whether it comes with source?
I think if it was a quality metric, then the OpenG tools would be (and should be) Gold.
Oh. And is "Compatible With LabVIEW" the right name? Surely all software written in LabVIEw is "Compatible"
(versioning aside)
-
Maximized implies resizable.
Errrrm
If you maximize internet explorer using the Maximize/restore button you can't resize it
-
I don't mean to be hammering on you about this--I'm genuinely curious. I did a lot of Six Sigma work from 1997 through ~2005 in manufacturing-related business, but I've never quite grasped how to apply the principles to software development.
The 6 sig part is fairly straight forward and pretty well documented with templates you can apply. The hard part is the defect metrics (as applied to the software code rather than the project) and defining what they are and methods of measuring them (GUIs especially). This is especially difficult for for LabVIEW as most knowledgeable sources talk about base code size where every 100 lines is about 1 function point and we already know that it's hard to equate text lines to G. I prefer numbers of VI's with weightings for collections every 200K (directory size) since it's easy to measure and validate. But I'm sure there is a more formal way of doing it.
The Wikilibrary has a good article with some useful views on the subject.
It's much easier when you can get a ruler out and measure something
RS-422 encoder counter
in Hardware
Posted
RS422 is multi-drop and can be cabled for distances up to about 100meters.. You can have all your devices hanging off of one RS422 port (up to 12 or 16 if memory serves). If you can get all your devices with a RS422 interface then you won't need to mix and match with USB. Make sure, however, that the devices are really RS422 compliant. Some manufacturers say that they are 422 when really they are point-to-point but with RS422 line drivers (i.e not addressable).
I highly recommend the NI RS422/485 cards. for the PC end.