Jump to content

Recommended Posts

  • 1 year later...

I finally had a moment to take a look at this. Nice job!

I particularity like the conditional auto-indexing tunnel vim and the delete elements from array vim.

I will have to tell our developers to start moving away from the openG array VIs.

Are you going to put this up on github or the NI Tools network?

Link to post
Share on other sites

I didn't plan on git or Tools Network.  The Tools Network has a larger barrier to entry than I want to mess with for something like this.  And I've been lazy and just never done anything with Git.  The source is all there when you install it, the only thing missing is the VIPM config, and a Pre-Build VI.

I use Remove Duplicates From Array probably the most, and also I think I use Foreign Key sort quite a bit.

Link to post
Share on other sites
  • 2 weeks later...
On 9/23/2019 at 1:56 PM, hooovahh said:

I didn't plan on git or Tools Network.  The Tools Network has a larger barrier to entry than I want to mess with for something like this.  And I've been lazy and just never done anything with Git.  The source is all there when you install it, the only thing missing is the VIPM config, and a Pre-Build VI.

I use Remove Duplicates From Array probably the most, and also I think I use Foreign Key sort quite a bit.

Not having looked at your code, do you think this should go into OpenG? How can we improve OpenG? Where is the OpenG repo?

Link to post
Share on other sites
13 hours ago, Michael Aivaliotis said:

Not having looked at your code, do you think this should go into OpenG? 

Sure, why not.  OpenG array tools are great but could have used improvements over the years, from inlining, to conditional terminals, and now VIMs.  But to pump the brakes a little, I heard some rumors NI might also be in the works trying to make their own VIM array functions.  No solid timeline and no idea what functions they are tackling, or distribution method.  Then again we don't need a rumor about what NI might be doing to dictate what we are doing.  Also I have no idea who is in charge of OpenG, or how to contribute to it. <shrugs>.

Link to post
Share on other sites

Oh another consideration with this is currently OpenG Array tools work in LabVIEW 2009+.  This would make a version which would only be compatible with 2017+.

Link to post
Share on other sites
4 hours ago, hooovahh said:

Oh another consideration with this is currently OpenG Array tools work in LabVIEW 2009+.  This would make a version which would only be compatible with 2017+.

We can create a VIM array package for OpenG that is separate from the other array package. We could call it something else. So it could be distributed in 2017. Currently the entire OpenG sources are in a single repo. So you have to build everything in one LV version (2009). If we made each package its own repo then it could have its own LV versioning roadmap separate from the whole. See discussion here.

Link to post
Share on other sites

Not sure if VIPM could do this, but, if it could add the following lines to the LabVIEW ini file,

ExternalNodesEnabled=True
XNodeWizardMode=True

I think the VIMs would work in 2009+, I don't have the versions to test it.

mcduff

Link to post
Share on other sites

VIPM packages support Post Install VIs, and Post Uninstall VIs, and in there you could have a VI that edits the LabVIEW.ini file to add or remove things.  I also don't have a 2009 machine to test it with, but if this ever became an official thing I'd encourage the use only after the point NI made VIMs official.  I didn't use VIMs in pre-2016 for anything real just experimenting and don't know the stability of it in earlier versions.

Link to post
Share on other sites
12 hours ago, hooovahh said:

VIPM packages support Post Install VIs, and Post Uninstall VIs, and in there you could have a VI that edits the LabVIEW.ini file to add or remove things.  I also don't have a 2009 machine to test it with, but if this ever became an official thing I'd encourage the use only after the point NI made VIMs official.  I didn't use VIMs in pre-2016 for anything real just experimenting and don't know the stability of it in earlier versions.

NI does (Stephen Mercer) not recommend using them pre-official release version.

Link to post
Share on other sites
  • 8 months later...

@hooovahh Hi,

Somehow, I have Array VIMS 1.2.0.12 installed on my computer, the latest version here on LAVA CR is 1.2.0.9, I can't quite remember where I found 1.2.0.12

Has it been publish and them removed or is it just well hidden?

 

Edit :

Ha, I see it comes as a dependency of the Tremendous TDMS package 1.0.0.4

Edited by Antoine Chalons
Link to post
Share on other sites

VIPM is showing 1.2.09.  I thought I saw a notice on LinkedIn about Hooovahh Array VIMs being released.  I don't have access to check vipm.io at the moment (blocked by work firewalls).

Link to post
Share on other sites
2 minutes ago, crossrulz said:

VIPM is showing 1.2.09.  I thought I saw a notice on LinkedIn about Hooovahh Array VIMs being released.  I don't have access to check vipm.io at the moment (blocked by work firewalls).

