diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/ATTENUATION_LDA602.md b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/ATTENUATION_LDA602.md new file mode 100644 index 0000000000..65a59f748b --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/ATTENUATION_LDA602.md @@ -0,0 +1,57 @@ + +[//]: # (Custom component imports) + +import DocString from '@site/src/components/DocString'; +import PythonCode from '@site/src/components/PythonCode'; +import AppDisplay from '@site/src/components/AppDisplay'; +import SectionBreak from '@site/src/components/SectionBreak'; +import AppendixSection from '@site/src/components/AppendixSection'; + +[//]: # (Docstring) + +import DocstringSource from '!!raw-loader!./a1-[autogen]/docstring.txt'; +import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt'; + +{DocstringSource} +{PythonSource} + + + + + +[//]: # (Examples) + +## Examples + +import Example1 from './examples/EX1/example.md'; +import App1 from '!!raw-loader!./examples/EX1/app.json'; + + + + + {App1} + + + + + + + + +[//]: # (Appendix) + +import Notes from './appendix/notes.md'; +import Hardware from './appendix/hardware.md'; +import Media from './appendix/media.md'; + +## Appendix + + + + + + diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..5e47221917 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/docstring.txt @@ -0,0 +1,21 @@ +The ATTENUATION_LDA602 node sets or queries the attenuation for the LDA-602 Digital Attenuator. + + When setting the attenuation, the attenuation is then queried to ensure + the attenuation was set correctly. + The attenuation is rounded to the nearest 0.5 dB. + + This node should also work with compatible LDA attenuators (untested). + + Parameters + ---------- + serial_number: str + The serial number (not model number) to connect to. + query_set: str + Query or set the attenuation? + attenuation: str + The attenuation to set the LDA to, in dB. + + Returns + ------- + DataContainer + TextBlob: The current attenuation value. diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..6f37bff80c --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/python_code.txt @@ -0,0 +1,51 @@ +from flojoy import flojoy, DataContainer, TextBlob +from typing import Optional, Literal +from qcodes_contrib_drivers.drivers.Vaunix.LDA import Vaunix_LDA +import platform +from numpy import allclose +from os import path + + +@flojoy(deps={"qcodes-contrib-drivers": "0.18.0"}) +def ATTENUATION_LDA602( + serial_number: int = 839, + query_set: Literal["query", "set"] = "query", + attenuation: float = 10.0, + default: Optional[DataContainer] = None, +) -> TextBlob: + + + assert ( + platform.system() == "Windows" and platform.architecture()[0] == "64bit" + ), "This node currently supports only 64bit Windows." + + driver_path = path.dirname(__file__) + + assert path.isfile( + path.join(driver_path, "VNX_atten64.dll") + ), f"Ensure the dll file is placed here: {driver_path}" + + if query_set == "set": + assert ( + 0.0 <= attenuation <= 63.0 + ), f"The attenuation must be between 0 and 63 (set point: {attenuation})." + + attenuator = Vaunix_LDA("LDA", serial_number, dll_path=driver_path) + + match query_set: + case "query": + result = round(attenuator.attenuation() * 5, 2) + s = f"Set to {round(attenuator.attenuation() * 5, 2)} dB" + case "set": + attenuator.attenuation(attenuation) + result = round(attenuator.attenuation() * 5, 2) + + assert allclose( + result, attenuation, rtol=0.1 + ), f"Resulting attenuation {result} is far from the set point {attenuation}" + + s = f"Set to {result} dB" + + attenuator.close() + + return TextBlob(text_blob=s) diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/hardware.md b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/hardware.md @@ -0,0 +1 @@ +This node does not require any peripheral hardware to operate. Please see INSTRUMENTS for nodes that interact with the physical world through connected hardware. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/media.md b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/media.md @@ -0,0 +1 @@ +No supporting screenshots, photos, or videos have been added to the media.md file for this node. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/notes.md b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/appendix/notes.md @@ -0,0 +1 @@ +No theory or technical notes have been contributed for this node yet. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/examples/EX1/app.json b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/examples/EX1/app.json new file mode 100644 index 0000000000..ba5befedf5 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/examples/EX1/app.json @@ -0,0 +1,266 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "ATTENUATION_LDA602-01a70384-a7a8-455e-afc5-58354a065a14", + "type": "IO", + "data": { + "id": "ATTENUATION_LDA602-01a70384-a7a8-455e-afc5-58354a065a14", + "label": "set ATTENUATION LDA602", + "func": "ATTENUATION_LDA602", + "type": "IO", + "ctrls": { + "serial_number": { + "type": "int", + "default": 839, + "desc": "The serial number to connect to.", + "overload": null, + "functionName": "ATTENUATION_LDA602", + "param": "serial_number", + "value": 839 + }, + "query_set": { + "type": "select", + "options": [ + "query", + "set" + ], + "default": "query", + "desc": "Query or set the attenuation.", + "overload": null, + "functionName": "ATTENUATION_LDA602", + "param": "query_set", + "value": "set" + }, + "attenuation": { + "type": "float", + "default": 10, + "desc": "The actual set attenuation of the LDA.", + "overload": null, + "functionName": "ATTENUATION_LDA602", + "param": "attenuation", + "value": 63 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: The current attenuation value." + } + ], + "pip_dependencies": [ + { + "name": "qcodes-contrib-drivers", + "v": "0.18.0" + } + ], + "path": "IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/ATTENUATION_LDA602.py", + "selected": false + }, + "position": { + "x": -274.44438190773985, + "y": -73.26626661266889 + }, + "selected": false, + "positionAbsolute": { + "x": -274.44438190773985, + "y": -73.26626661266889 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "ATTENUATION_LDA602-9fb837d5-04fa-499b-9690-e6bb317f470b", + "type": "IO", + "data": { + "id": "ATTENUATION_LDA602-9fb837d5-04fa-499b-9690-e6bb317f470b", + "label": "query ATTENUATION LDA602", + "func": "ATTENUATION_LDA602", + "type": "IO", + "ctrls": { + "serial_number": { + "type": "int", + "default": 839, + "desc": "The serial number to connect to.", + "overload": null, + "functionName": "ATTENUATION_LDA602", + "param": "serial_number", + "value": 839 + }, + "query_set": { + "type": "select", + "options": [ + "query", + "set" + ], + "default": "query", + "desc": "Query or set the attenuation.", + "overload": null, + "functionName": "ATTENUATION_LDA602", + "param": "query_set", + "value": "query" + }, + "attenuation": { + "type": "float", + "default": 10, + "desc": "The actual set attenuation of the LDA.", + "overload": null, + "functionName": "ATTENUATION_LDA602", + "param": "attenuation", + "value": 63 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: The current attenuation value." + } + ], + "pip_dependencies": [ + { + "name": "qcodes-contrib-drivers", + "v": "0.18.0" + } + ], + "path": "IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/ATTENUATION_LDA602.py", + "selected": false + }, + "position": { + "x": 130.34293392154294, + "y": -72.57866849978348 + }, + "selected": false, + "positionAbsolute": { + "x": 130.34293392154294, + "y": -72.57866849978348 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-81987d18-dee4-4ad7-97b6-d9e578af8cd9", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-81987d18-dee4-4ad7-97b6-d9e578af8cd9", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "the DataContainer to be visualized in text format" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 491.92005634995985, + "y": -121.10237142182902 + }, + "selected": false, + "positionAbsolute": { + "x": 491.92005634995985, + "y": -121.10237142182902 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-e35abb45-2e39-4860-8788-fa174df6738f", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-e35abb45-2e39-4860-8788-fa174df6738f", + "label": "TEXT VIEW 1", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "the DataContainer to be visualized in text format" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 118.78073739813146, + "y": -370.56072994021326 + }, + "selected": false, + "positionAbsolute": { + "x": 118.78073739813146, + "y": -370.56072994021326 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "ATTENUATION_LDA602-01a70384-a7a8-455e-afc5-58354a065a14", + "sourceHandle": "default", + "target": "ATTENUATION_LDA602-9fb837d5-04fa-499b-9690-e6bb317f470b", + "targetHandle": "default", + "id": "reactflow__edge-ATTENUATION_LDA602-01a70384-a7a8-455e-afc5-58354a065a14default-ATTENUATION_LDA602-9fb837d5-04fa-499b-9690-e6bb317f470bdefault" + }, + { + "source": "ATTENUATION_LDA602-9fb837d5-04fa-499b-9690-e6bb317f470b", + "sourceHandle": "default", + "target": "TEXT_VIEW-81987d18-dee4-4ad7-97b6-d9e578af8cd9", + "targetHandle": "default", + "id": "reactflow__edge-ATTENUATION_LDA602-9fb837d5-04fa-499b-9690-e6bb317f470bdefault-TEXT_VIEW-81987d18-dee4-4ad7-97b6-d9e578af8cd9default" + }, + { + "source": "ATTENUATION_LDA602-01a70384-a7a8-455e-afc5-58354a065a14", + "sourceHandle": "default", + "target": "TEXT_VIEW-e35abb45-2e39-4860-8788-fa174df6738f", + "targetHandle": "default", + "id": "reactflow__edge-ATTENUATION_LDA602-01a70384-a7a8-455e-afc5-58354a065a14default-TEXT_VIEW-e35abb45-2e39-4860-8788-fa174df6738fdefault" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/examples/EX1/example.md b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/AC_CURRENT_USB4065.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/AC_CURRENT_USB4065.md new file mode 100644 index 0000000000..d5691a0693 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/AC_CURRENT_USB4065.md @@ -0,0 +1,57 @@ + +[//]: # (Custom component imports) + +import DocString from '@site/src/components/DocString'; +import PythonCode from '@site/src/components/PythonCode'; +import AppDisplay from '@site/src/components/AppDisplay'; +import SectionBreak from '@site/src/components/SectionBreak'; +import AppendixSection from '@site/src/components/AppendixSection'; + +[//]: # (Docstring) + +import DocstringSource from '!!raw-loader!./a1-[autogen]/docstring.txt'; +import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt'; + +{DocstringSource} +{PythonSource} + + + + + +[//]: # (Examples) + +## Examples + +import Example1 from './examples/EX1/example.md'; +import App1 from '!!raw-loader!./examples/EX1/app.json'; + + + + + {App1} + + + + + + + + +[//]: # (Appendix) + +import Notes from './appendix/notes.md'; +import Hardware from './appendix/hardware.md'; +import Media from './appendix/media.md'; + +## Appendix + + + + + + diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..6e4a8b0dfd --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/docstring.txt @@ -0,0 +1,28 @@ +The AC_CURRENT_USB4065 node reads the AC current from a USB-4065. + + The USB-4065 is a NI (National Instruments) multimeter. It is possible that + the node will work with other NI DMMs (digital multimeters) such as the + 4070 and 4080 series. + + This instrument will likely only be compatible with Windows systems due to + NI driver availablity. To use the instrument you must install the runtime: + + https://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html + + You must also find the address/resource name for the instrument. You can + find this using the NI MAX programming which can be downloaded when + installing the drivers. + + Parameters + ---------- + NI_address: str + The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1'). + digits: str + The accuracy of the reading in digits. Lower values are faster. + current_limit: str + The maximum current to allow, in Amps. + + Returns + ------- + DataContainer + Scalar: The AC current reading. diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..a1a49734fd --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/python_code.txt @@ -0,0 +1,27 @@ +from flojoy import flojoy, DataContainer, Scalar +from flojoy.connection_manager import DeviceConnectionManager +from typing import Optional, Literal +import nidmm + + +@flojoy(deps={"nidmm": "1.4.6"}) +def AC_CURRENT_USB4065( + NI_address: str = "Dev1", + digits: Literal["4.5", "5.5", "6.5"] = "5.5", + current_limit: Literal["0.01", "0.1", "0.5", "3"] = "3", + default: Optional[DataContainer] = None, +) -> Scalar: + + + connection = DeviceConnectionManager.get_connection(NI_address) + session = connection.get_handle() + + session.configure_measurement_digits( + nidmm.Function.AC_CURRENT, + range=float(current_limit), + resolution_digits=float(digits), + ) + + reading = session.read() + + return Scalar(c=reading) diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/hardware.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/hardware.md @@ -0,0 +1 @@ +This node does not require any peripheral hardware to operate. Please see INSTRUMENTS for nodes that interact with the physical world through connected hardware. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/media.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/media.md @@ -0,0 +1 @@ +No supporting screenshots, photos, or videos have been added to the media.md file for this node. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/notes.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/appendix/notes.md @@ -0,0 +1 @@ +No theory or technical notes have been contributed for this node yet. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/examples/EX1/app.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/examples/EX1/app.json new file mode 100644 index 0000000000..ede8f608e3 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/examples/EX1/app.json @@ -0,0 +1,454 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "type": "IO", + "data": { + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "label": "CONNECTION USB4065", + "func": "CONNECTION_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "CONNECTION_USB4065", + "param": "NI_address", + "value": "Dev1" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": "Optional: None" + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.py", + "selected": false + }, + "position": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "selected": false, + "positionAbsolute": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "label": "BIG NUMBER", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 789.5089067672151, + "y": -337.92011150709266 + }, + "selected": false, + "positionAbsolute": { + "x": 789.5089067672151, + "y": -337.92011150709266 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "label": "BIG NUMBER 1", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 788.5306367510525, + "y": -17.717544827417925 + }, + "selected": false, + "positionAbsolute": { + "x": 788.5306367510525, + "y": -17.717544827417925 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895", + "type": "IO", + "data": { + "id": "AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895", + "label": "AC CURRENT USB4065", + "func": "AC_CURRENT_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "AC_CURRENT_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "AC_CURRENT_USB4065", + "param": "digits", + "value": "5.5" + }, + "current_limit": { + "type": "select", + "options": [ + "0.01", + "0.1", + "0.5", + "3" + ], + "default": "3", + "desc": "The maximum current to allow, in Amps.", + "overload": null, + "functionName": "AC_CURRENT_USB4065", + "param": "current_limit", + "value": "3" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The AC current reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/AC_CURRENT_USB4065.py", + "selected": false + }, + "position": { + "x": 409.98201629627056, + "y": 4.911279697871066 + }, + "selected": false, + "positionAbsolute": { + "x": 409.98201629627056, + "y": 4.911279697871066 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7eb", + "type": "IO", + "data": { + "id": "AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7eb", + "label": "AC VOLTAGE USB4065", + "func": "AC_VOLTAGE_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "AC_VOLTAGE_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "AC_VOLTAGE_USB4065", + "param": "digits", + "value": "5.5" + }, + "voltage_limit": { + "type": "select", + "options": [ + "0.2", + "2", + "20", + "300" + ], + "default": "20", + "desc": "The maximum voltage to allow, in Volts.", + "overload": null, + "functionName": "AC_VOLTAGE_USB4065", + "param": "voltage_limit", + "value": "20" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The AC voltage reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/AC_VOLTAGE_USB4065.py", + "selected": false + }, + "position": { + "x": 411.59905358626946, + "y": -327.4361310374542 + }, + "selected": false, + "positionAbsolute": { + "x": 411.59905358626946, + "y": -327.4361310374542 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7eb", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7ebdefault" + }, + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895default" + }, + { + "source": "AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895", + "sourceHandle": "default", + "target": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "targetHandle": "default", + "id": "reactflow__edge-AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895default-BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085decdefault" + }, + { + "source": "AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7eb", + "sourceHandle": "default", + "target": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "targetHandle": "default", + "id": "reactflow__edge-AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7ebdefault-BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06bdefault" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/examples/EX1/example.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/AC_VOLTAGE_USB4065.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/AC_VOLTAGE_USB4065.md new file mode 100644 index 0000000000..83b8367608 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/AC_VOLTAGE_USB4065.md @@ -0,0 +1,57 @@ + +[//]: # (Custom component imports) + +import DocString from '@site/src/components/DocString'; +import PythonCode from '@site/src/components/PythonCode'; +import AppDisplay from '@site/src/components/AppDisplay'; +import SectionBreak from '@site/src/components/SectionBreak'; +import AppendixSection from '@site/src/components/AppendixSection'; + +[//]: # (Docstring) + +import DocstringSource from '!!raw-loader!./a1-[autogen]/docstring.txt'; +import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt'; + +{DocstringSource} +{PythonSource} + + + + + +[//]: # (Examples) + +## Examples + +import Example1 from './examples/EX1/example.md'; +import App1 from '!!raw-loader!./examples/EX1/app.json'; + + + + + {App1} + + + + + + + + +[//]: # (Appendix) + +import Notes from './appendix/notes.md'; +import Hardware from './appendix/hardware.md'; +import Media from './appendix/media.md'; + +## Appendix + + + + + + diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..2ff2bb5615 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/docstring.txt @@ -0,0 +1,28 @@ +The AC_VOLTAGE_USB4065 node reads the AC voltage from a USB-4065. + + The USB-4065 is a NI (National Instruments) multimeter. It is possible that + the node will work with other NI DMMs (digital multimeters) such as the + 4070 and 4080 series. + + This instrument will likely only be compatible with Windows systems due to + NI driver availablity. To use the instrument you must install the runtime: + + https://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html + + You must also find the address/resource name for the instrument. You can + find this using the NI MAX programming which can be downloaded when + installing the drivers. + + Parameters + ---------- + NI_address: str + The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1'). + digits: str + The accuracy of the reading in digits. Lower values are faster. + voltage_limit: str + The maximum voltage to allow, in Volts. + + Returns + ------- + DataContainer + Scalar: The AC voltage reading. diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..8768ea1972 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/python_code.txt @@ -0,0 +1,27 @@ +from flojoy import flojoy, DataContainer, Scalar +from flojoy.connection_manager import DeviceConnectionManager +from typing import Optional, Literal +import nidmm + + +@flojoy(deps={"nidmm": "1.4.6"}) +def AC_VOLTAGE_USB4065( + NI_address: str = "Dev1", + digits: Literal["4.5", "5.5", "6.5"] = "5.5", + voltage_limit: Literal["0.2", "2", "20", "300"] = "20", + default: Optional[DataContainer] = None, +) -> Scalar: + + + connection = DeviceConnectionManager.get_connection(NI_address) + session = connection.get_handle() + + session.configure_measurement_digits( + nidmm.Function.AC_VOLTS, + range=float(voltage_limit), + resolution_digits=float(digits), + ) + + reading = session.read() + + return Scalar(c=reading) diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/hardware.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/hardware.md @@ -0,0 +1 @@ +This node does not require any peripheral hardware to operate. Please see INSTRUMENTS for nodes that interact with the physical world through connected hardware. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/media.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/media.md @@ -0,0 +1 @@ +No supporting screenshots, photos, or videos have been added to the media.md file for this node. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/notes.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/appendix/notes.md @@ -0,0 +1 @@ +No theory or technical notes have been contributed for this node yet. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/examples/EX1/app.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/examples/EX1/app.json new file mode 100644 index 0000000000..ede8f608e3 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/examples/EX1/app.json @@ -0,0 +1,454 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "type": "IO", + "data": { + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "label": "CONNECTION USB4065", + "func": "CONNECTION_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "CONNECTION_USB4065", + "param": "NI_address", + "value": "Dev1" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": "Optional: None" + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.py", + "selected": false + }, + "position": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "selected": false, + "positionAbsolute": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "label": "BIG NUMBER", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 789.5089067672151, + "y": -337.92011150709266 + }, + "selected": false, + "positionAbsolute": { + "x": 789.5089067672151, + "y": -337.92011150709266 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "label": "BIG NUMBER 1", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 788.5306367510525, + "y": -17.717544827417925 + }, + "selected": false, + "positionAbsolute": { + "x": 788.5306367510525, + "y": -17.717544827417925 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895", + "type": "IO", + "data": { + "id": "AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895", + "label": "AC CURRENT USB4065", + "func": "AC_CURRENT_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "AC_CURRENT_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "AC_CURRENT_USB4065", + "param": "digits", + "value": "5.5" + }, + "current_limit": { + "type": "select", + "options": [ + "0.01", + "0.1", + "0.5", + "3" + ], + "default": "3", + "desc": "The maximum current to allow, in Amps.", + "overload": null, + "functionName": "AC_CURRENT_USB4065", + "param": "current_limit", + "value": "3" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The AC current reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/AC_CURRENT_USB4065.py", + "selected": false + }, + "position": { + "x": 409.98201629627056, + "y": 4.911279697871066 + }, + "selected": false, + "positionAbsolute": { + "x": 409.98201629627056, + "y": 4.911279697871066 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7eb", + "type": "IO", + "data": { + "id": "AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7eb", + "label": "AC VOLTAGE USB4065", + "func": "AC_VOLTAGE_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "AC_VOLTAGE_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "AC_VOLTAGE_USB4065", + "param": "digits", + "value": "5.5" + }, + "voltage_limit": { + "type": "select", + "options": [ + "0.2", + "2", + "20", + "300" + ], + "default": "20", + "desc": "The maximum voltage to allow, in Volts.", + "overload": null, + "functionName": "AC_VOLTAGE_USB4065", + "param": "voltage_limit", + "value": "20" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The AC voltage reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/AC_VOLTAGE_USB4065.py", + "selected": false + }, + "position": { + "x": 411.59905358626946, + "y": -327.4361310374542 + }, + "selected": false, + "positionAbsolute": { + "x": 411.59905358626946, + "y": -327.4361310374542 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7eb", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7ebdefault" + }, + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895default" + }, + { + "source": "AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895", + "sourceHandle": "default", + "target": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "targetHandle": "default", + "id": "reactflow__edge-AC_CURRENT_USB4065-01f8cd65-f159-48d8-941a-f78f4cf89895default-BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085decdefault" + }, + { + "source": "AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7eb", + "sourceHandle": "default", + "target": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "targetHandle": "default", + "id": "reactflow__edge-AC_VOLTAGE_USB4065-75a4399f-a1b3-4cfe-b110-3cea79bce7ebdefault-BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06bdefault" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/examples/EX1/example.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.md new file mode 100644 index 0000000000..3ebadba6e8 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.md @@ -0,0 +1,57 @@ + +[//]: # (Custom component imports) + +import DocString from '@site/src/components/DocString'; +import PythonCode from '@site/src/components/PythonCode'; +import AppDisplay from '@site/src/components/AppDisplay'; +import SectionBreak from '@site/src/components/SectionBreak'; +import AppendixSection from '@site/src/components/AppendixSection'; + +[//]: # (Docstring) + +import DocstringSource from '!!raw-loader!./a1-[autogen]/docstring.txt'; +import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt'; + +{DocstringSource} +{PythonSource} + + + + + +[//]: # (Examples) + +## Examples + +import Example1 from './examples/EX1/example.md'; +import App1 from '!!raw-loader!./examples/EX1/app.json'; + + + + + {App1} + + + + + + + + +[//]: # (Appendix) + +import Notes from './appendix/notes.md'; +import Hardware from './appendix/hardware.md'; +import Media from './appendix/media.md'; + +## Appendix + + + + + + diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..f03c50bd32 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/docstring.txt @@ -0,0 +1,11 @@ +The CONNECTION_MDO3XXX node connects Flojoy to a + + Parameters + ---------- + NI_address: str + The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1'). + + Returns + ------- + DataContainer + Optional: None diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..1d210debfd --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/python_code.txt @@ -0,0 +1,17 @@ +from flojoy import flojoy, DataContainer, NIDevice +from flojoy.connection_manager import DeviceConnectionManager +from typing import Optional +import nidmm + + +@flojoy(deps={"nidmm": "1.4.6"}) +def CONNECTION_USB4065( + NI_address: str = "Dev1", + default: Optional[DataContainer] = None, +) -> Optional[DataContainer]: + + + session = nidmm.Session(NI_address) + DeviceConnectionManager.register_connection(NIDevice(NI_address), session) + + return None diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/hardware.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/hardware.md @@ -0,0 +1 @@ +This node does not require any peripheral hardware to operate. Please see INSTRUMENTS for nodes that interact with the physical world through connected hardware. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/media.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/media.md @@ -0,0 +1 @@ +No supporting screenshots, photos, or videos have been added to the media.md file for this node. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/notes.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/appendix/notes.md @@ -0,0 +1 @@ +No theory or technical notes have been contributed for this node yet. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/examples/EX1/app.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/examples/EX1/app.json new file mode 100644 index 0000000000..7ee5bc2698 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/examples/EX1/app.json @@ -0,0 +1,266 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "type": "IO", + "data": { + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "label": "CONNECTION USB4065", + "func": "CONNECTION_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "CONNECTION_USB4065", + "param": "NI_address", + "value": "Dev1" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": "Optional: None" + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.py", + "selected": false + }, + "position": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "selected": false, + "positionAbsolute": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "label": "BIG NUMBER 1", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 779.8328146881206, + "y": -134.05091491913146 + }, + "selected": false, + "positionAbsolute": { + "x": 779.8328146881206, + "y": -134.05091491913146 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3", + "type": "IO", + "data": { + "id": "RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3", + "label": "RESISTANCE USB4065", + "func": "RESISTANCE_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "RESISTANCE_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "RESISTANCE_USB4065", + "param": "digits", + "value": "4.5" + }, + "resist_limit": { + "type": "select", + "options": [ + "100", + "1000", + "1e4", + "1e5", + "1e6", + "1e7", + "1e8" + ], + "default": "1e8", + "desc": "The maximum resistance to allow, in Volts.", + "overload": null, + "functionName": "RESISTANCE_USB4065", + "param": "resist_limit", + "value": "100" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The DC voltage reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/RESISTANCE_USB4065.py", + "selected": false + }, + "position": { + "x": 383.1035717255011, + "y": -122.14124419049455 + }, + "selected": false, + "positionAbsolute": { + "x": 383.1035717255011, + "y": -122.14124419049455 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3default" + }, + { + "source": "RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3", + "sourceHandle": "default", + "target": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "targetHandle": "default", + "id": "reactflow__edge-RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3default-BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085decdefault" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/examples/EX1/example.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/DC_CURRENT_USB4065.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/DC_CURRENT_USB4065.md new file mode 100644 index 0000000000..8dbe2a1ac8 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/DC_CURRENT_USB4065.md @@ -0,0 +1,57 @@ + +[//]: # (Custom component imports) + +import DocString from '@site/src/components/DocString'; +import PythonCode from '@site/src/components/PythonCode'; +import AppDisplay from '@site/src/components/AppDisplay'; +import SectionBreak from '@site/src/components/SectionBreak'; +import AppendixSection from '@site/src/components/AppendixSection'; + +[//]: # (Docstring) + +import DocstringSource from '!!raw-loader!./a1-[autogen]/docstring.txt'; +import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt'; + +{DocstringSource} +{PythonSource} + + + + + +[//]: # (Examples) + +## Examples + +import Example1 from './examples/EX1/example.md'; +import App1 from '!!raw-loader!./examples/EX1/app.json'; + + + + + {App1} + + + + + + + + +[//]: # (Appendix) + +import Notes from './appendix/notes.md'; +import Hardware from './appendix/hardware.md'; +import Media from './appendix/media.md'; + +## Appendix + + + + + + diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..22e1235007 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/docstring.txt @@ -0,0 +1,28 @@ +The DC_CURRENT_USB4065 node reads the DC current from a USB-4065. + + The USB-4065 is a NI (National Instruments) multimeter. It is possible that + the node will work with other NI DMMs (digital multimeters) such as the + 4070 and 4080 series. + + This instrument will likely only be compatible with Windows systems due to + NI driver availablity. To use the instrument you must install the runtime: + + https://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html + + You must also find the address/resource name for the instrument. You can + find this using the NI MAX programming which can be downloaded when + installing the drivers. + + Parameters + ---------- + NI_address: str + The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1'). + digits: str + The accuracy of the reading in digits. Lower values are faster. + current_limit: str + The maximum current to allow, in Amps. + + Returns + ------- + DataContainer + Scalar: The DC current reading. diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..aa895ded68 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/python_code.txt @@ -0,0 +1,27 @@ +from flojoy import flojoy, DataContainer, Scalar +from flojoy.connection_manager import DeviceConnectionManager +from typing import Optional, Literal +import nidmm + + +@flojoy(deps={"nidmm": "1.4.6"}) +def DC_CURRENT_USB4065( + NI_address: str = "Dev1", + digits: Literal["4.5", "5.5", "6.5"] = "5.5", + current_limit: Literal["0.01", "0.1", "1", "3"] = "3", + default: Optional[DataContainer] = None, +) -> Scalar: + + + connection = DeviceConnectionManager.get_connection(NI_address) + session = connection.get_handle() + + session.configure_measurement_digits( + nidmm.Function.DC_CURRENT, + range=float(current_limit), + resolution_digits=float(digits), + ) + + reading = session.read() + + return Scalar(c=reading) diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/hardware.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/hardware.md @@ -0,0 +1 @@ +This node does not require any peripheral hardware to operate. Please see INSTRUMENTS for nodes that interact with the physical world through connected hardware. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/media.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/media.md @@ -0,0 +1 @@ +No supporting screenshots, photos, or videos have been added to the media.md file for this node. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/notes.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/appendix/notes.md @@ -0,0 +1 @@ +No theory or technical notes have been contributed for this node yet. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/examples/EX1/app.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/examples/EX1/app.json new file mode 100644 index 0000000000..269fc5f34e --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/examples/EX1/app.json @@ -0,0 +1,456 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "type": "IO", + "data": { + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "label": "CONNECTION USB4065", + "func": "CONNECTION_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "CONNECTION_USB4065", + "param": "NI_address", + "value": "Dev1" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": "Optional: None" + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.py", + "selected": false + }, + "position": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "selected": false, + "positionAbsolute": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "label": "BIG NUMBER", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 789.5089067672151, + "y": -337.92011150709266 + }, + "selected": false, + "positionAbsolute": { + "x": 789.5089067672151, + "y": -337.92011150709266 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbb", + "type": "IO", + "data": { + "id": "DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbb", + "label": "DC VOLTAGE USB4065", + "func": "DC_VOLTAGE_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "DC_VOLTAGE_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "DC_VOLTAGE_USB4065", + "param": "digits", + "value": "5.5" + }, + "voltage_limit": { + "type": "select", + "options": [ + "0.1", + "1", + "10", + "100", + "300" + ], + "default": "10", + "desc": "The maximum voltage to allow, in Volts.", + "overload": null, + "functionName": "DC_VOLTAGE_USB4065", + "param": "voltage_limit", + "value": "10" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The DC voltage reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/DC_VOLTAGE_USB4065.py", + "selected": false + }, + "position": { + "x": 387.584587312525, + "y": -281.5498028061119 + }, + "selected": false, + "positionAbsolute": { + "x": 387.584587312525, + "y": -281.5498028061119 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "label": "BIG NUMBER 1", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": true + }, + "position": { + "x": 788.5306367510525, + "y": -17.717544827417925 + }, + "selected": true, + "positionAbsolute": { + "x": 788.5306367510525, + "y": -17.717544827417925 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09e", + "type": "IO", + "data": { + "id": "DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09e", + "label": "DC CURRENT USB4065", + "func": "DC_CURRENT_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "DC_CURRENT_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "DC_CURRENT_USB4065", + "param": "digits", + "value": "4.5" + }, + "current_limit": { + "type": "select", + "options": [ + "0.01", + "0.1", + "1", + "3" + ], + "default": "3", + "desc": "The maximum current to allow, in Amps.", + "overload": null, + "functionName": "DC_CURRENT_USB4065", + "param": "current_limit", + "value": "3" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The DC current reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/DC_CURRENT_USB4065.py", + "selected": false + }, + "position": { + "x": 383.63040645462985, + "y": 31.065737308753683 + }, + "selected": false, + "positionAbsolute": { + "x": 383.63040645462985, + "y": 31.065737308753683 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbb", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbbdefault", + "selected": false + }, + { + "source": "DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbb", + "sourceHandle": "default", + "target": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "targetHandle": "default", + "id": "reactflow__edge-DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbbdefault-BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06bdefault" + }, + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09e", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09edefault" + }, + { + "source": "DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09e", + "sourceHandle": "default", + "target": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "targetHandle": "default", + "id": "reactflow__edge-DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09edefault-BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085decdefault" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/examples/EX1/example.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/DC_VOLTAGE_USB4065.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/DC_VOLTAGE_USB4065.md new file mode 100644 index 0000000000..6cada942e4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/DC_VOLTAGE_USB4065.md @@ -0,0 +1,57 @@ + +[//]: # (Custom component imports) + +import DocString from '@site/src/components/DocString'; +import PythonCode from '@site/src/components/PythonCode'; +import AppDisplay from '@site/src/components/AppDisplay'; +import SectionBreak from '@site/src/components/SectionBreak'; +import AppendixSection from '@site/src/components/AppendixSection'; + +[//]: # (Docstring) + +import DocstringSource from '!!raw-loader!./a1-[autogen]/docstring.txt'; +import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt'; + +{DocstringSource} +{PythonSource} + + + + + +[//]: # (Examples) + +## Examples + +import Example1 from './examples/EX1/example.md'; +import App1 from '!!raw-loader!./examples/EX1/app.json'; + + + + + {App1} + + + + + + + + +[//]: # (Appendix) + +import Notes from './appendix/notes.md'; +import Hardware from './appendix/hardware.md'; +import Media from './appendix/media.md'; + +## Appendix + + + + + + diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..d448a9fc7c --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/docstring.txt @@ -0,0 +1,28 @@ +The DC_VOLTAGE_USB4065 node reads the DC voltage from a USB-4065. + + The USB-4065 is a NI (National Instruments) multimeter. It is possible that + the node will work with other NI DMMs (digital multimeters) such as the + 4070 and 4080 series. + + This instrument will likely only be compatible with Windows systems due to + NI driver availablity. To use the instrument you must install the runtime: + + https://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html + + You must also find the address/resource name for the instrument. You can + find this using the NI MAX programming which can be downloaded when + installing the drivers. + + Parameters + ---------- + NI_address: str + The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1'). + digits: str + The accuracy of the reading in digits. Lower values are faster. + voltage_limit: str + The maximum voltage to allow, in Volts. + + Returns + ------- + DataContainer + Scalar: The DC voltage reading. diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..c4e8508e73 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/python_code.txt @@ -0,0 +1,27 @@ +from flojoy import flojoy, DataContainer, Scalar +from flojoy.connection_manager import DeviceConnectionManager +from typing import Optional, Literal +import nidmm + + +@flojoy(deps={"nidmm": "1.4.6"}) +def DC_VOLTAGE_USB4065( + NI_address: str = "Dev1", + digits: Literal["4.5", "5.5", "6.5"] = "5.5", + voltage_limit: Literal["0.1", "1", "10", "100", "300"] = "10", + default: Optional[DataContainer] = None, +) -> Scalar: + + + connection = DeviceConnectionManager.get_connection(NI_address) + session = connection.get_handle() + + session.configure_measurement_digits( + nidmm.Function.DC_VOLTS, + range=float(voltage_limit), + resolution_digits=float(digits), + ) + + reading = session.read() + + return Scalar(c=reading) diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/hardware.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/hardware.md @@ -0,0 +1 @@ +This node does not require any peripheral hardware to operate. Please see INSTRUMENTS for nodes that interact with the physical world through connected hardware. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/media.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/media.md @@ -0,0 +1 @@ +No supporting screenshots, photos, or videos have been added to the media.md file for this node. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/notes.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/appendix/notes.md @@ -0,0 +1 @@ +No theory or technical notes have been contributed for this node yet. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/examples/EX1/app.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/examples/EX1/app.json new file mode 100644 index 0000000000..269fc5f34e --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/examples/EX1/app.json @@ -0,0 +1,456 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "type": "IO", + "data": { + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "label": "CONNECTION USB4065", + "func": "CONNECTION_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "CONNECTION_USB4065", + "param": "NI_address", + "value": "Dev1" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": "Optional: None" + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.py", + "selected": false + }, + "position": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "selected": false, + "positionAbsolute": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "label": "BIG NUMBER", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 789.5089067672151, + "y": -337.92011150709266 + }, + "selected": false, + "positionAbsolute": { + "x": 789.5089067672151, + "y": -337.92011150709266 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbb", + "type": "IO", + "data": { + "id": "DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbb", + "label": "DC VOLTAGE USB4065", + "func": "DC_VOLTAGE_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "DC_VOLTAGE_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "DC_VOLTAGE_USB4065", + "param": "digits", + "value": "5.5" + }, + "voltage_limit": { + "type": "select", + "options": [ + "0.1", + "1", + "10", + "100", + "300" + ], + "default": "10", + "desc": "The maximum voltage to allow, in Volts.", + "overload": null, + "functionName": "DC_VOLTAGE_USB4065", + "param": "voltage_limit", + "value": "10" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The DC voltage reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/DC_VOLTAGE_USB4065.py", + "selected": false + }, + "position": { + "x": 387.584587312525, + "y": -281.5498028061119 + }, + "selected": false, + "positionAbsolute": { + "x": 387.584587312525, + "y": -281.5498028061119 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "label": "BIG NUMBER 1", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": true + }, + "position": { + "x": 788.5306367510525, + "y": -17.717544827417925 + }, + "selected": true, + "positionAbsolute": { + "x": 788.5306367510525, + "y": -17.717544827417925 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09e", + "type": "IO", + "data": { + "id": "DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09e", + "label": "DC CURRENT USB4065", + "func": "DC_CURRENT_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "DC_CURRENT_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "DC_CURRENT_USB4065", + "param": "digits", + "value": "4.5" + }, + "current_limit": { + "type": "select", + "options": [ + "0.01", + "0.1", + "1", + "3" + ], + "default": "3", + "desc": "The maximum current to allow, in Amps.", + "overload": null, + "functionName": "DC_CURRENT_USB4065", + "param": "current_limit", + "value": "3" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The DC current reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/DC_CURRENT_USB4065.py", + "selected": false + }, + "position": { + "x": 383.63040645462985, + "y": 31.065737308753683 + }, + "selected": false, + "positionAbsolute": { + "x": 383.63040645462985, + "y": 31.065737308753683 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbb", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbbdefault", + "selected": false + }, + { + "source": "DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbb", + "sourceHandle": "default", + "target": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "targetHandle": "default", + "id": "reactflow__edge-DC_VOLTAGE_USB4065-faabd48b-f783-4ebe-90ec-6a060dad2fbbdefault-BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06bdefault" + }, + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09e", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09edefault" + }, + { + "source": "DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09e", + "sourceHandle": "default", + "target": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "targetHandle": "default", + "id": "reactflow__edge-DC_CURRENT_USB4065-ec7b293a-827e-4d89-86bf-5db062fda09edefault-BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085decdefault" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/examples/EX1/example.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/DIODE_USB4065.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/DIODE_USB4065.md new file mode 100644 index 0000000000..95453f3866 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/DIODE_USB4065.md @@ -0,0 +1,57 @@ + +[//]: # (Custom component imports) + +import DocString from '@site/src/components/DocString'; +import PythonCode from '@site/src/components/PythonCode'; +import AppDisplay from '@site/src/components/AppDisplay'; +import SectionBreak from '@site/src/components/SectionBreak'; +import AppendixSection from '@site/src/components/AppendixSection'; + +[//]: # (Docstring) + +import DocstringSource from '!!raw-loader!./a1-[autogen]/docstring.txt'; +import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt'; + +{DocstringSource} +{PythonSource} + + + + + +[//]: # (Examples) + +## Examples + +import Example1 from './examples/EX1/example.md'; +import App1 from '!!raw-loader!./examples/EX1/app.json'; + + + + + {App1} + + + + + + + + +[//]: # (Appendix) + +import Notes from './appendix/notes.md'; +import Hardware from './appendix/hardware.md'; +import Media from './appendix/media.md'; + +## Appendix + + + + + + diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..940460f3e6 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/docstring.txt @@ -0,0 +1,28 @@ +The DIODE_USB4065 node reads the voltage drop across a diode. + + The USB-4065 is a NI (National Instruments) multimeter. It is possible that + the node will work with other NI DMMs (digital multimeters) such as the + 4070 and 4080 series. + + This instrument will likely only be compatible with Windows systems due to + NI driver availablity. To use the instrument you must install the runtime: + + https://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html + + You must also find the address/resource name for the instrument. You can + find this using the NI MAX programming which can be downloaded when + installing the drivers. + + Parameters + ---------- + NI_address: str + The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1'). + digits: str + The accuracy of the reading in digits. Lower values are faster. + voltage_limit: str + The maximum voltage to allow, in Volts. + + Returns + ------- + DataContainer + Scalar: The DC voltage reading. diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..e1295085aa --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/python_code.txt @@ -0,0 +1,27 @@ +from flojoy import flojoy, DataContainer, Scalar +from flojoy.connection_manager import DeviceConnectionManager +from typing import Optional, Literal +import nidmm + + +@flojoy(deps={"nidmm": "1.4.6"}) +def DIODE_USB4065( + NI_address: str = "Dev1", + digits: Literal["4.5", "5.5", "6.5"] = "5.5", + voltage_limit: Literal["3.5", "10"] = "10", + default: Optional[DataContainer] = None, +) -> Scalar: + + + connection = DeviceConnectionManager.get_connection(NI_address) + session = connection.get_handle() + + session.configure_measurement_digits( + nidmm.Function.DIODE, + range=float(voltage_limit), + resolution_digits=float(digits), + ) + + reading = session.read() + + return Scalar(c=reading) diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/hardware.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/hardware.md @@ -0,0 +1 @@ +This node does not require any peripheral hardware to operate. Please see INSTRUMENTS for nodes that interact with the physical world through connected hardware. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/media.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/media.md @@ -0,0 +1 @@ +No supporting screenshots, photos, or videos have been added to the media.md file for this node. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/notes.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/appendix/notes.md @@ -0,0 +1 @@ +No theory or technical notes have been contributed for this node yet. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/examples/EX1/app.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/examples/EX1/app.json new file mode 100644 index 0000000000..39063c25f1 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/examples/EX1/app.json @@ -0,0 +1,594 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "type": "IO", + "data": { + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "label": "CONNECTION USB4065", + "func": "CONNECTION_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "CONNECTION_USB4065", + "param": "NI_address", + "value": "Dev1" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": "Optional: None" + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.py", + "selected": false + }, + "position": { + "x": -407.4314234630916, + "y": -63.38316705720263 + }, + "selected": false, + "positionAbsolute": { + "x": -407.4314234630916, + "y": -63.38316705720263 + }, + "dragging": true + }, + { + "width": 96, + "height": 96, + "id": "LOOP-fdac3e37-4b37-49f0-976b-38ac4759268f", + "type": "LOGIC_GATES", + "data": { + "id": "LOOP-fdac3e37-4b37-49f0-976b-38ac4759268f", + "label": "LOOP", + "func": "LOOP", + "type": "LOGIC_GATES", + "ctrls": { + "num_loops": { + "type": "int", + "default": -1, + "desc": "number of times to iterate through body nodes, default is \"-1\" meaning infinity.", + "overload": null, + "functionName": "LOOP", + "param": "num_loops", + "value": 25 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "body", + "id": "body", + "type": "Any", + "desc": null + }, + { + "name": "end", + "id": "end", + "type": "Any", + "desc": null + } + ], + "path": "LOGIC_GATES/LOOPS/LOOP/LOOP.py", + "selected": true + }, + "position": { + "x": 227.6964774956631, + "y": -20.121881497152287 + }, + "selected": true, + "positionAbsolute": { + "x": 227.6964774956631, + "y": -20.121881497152287 + }, + "dragging": true + }, + { + "width": 96, + "height": 96, + "id": "APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22", + "type": "LOGIC_GATES", + "data": { + "id": "APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22", + "label": "APPEND", + "func": "APPEND", + "type": "LOGIC_GATES", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "primary_dp", + "id": "primary_dp", + "type": "OrderedPair|Matrix|DataFrame|Scalar|Vector", + "multiple": false, + "desc": "Input that ends up \"on top\" of the resulting DataContainer." + }, + { + "name": "secondary_dp", + "id": "secondary_dp", + "type": "OrderedPair|Matrix|DataFrame|Scalar|Vector", + "multiple": false, + "desc": "Input that ends up \"on the bottom\" of the resulting DataContainer." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Matrix|DataFrame|Vector", + "desc": null + } + ], + "path": "LOGIC_GATES/LOOPS/APPEND/APPEND.py", + "selected": false + }, + "position": { + "x": 735.3226087858226, + "y": -250.41039060991284 + }, + "selected": false, + "positionAbsolute": { + "x": 735.3226087858226, + "y": -250.41039060991284 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "FEEDBACK-dd1c23ff-8f91-4892-9f1c-8d4b91c50aa2", + "type": "GENERATORS", + "data": { + "id": "FEEDBACK-dd1c23ff-8f91-4892-9f1c-8d4b91c50aa2", + "label": "FEEDBACK", + "func": "FEEDBACK", + "type": "GENERATORS", + "ctrls": { + "referred_node": { + "type": "NodeReference", + "default": null, + "desc": "The node ID to capture the result from.", + "overload": null, + "functionName": "FEEDBACK", + "param": "referred_node", + "value": "APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": null + } + ], + "path": "GENERATORS/SIMULATIONS/FEEDBACK/FEEDBACK.py", + "selected": false + }, + "position": { + "x": 438.29263845094783, + "y": -163.366406533838 + }, + "selected": false, + "positionAbsolute": { + "x": 438.29263845094783, + "y": -163.366406533838 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "LINE-6977d433-f342-4c5a-9035-43961641c18c", + "type": "VISUALIZERS", + "data": { + "id": "LINE-6977d433-f342-4c5a-9035-43961641c18c", + "label": "LINE", + "func": "LINE", + "type": "VISUALIZERS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|DataFrame|Matrix|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly Line visualization of the input data" + } + ], + "path": "VISUALIZERS/PLOTLY/LINE/LINE.py", + "selected": false + }, + "position": { + "x": 973.9903536635177, + "y": -319.7488298823558 + }, + "selected": false, + "positionAbsolute": { + "x": 973.9903536635177, + "y": -319.7488298823558 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "DIODE_USB4065-83689859-e7b8-42d1-ab55-b5c7130633c9", + "type": "IO", + "data": { + "id": "DIODE_USB4065-83689859-e7b8-42d1-ab55-b5c7130633c9", + "label": "DIODE USB4065", + "func": "DIODE_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "DIODE_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "DIODE_USB4065", + "param": "digits", + "value": "4.5" + }, + "voltage_limit": { + "type": "select", + "options": [ + "3.5", + "10" + ], + "default": "10", + "desc": "The maximum voltage to allow, in Volts.", + "overload": null, + "functionName": "DIODE_USB4065", + "param": "voltage_limit", + "value": "3.5" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The DC voltage reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/DIODE_USB4065.py", + "selected": false + }, + "position": { + "x": -116.51249844926463, + "y": -66.10396672338652 + }, + "selected": false, + "positionAbsolute": { + "x": -116.51249844926463, + "y": -66.10396672338652 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "DIODE_USB4065-f3d001ec-a80f-4216-886b-a260672a36e3", + "type": "IO", + "data": { + "id": "DIODE_USB4065-f3d001ec-a80f-4216-886b-a260672a36e3", + "label": "DIODE USB4065 1", + "func": "DIODE_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "DIODE_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "DIODE_USB4065", + "param": "digits", + "value": "4.5" + }, + "voltage_limit": { + "type": "select", + "options": [ + "3.5", + "10" + ], + "default": "10", + "desc": "The maximum voltage to allow, in Volts.", + "overload": null, + "functionName": "DIODE_USB4065", + "param": "voltage_limit", + "value": "3.5" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The DC voltage reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/DIODE_USB4065.py", + "selected": false + }, + "position": { + "x": 451.32763370126673, + "y": -431.75316643155406 + }, + "selected": false, + "positionAbsolute": { + "x": 451.32763370126673, + "y": -431.75316643155406 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "label": "BIG NUMBER", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 942.0359776564547, + "y": -618.7319046543057 + }, + "selected": false, + "positionAbsolute": { + "x": 942.0359776564547, + "y": -618.7319046543057 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "LOOP-fdac3e37-4b37-49f0-976b-38ac4759268f", + "sourceHandle": "body", + "target": "FEEDBACK-dd1c23ff-8f91-4892-9f1c-8d4b91c50aa2", + "targetHandle": "default", + "id": "reactflow__edge-LOOP-fdac3e37-4b37-49f0-976b-38ac4759268fbody-FEEDBACK-dd1c23ff-8f91-4892-9f1c-8d4b91c50aa2default" + }, + { + "source": "FEEDBACK-dd1c23ff-8f91-4892-9f1c-8d4b91c50aa2", + "sourceHandle": "default", + "target": "APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22", + "targetHandle": "primary_dp", + "id": "reactflow__edge-FEEDBACK-dd1c23ff-8f91-4892-9f1c-8d4b91c50aa2default-APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22primary_dp" + }, + { + "source": "APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22", + "sourceHandle": "default", + "target": "LINE-6977d433-f342-4c5a-9035-43961641c18c", + "targetHandle": "default", + "id": "reactflow__edge-APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22default-LINE-6977d433-f342-4c5a-9035-43961641c18cdefault" + }, + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "DIODE_USB4065-83689859-e7b8-42d1-ab55-b5c7130633c9", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-DIODE_USB4065-83689859-e7b8-42d1-ab55-b5c7130633c9default" + }, + { + "source": "DIODE_USB4065-83689859-e7b8-42d1-ab55-b5c7130633c9", + "sourceHandle": "default", + "target": "LOOP-fdac3e37-4b37-49f0-976b-38ac4759268f", + "targetHandle": "default", + "id": "reactflow__edge-DIODE_USB4065-83689859-e7b8-42d1-ab55-b5c7130633c9default-LOOP-fdac3e37-4b37-49f0-976b-38ac4759268fdefault" + }, + { + "source": "LOOP-fdac3e37-4b37-49f0-976b-38ac4759268f", + "sourceHandle": "body", + "target": "DIODE_USB4065-f3d001ec-a80f-4216-886b-a260672a36e3", + "targetHandle": "default", + "id": "reactflow__edge-LOOP-fdac3e37-4b37-49f0-976b-38ac4759268fbody-DIODE_USB4065-f3d001ec-a80f-4216-886b-a260672a36e3default" + }, + { + "source": "DIODE_USB4065-f3d001ec-a80f-4216-886b-a260672a36e3", + "sourceHandle": "default", + "target": "APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22", + "targetHandle": "secondary_dp", + "id": "reactflow__edge-DIODE_USB4065-f3d001ec-a80f-4216-886b-a260672a36e3default-APPEND-adc5b868-3b2c-41f1-9ec8-ae0a411b1a22secondary_dp" + }, + { + "source": "DIODE_USB4065-f3d001ec-a80f-4216-886b-a260672a36e3", + "sourceHandle": "default", + "target": "BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06b", + "targetHandle": "default", + "id": "reactflow__edge-DIODE_USB4065-f3d001ec-a80f-4216-886b-a260672a36e3default-BIG_NUMBER-4f55667b-079e-4735-aa52-3bb18be8e06bdefault" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/examples/EX1/example.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/RESISTANCE_USB4065.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/RESISTANCE_USB4065.md new file mode 100644 index 0000000000..ecb35fce7d --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/RESISTANCE_USB4065.md @@ -0,0 +1,57 @@ + +[//]: # (Custom component imports) + +import DocString from '@site/src/components/DocString'; +import PythonCode from '@site/src/components/PythonCode'; +import AppDisplay from '@site/src/components/AppDisplay'; +import SectionBreak from '@site/src/components/SectionBreak'; +import AppendixSection from '@site/src/components/AppendixSection'; + +[//]: # (Docstring) + +import DocstringSource from '!!raw-loader!./a1-[autogen]/docstring.txt'; +import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt'; + +{DocstringSource} +{PythonSource} + + + + + +[//]: # (Examples) + +## Examples + +import Example1 from './examples/EX1/example.md'; +import App1 from '!!raw-loader!./examples/EX1/app.json'; + + + + + {App1} + + + + + + + + +[//]: # (Appendix) + +import Notes from './appendix/notes.md'; +import Hardware from './appendix/hardware.md'; +import Media from './appendix/media.md'; + +## Appendix + + + + + + diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..703559d466 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/docstring.txt @@ -0,0 +1,31 @@ +The RESISTANCE_USB4065 node reads the two-wire resistance from a USB-4065. + + The four-wire resistance is more accurate than two-wire and can be measured + with the FOUR_WIRE_RESIST_USB4065 node. + + The USB-4065 is a NI (National Instruments) multimeter. It is possible that + the node will work with other NI DMMs (digital multimeters) such as the + 4070 and 4080 series. + + This instrument will likely only be compatible with Windows systems due to + NI driver availablity. To use the instrument you must install the runtime: + + https://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html + + You must also find the address/resource name for the instrument. You can + find this using the NI MAX programming which can be downloaded when + installing the drivers. + + Parameters + ---------- + NI_address: str + The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1'). + digits: str + The accuracy of the reading in digits. Lower values are faster. + resist_limit: str + The maximum resistance to allow, in Volts. + + Returns + ------- + DataContainer + Scalar: The DC voltage reading. diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..6d6bbb1e3a --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/python_code.txt @@ -0,0 +1,27 @@ +from flojoy import flojoy, DataContainer, Scalar +from flojoy.connection_manager import DeviceConnectionManager +from typing import Optional, Literal +import nidmm + + +@flojoy(deps={"nidmm": "1.4.6"}) +def RESISTANCE_USB4065( + NI_address: str = "Dev1", + digits: Literal["4.5", "5.5", "6.5"] = "5.5", + resist_limit: Literal["100", "1000", "1e4", "1e5", "1e6", "1e7", "1e8"] = "1e8", + default: Optional[DataContainer] = None, +) -> Scalar: + + + connection = DeviceConnectionManager.get_connection(NI_address) + session = connection.get_handle() + + session.configure_measurement_digits( + nidmm.Function.TWO_WIRE_RES, + range=float(resist_limit), + resolution_digits=float(digits), + ) + + reading = session.read() + + return Scalar(c=reading) diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/hardware.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/hardware.md @@ -0,0 +1 @@ +This node does not require any peripheral hardware to operate. Please see INSTRUMENTS for nodes that interact with the physical world through connected hardware. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/media.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/media.md @@ -0,0 +1 @@ +No supporting screenshots, photos, or videos have been added to the media.md file for this node. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/notes.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/appendix/notes.md @@ -0,0 +1 @@ +No theory or technical notes have been contributed for this node yet. \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/examples/EX1/app.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/examples/EX1/app.json new file mode 100644 index 0000000000..7ee5bc2698 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/examples/EX1/app.json @@ -0,0 +1,266 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "type": "IO", + "data": { + "id": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "label": "CONNECTION USB4065", + "func": "CONNECTION_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "CONNECTION_USB4065", + "param": "NI_address", + "value": "Dev1" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": "Optional: None" + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/CONNECTION_USB4065.py", + "selected": false + }, + "position": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "selected": false, + "positionAbsolute": { + "x": 4.704499736461486, + "y": -114.58793327290465 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "label": "BIG NUMBER 1", + "func": "BIG_NUMBER", + "type": "VISUALIZERS", + "ctrls": { + "suffix": { + "type": "str", + "default": null, + "desc": "any suffix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "suffix", + "value": "" + }, + "prefix": { + "type": "str", + "default": null, + "desc": "any prefix to show with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "prefix", + "value": "" + }, + "title": { + "type": "str", + "default": null, + "desc": "title of the plot, default = \"BIG_NUMBER\"", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "title", + "value": "" + }, + "relative_delta": { + "type": "bool", + "default": true, + "desc": "whether or not to show the relative delta from the last run along with big number", + "overload": null, + "functionName": "BIG_NUMBER", + "param": "relative_delta", + "value": true + }, + "scientific_notation": { + "type": "bool", + "default": false, + "desc": null, + "overload": null, + "functionName": "BIG_NUMBER", + "param": "scientific_notation", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "the DataContainer to be visualized" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": "the DataContainer containing the Plotly big number visualization" + } + ], + "path": "VISUALIZERS/PLOTLY/BIG_NUMBER/BIG_NUMBER.py", + "selected": false + }, + "position": { + "x": 779.8328146881206, + "y": -134.05091491913146 + }, + "selected": false, + "positionAbsolute": { + "x": 779.8328146881206, + "y": -134.05091491913146 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3", + "type": "IO", + "data": { + "id": "RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3", + "label": "RESISTANCE USB4065", + "func": "RESISTANCE_USB4065", + "type": "IO", + "ctrls": { + "NI_address": { + "type": "str", + "default": "Dev1", + "desc": "The NI instrument address for the instrument (e.g. 'Dev0', 'Dev1').", + "overload": null, + "functionName": "RESISTANCE_USB4065", + "param": "NI_address", + "value": "Dev1" + }, + "digits": { + "type": "select", + "options": [ + "4.5", + "5.5", + "6.5" + ], + "default": "5.5", + "desc": "The accuracy of the reading in digits. Lower values are faster.", + "overload": null, + "functionName": "RESISTANCE_USB4065", + "param": "digits", + "value": "4.5" + }, + "resist_limit": { + "type": "select", + "options": [ + "100", + "1000", + "1e4", + "1e5", + "1e6", + "1e7", + "1e8" + ], + "default": "1e8", + "desc": "The maximum resistance to allow, in Volts.", + "overload": null, + "functionName": "RESISTANCE_USB4065", + "param": "resist_limit", + "value": "100" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "Scalar: The DC voltage reading." + } + ], + "pip_dependencies": [ + { + "name": "nidmm", + "v": "1.4.6" + } + ], + "path": "IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/RESISTANCE_USB4065.py", + "selected": false + }, + "position": { + "x": 383.1035717255011, + "y": -122.14124419049455 + }, + "selected": false, + "positionAbsolute": { + "x": 383.1035717255011, + "y": -122.14124419049455 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1", + "sourceHandle": "default", + "target": "RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3", + "targetHandle": "default", + "id": "reactflow__edge-CONNECTION_USB4065-33140410-b4f4-4e67-8613-7559b997c8e1default-RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3default" + }, + { + "source": "RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3", + "sourceHandle": "default", + "target": "BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085dec", + "targetHandle": "default", + "id": "reactflow__edge-RESISTANCE_USB4065-be7ec375-8dda-4e2a-b1e9-4b25945441d3default-BIG_NUMBER-58ecefea-6da3-4e07-b581-b9796f085decdefault" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/examples/EX1/example.md b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/LOCAL_FILE/a1-[autogen]/docstring.txt b/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/LOCAL_FILE/a1-[autogen]/docstring.txt index ae310eab3f..b4e8a6d8dd 100644 --- a/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/LOCAL_FILE/a1-[autogen]/docstring.txt +++ b/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/LOCAL_FILE/a1-[autogen]/docstring.txt @@ -23,4 +23,3 @@ The LOCAL_FILE node loads a local file of a different type and converts it to a Image for file_type 'image'. Grayscale from file_type 'Grayscale'. DataFrame for file_type 'json', 'csv'. - DataFrame for file_type 'json', 'csv', 'excel', and 'xml'.