Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Analysis Library (Embedded Development Module)

LabVIEW Microprocessor SDK 2.5 Help
August 2007

NI Part Number:
372197A-01

»View Product Info

To port the LabVIEW analysis library, you must have a C++ compiler that supports the C++ Standard Template Library (STL). Also, your target must support floating-point operations either natively or though an emulator library to support the LabVIEW analysis library.

Look for an OS similar to your target OS and search the #ifdefs for that OS. Most of the porting work is done in the platdefines.h include file located in the following directory:

labview\CCodeGen\analysis\development\include

You can port the analysis library with or without BLAS/LAPACK, which is a set of highly optimized, open source math functions widely used in industry and academia. The Embedded Development Module does not include BLAS/LAPACK because BLAS/LAPACK makes analysis functionality very large. BLAS/LAPACK is more appropriate for desktop PCs where large amounts of memory are available. Define COMPILE_FOR_SMALL_RT to remove BLAS/LAPACK support.

The following directory contains the analysis source code to convert LabVIEW data types to C data types:

labview\CCodeGen\analysis\LV\source

The following directory contains the actual analysis algorithms:

labview\CCodeGen\analysis\development\source

The C++ code in the LabVIEW analysis library does not use constructors and destructors. Ignore the peak detector and pulse duration functions because these functions assume LabVIEW internals that only apply to LabVIEW for Windows. The peak detector and pulse duration functions will crash and do not work on embedded targets.

You also must set the following #defines:

LV_Embedded=1

NoFFTtablePersist=1

LVANALYSIS=1

ThreadsUsed=0

COMPILE_FOR_SMALL_RT=1

Note  The analysis library does have some thread-safe guards that require more support functions. Thread-safe guards are not implemented in this release of the Embedded Development Module.

The analysis library relies on LabVIEW.lib, which is another library that you must build. LabVIEW.lib provides an interface between LabVIEW and the analysis library. The source for the LabVIEW.lib source is located in the following file and contains functions for memory management and resizing of arrays.

labview\CCodeGen\libsrc\lvanalysis\arrresize.c

Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit