1. Project description

This example demonstrates the benefits of LabVIEW Object-Oriented Programming when writing and maintaining test and measurement programs.

Refer to Read_Me.html in this project for a detailed explanation of the example.

Refer to the LabVIEW Help for more information about LabVIEW object-oriented programming.

2. Classes

This section describes the classes contained in the project.

2.2. Board Design.lvclass

Responsibility: Base class for all board types.

Version: 1.0.0.3

Diagram
Table 2. Functions (non private scope only)
Name Connector pane Description S. R. I.

Get Components

Board Design.lvclass:Get Components.vi

Get an array of components for the board.

scope-protected.png

empty.png

empty.png

Get Unique Test ID

Board Design.lvclass:Get Unique Test ID.vi

Get an identification number.

scope-protected.png

empty.png

empty.png

Enum to Board Design

Board Design.lvclass:Enum to Board Design.vi

Produce an object of the appropriate type, based on the kind of board.

empty.png

empty.png

empty.png

Check Image Matches Design

Board Design.lvclass:Check Image Matches Design.vi

Check the board image and determine if it matches the expected appearance.

empty.png

empty.png

empty.png

Get Test Name

Board Design.lvclass:Get Test Name.vi

Build a test name for this class from the board class name and identification number.

empty.png

empty.png

empty.png

Get Class Name

Board Design.lvclass:Get Class Name.vi

Get the name of this class.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.3. DAQ Board Design.lvclass

Responsibility: DAQ Board class.

Version: 1.0.0.3

Diagram
Table 3. Functions (non private scope only)
Name Connector pane Description S. R. I.

Get Components

DAQ Board Design.lvclass:Get Components.vi

Get an array of components for the board.

scope-protected.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.4. Basic DAQ Design.lvclass

Responsibility: Basic DAQ Board class.

Version: 1.0.0.3

Diagram
Table 4. Functions (non private scope only)
Name Connector pane Description S. R. I.

Get Unique Test ID

Basic DAQ Design.lvclass:Get Unique Test ID.vi

Get an identification number.

scope-protected.png

empty.png

empty.png

Get Class Name

Basic DAQ Design.lvclass:Get Class Name.vi

Get the name of this class.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.5. Elite DAQ Design.lvclass

Responsibility: Elite DAQ Board class.

Version: 1.0.0.3

Diagram
Table 5. Functions (non private scope only)
Name Connector pane Description S. R. I.

Get Components

Elite DAQ Design.lvclass:Get Components.vi

Get an array of components for the board.

scope-protected.png

empty.png

empty.png

Get Unique Test ID

Elite DAQ Design.lvclass:Get Unique Test ID.vi

Get an identification number.

scope-protected.png

empty.png

empty.png

Get Class Name

Elite DAQ Design.lvclass:Get Class Name.vi

Get the name of this class.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.6. GPIB Board Design.lvclass

Responsibility: No description found (add content in lvclass description)

Version: 1.0.0.3

Diagram
Table 6. Functions (non private scope only)
Name Connector pane Description S. R. I.

Get Components

GPIB Board Design.lvclass:Get Components.vi

Get an array of components for the board.

scope-protected.png

empty.png

empty.png

Get Unique Test ID

GPIB Board Design.lvclass:Get Unique Test ID.vi

Get an identification number.

scope-protected.png

empty.png

empty.png

Get Class Name

GPIB Board Design.lvclass:Get Class Name.vi

Get the name of this class.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.7. Component.lvclass

Responsibility: Base class for all components.

Version: 1.0.0.5

Diagram
Table 7. Functions (non private scope only)
Name Connector pane Description S. R. I.

Self Test

Component.lvclass:Self Test.vi

Check the image for this component's placement on the board.

empty.png

empty.png

empty.png

Initialize

Component.lvclass:Initialize.vi

Initialize this component.

empty.png

empty.png

empty.png

Get Row and Column

Component.lvclass:Get Row and Column.vi

Get this component's position.

empty.png

empty.png

empty.png

Get Orientation

Component.lvclass:Get Orientation.vi

Get this component's rotational orientation.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.8. AD Converter.lvclass

Responsibility: Analog to digital converter class.

Version: 1.0.0.4

Diagram
Table 8. Functions (non private scope only)
Name Connector pane Description S. R. I.

Self Test

AD Converter.lvclass:Self Test.vi

Check the image for this component's placement on the board.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.9. DA Converter.lvclass

Responsibility: Digital to analog converter class.

Version: 1.0.0.4

Diagram
Table 9. Functions (non private scope only)
Name Connector pane Description S. R. I.

Self Test

DA Converter.lvclass:Self Test.vi

Check the image for this component's placement on the board.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.10. Magic Signal Filter.lvclass

Responsibility: Filter component class.

Version: 1.0.0.4

Diagram
Table 10. Functions (non private scope only)
Name Connector pane Description S. R. I.

Self Test

Magic Signal Filter.lvclass:Self Test.vi

Check the image for this component's placement on the board.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.11. FPGA Chip.lvclass

Responsibility: FPGA component class.

Version: 1.0.0.4

Diagram
Table 11. Functions (non private scope only)
Name Connector pane Description S. R. I.

Self Test

FPGA Chip.lvclass:Self Test.vi

Check the image for this component's placement on the board.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

2.12. Resistor.lvclass

Responsibility: Resistor class.

Version: 1.0.0.4

Diagram
Table 12. Functions (non private scope only)
Name Connector pane Description S. R. I.

Self Test

Resistor.lvclass:Self Test.vi

Check the image for this component's placement on the board.

empty.png

empty.png

empty.png

Scope: scope protected → Protected | scope community → Community

Reentrancy: reentrancy preallocated → Preallocated reentrancy | reentrancy shared → Shared reentrancy

Inlining: inlined → Inlined

3.1. Document creation

This document has been generated using the following tools.

3.1.1. Antidoc

Project website: Antidoc

Maintainer website: Wovalab

BSD 3-Clause License

Copyright © 2019, Wovalab, All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • 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.

  • Neither the name of the copyright holder 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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.

3.1.2. Asciidoc for LabVIEW™

Project website: Asciidoc toolkit

Maintainer website: Wovalab

BSD 3-Clause License

Copyright © 2019, Wovalab, All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • 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.

  • Neither the name of the copyright holder 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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.

3.1.3. Graph Builder

Project website: Graph Builder

BSD 3-Clause License

Copyright © 2020, Cyril GAMBINI All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • 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.

  • Neither the name of the copyright holder 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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.

3.1.4. classy Diagram Viewer

Project website: classy Diagram Viewer

BSD 3-Clause License

Copyright © 2021, Tatiana Boyé All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • 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.

  • Neither the name of the copyright holder 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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.

3.2. Product used in the project

Antidoc hasn’t been able to detect third party products in the project. This is the author’s responsibility to list any of the missing product used.