-
Posts
1,991 -
Joined
-
Last visited
-
Days Won
38
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Ton Plomp
-
-
Good info,
could you create a page on the LabVIEW wiki, have a look at the Mercurial page for an example.
Ton
-
...
Correct. I'm not a hardcore mercurial user so I can't comment intelligently on exactly how that would happen, but in SVN, if you had a directory of packages under source code control you'd have to delete the old package and then Commit that change.
In my book Built files do not belong in SCC, for mercurial I excluded the following items from scc:
- .ogp$
- /built*$
- built
- /build*$
- .lvlps$
- .aliases$
- .zip$
This prevents OGP and zip files as wel as built/d folders to get automatically added to SCC, I can add them manually (hg add ......)
Ton
-
I doubt that you can run LabVIEW (IDE) on that platform, officially Debian is not supported by NI.
Running a Linux LabVIEW executable might work, but that really depends on what you want to do, remember that hardware support (serial for instance) is very hard to get working on debian platforms.
Ton
-
The Common folder with project library approach is quite simple, works exceptionally well for our use cases, and doesn't rely on a third party package. I can see that if you want to use the palettes (e.g., for core toolsets) you'd want to use the user.lib. Otherwise, why?
Two things come to mind:
- Paths, things in the user.lib (or vi.lib/instr.lib) have an aboslute path, moving a VI that uses one of those functions isn't going to force a re-linking.
This means I can have my code under SCC in d:\sourcecode, my colleague can have it on his USB-drive at f:\code.
Which also means it's easier to setup a coherent IDE, just install the packages in a manner you like (copy, VIPM, install with NI installer) and you have them where you expect them - QuickDrop
The items show up in a quick drop search (which can be very usefull) - The other advantage is the thing you allready mentioned but (IMHO) is very important, you can easily access them. It's possible to browse them through the palettes. In some of these dying seconds of the day (when the coffee isn't ready yet, a download is going on, facebook is offline, whatever) you can go through them and see if any of your colleagues has writing a little gem, he mentioned but you weren't listening.
Ton
- Paths, things in the user.lib (or vi.lib/instr.lib) have an aboslute path, moving a VI that uses one of those functions isn't going to force a re-linking.
-
i reached quite close to my target by using the vi used...
Could you post that VI?
I only see a screenshot of some code, but there is no typecast in that piece of code.
Ton
-
The tool I've created only sees the list of VIs within its own EXE and not the other!!! I'm connecting to port 2020 (set in the ini file of the EXE I'm trying to access) and set the port of the analyser to 2022, and it STILL somehow connects internally!!!!
Good post!
However I don't think you'll succeed in retrieving the list of VIs remotely. From the help from the property All VIs in memory:
The following table lists the characteristics of this property.
Data typePermissionsRead OnlyAvailable in Run-Time EngineYes (Read Only)Available in Real-Time Operating SystemYesRemote access disallowedYes
Remote access disallowed—Specifies if access to this property or method is disallowed with a permission error by a remote application instance. If this characteristic value is Yes, LabVIEW returns error 1032 if you try to use a remote reference to this property or method.
However I would love to be proven wrong.
Ton
-
Also, LabVIEW ships with this VI:
<vi.lib>\Platform\fileVersionInfo.llb\FileVersionInfo.vi
which will dig the version number out of your EXE file (it's the same info that you get when right-clicking on the file in Windows Explorer).
That's what you should be displaying in your about box etc., rather than some global variable that you save before building.
Also you can use property nodes to make sure the EXEs and the Installers have the same version numbers.
Here's a little snippet on how you can use this code:
Ton
-
One question, is it hard to tweak the usage to 'standard' behaviour (double click to explor).
TC API does not support such functionality. Other methods (such as activity monitoring) are not worth en effort.
No, that's not what I meant, I meant 'double click to open with TC'.
Any ideas on how to mange 'Top Level VIs' ?
Ton
-
This is absolutly super! Duper.
Kudos, to you Vugie!
One question, is it hard to tweak the usage to 'standard' behaviour (double click to explor).
I once looked at building such a plugin, but never got through the TC documentation.
Ton
-
Name: Align and distribute
Submitter: Ton Plomp
Submitted: 05 Dec 2010
File Updated: 23 Jan 2011
Category: General
LabVIEW Version: 2009
License Type: BSD (Most common)
Align Distribute objects v1.2.0
Copyright © 2010, Ton Plomp
All rights reserved.
Author: Ton Plomp
LAVA Name: Ton Plomp
Contact Info: Contact via PM on lavag.org
LabVIEW Versions:
LabVIEW 2009 and up
Dependencies:
No dependencies, demo VI needs the OpenG time library
Description:
A set of VIs to align or distribute a set of points or objects, they behave similar to the align and distribute functions in the LabVIEW IDE. These tools are usefull when dealing with objects that needs to be rearranged.
The set of VIs is bundled in one polymorphic VI (align_distribute.vi) that has the following tree layout
-Align
-Top
-point
-rectangle
-Left
-point
-rectangle
-Bottom
-point
-rectangle
-Right
-point
-rectangle
-Vertical center
-point
-rectangle
-Horizontal center
-point
-rectangle
-Vertical center
-point
-rectangle
-Distribute
-Top
-Left
-Bottom
-Right
-Vertical Centers
-Vertical Gaps
-Vertical Compress
-Horizontal Centers
-Horizontal Gaps
-Horizontal Compress
Installation and instructions:
Use the VI whereever you want, or install it into your user.lib with VI Package manage (http://www.jki-soft.com/vipm)
Examples:
The zip-file includes one DemoVI that moves front panel controls around
Known Issues:
Acknowledgements:
Icons are supplied by National Instruments in the LabVIEW IDE
Version History:
AlignDistribute - 1.2.0 (Released 2010-06-28)
=============================================
- 0000021: [bug] The palette shows Align Distribute.vi as name.
v1.1.0: Initial public release of the code.
License:
This code licensed under the BSD license
==============Start of license==================
Copyright © 2010, Ton Plomp
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the .
4. Neither the name of the nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY ''AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
==============End of license==================
Support:
If you have any problems with this code or want to suggest features:
please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and
search for the "Distribute objects" support page.
Distribution:
This code was downloaded from the LAVA Code Repository found at lavag.org
-
I use the license of my employer at home.
However every once a year I look into buying one myself (preferable a used license) or a debug license which are cheaper.
My employer is not interested in the code I produce at home, nor has the intention of ever selling code themself, my contract was just 2 pages. Our IT-rules say that I can install a local copy of MS Office for instance, and they don't make a note that they have the IP on the documents I write with MS Office, I extrapolate this guideline into a field of interest. (on the same basis I use Total Commander at home, which would be the second piece of software I would buy when starting my own company).
Ton
-
Have you changed any of the default font-style (specific the front panel default).
Ton
-
Yair is correct, working on Password protected BDs is kinda difficult. For instance what should happen with the block diagram after capturing? Should it lock?
There is some code for that purpose, but I think it's removed from the current stable revision.
Ton
-
So is there a new version of a Twitter logger?
I used the code from http://decibel.ni.co...t/docs/DOC-3284 , but, as you all know, it is not working anymore.
Any updates?
Best regards,
Sebastian
No updates on this.
The chatter I read about the Twitter implementation of OAuth is kinda 'discussable'.
I would love to have a generic OAuth toolkit that could work with Twitter.
Ton
-
Hello Everyone,
I have a 16*16 array with some I32 values and i want to know with each iteration if there is a change in any of the elements.
First step would be to XOR the old and new array. Then using a 'Not Equal to 0' node, you will get a boolean array where true means 'changed'. Then you need to check how much elements are true.
You could convert it into a 0, 1 intger array, and use the sum of the array to get the number of changed elements.
Ton
- 1
-
when i tried this within a vi that used the global normally. Yes it worked.
But when I ran it from a secondary program (with the first program running so the global should be in memory) I got that error.
That is normal, VIs are enclosed in there own application space. If you want to open a (global) VI in a different application/project, you need to open a reference to that application first.
Ton
-
"removed source from VIs"
I was getting all excited until I read that
Sorry, I meant, removed compiled code from VIs.
Darn..., to be clear the VIs posted at bitbucket should have the blockdiagrams present!
The world of SCC now gives me the power to get the latest version -1, remove the compiled code and recheck in.
EDIT:And if I really had removed the code, you could always get a version earlier.
Ton
- 1
-
After looking more into URL encoding I have figured it wouldn't be that hard to start by writing the URL encoding algorithm in LabVIEW. I'm working on that now and will see if I can then move to OAuth.
Sorry for the late reply (I really want an up to date RSS-feed).
Here I have posted some VIs that are meant to calculate hashes and keyed hashes.
Ton
-
Now that several months have gone by, how do you feel about Mercurial?
Pretty good.
I am still working on a Mercurial API, together with a Source Control Provider. (I think I finished it almost)
One of the best things is that it's quite easy to set up a public mirror of your repo's.
For instance when I develop a tool, I normally push to my private server, but once every release I push to my private server and to a public server where people can get a clone of the history.
Your right that the size of a LabVIEW repo is substantial (there is no compression possible in the latest LabVIEW versions) and every changed VI is stored as is.
Ton
-
I'm not sure what you mean by phase, but in my book that's exactly the same as the starting angle.
If you have for instance a starting angle of 90 degress, you will get a cosine wave instead of a sine.
Ton
-
-
Hi Chris,
somehow the FP.NativeWindow property with the OS handle to the Front panel window is not available in the official release.
i always have to dig up some old version to code it.
Ton
-
Perhaps the 'VI will be purged' event is something you want?
Ton
-
I'm working on a team of 5 to develop a relatively large software project spread across a PC, FPGA (R-Series card), cRIO, and an ARM board. Our last attempt this problem lead to a source control nightmare. We managed an svn repository using tortoisesvn. This became problematic because we couldn't edit any of the FPGA files without checking out the entire project. This lead to parallel projects being worked on and the eventual merging problems. I know that LV has a source control manager, but to my knowledge it requires you to have a relatively expensive source control manager. Does anyone have good ideas about how to manage a large, multi-fabric project without buying perforce?
You can use LabVIEW Profressional (not Base or Full) together with PushOK SVNSCC plugin. It's rather cheap (€30). Or JKIs TSVN interface which connects to SVN via TortoiseSVN.
Sorry, but this doesn't sound like an issue with the SCC provider (SVN), but more like an issue with the way you were doing SCC.
What do you mean by "project"? The lvproj file or the whole project from the repository? You don't need to check out (in SVN terms it's "get lock", not "check out" - that's something different) to edit one part of it.
Yes, please specify, you might need to uncheck the 'tread read-only files as locked' option. Also explore the 'Source Only' setting if you are using LabVIEW 2010.
Ton
Reuse, Packages and SCC
in Source Code Control
Posted
Looking at your process this would mean the reuse user placed vi.lib and user.lib under SCC as well?
Ton