We should have a fix for that (firewall issue) out in the next week or so. Thanks for your patience.

  • Thanks 1
Link to post
Share on other sites

Yeah sorry for the confusion.  I don't have official release process in place for this community stuff and I really should.  I did make a newer version of this for the TDMS package and just included it in it because I wanted to make consuming my code easiest for other developers.  But with the efforts of VIPM, and GCentral I need to evaluate the best way to share and hold myself to the process to avoid confusion in the future.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By hooovahh
      Here is the Hooovahh Array VIMs.  This initial release contains VIMs for manipulating array data, which are intended to replace OpenG functionality, but with the added benefit of data type propagation, and increased performance using newer array manipulation techniques.  In later versions other Array manipulation functions were added moving all the OpenG stuff to their own palette. 
      Version 2.0 changed the suffix naming standard.  Updating may mean replacing calls to the new versions since the name on disk has changed.  This was for consistency and I'm sorry for breaking compatibility.  The added type defs in 2.0 may break compatibility too but these help avoid code breaking bugs since VIMs allowed any data type previously.
      Most of the OpenG functions are unchanged, but a few use the newer conditional and concatenating tunnels.  And a few functions have added performance based on other inputs.  For instance the Delete Array Elements can operate in a more efficient way if the input indexes are already sorted.  The Filter 1D array can also be more efficient if the input is known to not contain any duplicates.
      Because these packages contain VIMs, they require LabVIEW 2017 or newer.  Having these functions be VIMs mean all functions work with various array data types.  Included functions are:
      Conditional Auto-Indexing Tunnel Delete Elements from (1D or 2D) Array Filter 1D Array Index (1D or 2D) Array, Scalar, Row, Column Remove Duplicates from 1D Array Reorder (1D or 2D) Array Reverse 1D Array Slice 1D Array Sort (1D or 2D) Array Convert 1D to 2D Convert 2D to 1D Find Subarray Force Array Min/Max Size Foreign Key Sort
    • By WILSTi
      Hello,

      I'm developing an application to play "Battleship" with another opponent through serial communication. I currently have the following difficulty:
       I have not been able to fill the Array with my opponent's ships, I can modify a position, but by changing the position, the result of the previous position returns to its original value.
      VI operation:

      For my turn, using the radio buttons, I select the coordinate and press the SEND button. My opponent answers me with a 1 if I hit or with a 0 if I failed, this data is what I couldn't keep in the array.
      Best regards,
      3Q.vi
    • By Chen Li
      The program obtains the number of messages in the hardware buffer through ZCAN_GetReceiveNum function, and then calls ZCAN Receive to complete the received data. When the amount of data reaches 1000 frames / s, the program will crash.
      UINT ZCAN_Receive(CHANNEL_HANDLE channel_handle,  ZCAN_Receive_Data* pReceive,  UINT len,  INT wait_time = -1);

      I think there is something wrong with creating the parameter array ZCAN Receive Data* pReceive. Has anyone ever encountered a similar problem?
       
      Receive.zip
    • By Taylorh140
      I find myself frequently looking for a good pattern for collecting a pool of array elements until they reach a certain size and then removing the oldest elements first. I have used very stupid methods like a bunch of feedback nodes being fed into an build array node. But today I thought up one that I really enjoyed and I thought that I'd share it. Its a simple pattern and no crossing wires . Perhaps someone has thought of something better, if so don't hesitate to share.

    • By X___
      For those who have been playing with malleable VIs, the Type Specialization Structure has probably become a common sight and much abused tool.
      The basic use of it is that if the action it performs is meaningless given one of the inputs, the included code will break and the next case will be tried.
      This is great, but sometimes, it can be difficult to think of all possible variants of an action, and in particular, if the action needs to be different for two or more types, but two or more types are compatible with different codes, how to make sure which code will be executed with what type?
      Enters the Types Must Match function:

      I found this little gem in... Hidden Gems, within an odd-looking VI which I felt compelled to check out, Debug Write.vim

      Open its diagram and light will shine, opening grandiose vistas and parallel universes remaining to be explored.
      Of course, as the comment on the diagram says:
      "This structure and the type-testing primitive functions it contains are not public LabVIEW features. They are experimental and should not be edited, copied, or used in other VIs without conducting extensive testing. See Context Help for details."
      Here is the context help for Types Must Match:

       
      My apologies if this all well-known among expert users, but I couldn't find it mentioned otherwise on the site...
×
×
  • Create New...

Important Information

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