From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW FPGA Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
xl600

Allow project hosted IO module CLIP

Status: Already Implemented

You can add the modified CLIP in the FPGA target properties like you would a user-defined CLIP.  When you configure the IO module, the modified CLIP will show up along with the rest of the CLIPs.

While attempting to debug NI1483 issues, I found it necessary to make modifications to the NI1483 CLIP.  In LabView 2014 and earlier, it's not possible to maintain your own IO Module CLIP directory.  One must maintain all IO Modules within the IO module search path (<National Instruments>\Shared\FlexRIO\IO Modules folder ).  This can be done by copying an existing IO module to a new path within the <National Instruments>\Shared\FlexRIO\IO Modules folder, then editing the *.tbc file to rename the "model" key.  The main issues with this approach are the potential lack of administrator permissions and the difficulty of maintaining source control in a non-project related system directory.

 

The suggestion is thus:

 

1. Give the user an option to select the path of the IO module under the IO module Properties General Category (When Enable IO Module is selected).

 

That's it!

 

8 Comments
Intaris
Proven Zealot

Definitely.

David-A
NI Employee (retired)

Hello xl600,

 

I actually spoke to the AE that you were working with. During our discussion I omitted that there is such a path for this.

 

C:\Users\Public\Documents\National Instruments\FlexRIO\IO Modules

 

LabVIEW will automatically scan this directory as well as the directory that you posted for available FAM CLIPs. We actually recommend that folks use the directory I've posted for the exact reasons that you've mentioned.

xl600
Active Participant
Is that documented anywhere? The idea is more than that though. It's to allow an arbitrary path of the users choosing (EX: A path within the users project directories which is maintained under project source control is my specific desire). The C:\Users\Public... approach is helpful, don't get me wrong. But it seems to me that with the Project concept, things should be project path centric. Thanks!
Kyle_G
Member

Hi xI600,

 

This is actually possible already, but it's probably not documented well. You can add the modified CLIP in the FPGA target properties like you would a user-defined CLIP.  When you configure the IO module, the modified CLIP will show up along with the rest of the CLIPs.

xl600
Active Participant

That is a feature that should be advertised and well documented.

 

A note (I just tried it).  If you don't change the declaration name, adding it as user CLIP will override the IO MOdule clip.  You can see this by looking at the CLIP path in the IO Module properties.  "Show all versions" will also list the original CLIP path.  The suggestion then would be to ensure the Declaration name is unique.  It should also be noted that the IO Module ID is what allows the IO Module status to 'know' that this CLIP is associated with the particular IO module selected.

 

<CLIPDeclaration Name="NI 1483 Debug">
  <FormatVersion>1.1</FormatVersion>
  <CLIPVersion>1.1.0</CLIPVersion>
  <HDLName>NI1483Clip</HDLName>
  <ImplementationList>    
    <Path>NI1483Clip_debug.vhd</Path>
    <Path>NI1483Core.ngc</Path>
    <Path>NI1483Clip.ucf</Path>
  </ImplementationList>
   
  <CompatibleIOModuleList>
    <IOModule>IOModuleID:0x109374C9</IOModule>
  </CompatibleIOModuleList>

 

Thanks for this insight!

JordanG
NI Employee (retired)
Status changed to: Already Implemented

You can add the modified CLIP in the FPGA target properties like you would a user-defined CLIP.  When you configure the IO module, the modified CLIP will show up along with the rest of the CLIPs.

Intaris
Proven Zealot

So can we please have a clear guide on how to do this.  The idea is marked as already implemented but I am still unsure as to the steps required in making this work.

 

We have our CLIP files located already within our project folder but the *.tbc file to our knowledge still needs to reside in the aforementioned 

C:\Users\Public\Documents\National Instruments\FlexRIO\IO Modules Modules folder otherwise the CLIP won't initialise.  This means this file is completely outside our SVN repository.

 

Is there no way of including this file also within the project folder?

 

 

David-A
NI Employee (retired)

Intaris, you are correct, .fam/.tbc file that is required to make an IO module show up in the list of avilable FAMs needs to reside in one of the static directories.  However the files that define the CLIP that an IO Module uses can be located in the same directory as the project by importing the CLIP as external IP