Skip to content
This repository has been archived by the owner on Nov 24, 2023. It is now read-only.

Commit

Permalink
Merge pull request #398 from flojoy-ai/fathom-qa
Browse files Browse the repository at this point in the history
Weekly QA of new nodes content
  • Loading branch information
dstrande authored Sep 20, 2023
2 parents 3676e10 + 1e764e5 commit a5a23bb
Show file tree
Hide file tree
Showing 58 changed files with 319 additions and 280 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--Add SEO here-->

[//]: # (Custom component imports)

Expand All @@ -17,16 +18,14 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';

<SectionBreak />



[//]: # (Examples)

## Examples

import Example1 from './examples/EX1/example.md';
import App1 from '!!raw-loader!./examples/EX1/app.json';


### Convert voltages into pressures

<AppDisplay
nodeLabel='FLEXIFORCE_25LB'
Expand All @@ -39,8 +38,6 @@ import App1 from '!!raw-loader!./examples/EX1/app.json';
<Example1 />

<SectionBreak />



[//]: # (Appendix)

Expand All @@ -54,4 +51,4 @@ import Media from './appendix/media.md';
<AppendixSection index={1} folderPath='nodes/IO/ANALOG_SENSORS/PRESSURE_SENSORS/FLEXIFORCE_25LB/appendix/'><Hardware /></AppendixSection>
<AppendixSection index={2} folderPath='nodes/IO/ANALOG_SENSORS/PRESSURE_SENSORS/FLEXIFORCE_25LB/appendix/'><Media /></AppendixSection>


<!--Add Button here-->
2 changes: 1 addition & 1 deletion docs/nodes/IO/ANALOG_SENSORS/THERMOCOUPLES/LM34/LM34.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';
import Example1 from './examples/EX1/example.md';
import App1 from '!!raw-loader!./examples/EX1/app.json';

### Simulate a Weinschel 8320 attenuator
### Convert voltages into temperatures

<AppDisplay
nodeLabel='LM34'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--Add SEO here-->

[//]: # (Custom component imports)

Expand All @@ -17,16 +18,14 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';

<SectionBreak />



[//]: # (Examples)

## Examples

import Example1 from './examples/EX1/example.md';
import App1 from '!!raw-loader!./examples/EX1/app.json';


### Record and display temperature measurements

<AppDisplay
nodeLabel='READ_A0_PINS'
Expand All @@ -39,8 +38,6 @@ import App1 from '!!raw-loader!./examples/EX1/app.json';
<Example1 />

<SectionBreak />



[//]: # (Appendix)

Expand All @@ -54,4 +51,4 @@ import Media from './appendix/media.md';
<AppendixSection index={1} folderPath='nodes/IO/INSTRUMENTS/DAQ_BOARDS/LABJACK/U3/BASIC/READ_A0_PINS/appendix/'><Hardware /></AppendixSection>
<AppendixSection index={2} folderPath='nodes/IO/INSTRUMENTS/DAQ_BOARDS/LABJACK/U3/BASIC/READ_A0_PINS/appendix/'><Media /></AppendixSection>


<!--Add Button here-->
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--Add SEO here-->

[//]: # (Custom component imports)

Expand All @@ -17,8 +18,6 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';

<SectionBreak />



[//]: # (Examples)

## Examples
Expand All @@ -39,8 +38,6 @@ import App1 from '!!raw-loader!./examples/EX1/app.json';
<Example1 />

<SectionBreak />



[//]: # (Appendix)

Expand All @@ -54,4 +51,4 @@ import Media from './appendix/media.md';
<AppendixSection index={1} folderPath='nodes/IO/INSTRUMENTS/DAQ_BOARDS/NI/COMING_FALL_2023/appendix/'><Hardware /></AppendixSection>
<AppendixSection index={2} folderPath='nodes/IO/INSTRUMENTS/DAQ_BOARDS/NI/COMING_FALL_2023/appendix/'><Media /></AppendixSection>


<!--Add Button here-->
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--Add SEO here-->

[//]: # (Custom component imports)

Expand All @@ -17,16 +18,14 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';

<SectionBreak />



[//]: # (Examples)

## Examples

import Example1 from './examples/EX1/example.md';
import App1 from '!!raw-loader!./examples/EX1/app.json';


### Measure pressures from Flexiforce sensors

<AppDisplay
nodeLabel='READ_N_PINS'
Expand All @@ -39,8 +38,6 @@ import App1 from '!!raw-loader!./examples/EX1/app.json';
<Example1 />

<SectionBreak />



[//]: # (Appendix)

Expand All @@ -54,4 +51,4 @@ import Media from './appendix/media.md';
<AppendixSection index={1} folderPath='nodes/IO/INSTRUMENTS/DAQ_BOARDS/PHIDGET/INTERFACEKIT/BASIC/READ_N_PINS/appendix/'><Hardware /></AppendixSection>
<AppendixSection index={2} folderPath='nodes/IO/INSTRUMENTS/DAQ_BOARDS/PHIDGET/INTERFACEKIT/BASIC/READ_N_PINS/appendix/'><Media /></AppendixSection>


<!--Add Button here-->
9 changes: 3 additions & 6 deletions docs/nodes/IO/INSTRUMENTS/MOCK/WEINSCHEL8320/WEINSCHEL8320.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--Add SEO here-->

[//]: # (Custom component imports)

Expand All @@ -17,16 +18,14 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';

<SectionBreak />



[//]: # (Examples)

## Examples

import Example1 from './examples/EX1/example.md';
import App1 from '!!raw-loader!./examples/EX1/app.json';


### Simulate a Weinschel 8320 attenuator

<AppDisplay
nodeLabel='WEINSCHEL8320'
Expand All @@ -39,8 +38,6 @@ import App1 from '!!raw-loader!./examples/EX1/app.json';
<Example1 />

<SectionBreak />



[//]: # (Appendix)

Expand All @@ -54,4 +51,4 @@ import Media from './appendix/media.md';
<AppendixSection index={1} folderPath='nodes/IO/INSTRUMENTS/MOCK/WEINSCHEL8320/appendix/'><Hardware /></AppendixSection>
<AppendixSection index={2} folderPath='nodes/IO/INSTRUMENTS/MOCK/WEINSCHEL8320/appendix/'><Media /></AppendixSection>


<!--Add Button here-->
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--Add SEO here-->

[//]: # (Custom component imports)

Expand All @@ -17,16 +18,14 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';

<SectionBreak />



[//]: # (Examples)

## Examples

import Example1 from './examples/EX1/example.md';
import App1 from '!!raw-loader!./examples/EX1/app.json';


### Extract waveform measurements from an oscilloscope

<AppDisplay
nodeLabel='ADVANCED_MEASUREMENTS_MDO3XXX'
Expand All @@ -39,8 +38,6 @@ import App1 from '!!raw-loader!./examples/EX1/app.json';
<Example1 />

<SectionBreak />



[//]: # (Appendix)

Expand All @@ -54,4 +51,4 @@ import Media from './appendix/media.md';
<AppendixSection index={1} folderPath='nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/appendix/'><Hardware /></AppendixSection>
<AppendixSection index={2} folderPath='nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/appendix/'><Media /></AppendixSection>


<!--Add Button here-->
Original file line number Diff line number Diff line change
@@ -1,24 +1,17 @@
<!--Add SEO here-->

In this example, we demonstrate how to extract advanced measurements from a Tektronix MDO3000 oscilloscope.

:::note
The MDO3XXX nodes should also work with compatible Tektronix oscilloscope: MDO4XXX, MSO4XXX, and DPO4XXX. However, those are untested as of yet.
:::
**Note:** The MDO3XXX node should also work with the compatible Tektronix oscilloscopes MDO4XXX, MSO4XXX, and DPO4XXX. However, those have not been tested yet.

First we list the VISA devices with the [`LIST_VISA`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/QCODES/LIST_VISA/LIST_VISA.py) node. Knowing the serial number is C012101, we enter the VISA address that contains this into the `VISA address` parameter for both EXTRACT TRACE nodes.
First, we list the VISA devices with the [`LIST_VISA`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/QCODES/LIST_VISA/LIST_VISA.py) node. Knowing that the serial number is C012101, we enter the VISA address that contains this into the `VISA address` parameter for both of the `EXTRACT_TRACE` nodes.

Unlike the [`MEASUREMENTS_MDO3XXX`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASUREMENTS_MDO3XXX/MEASUREMENTS_MDO3XXX.py) node, for the [`ADVANCED_MEASUREMENTS_MDO3XXX`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/ADVANCED_MEASUREMENTS_MDO3XXX.py) node you must manually enter the measurement you want to extract. The list of possible measurements is listed below:
Unlike the [`MEASUREMENTS_MDO3XXX`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASUREMENTS_MDO3XXX/MEASUREMENTS_MDO3XXX.py) node, for the [`ADVANCED_MEASUREMENTS_MDO3XXX`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/ADVANCED_MEASUREMENTS_MDO3XXX.py) node you must manually enter the measurement that you want to extract.

This node can also extract statistics for the measurements such as `mean`, `max`, and `min`.

amplitude, area, burst, carea, cmean, crms, delay, distduty, extinctdb,
extinctpct, extinctratio, eyeheight, eyewidth, fall, frequency, high, hits,
low, maximum, mean, median, minimum, ncross, nduty, novershoot, nwidth,
pbase, pcross, pctcross, pduty, peakhits, period, phase, pk2pk, pkpkjitter,
pkpknoise, povershoot, ptop, pwidth, qfactor, rise, rms, rmsjitter,
rmsnoise, sigma1, sigma2, sigma3, sixsigmajit, snratio, stddev, undefined,
waveforms.
Possible measurements include the following:

:::caution
Not all of these measurements were tested.
:::
amplitude, area, burst, carea, cmean, crms, delay, distduty, extinctdb, extinctpct, extinctratio, eyeheight, eyewidth, fall, frequency, high, hits, low, maximum, mean, median, minimum, ncross, nduty, novershoot, nwidth, pbase, pcross, pctcross, pduty, peakhits, period, phase, pk2pk, pkpkjitter, pkpknoise, povershoot, ptop, pwidth, qfactor, rise, rms, rmsjitter, rmsnoise, sigma1, sigma2, sigma3, sixsigmajit, snratio, stddev, undefined, waveforms

We note the the node can extract statistics for the measurements such as `mean`, `max`, and `min`.
**Note:** Not all of these measurements were tested.
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--Add SEO here-->

[//]: # (Custom component imports)

Expand All @@ -17,16 +18,14 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';

<SectionBreak />



[//]: # (Examples)

## Examples

import Example1 from './examples/EX1/example.md';
import App1 from '!!raw-loader!./examples/EX1/app.json';


### Set the triggering channel for an oscilloscope

<AppDisplay
nodeLabel='TRIGGER_SETTINGS_MDO3XXX'
Expand All @@ -39,8 +38,6 @@ import App1 from '!!raw-loader!./examples/EX1/app.json';
<Example1 />

<SectionBreak />



[//]: # (Appendix)

Expand All @@ -54,4 +51,4 @@ import Media from './appendix/media.md';
<AppendixSection index={1} folderPath='nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/TRIGGER_SETTINGS_MDO3XXX/appendix/'><Hardware /></AppendixSection>
<AppendixSection index={2} folderPath='nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/TRIGGER_SETTINGS_MDO3XXX/appendix/'><Media /></AppendixSection>


<!--Add Button here-->
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
<!--Add SEO here-->

In this example, we demonstrate how to set the triggering channel for a Tektronix MDO3000 oscilloscope and how to set the trigger threshold voltage.

:::note
The MDO3XXX nodes should also work with compatible Tektronix oscilloscope: MDO4XXX, MSO4XXX, and DPO4XXX. However, those are untested as of yet.
:::
**Note:** The MDO3XXX node should also work with the compatible Tektronix oscilloscopes MDO4XXX, MSO4XXX, and DPO4XXX. However, those have not been tested yet.

We must first enter the `VISA address` parameter for the three `MDO3XXX` nodes (use the [`LIST_VISA`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/QCODES/LIST_VISA/LIST_VISA.py) node to find the VISA address).

The [`TRIGGER_CHANNEL_MDO3XXX`](https://github.com/flojoy-ai/nodes/tree/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_CHANNEL_MDO3XXX) node can be used to either set or query the triggering channel.

The [`TRIGGER_LEVEL_MDO3XXX`](https://github.com/flojoy-ai/nodes/tree/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_LEVEL_MDO3XXX) node is used to either set or query the triggering threshold voltage.

We first must enter the `VISA address` parameter for the 3 `MDO3XXX` nodes (use the [`LIST_VISA`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/QCODES/LIST_VISA/LIST_VISA.py) node to find the VISA address).
The [`TRIGGER_SETTINGS_MDO3XXX`](https://github.com/flojoy-ai/nodes/tree/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_SETTINGS_MDO3XXX) node is used to either set or query more advanced trigger settings such as triggering on an voltage rise and/or fall.

The [`TRIGGER_CHANNEL_MDO3XXX`](https://github.com/flojoy-ai/nodes/tree/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_CHANNEL_MDO3XXX) node can be used to either set or query the triggering channel. The [`TRIGGER_LEVEL_MDO3XXX`](https://github.com/flojoy-ai/nodes/tree/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_LEVEL_MDO3XXX) node is used to either set or query the triggering threshold voltage. The [`TRIGGER_SETTINGS_MDO3XXX`](https://github.com/flojoy-ai/nodes/tree/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_SETTINGS_MDO3XXX) node is used to either set or query more advanced trigger settings such as triggering on an voltage rise and/or fall. The idea of triggering in an oscilloscope is simply what repeating signal to look for to set the frequency of the oscilloscope (see ['here](https://www.electronics-notes.com/articles/test-methods/oscilloscope/oscilloscope-trigger.php) for more in depth conversation).
The idea of triggering in an oscilloscope is simply to determine which repeating signal to look for in order to set the frequency of the oscilloscope (see [here](https://www.electronics-notes.com/articles/test-methods/oscilloscope/oscilloscope-trigger.php) for more information).

Here the triggering channel is set to CH2, the trigger level is set to 50 mV, and the advanced settings are set (for example to trigger on only a voltage rise).
In this example, the triggering channel is set to CH2, the trigger level is set to 50 mV, and the advanced settings are set, for example, to trigger on a voltage rise only.
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--Add SEO here-->

[//]: # (Custom component imports)

Expand All @@ -17,8 +18,6 @@ import PythonSource from '!!raw-loader!./a1-[autogen]/python_code.txt';

<SectionBreak />



[//]: # (Examples)

## Examples
Expand All @@ -28,6 +27,8 @@ import App1 from '!!raw-loader!./examples/EX1/app.json';
import appImg from './examples/EX1/app.jpeg'
import outputImg from './examples/EX1/output.jpeg'

### Extract signal traces from an oscilloscope

<AppDisplay
nodeLabel='EXTRACT_TRACE_MDO3XXX'
appImg={appImg}
Expand All @@ -39,8 +40,6 @@ import outputImg from './examples/EX1/output.jpeg'
<Example1 />

<SectionBreak />



[//]: # (Appendix)

Expand All @@ -54,4 +53,4 @@ import Media from './appendix/media.md';
<AppendixSection index={1} folderPath='nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/EXTRACT_TRACE_MDO3XXX/appendix/'><Hardware /></AppendixSection>
<AppendixSection index={2} folderPath='nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/EXTRACT_TRACE_MDO3XXX/appendix/'><Media /></AppendixSection>


<!--Add Button here-->
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!--Add SEO here-->

In this example, we demonstrate how to extract signal traces from a Tektronix MDO3000 oscilloscope.

:::note
The MDO3XXX nodes should also work with compatible Tektronix oscilloscope: MDO4XXX, MSO4XXX, and DPO4XXX. However, those are untested as of yet.
:::
**Note:** The MDO3XXX node should also work with the compatible Tektronix oscilloscopes MDO4XXX, MSO4XXX, and DPO4XXX. However, those have not been tested yet.

First we list the VISA devices with the [`LIST_VISA`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/QCODES/LIST_VISA/LIST_VISA.py) node. Knowing the serial number is C012101, we enter the VISA address that contains this into the `VISA address` parameter for both EXTRACT TRACE nodes.
First, we list the VISA devices with the [`LIST_VISA`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/QCODES/LIST_VISA/LIST_VISA.py) node. Knowing that the serial number is C012101, we enter the VISA address that contains this into the `VISA address` parameter for both of the `EXTRACT_TRACE` nodes.

The [`EXTRACT_TRACE_MDO3XXX`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/EXTRACT_TRACE_MDO3XXX/EXTRACT_TRACE_MDO3XXX.py) node extracts the data from the oscilloscope for a single channel. You must first set the channel the extract from and the x axis (time) length. Here we set the top and bottom rows in the app to extract CH1 and CH2, repectively (note in Flojoy we start counting from 0). We then set the x length to 2000ns.
The [`EXTRACT_TRACE_MDO3XXX`](https://github.com/flojoy-ai/nodes/blob/develop/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/EXTRACT_TRACE_MDO3XXX/EXTRACT_TRACE_MDO3XXX.py) node extracts the data from the oscilloscope for a single channel. You must first set the channel that you want to extract from and the x-axis (time) length. In this example, we set the top and bottom rows in the app to extract CH1 and CH2, repectively (note that in Flojoy we start counting from 0). We then set the x length to 2000ns.

The [`LINE`](https://github.com/flojoy-io/nodes/blob/main/VISUALIZERS/PLOTLY/LINE/LINE.py) node will display the data for each channel where you can see two sine waves define the two channels.
The [`LINE`](https://github.com/flojoy-io/nodes/blob/main/VISUALIZERS/PLOTLY/LINE/LINE.py) node will display the data for each channel, where the two sine waves define the two channels.
Loading

0 comments on commit a5a23bb

Please sign in to comment.