Jump to content

Ton Plomp

Members
  • Posts

    1,991
  • Joined

  • Last visited

  • Days Won

    38

Posts posted by Ton Plomp

  1. index.php?app=downloads&module=display&section=screenshot&id=206

    Name: Mercurial Provider

    Submitter: Ton Plomp

    Submitted: 25 Feb 2012

    Category: *Uncertified*

    LabVIEW Version: 2011

    License Type: BSD (Most common)

    This toolkit allows you to directly communicate with you Mercurial repository, from within the LabVIEW project environment.

    This toolkit acts as an extension of the supplied LabVIEW SCC interface in LabVIEW professional.

    The toolkit allows you to commit, push, tag changesets. Has support for adding Issue tracking IDs.

    Click here to download this file

    • Like 1
  2. A side note: when I'm in this situation, I create two installers:.....

    Do you make sure that both installers have the same component code (unique installer ID)?

    If I would make two of these installers I would make the full version one version higher than the base light installer.

    This makes sure that if the user installed base light but needed full can use the upgrade method to get the full with all the additional components.

    Base Ligth 1.2.3

    Full 1.2.4

    Greetings,

    Ton

  3. As soon as I read the initial post I was thinking about TotalCommander that has several quite popular patches (TC PowerPack is my favorite), that includes a lot of customization that allows you to integrate the most idiotic features (virtual HDs, torrent downloaders, diff tools, EXIF readers etc.).

    Porting this idea to LabVIEW I can think of codesets (OpenG, MGI) additional IDE enhancements (G#, JKI Right Click Framework, or a toolbar framework).

    Additionally NI has added things that could have been in a community patch (the Project environment for instance).

    What would we want in such a toolset?

    Ton

  4. Make sure you have the correct settings in your configuration files (global:mercurial.ini or local:.hg\hgrc):

    [merge-tools]

    LVMerge.args = $base $other $local $output

    LVMerge.executable = C:\Program Files\National Instruments\Shared\LabVIEW Merge\LVMerge.exe

    LVMerge.gui = True

    LVMerge.binary = True

    [merge-patterns]

    **.vi = LVMerge

    **.ctl = LVMerge

    **.lvclass = LVMerge

    **.xctl = LVMerge

    **.lvlib = LVMerge

    (for some reason I missed the dash in merge-tools)

    Perform the following steps:

    • Right click on one of the branches, select 'merge with local'
    • Hit 'Next' in the Prepare to Merge dialog
    • In the next dialog a note is shown '1 files were modified in both branches and must be resolved', click on the underlined resolved
    • The Resolve conflicts dialog pops up.
    • In the bottom theres a dropdown menu named 'Detected/merge diff tools', select LVMerge.
    • Highlight the conflicting file in the Unresolved items list
    • Use the Tool Resolve button
    • This will launch LVMerge, which will launch the LabVIEW resolve utilities.

    I'll post a HowTo on the LabVIEW Wiki Merge with TortoiseHG page.

    Ton

  5. You could save the cmd intermediate process creation altogether by directly piping into the (Mercurial) command line tool. And if you use the OpenG Pipe functions you could potentially even use the same single mercurial command line instance to issue many commands after each other through a pipe to the stdin and receive any response through another pipe from stdout.

    I detected that Mercurial has a commandserver/pipe interface, after some debugging I got a stable 38 msec per call for the most basic call, (coming from 150 msec) so that speed improvement is pretty good.

    Here's the code I ended with:

    post-2399-0-58480300-1334304017_thumb.pn

    Do you know what the overhead per dll call is?

    Ton

    • Like 1
  6. Get terminal name is definitely wrong, just because it's correct in one case, it's not valid in all cases. (Chris mentioned typecast).

    Get data name is correct to me. The code is specifically used for variants, so if you want to use is, you should package the data as a variant, in that moment the name is preserved (however you can change it using OpenG code).

    Ton

  7. Is it a LV-bug that the cast does not accept a cluster containing an array?

    I'm not sure, however using a cast can lead to unforseen results (for instance instant memory issues)

    Is it a LV-bug that the flatten to string adds 4 unwanted bytes for the arraylength while 'prepend..' is set to FALSE?

    Nope, the 'False' is only for the top level element (cluster), and not for any objec tinside the cluster.

    Ton

  8. It depends on the DAQ, most DAQs have a measuring rang of +-5 or +-10 Volts, but are protected against higher voltages.

    You'll need to detect those higher voltages and act upon.

    Another option could be adding signal conditioning that has higher damage criteria (we use dewetron, those go up to 3 kV.

    Ton

    • Like 1
  9. In reverse order my opinion:

    • Mercurial API (developed by me) is an API to the mercurial command line interface, and does not handle merging or diffing, if you have set up diff properly, then the diff-vi will work.
    • LVMergeHG Looks promising, however I have not used it
    • Mercurial LabVIEW integration, works good for diffs and is very valuable if you want to see what changed in a file for a given changeset!

    I'm working on a Project integration for Mercurial, however the LabVIEW provider for SCC is not the most stable.

    Ton

  10. We recently sent data in TDMS format to another party (sort of competition), and we decided not to mention the dataformat, jus sent the files.

    Later I spoke one of there developers, and and I figured out they were using Matlab were able to open the files without any issue.

    Ton

  11. The first flaw I could find is the following:

    post-2399-0-04954500-1327653445_thumb.pn

    Resolving this doesn't fix the issue though.

    What's strange is that if both of these tests are false, the while loop is stale, nother really happens and all values are constant resulting in an endless loop.

    How is 20 mod 0 defined by Knuth?

    post-2399-0-89736900-1327654903.png

    Here you calculate q* and r*. But if I enter 20 mod 0 into my windows calculator it states 'operation undefind'. So the result depends on your compiler, LabVIEW returns 20 for the remainder and 0 for quotient. (sounds valid).

    Ton

×
×
  • Create New...

Important Information

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