From ab986bbc1699c58c361655a6707046db89e2c250 Mon Sep 17 00:00:00 2001 From: dstrande Date: Fri, 20 Oct 2023 20:45:38 +0000 Subject: [PATCH 1/4] update: FSV instrument nodes and peak detection --- .../ACCURACY/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../ONNX_MODEL/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.txt | 6 - .../a1-[autogen]/python_code.txt | 8 +- .../LEAST_SQUARES/a1-[autogen]/docstring.json | 3 +- .../DEEPLAB_V3/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../OPEN_IMAGE/a1-[autogen]/docstring.json | 3 +- .../OPEN_PARQUET/a1-[autogen]/docstring.json | 3 +- .../FILE/READ_CSV/a1-[autogen]/docstring.json | 3 +- .../FILE/READ_S3/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../TEXT_DATASET/a1-[autogen]/docstring.json | 3 +- .../SKIMAGE/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../CONSTANT/a1-[autogen]/docstring.json | 3 +- .../FEEDBACK/a1-[autogen]/docstring.json | 3 +- .../FEEDBACK/a1-[autogen]/python_code.txt | 9 +- .../LINSPACE/a1-[autogen]/docstring.json | 3 +- .../MATRIX/a1-[autogen]/docstring.json | 3 +- .../POPULATE/a1-[autogen]/docstring.json | 3 +- .../RAND/a1-[autogen]/docstring.json | 3 +- .../SCALAR/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../SINE/a1-[autogen]/docstring.json | 3 +- .../TEXT/a1-[autogen]/docstring.json | 3 +- .../TIMESERIES/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../WAVEPACKET/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../LM34/a1-[autogen]/docstring.json | 3 +- .../OPEN_WEBCAM/a1-[autogen]/docstring.json | 3 +- .../WEBCAM/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../READ_A0_PINS/a1-[autogen]/docstring.json | 3 +- .../READ_N_PINS/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../ON_OFF_33510B/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../WEINSCHEL8320/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../DIODE_USB4065/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../CLOSE_ALL/a1-[autogen]/docstring.json | 3 +- .../LIST_VISA/a1-[autogen]/docstring.json | 11 +- .../LIST_VISA/a1-[autogen]/docstring.txt | 5 + .../LIST_VISA/a1-[autogen]/python_code.txt | 5 +- .../VISA_IDENTITY/a1-[autogen]/docstring.json | 3 +- .../CONNECTION_FSV/a1-[autogen]/docstring.txt | 15 + .../a1-[autogen]/docstring.txt | 16 + .../INIT_SWEEP_FSV/a1-[autogen]/docstring.txt | 20 + .../a1-[autogen]/docstring.txt | 35 + .../IV_SWEEP/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../TINYMOVR_CALIBRATE/TINYMOVR_CALIBRATE.md | 47 ++ .../a1-[autogen]/docstring.json | 18 + .../a1-[autogen]/docstring.txt | 10 + .../a1-[autogen]/python_code.txt | 26 + .../TINYMOVR_CALIBRATE/appendix/hardware.md | 1 + .../TINYMOVR_CALIBRATE/appendix/media.md | 1 + .../TINYMOVR_CALIBRATE/appendix/notes.md | 1 + .../TINYMOVR_CALIBRATE/examples/EX1/app.json | 754 ++++++++++++++++++ .../TINYMOVR_SET_VELOCITY.md | 47 ++ .../a1-[autogen]/docstring.json | 12 + .../a1-[autogen]/docstring.txt | 11 + .../a1-[autogen]/python_code.txt | 36 + .../appendix/hardware.md | 1 + .../TINYMOVR_SET_VELOCITY/appendix/media.md | 1 + .../TINYMOVR_SET_VELOCITY/appendix/notes.md | 1 + .../examples/EX1/app.json | 468 +++++++++++ .../MOTOR_DRIVERS/STEPPER/POLULU/TIC/TIC.md | 47 ++ .../POLULU/TIC/a1-[autogen]/docstring.json | 22 + .../POLULU/TIC/a1-[autogen]/docstring.txt | 14 + .../POLULU/TIC/a1-[autogen]/python_code.txt | 37 + .../STEPPER/POLULU/TIC/appendix/hardware.md | 1 + .../STEPPER/POLULU/TIC/appendix/media.md | 1 + .../STEPPER/POLULU/TIC/appendix/notes.md | 1 + .../STEPPER/POLULU/TIC/examples/EX1/app.json | 85 ++ .../POLULU/TIC/examples/EX1/example.md | 15 + .../STEPPER/POLULU/TIC_KNOB/TIC_KNOB.md | 47 ++ .../TIC_KNOB/a1-[autogen]/docstring.json | 27 + .../TIC_KNOB/a1-[autogen]/docstring.txt | 14 + .../TIC_KNOB/a1-[autogen]/python_code.txt | 41 + .../POLULU/TIC_KNOB/appendix/hardware.md | 1 + .../STEPPER/POLULU/TIC_KNOB/appendix/media.md | 1 + .../STEPPER/POLULU/TIC_KNOB/appendix/notes.md | 1 + .../POLULU/TIC_KNOB/examples/EX1/app.json | 106 +++ .../POLULU/TIC_KNOB/examples/EX1/example.md | 14 + .../CAN/CANABLE/CAN_MESSAGE/CAN_MESSAGE.md | 47 ++ .../CAN_MESSAGE/a1-[autogen]/docstring.json | 23 + .../CAN_MESSAGE/a1-[autogen]/docstring.txt | 18 + .../CAN_MESSAGE/a1-[autogen]/python_code.txt | 33 + .../CANABLE/CAN_MESSAGE/appendix/hardware.md | 1 + .../CAN/CANABLE/CAN_MESSAGE/appendix/media.md | 1 + .../CAN/CANABLE/CAN_MESSAGE/appendix/notes.md | 1 + .../CANABLE/CAN_MESSAGE/examples/EX1/app.json | 371 +++++++++ .../PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR.md | 47 ++ .../PROLOGIX_ADDR/a1-[autogen]/docstring.json | 18 + .../PROLOGIX_ADDR/a1-[autogen]/docstring.txt | 16 + .../a1-[autogen]/python_code.txt | 26 + .../PROLOGIX_ADDR/appendix/hardware.md | 1 + .../PROLOGIX/PROLOGIX_ADDR/appendix/media.md | 1 + .../PROLOGIX/PROLOGIX_ADDR/appendix/notes.md | 1 + .../PROLOGIX_ADDR/examples/EX1/app.json | 636 +++++++++++++++ .../PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO.md | 47 ++ .../PROLOGIX_AUTO/a1-[autogen]/docstring.json | 18 + .../PROLOGIX_AUTO/a1-[autogen]/docstring.txt | 18 + .../a1-[autogen]/python_code.txt | 31 + .../PROLOGIX_AUTO/appendix/hardware.md | 1 + .../PROLOGIX/PROLOGIX_AUTO/appendix/media.md | 1 + .../PROLOGIX/PROLOGIX_AUTO/appendix/notes.md | 1 + .../PROLOGIX_AUTO/examples/EX1/app.json | 636 +++++++++++++++ .../PROLOGIX/PROLOGIX_HELP/PROLOGIX_HELP.md | 47 ++ .../PROLOGIX_HELP/a1-[autogen]/docstring.json | 18 + .../PROLOGIX_HELP/a1-[autogen]/docstring.txt | 16 + .../a1-[autogen]/python_code.txt | 23 + .../PROLOGIX_HELP/appendix/hardware.md | 1 + .../PROLOGIX/PROLOGIX_HELP/appendix/media.md | 1 + .../PROLOGIX/PROLOGIX_HELP/appendix/notes.md | 1 + .../PROLOGIX_HELP/examples/EX1/app.json | 324 ++++++++ .../PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE.md | 47 ++ .../PROLOGIX_MODE/a1-[autogen]/docstring.json | 18 + .../PROLOGIX_MODE/a1-[autogen]/docstring.txt | 32 + .../a1-[autogen]/python_code.txt | 30 + .../PROLOGIX_MODE/appendix/hardware.md | 1 + .../PROLOGIX/PROLOGIX_MODE/appendix/media.md | 1 + .../PROLOGIX/PROLOGIX_MODE/appendix/notes.md | 1 + .../PROLOGIX_MODE/examples/EX1/app.json | 636 +++++++++++++++ .../PROLOGIX/PROLOGIX_VER/PROLOGIX_VER.md | 47 ++ .../PROLOGIX_VER/a1-[autogen]/docstring.json | 18 + .../PROLOGIX_VER/a1-[autogen]/docstring.txt | 16 + .../PROLOGIX_VER/a1-[autogen]/python_code.txt | 23 + .../PROLOGIX_VER/appendix/hardware.md | 1 + .../PROLOGIX/PROLOGIX_VER/appendix/media.md | 1 + .../PROLOGIX/PROLOGIX_VER/appendix/notes.md | 1 + .../PROLOGIX_VER/examples/EX1/app.json | 324 ++++++++ .../SCPI/IDN/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../PROTOCOLS/SCPI/SCPI_WRITE/SCPI_WRITE.md | 47 ++ .../SCPI_WRITE/a1-[autogen]/docstring.json | 18 + .../SCPI_WRITE/a1-[autogen]/docstring.txt | 16 + .../SCPI_WRITE/a1-[autogen]/python_code.txt | 31 + .../SCPI/SCPI_WRITE/appendix/hardware.md | 1 + .../SCPI/SCPI_WRITE/appendix/media.md | 1 + .../SCPI/SCPI_WRITE/appendix/notes.md | 1 + .../SCPI/SCPI_WRITE/examples/EX1/app.json | 240 ++++++ .../SCPI/SCPI_WRITE/examples/EX1/example.md | 1 + .../OPEN_SERIAL/a1-[autogen]/docstring.json | 18 + .../OPEN_SERIAL/a1-[autogen]/python_code.txt | 12 +- .../a1-[autogen]/docstring.json | 23 + .../a1-[autogen]/docstring.txt | 7 +- .../a1-[autogen]/python_code.txt | 9 +- .../a1-[autogen]/docstring.json | 32 + .../ACTIVATE/a1-[autogen]/docstring.json | 3 +- .../CONNECT/a1-[autogen]/docstring.json | 11 +- .../CONNECT/a1-[autogen]/docstring.txt | 5 + .../CONNECT/a1-[autogen]/python_code.txt | 2 +- .../DELAY/a1-[autogen]/docstring.json | 3 +- .../DISCONNECT/a1-[autogen]/docstring.json | 3 +- .../HOME/a1-[autogen]/docstring.json | 3 +- .../MOVE_JOINT/a1-[autogen]/docstring.json | 3 +- .../MOVE_LIN/a1-[autogen]/docstring.json | 3 +- .../MOVE_POSE/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../SET_JOINT_VEL/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../examples/EX1/app.json | 582 +++++++++++++- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.txt | 2 + .../a1-[autogen]/python_code.txt | 2 +- .../a1-[autogen]/docstring.json | 3 +- .../LOCAL_FILE/a1-[autogen]/docstring.json | 3 +- .../OPEN_MATLAB/a1-[autogen]/docstring.json | 3 +- .../REMOTE_FILE/a1-[autogen]/docstring.json | 3 +- .../CONDITIONAL/a1-[autogen]/docstring.json | 3 +- .../LOOPS/APPEND/a1-[autogen]/docstring.json | 3 +- .../LOOPS/LOOP/a1-[autogen]/docstring.json | 3 +- .../BREAK/a1-[autogen]/docstring.json | 3 +- .../LOOP_INDEX/a1-[autogen]/docstring.json | 3 +- .../TIMERS/TIMER/a1-[autogen]/docstring.json | 3 +- .../CHOLESKY/a1-[autogen]/docstring.json | 3 +- .../LINALG/DET/a1-[autogen]/docstring.json | 3 +- .../LINALG/EIG/a1-[autogen]/docstring.json | 3 +- .../LINALG/EIGH/a1-[autogen]/docstring.json | 3 +- .../EIGVALS/a1-[autogen]/docstring.json | 3 +- .../EIGVALSH/a1-[autogen]/docstring.json | 3 +- .../LINALG/INV/a1-[autogen]/docstring.json | 3 +- .../MATRIX_POWER/a1-[autogen]/docstring.json | 3 +- .../LINALG/PINV/a1-[autogen]/docstring.json | 3 +- .../LINALG/QR/a1-[autogen]/docstring.json | 3 +- .../SLOGDET/a1-[autogen]/docstring.json | 3 +- .../LINALG/SVD/a1-[autogen]/docstring.json | 3 +- .../TENSORINV/a1-[autogen]/docstring.json | 3 +- .../ARGRELMAX/a1-[autogen]/docstring.json | 3 +- .../ARGRELMIN/a1-[autogen]/docstring.json | 3 +- .../BSPLINE/a1-[autogen]/docstring.json | 24 +- .../SIGNAL/BSPLINE/a1-[autogen]/docstring.txt | 25 +- .../BSPLINE/a1-[autogen]/python_code.txt | 5 +- .../SIGNAL/CUBIC/a1-[autogen]/docstring.json | 3 +- .../DECIMATE/a1-[autogen]/docstring.json | 3 +- .../DETREND/a1-[autogen]/docstring.json | 3 +- .../GAUSS_SPLINE/a1-[autogen]/docstring.json | 3 +- .../HILBERT/a1-[autogen]/docstring.json | 3 +- .../KAISER_BETA/a1-[autogen]/docstring.json | 3 +- .../PERIODOGRAM/a1-[autogen]/docstring.json | 3 +- .../QUADRATIC/a1-[autogen]/docstring.json | 3 +- .../SAVGOL_FILTER/a1-[autogen]/docstring.json | 3 +- .../SIGNAL/STFT/a1-[autogen]/docstring.json | 3 +- .../SIGNAL/WELCH/a1-[autogen]/docstring.json | 3 +- .../ANDERSON/a1-[autogen]/docstring.json | 3 +- .../BAYES_MVS/a1-[autogen]/docstring.json | 3 +- .../BINOM_TEST/a1-[autogen]/docstring.json | 3 +- .../DESCRIBE/a1-[autogen]/docstring.json | 3 +- .../STATS/GSTD/a1-[autogen]/docstring.json | 3 +- .../STATS/GZSCORE/a1-[autogen]/docstring.json | 3 +- .../JARQUE_BERA/a1-[autogen]/docstring.json | 3 +- .../KURTOSIS/a1-[autogen]/docstring.json | 3 +- .../KURTOSISTEST/a1-[autogen]/docstring.json | 3 +- .../STATS/MOMENT/a1-[autogen]/docstring.json | 3 +- .../STATS/MVSDIST/a1-[autogen]/docstring.json | 3 +- .../NORMALTEST/a1-[autogen]/docstring.json | 3 +- .../STATS/SEM/a1-[autogen]/docstring.json | 3 +- .../STATS/SHAPIRO/a1-[autogen]/docstring.json | 3 +- .../SIGMACLIP/a1-[autogen]/docstring.json | 3 +- .../STATS/SKEW/a1-[autogen]/docstring.json | 3 +- .../SKEWTEST/a1-[autogen]/docstring.json | 3 +- .../STATS/TMAX/a1-[autogen]/docstring.json | 3 +- .../STATS/TMIN/a1-[autogen]/docstring.json | 3 +- .../STATS/TRIM1/a1-[autogen]/docstring.json | 3 +- .../TRIMBOTH/a1-[autogen]/docstring.json | 3 +- .../TRIM_MEAN/a1-[autogen]/docstring.json | 3 +- .../TTEST_1SAMP/a1-[autogen]/docstring.json | 3 +- .../VARIATION/a1-[autogen]/docstring.json | 3 +- .../YEOJOHNSON/a1-[autogen]/docstring.json | 3 +- .../STATS/ZSCORE/a1-[autogen]/docstring.json | 3 +- .../ABS/a1-[autogen]/docstring.json | 11 +- .../ARITHMETIC/ABS/a1-[autogen]/docstring.txt | 4 +- .../ABS/a1-[autogen]/python_code.txt | 3 +- .../ADD/a1-[autogen]/docstring.json | 16 +- .../ARITHMETIC/ADD/a1-[autogen]/docstring.txt | 4 +- .../ADD/a1-[autogen]/python_code.txt | 7 +- .../DIVIDE/a1-[autogen]/docstring.json | 3 +- .../MULTIPLY/a1-[autogen]/docstring.json | 3 +- .../SUBTRACT/a1-[autogen]/docstring.json | 3 +- .../DIFFERENTIATE/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../INTEGRATE/a1-[autogen]/docstring.json | 3 +- .../CHANNEL_MERGE/a1-[autogen]/docstring.json | 3 +- .../CHANNEL_SPLIT/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../DOT_PRODUCT/a1-[autogen]/docstring.json | 3 +- .../INVERT/a1-[autogen]/docstring.json | 3 +- .../MATMUL/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../SORT_MATRIX/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 12 + .../a1-[autogen]/docstring.json | 3 +- .../BUTTER/a1-[autogen]/docstring.json | 3 +- .../FFT/a1-[autogen]/docstring.json | 3 +- .../FIR/a1-[autogen]/docstring.json | 3 +- .../IFFT/a1-[autogen]/docstring.json | 3 +- .../PEAK_DETECTION/a1-[autogen]/docstring.txt | 50 ++ .../PID/a1-[autogen]/docstring.json | 3 +- .../SAVGOL/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../TEXT_CONCAT/a1-[autogen]/docstring.json | 3 +- .../DF_2_NP/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 12 + .../MAT_2_DF/a1-[autogen]/docstring.json | 3 +- .../NP_2_DF/a1-[autogen]/docstring.json | 3 +- .../ORDERED_PAIR_2_VECTOR.md | 47 ++ .../a1-[autogen]/docstring.json | 12 + .../a1-[autogen]/docstring.txt | 12 + .../a1-[autogen]/python_code.txt | 14 + .../appendix/hardware.md | 1 + .../ORDERED_PAIR_2_VECTOR/appendix/media.md | 1 + .../ORDERED_PAIR_2_VECTOR/appendix/notes.md | 1 + .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 23 + .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../SHIFT_VECTOR/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../SORT_VECTOR/a1-[autogen]/docstring.json | 3 +- .../SPLIT_VECTOR/a1-[autogen]/docstring.json | 3 +- .../VECTOR_DELETE/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../VECTOR_INSERT/a1-[autogen]/docstring.json | 3 +- .../VECTOR_LENGTH/a1-[autogen]/docstring.json | 3 +- .../VECTOR_MAX/a1-[autogen]/docstring.json | 3 +- .../VECTOR_MIN/a1-[autogen]/docstring.json | 11 +- .../VECTOR_MIN/a1-[autogen]/docstring.txt | 4 +- .../VECTOR_MIN/a1-[autogen]/python_code.txt | 2 +- .../VECTOR_SUBSET/a1-[autogen]/docstring.json | 3 +- .../ARRAY_VIEW/a1-[autogen]/docstring.json | 3 +- .../ARRAY_VIEW/a1-[autogen]/docstring.txt | 2 +- .../ARRAY_VIEW/a1-[autogen]/python_code.txt | 4 +- .../MATRIX_VIEW/a1-[autogen]/docstring.json | 3 +- .../TEXT_VIEW/a1-[autogen]/docstring.json | 13 +- .../TEXT_VIEW/a1-[autogen]/docstring.txt | 9 +- .../TEXT_VIEW/a1-[autogen]/python_code.txt | 10 +- .../PLOTLY/BAR/a1-[autogen]/docstring.json | 3 +- .../BIG_NUMBER/a1-[autogen]/docstring.json | 3 +- .../COMPOSITE/a1-[autogen]/docstring.json | 3 +- .../HEATMAP/a1-[autogen]/docstring.json | 3 +- .../HISTOGRAM/a1-[autogen]/docstring.json | 3 +- .../PLOTLY/IMAGE/a1-[autogen]/docstring.json | 3 +- .../PLOTLY/LINE/a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/docstring.json | 3 +- .../a1-[autogen]/python_code.txt | 2 +- .../PROPHET_PLOT/a1-[autogen]/docstring.json | 3 +- .../PROPHET_PLOT/a1-[autogen]/python_code.txt | 2 +- .../SCATTER/a1-[autogen]/docstring.json | 3 +- .../SCATTER3D/a1-[autogen]/docstring.json | 3 +- .../SURFACE3D/a1-[autogen]/docstring.json | 3 +- .../PLOTLY/TABLE/a1-[autogen]/docstring.json | 3 +- nodeSidebar.json | 46 +- 356 files changed, 7404 insertions(+), 344 deletions(-) create mode 100644 docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/CONNECTION_FSV/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/TINYMOVR_CALIBRATE.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/hardware.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/media.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/notes.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/examples/EX1/app.json create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/TINYMOVR_SET_VELOCITY.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/hardware.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/media.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/notes.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/examples/EX1/app.json create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/TIC.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/hardware.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/media.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/notes.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/examples/EX1/app.json create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/examples/EX1/example.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/TIC_KNOB.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/hardware.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/media.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/notes.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/examples/EX1/app.json create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/examples/EX1/example.md create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/CAN_MESSAGE.md create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/hardware.md create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/media.md create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/notes.md create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/examples/EX1/app.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/hardware.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/media.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/notes.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/examples/EX1/app.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/hardware.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/media.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/notes.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/examples/EX1/app.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/PROLOGIX_HELP.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/hardware.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/media.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/notes.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/examples/EX1/app.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/hardware.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/media.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/notes.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/examples/EX1/app.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/PROLOGIX_VER.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/hardware.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/media.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/notes.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/examples/EX1/app.json create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/SCPI_WRITE.md create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/appendix/hardware.md create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/appendix/media.md create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/appendix/notes.md create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/examples/EX1/app.json create mode 100644 docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/examples/EX1/example.md create mode 100644 docs/nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/docstring.json create mode 100644 docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_TIMESERIES/a1-[autogen]/docstring.json create mode 100644 docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/TRANSPOSE_MATRIX/a1-[autogen]/docstring.json create mode 100644 docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PEAK_DETECTION/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/MATRIX_2_VECTOR/a1-[autogen]/docstring.json create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR.md create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.json create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.txt create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/python_code.txt create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/hardware.md create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/media.md create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/notes.md create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_MATRIX/a1-[autogen]/docstring.json diff --git a/docs/nodes/AI_ML/CLASSIFICATION/ACCURACY/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/CLASSIFICATION/ACCURACY/a1-[autogen]/docstring.json index df0342864d..778c31afd3 100644 --- a/docs/nodes/AI_ML/CLASSIFICATION/ACCURACY/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/CLASSIFICATION/ACCURACY/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "These dataframes should both be single columns.", + "long_description": "These dataframes should both be single columns.", + "short_description": "The ACCURACY node takes two dataframes with the true and predicted labels from a classification task, and indicates whether the prediction was correct or not.", "parameters": [ { "name": "true_label", diff --git a/docs/nodes/AI_ML/CLASSIFICATION/ONE_HOT_ENCODING/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/CLASSIFICATION/ONE_HOT_ENCODING/a1-[autogen]/docstring.json index 804e2564d4..8cf3c6b638 100644 --- a/docs/nodes/AI_ML/CLASSIFICATION/ONE_HOT_ENCODING/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/CLASSIFICATION/ONE_HOT_ENCODING/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndata : DataFrame\n The input dataframe containing the categorical features.", + "long_description": "Inputs\n------\ndata : DataFrame\n The input dataframe containing the categorical features.", + "short_description": "The ONE_HOT_ENCODING node creates a one hot encoding from a dataframe containing categorical features.", "parameters": [ { "name": "feature_col", diff --git a/docs/nodes/AI_ML/CLASSIFICATION/SUPPORT_VECTOR_MACHINE/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/CLASSIFICATION/SUPPORT_VECTOR_MACHINE/a1-[autogen]/docstring.json index 8e5157531d..caffad8af7 100644 --- a/docs/nodes/AI_ML/CLASSIFICATION/SUPPORT_VECTOR_MACHINE/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/CLASSIFICATION/SUPPORT_VECTOR_MACHINE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It takes two dataframes of label and feature from labelled training data and a dataframe of unlabelled input data.", + "long_description": "It takes two dataframes of label and feature from labelled training data and a dataframe of unlabelled input data.", + "short_description": "The SUPPORT_VECTOR_MACHINE node is used to train a support vector machine model for classification tasks.", "parameters": [ { "name": "kernel", diff --git a/docs/nodes/AI_ML/CLASSIFICATION/TORCHSCRIPT_CLASSIFIER/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/CLASSIFICATION/TORCHSCRIPT_CLASSIFIER/a1-[autogen]/docstring.json index 96c5da03b6..bf717f5046 100644 --- a/docs/nodes/AI_ML/CLASSIFICATION/TORCHSCRIPT_CLASSIFIER/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/CLASSIFICATION/TORCHSCRIPT_CLASSIFIER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n----------\ninput_image : Image\n The image to classify.\nclass_names : DataFrame\n A dataframe containing the class names.", + "long_description": "Inputs\n----------\ninput_image : Image\n The image to classify.\nclass_names : DataFrame\n A dataframe containing the class names.", + "short_description": "Execute a torchscript classifier against an input image.", "parameters": [ { "name": "model_path", diff --git a/docs/nodes/AI_ML/CLASSIFICATION/TRAIN_TEST_SPLIT/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/CLASSIFICATION/TRAIN_TEST_SPLIT/a1-[autogen]/docstring.json index 43fd6809b8..9a6b5de8cf 100644 --- a/docs/nodes/AI_ML/CLASSIFICATION/TRAIN_TEST_SPLIT/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/CLASSIFICATION/TRAIN_TEST_SPLIT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The TRAIN_TEST_SPLIT node is used to split the data into test and training according to a size specified before any ML tasks.", "parameters": [ { "name": "test_size", diff --git a/docs/nodes/AI_ML/IMAGE_CAPTIONING/NLP_CONNECT_VIT_GPT2/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/IMAGE_CAPTIONING/NLP_CONNECT_VIT_GPT2/a1-[autogen]/docstring.json index 92e32e5747..32a58f9183 100644 --- a/docs/nodes/AI_ML/IMAGE_CAPTIONING/NLP_CONNECT_VIT_GPT2/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/IMAGE_CAPTIONING/NLP_CONNECT_VIT_GPT2/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The NLP_CONNECT_VIT_GPT2 node captions an input image and produces an output string wrapped in a dataframe.", "parameters": [], "returns": [ { diff --git a/docs/nodes/AI_ML/IMAGE_CLASSIFICATION/HUGGING_FACE_PIPELINE/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/IMAGE_CLASSIFICATION/HUGGING_FACE_PIPELINE/a1-[autogen]/docstring.json index c2a7b193c0..0ee1e3fd61 100644 --- a/docs/nodes/AI_ML/IMAGE_CLASSIFICATION/HUGGING_FACE_PIPELINE/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/IMAGE_CLASSIFICATION/HUGGING_FACE_PIPELINE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "For more information about Vision Transformers,\nsee: https://huggingface.co/google/vit-base-patch16-224\n\nFor a complete list of models, see:\nhttps://huggingface.co/models?pipeline_tag=image-classification\n\nFor examples of how revision parameters (such as 'main') is used,\nsee: https://huggingface.co/google/vit-base-patch16-224/commits/main", + "long_description": "For more information about Vision Transformers,\nsee: https://huggingface.co/google/vit-base-patch16-224\n\nFor a complete list of models, see:\nhttps://huggingface.co/models?pipeline_tag=image-classification\n\nFor examples of how revision parameters (such as 'main') is used,\nsee: https://huggingface.co/google/vit-base-patch16-224/commits/main", + "short_description": "The HUGGING_FACE_PIPELINE node uses a classification pipeline to process and classify an image.", "parameters": [ { "name": "default", diff --git a/docs/nodes/AI_ML/LOAD_MODEL/ONNX_MODEL/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/LOAD_MODEL/ONNX_MODEL/a1-[autogen]/docstring.json index f3294512da..af9d0133e0 100644 --- a/docs/nodes/AI_ML/LOAD_MODEL/ONNX_MODEL/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/LOAD_MODEL/ONNX_MODEL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This allows supporting a wide range of deep learning frameworks and hardware platforms.", + "long_description": "This allows supporting a wide range of deep learning frameworks and hardware platforms.", + "short_description": "ONNX_MODEL loads a serialized ONNX model and uses it to make predictions using ONNX Runtime.", "parameters": [ { "name": "file_path", diff --git a/docs/nodes/AI_ML/NLP/COUNT_VECTORIZER/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/NLP/COUNT_VECTORIZER/a1-[autogen]/docstring.json index 43ec5dd8bd..19fce6f4db 100644 --- a/docs/nodes/AI_ML/NLP/COUNT_VECTORIZER/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/NLP/COUNT_VECTORIZER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The COUNT_VECTORIZER node receives a collection (matrix, vector or dataframe) of text documents and converts it to a matrix of token counts.", "parameters": [], "returns": [ { diff --git a/docs/nodes/AI_ML/OBJECT_DETECTION/OBJECT_DETECTION/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/OBJECT_DETECTION/OBJECT_DETECTION/a1-[autogen]/docstring.json index aea85d72a3..7f160a8601 100644 --- a/docs/nodes/AI_ML/OBJECT_DETECTION/OBJECT_DETECTION/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/OBJECT_DETECTION/OBJECT_DETECTION/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Image", + "long_description": "Inputs\n------\ndefault : Image", + "short_description": "The OBJECT_DETECTION node detects objects in the input image, and returns an 'image' DataContainer with those objects highlighted.", "parameters": [], "returns": [ { diff --git a/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/docstring.json index dbcde4df6e..eac9bb8d60 100644 --- a/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The DataContainer input type must be a dataframe, and the first column (or index) of the dataframe must be of a datetime type.\n\nThis node always returns a DataContainer of a dataframe type. It will also always return an 'extra' field with a key 'prophet' of which the value is the JSONified Prophet model.\nThis model can be loaded as follows:\n\n ```python\n from prophet.serialize import model_from_json\n\n model = model_from_json(dc_inputs.extra[\"prophet\"])\n ```", + "long_description": "The DataContainer input type must be a dataframe, and the first column (or index) of the dataframe must be of a datetime type.\n\nThis node always returns a DataContainer of a dataframe type. It will also always return an 'extra' field with a key 'prophet' of which the value is the JSONified Prophet model.\nThis model can be loaded as follows:", + "short_description": "The PROPHET_PREDICT node runs a Prophet model on the incoming dataframe.", "parameters": [ { "name": "run_forecast", diff --git a/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/docstring.txt b/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/docstring.txt index cc5b56f6dc..fa452ff52e 100644 --- a/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/docstring.txt +++ b/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/docstring.txt @@ -5,12 +5,6 @@ The PROPHET_PREDICT node runs a Prophet model on the incoming dataframe. This node always returns a DataContainer of a dataframe type. It will also always return an 'extra' field with a key 'prophet' of which the value is the JSONified Prophet model. This model can be loaded as follows: - ```python - from prophet.serialize import model_from_json - - model = model_from_json(dc_inputs.extra["prophet"]) - ``` - Parameters ---------- run_forecast : bool diff --git a/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/python_code.txt b/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/python_code.txt index 8bec0373f8..e1cace53c6 100644 --- a/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/python_code.txt +++ b/docs/nodes/AI_ML/PREDICT_TIME_SERIES/PROPHET_PREDICT/a1-[autogen]/python_code.txt @@ -1,10 +1,10 @@ -from flojoy import flojoy, run_in_venv, DataFrame +from flojoy import DataFrame, flojoy, run_in_venv @flojoy @run_in_venv( pip_dependencies=[ - "prophet==1.1.4", + "prophet==1.1.5", ] ) def PROPHET_PREDICT( @@ -14,9 +14,9 @@ def PROPHET_PREDICT( import os import sys - import pandas as pd - import numpy as np + import numpy as np + import pandas as pd import prophet from prophet.serialize import model_to_json diff --git a/docs/nodes/AI_ML/REGRESSION/LEAST_SQUARES/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/REGRESSION/LEAST_SQUARES/a1-[autogen]/docstring.json index 47dbc8e966..12e433b443 100644 --- a/docs/nodes/AI_ML/REGRESSION/LEAST_SQUARES/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/REGRESSION/LEAST_SQUARES/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The LEAST_SQUARE node computes the coefficients that minimize the distance between the inputs 'Matrix' or 'OrderedPair' class and the regression.", "parameters": [], "returns": [ { diff --git a/docs/nodes/AI_ML/SEGMENTATION/DEEPLAB_V3/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/SEGMENTATION/DEEPLAB_V3/a1-[autogen]/docstring.json index 75d0371687..f95573a7fb 100644 --- a/docs/nodes/AI_ML/SEGMENTATION/DEEPLAB_V3/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/SEGMENTATION/DEEPLAB_V3/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The input image is expected to be a DataContainer of an 'image' type.\n\nThe output is a DataContainer of an 'image' type with the same dimensions as the input image, but with the red, green, and blue channels replaced with the segmentation mask.", + "long_description": "The input image is expected to be a DataContainer of an 'image' type.\n\nThe output is a DataContainer of an 'image' type with the same dimensions as the input image, but with the red, green, and blue channels replaced with the segmentation mask.", + "short_description": "The DEEPLAB_V3 node returns a segmentation mask from an input image in a dataframe.", "parameters": [], "returns": [ { diff --git a/docs/nodes/AI_ML/TEXT_SUMMARIZATION/BART_LARGE_CNN/a1-[autogen]/docstring.json b/docs/nodes/AI_ML/TEXT_SUMMARIZATION/BART_LARGE_CNN/a1-[autogen]/docstring.json index 0107a1ffc1..4d97eb3450 100644 --- a/docs/nodes/AI_ML/TEXT_SUMMARIZATION/BART_LARGE_CNN/a1-[autogen]/docstring.json +++ b/docs/nodes/AI_ML/TEXT_SUMMARIZATION/BART_LARGE_CNN/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The \"summary_text\" column contains a summary of the text in the corresponding row of the input dataframe.", + "long_description": "The \"summary_text\" column contains a summary of the text in the corresponding row of the input dataframe.", + "short_description": "The BART_LARGE_CNN node takes an input dataframe with multiple rows and a single column, and produces a dataframe with a single \"summary_text\" column.", "parameters": [], "returns": [ { diff --git a/docs/nodes/EXTRACTORS/DATAFRAME/EXTRACT_COLUMNS/a1-[autogen]/docstring.json b/docs/nodes/EXTRACTORS/DATAFRAME/EXTRACT_COLUMNS/a1-[autogen]/docstring.json index d4f40ca827..9a977aad71 100644 --- a/docs/nodes/EXTRACTORS/DATAFRAME/EXTRACT_COLUMNS/a1-[autogen]/docstring.json +++ b/docs/nodes/EXTRACTORS/DATAFRAME/EXTRACT_COLUMNS/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : DataFrame|Matrix\n Input to use as the table for column extraction", + "long_description": "Inputs\n------\ndefault : DataFrame|Matrix\n Input to use as the table for column extraction", + "short_description": "The EXTRACT_COLUMNS node takes an input dataframe/matrix and returns a dataframe/matrix with only the specified columns.", "parameters": [ { "name": "columns", diff --git a/docs/nodes/EXTRACTORS/DEBUGGING/DATACONTAINER_TYPE/a1-[autogen]/docstring.json b/docs/nodes/EXTRACTORS/DEBUGGING/DATACONTAINER_TYPE/a1-[autogen]/docstring.json index 1dbbede8ab..83cb4ad0c2 100644 --- a/docs/nodes/EXTRACTORS/DEBUGGING/DATACONTAINER_TYPE/a1-[autogen]/docstring.json +++ b/docs/nodes/EXTRACTORS/DEBUGGING/DATACONTAINER_TYPE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Must use the TEXT_VIEW node to view the text.", + "long_description": "Must use the TEXT_VIEW node to view the text.", + "short_description": "The DATACONTAINER_TYPE node returns a TextBlob containing the input DataContainer type (e.g. Vector).", "parameters": [], "returns": [ { diff --git a/docs/nodes/EXTRACTORS/DEBUGGING/DC_CONTENT_TYPE/a1-[autogen]/docstring.json b/docs/nodes/EXTRACTORS/DEBUGGING/DC_CONTENT_TYPE/a1-[autogen]/docstring.json index ecd8393f28..29e5850334 100644 --- a/docs/nodes/EXTRACTORS/DEBUGGING/DC_CONTENT_TYPE/a1-[autogen]/docstring.json +++ b/docs/nodes/EXTRACTORS/DEBUGGING/DC_CONTENT_TYPE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Must use the TEXT_VIEW node to view the text.", + "long_description": "Must use the TEXT_VIEW node to view the text.", + "short_description": "The DC_CONTENT_TYPE node returns a TextBlob containing the type of the input DataContainer's content.", "parameters": [], "returns": [ { diff --git a/docs/nodes/EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/a1-[autogen]/docstring.json b/docs/nodes/EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/a1-[autogen]/docstring.json index 0ab5d4176a..ed2fc3a851 100644 --- a/docs/nodes/EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/a1-[autogen]/docstring.json +++ b/docs/nodes/EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Must use the TEXT_VIEW node to view the text.", + "long_description": "Must use the TEXT_VIEW node to view the text.", + "short_description": "The PRINT_DATACONTAINER node returns a TextBlob containing input DataContainer information.", "parameters": [], "returns": [ { diff --git a/docs/nodes/EXTRACTORS/FILE/OPEN_IMAGE/a1-[autogen]/docstring.json b/docs/nodes/EXTRACTORS/FILE/OPEN_IMAGE/a1-[autogen]/docstring.json index 71a04cc5f9..5ff467719b 100644 --- a/docs/nodes/EXTRACTORS/FILE/OPEN_IMAGE/a1-[autogen]/docstring.json +++ b/docs/nodes/EXTRACTORS/FILE/OPEN_IMAGE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault: None", + "long_description": "Inputs\n------\ndefault: None", + "short_description": "The OPEN_IMAGE node loads an image file from disk and returns an image type DataContainer object.", "parameters": [ { "name": "file_path", diff --git a/docs/nodes/EXTRACTORS/FILE/OPEN_PARQUET/a1-[autogen]/docstring.json b/docs/nodes/EXTRACTORS/FILE/OPEN_PARQUET/a1-[autogen]/docstring.json index b8aedc57dc..8d10675773 100644 --- a/docs/nodes/EXTRACTORS/FILE/OPEN_PARQUET/a1-[autogen]/docstring.json +++ b/docs/nodes/EXTRACTORS/FILE/OPEN_PARQUET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault: None", + "long_description": "Inputs\n------\ndefault: None", + "short_description": "The OPEN_PARQUET node loads a local file of the .parquet file format. It then returns the file as a pandas.Dataframe type.", "parameters": [ { "name": "file_path", diff --git a/docs/nodes/EXTRACTORS/FILE/READ_CSV/a1-[autogen]/docstring.json b/docs/nodes/EXTRACTORS/FILE/READ_CSV/a1-[autogen]/docstring.json index 91c5231328..4a31983364 100644 --- a/docs/nodes/EXTRACTORS/FILE/READ_CSV/a1-[autogen]/docstring.json +++ b/docs/nodes/EXTRACTORS/FILE/READ_CSV/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The READ_CSV node reads a .csv file from disk or a URL, and then returns a dataframe.", "parameters": [ { "name": "file_path", diff --git a/docs/nodes/EXTRACTORS/FILE/READ_S3/a1-[autogen]/docstring.json b/docs/nodes/EXTRACTORS/FILE/READ_S3/a1-[autogen]/docstring.json index 3c47d804a3..019d8f335a 100644 --- a/docs/nodes/EXTRACTORS/FILE/READ_S3/a1-[autogen]/docstring.json +++ b/docs/nodes/EXTRACTORS/FILE/READ_S3/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault: None", + "long_description": "Inputs\n------\ndefault: None", + "short_description": "The READ_S3 node takes a S3_key name, S3 bucket name, and file name as input, and extracts the file from the specified bucket using the S3_key that was saved.", "parameters": [ { "name": "s3_name", diff --git a/docs/nodes/GENERATORS/SAMPLE_DATASETS/PLOTLY_DATASET/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SAMPLE_DATASETS/PLOTLY_DATASET/a1-[autogen]/docstring.json index e978780610..2edc412715 100644 --- a/docs/nodes/GENERATORS/SAMPLE_DATASETS/PLOTLY_DATASET/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SAMPLE_DATASETS/PLOTLY_DATASET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The PLOTLY_DATASET node retrieves a pandas DataFrame from a Plotly built-in dataset using the provided dataset_key parameter and returns it wrapped in a Flojoy DataFrame class.", "parameters": [ { "name": "dataset_key", diff --git a/docs/nodes/GENERATORS/SAMPLE_DATASETS/SCIKIT_LEARN_DATASET/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SAMPLE_DATASETS/SCIKIT_LEARN_DATASET/a1-[autogen]/docstring.json index 8d1a472cd2..d512f00774 100644 --- a/docs/nodes/GENERATORS/SAMPLE_DATASETS/SCIKIT_LEARN_DATASET/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SAMPLE_DATASETS/SCIKIT_LEARN_DATASET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "'sklearn.datasets', using the provided dataset_key parameter, and returns\nit wrapped in a DataContainer.", + "long_description": "'sklearn.datasets', using the provided dataset_key parameter, and returns\nit wrapped in a DataContainer.", + "short_description": "The SCIKIT_LEARN_DATASET node retrieves a pandas DataFrame from", "parameters": [ { "name": "dataset_name", diff --git a/docs/nodes/GENERATORS/SAMPLE_DATASETS/TEXT_DATASET/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SAMPLE_DATASETS/TEXT_DATASET/a1-[autogen]/docstring.json index a897b92e1e..41a2e0cd61 100644 --- a/docs/nodes/GENERATORS/SAMPLE_DATASETS/TEXT_DATASET/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SAMPLE_DATASETS/TEXT_DATASET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The data is returned as a dataframe with one column containing the text and the other containing the category.", + "long_description": "The data is returned as a dataframe with one column containing the text and the other containing the category.", + "short_description": "The TEXT_DATASET node loads the 20 newsgroups dataset from scikit-learn.", "parameters": [ { "name": "subset", diff --git a/docs/nodes/GENERATORS/SAMPLE_IMAGES/SKIMAGE/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SAMPLE_IMAGES/SKIMAGE/a1-[autogen]/docstring.json index 40f999fc27..23d45d40e4 100644 --- a/docs/nodes/GENERATORS/SAMPLE_IMAGES/SKIMAGE/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SAMPLE_IMAGES/SKIMAGE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Examples can be found here:\nhttps://scikit-image.org/docs/stable/auto_examples/index.html", + "long_description": "Examples can be found here:\nhttps://scikit-image.org/docs/stable/auto_examples/index.html", + "short_description": "The SKIMAGE node is designed to load example images from 'scikit-image'.", "parameters": [ { "name": "img_key", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/BASIC_OSCILLATOR/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/BASIC_OSCILLATOR/a1-[autogen]/docstring.json index 039afcec73..d0211e9888 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/BASIC_OSCILLATOR/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/BASIC_OSCILLATOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It offers a more straightforward way to generate signals, with sample rate and the time in seconds as parameters, along with all the parameters in the SINE node.", + "long_description": "It offers a more straightforward way to generate signals, with sample rate and the time in seconds as parameters, along with all the parameters in the SINE node.", + "short_description": "The BASIC_OSCILLATOR node is a combination of the LINSPACE and SINE nodes.", "parameters": [ { "name": "sample_rate", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/CONSTANT/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/CONSTANT/a1-[autogen]/docstring.json index eac83faeeb..a49fea8992 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/CONSTANT/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/CONSTANT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|Vector\n Optional input that defines the size of the output.", + "long_description": "Inputs\n------\ndefault : OrderedPair|Vector\n Optional input that defines the size of the output.", + "short_description": "The CONSTANT node generates a single x-y vector of numeric (floating point) constants.", "parameters": [ { "name": "dc_type", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/FEEDBACK/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/FEEDBACK/a1-[autogen]/docstring.json index 01292afb02..43efb3d3df 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/FEEDBACK/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/FEEDBACK/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The FEEDBACK node captures the result of the specified node ID. If the result is not found, it passes the result of the parent node.", "parameters": [ { "name": "referred_node", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/FEEDBACK/a1-[autogen]/python_code.txt b/docs/nodes/GENERATORS/SIMULATIONS/FEEDBACK/a1-[autogen]/python_code.txt index caad511642..05f1d5b74c 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/FEEDBACK/a1-[autogen]/python_code.txt +++ b/docs/nodes/GENERATORS/SIMULATIONS/FEEDBACK/a1-[autogen]/python_code.txt @@ -1,10 +1,11 @@ -from typing import Optional, Any +from typing import Any, Optional + from flojoy import ( - flojoy, DataContainer, - get_job_result, - NodeReference, JobResultBuilder, + NodeReference, + flojoy, + get_job_result, ) diff --git a/docs/nodes/GENERATORS/SIMULATIONS/LINSPACE/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/LINSPACE/a1-[autogen]/docstring.json index d6faafc1e7..e5486ce87a 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/LINSPACE/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/LINSPACE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It uses the 'linspace' numpy function. It is useful for generating an x-axis for the OrderedPair data type.\n\nInputs\n------\ndefault : OrderedPair\n Optional input in case LINSPACE is used in a loop. Not used.", + "long_description": "It uses the 'linspace' numpy function. It is useful for generating an x-axis for the OrderedPair data type.\n\nInputs\n------\ndefault : OrderedPair\n Optional input in case LINSPACE is used in a loop. Not used.", + "short_description": "The LINSPACE node generates data spaced evenly between two points.", "parameters": [ { "name": "start", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/MATRIX/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/MATRIX/a1-[autogen]/docstring.json index 2d4505f73c..33dbade3a0 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/MATRIX/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/MATRIX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Based on these inputs, it generates a random matrix where the integers inside the matrix are between 0 and 19.", + "long_description": "Based on these inputs, it generates a random matrix where the integers inside the matrix are between 0 and 19.", + "short_description": "The MATRIX node takes two arguments, 'row' and 'col', as input.", "parameters": [ { "name": "row", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/POPULATE/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/POPULATE/a1-[autogen]/docstring.json index 60a5834c94..46e086574f 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/POPULATE/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/POPULATE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|Vector\n Input to use as the x-axis for the random samples.", + "long_description": "Inputs\n------\ndefault : OrderedPair|Vector\n Input to use as the x-axis for the random samples.", + "short_description": "The POPULATE node generates random numbers, depending on the distribution selected and the input data.", "parameters": [ { "name": "distribution", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/RAND/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/RAND/a1-[autogen]/docstring.json index 4c45604ddd..95252ebd6b 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/RAND/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/RAND/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : DataContainer\n unused in this node", + "long_description": "Inputs\n------\ndefault : DataContainer\n unused in this node", + "short_description": "The RAND node generates a random number or a list of random numbers, depending on the distribution selected.", "parameters": [ { "name": "distribution", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/SCALAR/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/SCALAR/a1-[autogen]/docstring.json index 80c3fec03d..0fe0ee73a7 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/SCALAR/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/SCALAR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The SCALAR node returns a single Scalar value.", "parameters": [ { "name": "value", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/SECOND_ORDER_SYSTEM/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/SECOND_ORDER_SYSTEM/a1-[autogen]/docstring.json index 417c9a691d..5ca67f4d62 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/SECOND_ORDER_SYSTEM/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/SECOND_ORDER_SYSTEM/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This node is designed to be used in a loop. The data is appended as the loop progresses and written to memory.\n\nInputs\n------\ndefault : Scalar\n PID node output.", + "long_description": "This node is designed to be used in a loop. The data is appended as the loop progresses and written to memory.\n\nInputs\n------\ndefault : Scalar\n PID node output.", + "short_description": "The SECOND_ORDER_SYSTEM has a second order exponential function.", "parameters": [ { "name": "d1", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/SINE/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/SINE/a1-[autogen]/docstring.json index bd8a9fe517..3cfd0fd396 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/SINE/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/SINE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|Vector\n Input that defines the x-axis values of the function and output.", + "long_description": "Inputs\n------\ndefault : OrderedPair|Vector\n Input that defines the x-axis values of the function and output.", + "short_description": "The SINE node generates a waveform function with the shape being defined by the input.", "parameters": [ { "name": "waveform", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/TEXT/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/TEXT/a1-[autogen]/docstring.json index 369cd827e5..5e7069c34c 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/TEXT/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/TEXT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The TEXT node returns a TextBlob DataContainer.", "parameters": [ { "name": "value", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/TIMESERIES/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/TIMESERIES/a1-[autogen]/docstring.json index 60d0966911..4244b7ab4e 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/TIMESERIES/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/TIMESERIES/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The TIMESERIES node generates a random timeseries vector (as a DataFrame).", "parameters": [ { "name": "start_date", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/UNIX_TIMESTAMP/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/UNIX_TIMESTAMP/a1-[autogen]/docstring.json index df6c7addab..32a2c9fd97 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/UNIX_TIMESTAMP/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/UNIX_TIMESTAMP/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "If a Scalar input is provided, the Scalar is returned with the timestamp as an OrderedPair.\n\nInputs\n------\ndefault : Scalar\n A value to timestamp", + "long_description": "If a Scalar input is provided, the Scalar is returned with the timestamp as an OrderedPair.\n\nInputs\n------\ndefault : Scalar\n A value to timestamp", + "short_description": "Return the current UNIX timestamp as a float (Scalar) or array (Vector) with length equal to 1.", "parameters": [ { "name": "dc_type", diff --git a/docs/nodes/GENERATORS/SIMULATIONS/WAVEPACKET/a1-[autogen]/docstring.json b/docs/nodes/GENERATORS/SIMULATIONS/WAVEPACKET/a1-[autogen]/docstring.json index 1eed8906b0..1fb0445934 100644 --- a/docs/nodes/GENERATORS/SIMULATIONS/WAVEPACKET/a1-[autogen]/docstring.json +++ b/docs/nodes/GENERATORS/SIMULATIONS/WAVEPACKET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This example uses the Crank-Nicolson Method to solve the 1D Schrodinger equation.\n\nFurther reading:\nhttp://staff.ustc.edu.cn/~zqj/posts/Numerical_TDSE/", + "long_description": "This example uses the Crank-Nicolson Method to solve the 1D Schrodinger equation.\n\nFurther reading:\nhttp://staff.ustc.edu.cn/~zqj/posts/Numerical_TDSE/", + "short_description": "The WAVEPACKET node approximates the behaviour of a 1D Gaussian wavepacket in an infinite-well potential box.", "parameters": [ { "name": "L_box", diff --git a/docs/nodes/IO/ANALOG_SENSORS/PRESSURE_SENSORS/FLEXIFORCE_25LB/a1-[autogen]/docstring.json b/docs/nodes/IO/ANALOG_SENSORS/PRESSURE_SENSORS/FLEXIFORCE_25LB/a1-[autogen]/docstring.json index 906ed6a16d..49dfd27025 100644 --- a/docs/nodes/IO/ANALOG_SENSORS/PRESSURE_SENSORS/FLEXIFORCE_25LB/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ANALOG_SENSORS/PRESSURE_SENSORS/FLEXIFORCE_25LB/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The Flexiforce node allows you to convert voltages measured with the Phidget Interface Kit into pressures.", "parameters": [ { "name": "Calibration1", diff --git a/docs/nodes/IO/ANALOG_SENSORS/THERMOCOUPLES/LM34/a1-[autogen]/docstring.json b/docs/nodes/IO/ANALOG_SENSORS/THERMOCOUPLES/LM34/a1-[autogen]/docstring.json index ee49fd85e2..790f293350 100644 --- a/docs/nodes/IO/ANALOG_SENSORS/THERMOCOUPLES/LM34/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ANALOG_SENSORS/THERMOCOUPLES/LM34/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The LM34 node allows you to convert voltages measured with a thermocouple (LM34) connected to a LabJack U3 device into temperatures.", "parameters": [ { "name": "Calibration1, Calibration2, Calibration3", diff --git a/docs/nodes/IO/IMAGING/OPEN_WEBCAM/a1-[autogen]/docstring.json b/docs/nodes/IO/IMAGING/OPEN_WEBCAM/a1-[autogen]/docstring.json index af5cdf42aa..ca1467ab5d 100644 --- a/docs/nodes/IO/IMAGING/OPEN_WEBCAM/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/IMAGING/OPEN_WEBCAM/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The OPEN_WEBCAM node opens a connection with the selected camera.", "parameters": [ { "name": "camera", diff --git a/docs/nodes/IO/IMAGING/WEBCAM/a1-[autogen]/docstring.json b/docs/nodes/IO/IMAGING/WEBCAM/a1-[autogen]/docstring.json index d141e2b5ac..5485549a85 100644 --- a/docs/nodes/IO/IMAGING/WEBCAM/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/IMAGING/WEBCAM/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The selected camera must be opened already using the OPEN_WEBCAM node.", + "long_description": "The selected camera must be opened already using the OPEN_WEBCAM node.", + "short_description": "The CAMERA node acquires an image using the selected camera.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/docstring.json index 52b6136e3d..aa3cf19380 100644 --- a/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/ATTENUATORS/LDA/LDA602/ATTENUATION_LDA602/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "When setting the attenuation, the attenuation is then queried to ensure\nthe attenuation was set correctly.\nThe attenuation is rounded to the nearest 0.5 dB.\n\nThis node should also work with compatible LDA attenuators (untested).", + "long_description": "When setting the attenuation, the attenuation is then queried to ensure\nthe attenuation was set correctly.\nThe attenuation is rounded to the nearest 0.5 dB.\n\nThis node should also work with compatible LDA attenuators (untested).", + "short_description": "The ATTENUATION_LDA602 node sets or queries the attenuation for the LDA-602 Digital Attenuator.", "parameters": [ { "name": "serial_number", diff --git a/docs/nodes/IO/INSTRUMENTS/DAQ_BOARDS/LABJACK/U3/BASIC/READ_A0_PINS/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/DAQ_BOARDS/LABJACK/U3/BASIC/READ_A0_PINS/a1-[autogen]/docstring.json index a61b196e25..0c739eb2ab 100644 --- a/docs/nodes/IO/INSTRUMENTS/DAQ_BOARDS/LABJACK/U3/BASIC/READ_A0_PINS/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/DAQ_BOARDS/LABJACK/U3/BASIC/READ_A0_PINS/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The SENSOR node can be used to convert voltage into temperature measurements.", + "long_description": "The SENSOR node can be used to convert voltage into temperature measurements.", + "short_description": "The READ_A0_PINS node allows you to record and return voltages from a sensor connected to a LABJACK U3 device.", "parameters": [ { "name": "number", diff --git a/docs/nodes/IO/INSTRUMENTS/DAQ_BOARDS/PHIDGET/INTERFACEKIT/BASIC/READ_N_PINS/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/DAQ_BOARDS/PHIDGET/INTERFACEKIT/BASIC/READ_N_PINS/a1-[autogen]/docstring.json index f0d9fffece..b7abbf3455 100644 --- a/docs/nodes/IO/INSTRUMENTS/DAQ_BOARDS/PHIDGET/INTERFACEKIT/BASIC/READ_N_PINS/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/DAQ_BOARDS/PHIDGET/INTERFACEKIT/BASIC/READ_N_PINS/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The READ_N_PINS node allows you to measure and output voltages from Flexiforce sensors using a Phidget InterfaceKit.", "parameters": [ { "name": "n_sensors", diff --git a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/ADVANCED/BURST_MODE_33510B/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/ADVANCED/BURST_MODE_33510B/a1-[autogen]/docstring.json index 1f6fbdb153..1d6479d855 100644 --- a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/ADVANCED/BURST_MODE_33510B/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/ADVANCED/BURST_MODE_33510B/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "You can set various settings for the triggering of the bursts as well.\nThe burst mode is way to have signals come in \"bursts\" that are triggered\nexternally or with a timer for instance.\n\nRequires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "long_description": "You can set various settings for the triggering of the bursts as well.\nThe burst mode is way to have signals come in \"bursts\" that are triggered\nexternally or with a timer for instance.\n\nRequires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "short_description": "The BURST_MODE_33510B node is used to turn the Burst mode on or off.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/ADVANCED/RETURN_ERRORS_33510B/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/ADVANCED/RETURN_ERRORS_33510B/a1-[autogen]/docstring.json index 264493bc9c..628ffcf0e6 100644 --- a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/ADVANCED/RETURN_ERRORS_33510B/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/ADVANCED/RETURN_ERRORS_33510B/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Error retrival is first-in-first-out (FIFO). Returning errors clears them\nfrom the instruments queue.\n\nRequires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "long_description": "Error retrival is first-in-first-out (FIFO). Returning errors clears them\nfrom the instruments queue.\n\nRequires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "short_description": "The RETURN_ERRORS_33510B node returns error messages from the WFG.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/CONNECTION_33510B/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/CONNECTION_33510B/a1-[autogen]/docstring.json index 86a7e314c8..f256b8c92b 100644 --- a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/CONNECTION_33510B/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/CONNECTION_33510B/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The connection is made with the VISA address in the Flojoy UI.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "long_description": "The connection is made with the VISA address in the Flojoy UI.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "short_description": "The CONNECTION_33510B node connects Flojoy to a 33510B function generator.", "parameters": [ { "name": "device", diff --git a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/ON_OFF_33510B/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/ON_OFF_33510B/a1-[autogen]/docstring.json index 7e4adbf912..f6dc9f092b 100644 --- a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/ON_OFF_33510B/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/ON_OFF_33510B/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Requires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "long_description": "Requires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "short_description": "The ON_OFF_33510B node is used to turn the output on or off.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/OUTPUT_SYNC_33510B/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/OUTPUT_SYNC_33510B/a1-[autogen]/docstring.json index a2fc0a940c..05c7bdfc9e 100644 --- a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/OUTPUT_SYNC_33510B/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/OUTPUT_SYNC_33510B/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Can only be turned on for one channel.\n\nRequires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "long_description": "Can only be turned on for one channel.\n\nRequires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "short_description": "The OUTPUT_SYNC_33510B node is used sync multiple outputs phases.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/SET_WAVEFORM_33510B/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/SET_WAVEFORM_33510B/a1-[autogen]/docstring.json index b90cc315be..876121dd16 100644 --- a/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/SET_WAVEFORM_33510B/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/SET_WAVEFORM_33510B/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The Keysight 33510B has a variety of waveform settings available.\n\nRequires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "long_description": "The Keysight 33510B has a variety of waveform settings available.\n\nRequires a CONNECTION_33510B node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Keysight 33XXX wavefunction\ngenerators (although they are untested).", + "short_description": "The SET_WAVEFORM_33510B node is used to set waveform settings for a 33510B.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/MOCK/WEINSCHEL8320/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/MOCK/WEINSCHEL8320/a1-[autogen]/docstring.json index 3bcf8d2925..afc34dfe88 100644 --- a/docs/nodes/IO/INSTRUMENTS/MOCK/WEINSCHEL8320/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/MOCK/WEINSCHEL8320/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Note: This node is for testing purposes only.", + "long_description": "Note: This node is for testing purposes only.", + "short_description": "The WEINSCHEL8320 node mocks the WEINSCHEL 8320 instrument, which attenuates the input signal.", "parameters": [ { "name": "attenuation", diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/docstring.json index 77135bcc16..3dadfc2b25 100644 --- a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_CURRENT_USB4065/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "long_description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "short_description": "The AC_CURRENT_USB4065 node reads the AC current from a USB-4065.", "parameters": [ { "name": "NI_address", diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/docstring.json index 821e66224e..028b5e5231 100644 --- a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/AC_VOLTAGE_USB4065/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "long_description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "short_description": "The AC_VOLTAGE_USB4065 node reads the AC voltage from a USB-4065.", "parameters": [ { "name": "NI_address", diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/docstring.json index 3e630d0e12..3479a5fcfd 100644 --- a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/CONNECTION_USB4065/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The CONNECTION_MDO3XXX node connects Flojoy to a", "parameters": [ { "name": "NI_address", diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/docstring.json index 69f2f7da35..e9ba4dcc95 100644 --- a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_CURRENT_USB4065/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "long_description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "short_description": "The DC_CURRENT_USB4065 node reads the DC current from a USB-4065.", "parameters": [ { "name": "NI_address", diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/docstring.json index 7f9b67d0be..435afb93ff 100644 --- a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DC_VOLTAGE_USB4065/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "long_description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "short_description": "The DC_VOLTAGE_USB4065 node reads the DC voltage from a USB-4065.", "parameters": [ { "name": "NI_address", diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/docstring.json index 7f9b67d0be..bf6422ee97 100644 --- a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/DIODE_USB4065/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "long_description": "The USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "short_description": "The DIODE_USB4065 node reads the voltage drop across a diode.", "parameters": [ { "name": "NI_address", diff --git a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/docstring.json index 95bbcfe242..4fe1e550f7 100644 --- a/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/MULTIMETERS/NI/USB_4065/BASIC/RESISTANCE_USB4065/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The four-wire resistance is more accurate than two-wire and can be measured\nwith the FOUR_WIRE_RESIST_USB4065 node.\n\nThe USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "long_description": "The four-wire resistance is more accurate than two-wire and can be measured\nwith the FOUR_WIRE_RESIST_USB4065 node.\n\nThe USB-4065 is a NI (National Instruments) multimeter. It is possible that\nthe node will work with other NI DMMs (digital multimeters) such as the\n4070 and 4080 series.\n\nThis instrument will likely only be compatible with Windows systems due to\nNI driver availablity. To use the instrument you must install the runtime:\n\nhttps://www.ni.com/en/support/downloads/drivers/download.ni-dmm.html\n\nYou must also find the address/resource name for the instrument. You can\nfind this using the NI MAX programming which can be downloaded when\ninstalling the drivers.", + "short_description": "The RESISTANCE_USB4065 node reads the two-wire resistance from a USB-4065.", "parameters": [ { "name": "NI_address", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/a1-[autogen]/docstring.json index 5704c3ad8f..8c3bcabb1d 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This node is similar to MEASUREMENTS_MDO3XXX node but more measurements\nare availble. The available measurements are as follows:\n\namplitude, area, burst, carea, cmean, crms, delay, distduty, extinctdb,\nextinctpct, extinctratio, eyeheight, eyewidth, fall, frequency, high, hits,\nlow, maximum, mean, median, minimum, ncross, nduty, novershoot, nwidth,\npbase, pcross, pctcross, pduty, peakhits, period, phase, pk2pk, pkpkjitter,\npkpknoise, povershoot, ptop, pwidth, qfactor, rise, rms, rmsjitter,\nrmsnoise, sigma1, sigma2, sigma3, sixsigmajit, snratio, stddev, undefined,\nwaveforms\n\nAlso available are 5 statistic modes:\ninstant, mean, max, min, and stdev where instant is a single measurement\nand stdev is the standard deviation of the mean.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx. Many of the advanced measurements are likely\nto not function with different model numbers.", + "long_description": "This node is similar to MEASUREMENTS_MDO3XXX node but more measurements\nare availble. The available measurements are as follows:\n\namplitude, area, burst, carea, cmean, crms, delay, distduty, extinctdb,\nextinctpct, extinctratio, eyeheight, eyewidth, fall, frequency, high, hits,\nlow, maximum, mean, median, minimum, ncross, nduty, novershoot, nwidth,\npbase, pcross, pctcross, pduty, peakhits, period, phase, pk2pk, pkpkjitter,\npkpknoise, povershoot, ptop, pwidth, qfactor, rise, rms, rmsjitter,\nrmsnoise, sigma1, sigma2, sigma3, sixsigmajit, snratio, stddev, undefined,\nwaveforms\n\nAlso available are 5 statistic modes:\ninstant, mean, max, min, and stdev where instant is a single measurement\nand stdev is the standard deviation of the mean.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx. Many of the advanced measurements are likely\nto not function with different model numbers.", + "short_description": "The ADVANCED_MEASUREMENTS_MDO3XXX node extracts waveform measurements from an MDO3xxx oscilloscope.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/TRIGGER_SETTINGS_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/TRIGGER_SETTINGS_MDO3XXX/a1-[autogen]/docstring.json index 8d4fd381ee..4d02e21e12 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/TRIGGER_SETTINGS_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/TRIGGER_SETTINGS_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Note that \"unchanged\" will leave the settings unchanged.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "long_description": "Note that \"unchanged\" will leave the settings unchanged.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "short_description": "The TRIGGER_SETTINGS_MDO3XXX node sets advanced trigger settings.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/CONNECTION_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/CONNECTION_MDO3XXX/a1-[autogen]/docstring.json index ff7d894145..f20037dc26 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/CONNECTION_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/CONNECTION_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The connection is made with the VISA address in the Flojoy UI.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "long_description": "The connection is made with the VISA address in the Flojoy UI.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "short_description": "The CONNECTION_MDO3XXX node connects Flojoy to a MDO3XXX oscilloscope.", "parameters": [ { "name": "device", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/EXTRACT_TRACE_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/EXTRACT_TRACE_MDO3XXX/a1-[autogen]/docstring.json index ec9b72ad74..e432ddd638 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/EXTRACT_TRACE_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/EXTRACT_TRACE_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The number of points in the x axis is defined by x_length and length_type\nparameters. A length_type of pixels and a x_length of 5000 will result in\na trace with 5000 points. A length_type of nanoseconds instead results in\na trace with a length of defined by the number of (nano)seconds.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "long_description": "The number of points in the x axis is defined by x_length and length_type\nparameters. A length_type of pixels and a x_length of 5000 will result in\na trace with 5000 points. A length_type of nanoseconds instead results in\na trace with a length of defined by the number of (nano)seconds.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "short_description": "The EXTRACT_TRACE_MDO3XXX node extracts the trace from an MDO3xxx oscilloscope.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASUREMENTS_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASUREMENTS_MDO3XXX/a1-[autogen]/docstring.json index a636261335..bb0446eb5c 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASUREMENTS_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASUREMENTS_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This node can select from three different waveform measurements:\nfrequency, period, and amplitude. Also available are 5 statistic modes:\ninstant, mean, max, min, and stdev where instant is a single measurement\nand stdev is the standard deviation of the mean.\n\nUnits are in seconds, Hz, and V for frequency, period, and amplitude respectively.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "long_description": "This node can select from three different waveform measurements:\nfrequency, period, and amplitude. Also available are 5 statistic modes:\ninstant, mean, max, min, and stdev where instant is a single measurement\nand stdev is the standard deviation of the mean.\n\nUnits are in seconds, Hz, and V for frequency, period, and amplitude respectively.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "short_description": "The MEASUREMENTS_MDO3XXX node extracts waveform measurements from an MDO3XXX oscilloscope.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASURE_PHASE_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASURE_PHASE_MDO3XXX/a1-[autogen]/docstring.json index c87357245b..ec95077796 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASURE_PHASE_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/MEASURE_PHASE_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Requires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "long_description": "Requires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "short_description": "The MEASURE_PHASE_MDO3XXX node measures the phase between two channels.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TERMINATION_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TERMINATION_MDO3XXX/a1-[autogen]/docstring.json index 6a82e24819..e983bdc73c 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TERMINATION_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TERMINATION_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The termination is set by the output, and the set termination\nin the oscilloscope must match that value.\n\nNote that the termination is often called the \"electrical impedance\".\nNote that the 75 Ohm option is not compatible with all model numbers.\n\nIf the \"VISA_address\" parameter is not specified the VISA_index will be\nused to find the address. The LIST_VISA node can be used to show the\nindicies of all available VISA instruments.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "long_description": "The termination is set by the output, and the set termination\nin the oscilloscope must match that value.\n\nNote that the termination is often called the \"electrical impedance\".\nNote that the 75 Ohm option is not compatible with all model numbers.\n\nIf the \"VISA_address\" parameter is not specified the VISA_index will be\nused to find the address. The LIST_VISA node can be used to show the\nindicies of all available VISA instruments.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "short_description": "The TERMINATION_MDO3XXX node sets the termination ohms (or queries it).", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_CHANNEL_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_CHANNEL_MDO3XXX/a1-[autogen]/docstring.json index d9caa64279..5f2980a516 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_CHANNEL_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_CHANNEL_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Requires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "long_description": "Requires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "short_description": "The TRIGGER_CHANNEL_MDO3XXX node sets the triggering channel (or queries it).", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_LEVEL_MDO3XXX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_LEVEL_MDO3XXX/a1-[autogen]/docstring.json index 85d65da32b..ccf018cf7a 100644 --- a/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_LEVEL_MDO3XXX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_LEVEL_MDO3XXX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The trigger voltage is the level at which an oscilloscope will find the\nstart of a signal.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "long_description": "The trigger voltage is the level at which an oscilloscope will find the\nstart of a signal.\n\nRequires a CONNECTION_MDO3XXX node at the start of the app to connect with\nthe instrument. The VISA address will then be listed under 'connection'.\n\nThis node should also work with compatible Tektronix scopes (untested):\nMDO4xxx, MSO4xxx, and DPO4xxx.", + "short_description": "The TRIGGER_LEVEL_MDO3XXX node sets the trigger voltage (or queries it).", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/QCODES/CLOSE_ALL/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/QCODES/CLOSE_ALL/a1-[autogen]/docstring.json index 4829315457..668ebff9d3 100644 --- a/docs/nodes/IO/INSTRUMENTS/QCODES/CLOSE_ALL/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/QCODES/CLOSE_ALL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The CLOSE_ALL node closes all QCoDeS instruments and should be run at the start and end of each Flojoy app that uses QCoDeS.", "parameters": [], "returns": [ { diff --git a/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/docstring.json index a721a86c59..4822c58b74 100644 --- a/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/docstring.json @@ -1,6 +1,13 @@ { - "description": null, - "parameters": [], + "long_description": null, + "short_description": "The LIST_VISA node lists all VISA instruments available.", + "parameters": [ + { + "name": "default", + "type": "DataContainer", + "description": "the input data container" + } + ], "returns": [ { "name": null, diff --git a/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/docstring.txt index 539df325c3..c8ae755a9d 100644 --- a/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/docstring.txt +++ b/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/docstring.txt @@ -1,5 +1,10 @@ The LIST_VISA node lists all VISA instruments available. + Parameters + ---------- + default : DataContainer + the input data container + Returns ------- DataContainer diff --git a/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/python_code.txt b/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/python_code.txt index dd047befde..5d30721a03 100644 --- a/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/python_code.txt +++ b/docs/nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/a1-[autogen]/python_code.txt @@ -1,7 +1,8 @@ -from flojoy import flojoy, DataContainer, TextBlob -import pyvisa from typing import Optional +import pyvisa +from flojoy import DataContainer, TextBlob, flojoy + @flojoy( deps={ diff --git a/docs/nodes/IO/INSTRUMENTS/QCODES/VISA_IDENTITY/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/QCODES/VISA_IDENTITY/a1-[autogen]/docstring.json index 4ef7844d1e..79b604e049 100644 --- a/docs/nodes/IO/INSTRUMENTS/QCODES/VISA_IDENTITY/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/QCODES/VISA_IDENTITY/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "If the \"VISA_address\" parameter is not specified the VISA_index will be\nused to find the address. The LIST_VISA node can be used to show the\nindicies of all available VISA instruments.", + "long_description": "If the \"VISA_address\" parameter is not specified the VISA_index will be\nused to find the address. The LIST_VISA node can be used to show the\nindicies of all available VISA instruments.", + "short_description": "The VISA_IDENTITY node send an identity query (\"*IDN?\") to the specified instrument.", "parameters": [ { "name": "VISA_address", diff --git a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/CONNECTION_FSV/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/CONNECTION_FSV/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..3ad338729c --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/CONNECTION_FSV/a1-[autogen]/docstring.txt @@ -0,0 +1,15 @@ +The CONNECTION_FSV node connects Flojoy to a FSV network analyzer. + + The connection is made with the VISA address in the Flojoy UI. + + This node should also work with compatible R&S network analyzers. + + Parameters + ---------- + device: VisaDevice + The VISA address to connect to. + + Returns + ------- + DataContainer + Optional: None diff --git a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..6610d53332 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt @@ -0,0 +1,16 @@ +The EXTRACT_SWEEP_FSV node extracts the sweep trace from a FSV network analyzer. + + Requires a CONNECTION_FSV node at the start of the app to connect with + the instrument. The VISA address will then be listed under 'connection'. + + This node should also work with compatible R&S network analyzers. + + Parameters + ---------- + connection: VisaConnection + The VISA address (requires the CONNECTION_FSV node). + + Returns + ------- + DataContainer + OrderedPair: The sweep trace from the FSV is returned. diff --git a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..6dccc85905 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt @@ -0,0 +1,20 @@ +The INIT_SWEEP_FSV node starts the sweep for the FSV. + + Requires a CONNECTION_FSV node at the start of the app to connect with + the instrument. The VISA address will then be listed under 'connection'. + + This node should also work with compatible R&S network analyzers. + + Parameters + ---------- + connection: VisaConnection + The VISA address (requires the CONNECTION_FSV node). + display: select + Choose the trace display setting. + continuous: bool + Sweep continuously or not. + + Returns + ------- + DataContainer + TextBlob: Display and sweep settings. diff --git a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..79b167bd07 --- /dev/null +++ b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt @@ -0,0 +1,35 @@ +The SWEEP_SETTINGS_FSV node sets sweep settings for a FSV. + + Note that span/center and start/stop can be used equivalently if: + start = center - (span / 2) and stop = center + (span / 2). + + Requires a CONNECTION_FSV node at the start of the app to connect with + the instrument. The VISA address will then be listed under 'connection'. + + This node should also work with compatible R&S network analyzers. + + Parameters + ---------- + connection: VisaConnection + The VISA address (requires the CONNECTION_FSV node). + span_or_range: select + X axis range, span (center and span) or range (start and stop). + center: float + The center of the x axis range, in Hz. + span: float + The span of the x axis, in Hz. + start: float + The start point of the x axis, in Hz. + stop: float + The end point of the x axis, in Hz. + sweep_type: select + How the FSV sweeps along the x axis range. + counts: int + Number of sweeps to do, (average optional in INIT_SWEEP_FSV). + points: int + Number of x axis points to sweep. + + Returns + ------- + DataContainer + TextBlob: Sweep settings summary. diff --git a/docs/nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/IV_SWEEP/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/IV_SWEEP/a1-[autogen]/docstring.json index 2d730ffc9a..1ad4505d9c 100644 --- a/docs/nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/IV_SWEEP/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/IV_SWEEP/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault: OrderedPair | Vector\n The voltages to send to the Keithley 2400 source meter.", + "long_description": "Inputs\n------\ndefault: OrderedPair | Vector\n The voltages to send to the Keithley 2400 source meter.", + "short_description": "The IV_SWEEP node takes an I-V curve measurement with a Keithley 2400 source meter, send voltages, and measures currents.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/OPEN_KEITHLEY_24XX/a1-[autogen]/docstring.json b/docs/nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/OPEN_KEITHLEY_24XX/a1-[autogen]/docstring.json index ea9873ec30..1aa39232e1 100644 --- a/docs/nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/OPEN_KEITHLEY_24XX/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/OPEN_KEITHLEY_24XX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The OPEN_KEITHLEY_24XX node opens a connection with the Keithley 2400 source meter.", "parameters": [ { "name": "device", diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/TINYMOVR_CALIBRATE.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/TINYMOVR_CALIBRATE.md new file mode 100644 index 0000000000..9df17483b9 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/TINYMOVR_CALIBRATE.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/docstring.json b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..a5ebf28385 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/docstring.json @@ -0,0 +1,18 @@ +{ + "long_description": null, + "short_description": "Discover and calibrate a connected tinymovr BLDC driver through a CANine USB-to-CAN controller.", + "parameters": [ + { + "name": "None", + "type": null, + "description": null + } + ], + "returns": [ + { + "name": null, + "type": "TextBlob", + "description": "Traceback error" + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/docstring.txt b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..4caa19c488 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/docstring.txt @@ -0,0 +1,10 @@ +Discover and calibrate a connected tinymovr BLDC driver through a CANine USB-to-CAN controller. + + Parameters + ---------- + None + + Returns + ------- + TextBlob + Traceback error diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/python_code.txt b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..08e4e374e5 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/a1-[autogen]/python_code.txt @@ -0,0 +1,26 @@ +from flojoy import flojoy, TextBlob + +import can, traceback +from tinymovr.tee import init_tee, destroy_tee +from tinymovr.config import get_bus_config, create_device + + +@flojoy(deps={"tinymovr": "1.6.2"}) +def TINYMOVR_CALIBRATE() -> TextBlob: + + + bitrate = 1000000 + params = get_bus_config(["canine", "slcan_disco"]) + params["bitrate"] = bitrate + tb = "" + + try: + with can.Bus(**params) as bus: + init_tee(can.Bus(**params)) + tm = create_device(node_id=1) + tm.controller.calibrate() + destroy_tee() + except: + tb = traceback.format_exc() + + return TextBlob(text_blob=tb) diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/hardware.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/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/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/media.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/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/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/notes.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/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/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/examples/EX1/app.json b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/examples/EX1/app.json new file mode 100644 index 0000000000..124d111404 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/examples/EX1/app.json @@ -0,0 +1,754 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 96, + "height": 96, + "id": "LOOP-75e7d747-dffb-43bd-95ad-7c63b0d5dad3", + "type": "LOGIC_GATES", + "data": { + "id": "LOOP-75e7d747-dffb-43bd-95ad-7c63b0d5dad3", + "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": -1 + } + }, + "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": false + }, + "position": { + "x": -116.29948702183822, + "y": 59.913468061214076 + }, + "selected": false, + "positionAbsolute": { + "x": -116.29948702183822, + "y": 59.913468061214076 + }, + "dragging": true + }, + { + "width": 96, + "height": 96, + "id": "LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1", + "type": "LOGIC_GATES", + "data": { + "id": "LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1", + "label": "LOOP INDEX", + "func": "LOOP_INDEX", + "type": "LOGIC_GATES", + "ctrls": { + "loop_node": { + "type": "NodeReference", + "default": null, + "desc": "The LOOP node to track the loop index from.", + "overload": null, + "functionName": "LOOP_INDEX", + "param": "loop_node", + "value": "LOOP-75e7d747-dffb-43bd-95ad-7c63b0d5dad3" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar", + "desc": "The loop index in Scalar form." + } + ], + "path": "LOGIC_GATES/LOOP_TOOLS/LOOP_INDEX/LOOP_INDEX.py", + "selected": false + }, + "position": { + "x": 83.64627496051924, + "y": 2.4822128172604607 + }, + "selected": false, + "positionAbsolute": { + "x": 83.64627496051924, + "y": 2.4822128172604607 + }, + "dragging": true + }, + { + "width": 96, + "height": 96, + "id": "TIMER-28a4d905-a57c-4e51-991a-94a92a861ee7", + "type": "LOGIC_GATES", + "data": { + "id": "TIMER-28a4d905-a57c-4e51-991a-94a92a861ee7", + "label": "TIMER", + "func": "TIMER", + "type": "LOGIC_GATES", + "ctrls": { + "sleep_time": { + "type": "float", + "default": 0, + "desc": "number of seconds to sleep", + "overload": null, + "functionName": "TIMER", + "param": "sleep_time", + "value": 0 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "desc": null + } + ], + "path": "LOGIC_GATES/TIMERS/TIMER/TIMER.py", + "selected": false + }, + "position": { + "x": 1079.3674744809105, + "y": 316.79694538939 + }, + "selected": false, + "positionAbsolute": { + "x": 1079.3674744809105, + "y": 316.79694538939 + }, + "dragging": true + }, + { + "width": 72, + "height": 72, + "id": "MULTIPLY-337609f2-02ec-4bf1-8f11-f1663e4de744", + "type": "ARITHMETIC", + "data": { + "id": "MULTIPLY-337609f2-02ec-4bf1-8f11-f1663e4de744", + "label": "MULTIPLY", + "func": "MULTIPLY", + "type": "ARITHMETIC", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "a", + "id": "a", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": "The input a use to compute the product of a and b." + }, + { + "name": "b", + "id": "b", + "type": "OrderedPair|Scalar|Vector", + "multiple": true, + "desc": "The input b use to compute the product of a and b." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "desc": "OrderedPair if a is an OrderedPair.\nx: the x-axis of input a.\ny: the result of the product of input a and input b.\n\nScalar if a is a Scalar.\nc: the result of the product of input a and input b.\n\nVector if a is a Vector.\nv: the result of the product of input a and input b." + } + ], + "path": "TRANSFORMERS/ARITHMETIC/MULTIPLY/MULTIPLY.py", + "selected": false + }, + "position": { + "x": 390.125498058375, + "y": 344.50805752457296 + }, + "selected": false, + "positionAbsolute": { + "x": 390.125498058375, + "y": 344.50805752457296 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "CONSTANT-e9fc3f1b-fdac-4192-9333-5697952c55de", + "type": "GENERATORS", + "data": { + "id": "CONSTANT-e9fc3f1b-fdac-4192-9333-5697952c55de", + "label": "1", + "func": "CONSTANT", + "type": "GENERATORS", + "ctrls": { + "dc_type": { + "type": "select", + "options": [ + "Scalar", + "Vector", + "OrderedPair" + ], + "default": "OrderedPair", + "desc": "The type of DataContainer to return.", + "overload": null, + "functionName": "CONSTANT", + "param": "dc_type", + "value": "Scalar" + }, + "constant": { + "type": "float", + "default": 3, + "desc": "The value of the y axis output.", + "overload": null, + "functionName": "CONSTANT", + "param": "constant", + "value": 1 + }, + "step": { + "type": "float", + "default": 1000, + "desc": "The size of the y and x axes.", + "overload": null, + "functionName": "CONSTANT", + "param": "step", + "value": 1000 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Vector|OrderedPair", + "multiple": false, + "desc": "Optional input that defines the size of the output." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Vector|Scalar", + "desc": "OrderedPair if selected\nx: the x axis generated with size 'step'\ny: the resulting constant with size 'step'\nVector if selected\nv: the resulting constant with size 'step'\nScalar if selected\nc: the resulting constant" + } + ], + "path": "GENERATORS/SIMULATIONS/CONSTANT/CONSTANT.py", + "selected": false + }, + "position": { + "x": 82.77858624045928, + "y": 420.26330517604515 + }, + "selected": false, + "positionAbsolute": { + "x": 82.77858624045928, + "y": 420.26330517604515 + }, + "dragging": true + }, + { + "width": 96, + "height": 96, + "id": "CONDITIONAL-6d7f2f21-79d7-4ce3-97c7-f02ce04c7d7a", + "type": "CONDITIONALS", + "data": { + "id": "CONDITIONAL-6d7f2f21-79d7-4ce3-97c7-f02ce04c7d7a", + "label": "CONDITIONAL", + "func": "CONDITIONAL", + "type": "CONDITIONALS", + "ctrls": { + "operator_type": { + "type": "select", + "options": [ + "<=", + ">", + "<", + ">=", + "!=", + "==" + ], + "default": ">=", + "desc": "Specifies the type of comparison to be performed between the two inputs. The default value is \">=\".", + "overload": null, + "functionName": "CONDITIONAL", + "param": "operator_type", + "value": ">=" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "x", + "id": "x", + "type": "Scalar", + "multiple": false, + "desc": null + }, + { + "name": "y", + "id": "y", + "type": "Scalar", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "true", + "id": "true", + "type": "Any", + "desc": null + }, + { + "name": "false", + "id": "false", + "type": "Any", + "desc": null + } + ], + "path": "LOGIC_GATES/CONDITIONALS/CONDITIONAL/CONDITIONAL.py", + "selected": false + }, + "position": { + "x": 315.0608334890218, + "y": -181.3168225871309 + }, + "selected": false, + "positionAbsolute": { + "x": 315.0608334890218, + "y": -181.3168225871309 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "CONSTANT-c92203cf-b9e9-4ff1-a501-958e728cbb4f", + "type": "GENERATORS", + "data": { + "id": "CONSTANT-c92203cf-b9e9-4ff1-a501-958e728cbb4f", + "label": "15", + "func": "CONSTANT", + "type": "GENERATORS", + "ctrls": { + "dc_type": { + "type": "select", + "options": [ + "Scalar", + "Vector", + "OrderedPair" + ], + "default": "OrderedPair", + "desc": "The type of DataContainer to return.", + "overload": null, + "functionName": "CONSTANT", + "param": "dc_type", + "value": "Scalar" + }, + "constant": { + "type": "float", + "default": 3, + "desc": "The value of the y axis output.", + "overload": null, + "functionName": "CONSTANT", + "param": "constant", + "value": 15 + }, + "step": { + "type": "float", + "default": 1000, + "desc": "The size of the y and x axes.", + "overload": null, + "functionName": "CONSTANT", + "param": "step", + "value": 1000 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Vector|OrderedPair", + "multiple": false, + "desc": "Optional input that defines the size of the output." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Vector|Scalar", + "desc": "OrderedPair if selected\nx: the x axis generated with size 'step'\ny: the resulting constant with size 'step'\nVector if selected\nv: the resulting constant with size 'step'\nScalar if selected\nc: the resulting constant" + } + ], + "path": "GENERATORS/SIMULATIONS/CONSTANT/CONSTANT.py", + "selected": false + }, + "position": { + "x": 4.795074623791379, + "y": -216.54312770220974 + }, + "selected": false, + "positionAbsolute": { + "x": 4.795074623791379, + "y": -216.54312770220974 + }, + "dragging": true + }, + { + "width": 96, + "height": 96, + "id": "BREAK-3f1a901d-47ac-4fd7-bfb7-ed690816f36a", + "type": "LOGIC_GATES", + "data": { + "id": "BREAK-3f1a901d-47ac-4fd7-bfb7-ed690816f36a", + "label": "BREAK", + "func": "BREAK", + "type": "LOGIC_GATES", + "ctrls": { + "referred_node": { + "type": "NodeReference", + "default": null, + "desc": "This is the specific instance of a LOOP node that you want to break.\nIt is required to differentiate between multiple LOOPs if they exist\nin the same application.", + "overload": null, + "functionName": "BREAK", + "param": "referred_node", + "value": "" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "This node simply requires an input (most likely from\nthe return of a CONDITIONAL node) so that it is executed." + } + ], + "path": "LOGIC_GATES/LOOP_TOOLS/BREAK/BREAK.py", + "selected": false + }, + "position": { + "x": 523.7614379895599, + "y": -240.5698667388382 + }, + "selected": false, + "positionAbsolute": { + "x": 523.7614379895599, + "y": -240.5698667388382 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "BIG_NUMBER-c2fd7485-9717-469e-8982-0ccb7c4a8f98", + "type": "VISUALIZERS", + "data": { + "id": "BIG_NUMBER-c2fd7485-9717-469e-8982-0ccb7c4a8f98", + "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": false + } + }, + "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": 539.2234743407024, + "y": 234.674006466163 + }, + "selected": false, + "positionAbsolute": { + "x": 539.2234743407024, + "y": 234.674006466163 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-502b9e4d-4df5-4c71-be93-61e120f53429", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-502b9e4d-4df5-4c71-be93-61e120f53429", + "label": "PRINT DATACONTAINER", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": false + }, + "position": { + "x": 384.1373027816842, + "y": -20.91582777998923 + }, + "selected": false, + "positionAbsolute": { + "x": 384.1373027816842, + "y": -20.91582777998923 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-868b5fe2-e820-493a-84e1-cbc80df5ad72", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-868b5fe2-e820-493a-84e1-cbc80df5ad72", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": false + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": true + }, + "position": { + "x": 822.0900664915534, + "y": -87.75646587269875 + }, + "selected": true, + "positionAbsolute": { + "x": 822.0900664915534, + "y": -87.75646587269875 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "CONSTANT-e9fc3f1b-fdac-4192-9333-5697952c55de", + "sourceHandle": "default", + "target": "MULTIPLY-337609f2-02ec-4bf1-8f11-f1663e4de744", + "targetHandle": "b", + "id": "reactflow__edge-CONSTANT-e9fc3f1b-fdac-4192-9333-5697952c55dedefault-MULTIPLY-337609f2-02ec-4bf1-8f11-f1663e4de744b" + }, + { + "source": "CONSTANT-c92203cf-b9e9-4ff1-a501-958e728cbb4f", + "sourceHandle": "default", + "target": "CONDITIONAL-6d7f2f21-79d7-4ce3-97c7-f02ce04c7d7a", + "targetHandle": "y", + "id": "reactflow__edge-CONSTANT-c92203cf-b9e9-4ff1-a501-958e728cbb4fdefault-CONDITIONAL-6d7f2f21-79d7-4ce3-97c7-f02ce04c7d7ay" + }, + { + "source": "CONDITIONAL-6d7f2f21-79d7-4ce3-97c7-f02ce04c7d7a", + "sourceHandle": "true", + "target": "BREAK-3f1a901d-47ac-4fd7-bfb7-ed690816f36a", + "targetHandle": "default", + "id": "reactflow__edge-CONDITIONAL-6d7f2f21-79d7-4ce3-97c7-f02ce04c7d7atrue-BREAK-3f1a901d-47ac-4fd7-bfb7-ed690816f36adefault" + }, + { + "source": "MULTIPLY-337609f2-02ec-4bf1-8f11-f1663e4de744", + "sourceHandle": "default", + "target": "BIG_NUMBER-c2fd7485-9717-469e-8982-0ccb7c4a8f98", + "targetHandle": "default", + "id": "reactflow__edge-MULTIPLY-337609f2-02ec-4bf1-8f11-f1663e4de744default-BIG_NUMBER-c2fd7485-9717-469e-8982-0ccb7c4a8f98default" + }, + { + "source": "BIG_NUMBER-c2fd7485-9717-469e-8982-0ccb7c4a8f98", + "sourceHandle": "default", + "target": "TIMER-28a4d905-a57c-4e51-991a-94a92a861ee7", + "targetHandle": "default", + "id": "reactflow__edge-BIG_NUMBER-c2fd7485-9717-469e-8982-0ccb7c4a8f98default-TIMER-28a4d905-a57c-4e51-991a-94a92a861ee7default" + }, + { + "source": "LOOP-75e7d747-dffb-43bd-95ad-7c63b0d5dad3", + "sourceHandle": "body", + "target": "LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1", + "targetHandle": "default", + "id": "reactflow__edge-LOOP-75e7d747-dffb-43bd-95ad-7c63b0d5dad3body-LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1default" + }, + { + "source": "LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-502b9e4d-4df5-4c71-be93-61e120f53429", + "targetHandle": "default", + "id": "reactflow__edge-LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1default-PRINT_DATACONTAINER-502b9e4d-4df5-4c71-be93-61e120f53429default" + }, + { + "source": "PRINT_DATACONTAINER-502b9e4d-4df5-4c71-be93-61e120f53429", + "sourceHandle": "default", + "target": "TEXT_VIEW-868b5fe2-e820-493a-84e1-cbc80df5ad72", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-502b9e4d-4df5-4c71-be93-61e120f53429default-TEXT_VIEW-868b5fe2-e820-493a-84e1-cbc80df5ad72default" + }, + { + "source": "LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1", + "sourceHandle": "default", + "target": "CONDITIONAL-6d7f2f21-79d7-4ce3-97c7-f02ce04c7d7a", + "targetHandle": "x", + "id": "reactflow__edge-LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1default-CONDITIONAL-6d7f2f21-79d7-4ce3-97c7-f02ce04c7d7ax" + }, + { + "source": "LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1", + "sourceHandle": "default", + "target": "MULTIPLY-337609f2-02ec-4bf1-8f11-f1663e4de744", + "targetHandle": "a", + "id": "reactflow__edge-LOOP_INDEX-fa5ffe40-d8e7-40bb-99d8-5d41138631f1default-MULTIPLY-337609f2-02ec-4bf1-8f11-f1663e4de744a" + } + ], + "viewport": { + "x": 472.4845724041756, + "y": 354.12030268540553, + "zoom": 0.5269422050939508 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/TINYMOVR_SET_VELOCITY.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/TINYMOVR_SET_VELOCITY.md new file mode 100644 index 0000000000..333a8da836 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/TINYMOVR_SET_VELOCITY.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/docstring.json b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..cdca341b78 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/docstring.json @@ -0,0 +1,12 @@ +{ + "long_description": "Input\n-----\nvelocity : Scalar\n Servo velocity (10k ticks/sec [1, 15]).", + "short_description": "Direct a tinymovr BLDC driver to a set velocity.", + "parameters": [], + "returns": [ + { + "name": null, + "type": "Textblob", + "description": "Traceback error (if any)" + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/docstring.txt b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..3c8d8087ce --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/docstring.txt @@ -0,0 +1,11 @@ +Direct a tinymovr BLDC driver to a set velocity. + + Input + ----- + velocity : Scalar + Servo velocity (10k ticks/sec [1, 15]). + + Returns + ------- + Textblob + Traceback error (if any) diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/python_code.txt b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..0678df669a --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/a1-[autogen]/python_code.txt @@ -0,0 +1,36 @@ +from flojoy import flojoy, DataContainer, Scalar, TextBlob +import time, can, traceback +from typing import Optional + +from tinymovr.tee import init_tee, destroy_tee +from tinymovr.config import get_bus_config, create_device + + +@flojoy(deps={"tinymovr": "1.6.2"}) +def TINYMOVR_SET_VELOCITY(default: Scalar) -> TextBlob: + + + tb = "" + bitrate = 1000000 + params = get_bus_config(["canine", "slcan_disco"]) + params["bitrate"] = bitrate + velocity_multiplier = 10000 + MAX_v = 15 + MIN_v = 1 + + velocity = sorted((MIN_v, default.c, MAX_v))[1] + + try: + # Connect to servo over CAN network + # TODO: Consider saving Avlos tm Python object in HW device context manager + # Reference: https://github.com/tinymovr/avlos + with can.Bus(**params) as bus: + init_tee(bus) + tm = create_device(node_id=1) + tm.controller.velocity_mode() + tm.controller.velocity.setpoint = velocity * velocity_multiplier + destroy_tee() + except: + tb = traceback.format_exc() + + return TextBlob(text_blob=tb) diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/hardware.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/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/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/media.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/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/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/notes.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/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/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/examples/EX1/app.json b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/examples/EX1/app.json new file mode 100644 index 0000000000..0ce3a42fce --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/examples/EX1/app.json @@ -0,0 +1,468 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 208, + "height": 96, + "id": "SINE-1a56066f-d3b4-49bc-8e82-2062c8cd7e8e", + "type": "GENERATORS", + "data": { + "id": "SINE-1a56066f-d3b4-49bc-8e82-2062c8cd7e8e", + "label": "SINE", + "func": "SINE", + "type": "GENERATORS", + "ctrls": { + "amplitude": { + "type": "float", + "default": 1, + "desc": "The amplitude of the wave.", + "overload": null, + "functionName": "SINE", + "param": "amplitude", + "value": 10000 + }, + "frequency": { + "type": "float", + "default": 1, + "desc": "The wave frequency in radians/2pi.", + "overload": null, + "functionName": "SINE", + "param": "frequency", + "value": 1 + }, + "offset": { + "type": "float", + "default": 0, + "desc": "The y axis offset of the function.", + "overload": null, + "functionName": "SINE", + "param": "offset", + "value": 0 + }, + "phase": { + "type": "float", + "default": 0, + "desc": "The x axis offset of the function.", + "overload": null, + "functionName": "SINE", + "param": "phase", + "value": 0 + }, + "waveform": { + "type": "select", + "options": [ + "sine", + "square", + "triangle", + "sawtooth" + ], + "default": "sine", + "desc": "The waveform type of the wave.", + "overload": null, + "functionName": "SINE", + "param": "waveform", + "value": "sine" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Vector", + "multiple": false, + "desc": "Input that defines the x-axis values of the function and output." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "desc": "x: the input v or x values\ny: the resulting sine function" + } + ], + "path": "GENERATORS/SIMULATIONS/SINE/SINE.py", + "selected": false + }, + "position": { + "x": -240.11757149683567, + "y": 25.702132259940072 + }, + "selected": false, + "positionAbsolute": { + "x": -240.11757149683567, + "y": 25.702132259940072 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "LINSPACE-f44a4018-13d0-4e2a-a474-bfaba7fdd57c", + "type": "GENERATORS", + "data": { + "id": "LINSPACE-f44a4018-13d0-4e2a-a474-bfaba7fdd57c", + "label": "LINSPACE", + "func": "LINSPACE", + "type": "GENERATORS", + "ctrls": { + "start": { + "type": "float", + "default": 10, + "desc": "The start point of the data.", + "overload": null, + "functionName": "LINSPACE", + "param": "start", + "value": 10 + }, + "end": { + "type": "float", + "default": 0, + "desc": "The end point of the data.", + "overload": null, + "functionName": "LINSPACE", + "param": "end", + "value": 0 + }, + "step": { + "type": "int", + "default": 1000, + "desc": "The number of points in the vector.", + "overload": null, + "functionName": "LINSPACE", + "param": "step", + "value": 1000 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Vector|OrderedPair", + "multiple": false, + "desc": "Optional input in case LINSPACE is used in a loop. Not used." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "desc": "v: the vector between 'start' and 'end' with a 'step' number of points." + } + ], + "path": "GENERATORS/SIMULATIONS/LINSPACE/LINSPACE.py", + "selected": false + }, + "position": { + "x": -579.7342501929215, + "y": 25.003420793376165 + }, + "selected": false, + "positionAbsolute": { + "x": -579.7342501929215, + "y": 25.003420793376165 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "LINE-d0411371-966e-4ac7-bae7-ac296dfbf5f8", + "type": "VISUALIZERS", + "data": { + "id": "LINE-d0411371-966e-4ac7-bae7-ac296dfbf5f8", + "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": 58.26441822526766, + "y": 131.27157912186965 + }, + "selected": false, + "positionAbsolute": { + "x": 58.26441822526766, + "y": 131.27157912186965 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-252a888c-5fb7-4cf2-a0a5-f284699a4339", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-252a888c-5fb7-4cf2-a0a5-f284699a4339", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": false + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 605.7647236507444, + "y": -171.22765860906554 + }, + "selected": false, + "positionAbsolute": { + "x": 605.7647236507444, + "y": -171.22765860906554 + }, + "dragging": true + }, + { + "width": 160, + "height": 160, + "id": "ORDERED_PAIR_2_VECTOR-eb343b25-8753-4974-8e56-3ec1f46dd177", + "type": "TRANSFORMERS", + "data": { + "id": "ORDERED_PAIR_2_VECTOR-eb343b25-8753-4974-8e56-3ec1f46dd177", + "label": "ORDERED PAIR 2 VECTOR", + "func": "ORDERED_PAIR_2_VECTOR", + "type": "TRANSFORMERS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "multiple": false, + "desc": "The input OrderedPair." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "desc": "The y component of the input OrderedPair." + } + ], + "path": "TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR.py", + "selected": false + }, + "position": { + "x": 88.44935080859928, + "y": -109.77519076703038 + }, + "selected": false, + "positionAbsolute": { + "x": 88.44935080859928, + "y": -109.77519076703038 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "TINYMOVR_BLDC-63bf870f-89c3-4366-bc09-d9e4ade5f29c", + "type": "IO", + "data": { + "id": "TINYMOVR_BLDC-63bf870f-89c3-4366-bc09-d9e4ade5f29c", + "label": "TINYMOVR BLDC", + "func": "TINYMOVR_BLDC", + "type": "IO", + "ctrls": { + "sleep": { + "type": "float", + "default": 0, + "desc": "Time to wait between movements", + "overload": null, + "functionName": "TINYMOVR_BLDC", + "param": "sleep", + "value": 0 + }, + "velocity": { + "type": "float", + "default": 80000, + "desc": "Tinymovr servo velocity", + "overload": null, + "functionName": "TINYMOVR_BLDC", + "param": "velocity", + "value": 80000 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Traceback error" + } + ], + "pip_dependencies": [ + { + "name": "tinymovr", + "v": "1.6.2" + } + ], + "path": "IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_BLDC/TINYMOVR_BLDC.py", + "selected": false + }, + "position": { + "x": 328.19344567783276, + "y": -126.62290766255933 + }, + "selected": false, + "positionAbsolute": { + "x": 328.19344567783276, + "y": -126.62290766255933 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "TINYMOVR_CALIBRATE-0e6dc485-914a-4d63-b8d9-7e36270a365d", + "type": "IO", + "data": { + "id": "TINYMOVR_CALIBRATE-0e6dc485-914a-4d63-b8d9-7e36270a365d", + "label": "TINYMOVR CALIBRATE", + "func": "TINYMOVR_CALIBRATE", + "type": "IO", + "ctrls": {}, + "initCtrls": {}, + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Traceback error" + } + ], + "pip_dependencies": [ + { + "name": "tinymovr", + "v": "1.6.2" + } + ], + "path": "IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/TINYMOVR_CALIBRATE.py", + "selected": true + }, + "position": { + "x": 73.67600809515844, + "y": -347.5069775006768 + }, + "selected": true, + "positionAbsolute": { + "x": 73.67600809515844, + "y": -347.5069775006768 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "LINSPACE-f44a4018-13d0-4e2a-a474-bfaba7fdd57c", + "sourceHandle": "default", + "target": "SINE-1a56066f-d3b4-49bc-8e82-2062c8cd7e8e", + "targetHandle": "default", + "id": "reactflow__edge-LINSPACE-f44a4018-13d0-4e2a-a474-bfaba7fdd57cdefault-SINE-1a56066f-d3b4-49bc-8e82-2062c8cd7e8edefault" + }, + { + "source": "SINE-1a56066f-d3b4-49bc-8e82-2062c8cd7e8e", + "sourceHandle": "default", + "target": "LINE-d0411371-966e-4ac7-bae7-ac296dfbf5f8", + "targetHandle": "default", + "id": "reactflow__edge-SINE-1a56066f-d3b4-49bc-8e82-2062c8cd7e8edefault-LINE-d0411371-966e-4ac7-bae7-ac296dfbf5f8default" + }, + { + "source": "SINE-1a56066f-d3b4-49bc-8e82-2062c8cd7e8e", + "sourceHandle": "default", + "target": "ORDERED_PAIR_2_VECTOR-eb343b25-8753-4974-8e56-3ec1f46dd177", + "targetHandle": "default", + "id": "reactflow__edge-SINE-1a56066f-d3b4-49bc-8e82-2062c8cd7e8edefault-ORDERED_PAIR_2_VECTOR-eb343b25-8753-4974-8e56-3ec1f46dd177default" + }, + { + "source": "ORDERED_PAIR_2_VECTOR-eb343b25-8753-4974-8e56-3ec1f46dd177", + "sourceHandle": "default", + "target": "TINYMOVR_BLDC-63bf870f-89c3-4366-bc09-d9e4ade5f29c", + "targetHandle": "default", + "id": "reactflow__edge-ORDERED_PAIR_2_VECTOR-eb343b25-8753-4974-8e56-3ec1f46dd177default-TINYMOVR_BLDC-63bf870f-89c3-4366-bc09-d9e4ade5f29cdefault" + }, + { + "source": "TINYMOVR_BLDC-63bf870f-89c3-4366-bc09-d9e4ade5f29c", + "sourceHandle": "default", + "target": "TEXT_VIEW-252a888c-5fb7-4cf2-a0a5-f284699a4339", + "targetHandle": "default", + "id": "reactflow__edge-TINYMOVR_BLDC-63bf870f-89c3-4366-bc09-d9e4ade5f29cdefault-TEXT_VIEW-252a888c-5fb7-4cf2-a0a5-f284699a4339default" + }, + { + "source": "TINYMOVR_CALIBRATE-0e6dc485-914a-4d63-b8d9-7e36270a365d", + "sourceHandle": "default", + "target": "TINYMOVR_BLDC-63bf870f-89c3-4366-bc09-d9e4ade5f29c", + "targetHandle": "default", + "id": "reactflow__edge-TINYMOVR_CALIBRATE-0e6dc485-914a-4d63-b8d9-7e36270a365ddefault-TINYMOVR_BLDC-63bf870f-89c3-4366-bc09-d9e4ade5f29cdefault" + } + ], + "viewport": { + "x": 472.4845724041756, + "y": 354.12030268540553, + "zoom": 0.5269422050939508 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/TIC.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/TIC.md new file mode 100644 index 0000000000..a1c94ff619 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/TIC.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/docstring.json b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..a7765235b5 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/docstring.json @@ -0,0 +1,22 @@ +{ + "long_description": "The user defines the speed and the sleep time between movements.\n\n(To choose the position, use the STEPPER_DRIVER_TIC_KNOB.)", + "short_description": "The STEPPER_DRIVER_TIC node controls a stepper motor's movement with a TIC driver.", + "parameters": [ + { + "name": "current_limit", + "type": "int", + "description": "Defines the current limitation that the stepper motor will receive." + }, + { + "name": "sleep_time", + "type": "int", + "description": "Defines the sleep time after moving to each position." + }, + { + "name": "speed", + "type": "int", + "description": "Defines the speed of the motor movement (between 0 and 200000)." + } + ], + "returns": [] +} \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/docstring.txt b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..cafc92d372 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/docstring.txt @@ -0,0 +1,14 @@ +The STEPPER_DRIVER_TIC node controls a stepper motor's movement with a TIC driver. + + The user defines the speed and the sleep time between movements. + + (To choose the position, use the STEPPER_DRIVER_TIC_KNOB.) + + Parameters + ---------- + current_limit : int + Defines the current limitation that the stepper motor will receive. + sleep_time : int + Defines the sleep time after moving to each position. + speed : int + Defines the speed of the motor movement (between 0 and 200000). diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/python_code.txt b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..d2cfda5213 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/a1-[autogen]/python_code.txt @@ -0,0 +1,37 @@ +from flojoy import flojoy, OrderedPair +from typing import Optional +from ticlib import ( + TicUSB, +) # Import the TicUSB library to send command to Tic drivers with USB connection +from time import sleep + + +@flojoy(deps={"ticlib": "0.2.2"}) +def TIC( + default: Optional[OrderedPair] = None, + current_limit: int = 30, + sleep_time: int = 2, + speed: int = 100000, +) -> OrderedPair: + + + # Setting default positions + positions: list[int] = [50, 100, 150, 200] + + # Declaration of the stepper driver + tic: TicUSB = TicUSB() + tic.halt_and_set_position(0) # Set the position to 0 + # Set the current limit of the TIC driver + tic.set_current_limit(current_limit) + tic.energize() # Turn on the driver + tic.exit_safe_start() # The driver is now ready to receive commands + + for i in range(0, len(positions)): + tic.set_max_speed(speed) # Set motor speed + tic.set_target_position(positions[i]) # Set target positions + sleep(sleep_time) + + tic.deenergize() + tic.enter_safe_start() + + return OrderedPair(x=positions, y=positions) diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/hardware.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/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/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/media.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/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/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/notes.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/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/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/examples/EX1/app.json b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/examples/EX1/app.json new file mode 100644 index 0000000000..edf3ed7215 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/examples/EX1/app.json @@ -0,0 +1,85 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 150, + "height": 150, + "id": "STEPPER_DRIVER_TIC-deb4fca7-fc18-443d-bd70-f1455a749eff", + "type": "INSTRUMENTS", + "data": { + "id": "STEPPER_DRIVER_TIC-deb4fca7-fc18-443d-bd70-f1455a749eff", + "label": "STEPPER DRIVER TIC", + "func": "STEPPER_DRIVER_TIC", + "type": "INSTRUMENTS", + "ctrls": { + "current_limit": { + "type": "int", + "default": 30, + "functionName": "STEPPER_DRIVER_TIC", + "param": "current_limit", + "value": 30 + }, + "sleep_time": { + "type": "int", + "default": 2, + "functionName": "STEPPER_DRIVER_TIC", + "param": "sleep_time", + "value": 2 + }, + "speed": { + "type": "int", + "default": 100000, + "functionName": "STEPPER_DRIVER_TIC", + "param": "speed", + "value": 100000 + } + }, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "multiple": false + } + ], + "outputs": [ + { "name": "default", "id": "default", "type": "OrderedPair" } + ], + "pip_dependencies": [{ "name": "ticlib", "v": "0.2.2" }], + "path": "PYTHON/nodes/INSTRUMENTS/STEPPER_MOTOR/STEPPER_DRIVER_TIC/STEPPER_DRIVER_TIC.py", + "selected": false + }, + "position": { "x": 883.1245033729516, "y": -2.309719518942927 }, + "selected": false, + "positionAbsolute": { "x": 883.1245033729516, "y": -2.309719518942927 }, + "dragging": true + } + ], + "edges": [], + "viewport": { + "x": -358.59636577932724, + "y": 99.85117439980638, + "zoom": 1.0581352782820395 + } + }, + + "ctrlsManifest": [ + { + "type": "input", + "name": "Slider", + "id": "INPUT_PLACEHOLDER", + "hidden": false, + "minHeight": 1, + "minWidth": 2, + "layout": { + "x": 0, + "y": 0, + "h": 2, + "w": 2, + "minH": 1, + "minW": 2, + "i": "INPUT_PLACEHOLDER" + } + } + ] +} diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/examples/EX1/example.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/examples/EX1/example.md new file mode 100644 index 0000000000..fc3caa95ec --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC/examples/EX1/example.md @@ -0,0 +1,15 @@ +--- +title: STEPPER_DRIVER_TIC +description: This node controls a stepper motor movement with a TIC driver. The user defines the speed and the sleep time between movements. +keyword: [Python, Instrument, Stepper motor control, Python integration with stepper driver, Motion control and automation, Python"-"based stepper motor control, Stepper motor driver integration, Accurate motor movement with Python, Enhance motion control with Python, Streamline motor automation, Precise motor control using Python, Python control of stepper driver TIC] +image: https://raw.githubusercontent.com/flojoy-ai/docs/main/docs/nodes/INSTRUMENTS/STEPPER_MOTOR/STEPPER_DRIVER_TIC/examples/EX1/output.jpeg +--- + +In this example, the [`STEPPER_DRIVER_TIC`](https://github.com/flojoy-io/nodes/blob/main/INSTRUMENTS/STEPPER_MOTOR/STEPPER_DRIVER_TIC/STEPPER_DRIVER_TIC.py) node controls a stepper motor movement with a TIC driver. + +First, the user must define the current limitation, which depends on the motor's size and model. +After that, he can set the speed and choose the sleep time between movements. + +Then, after clicking the PLAY button, the motor will move between the four default positions. (To choose positions, use the [`STEPPER_DRIVER_TIC_KNOB`](https://github.com/flojoy-io/nodes/blob/main/INSTRUMENTS/STEPPER_MOTOR/STEPPER_DRIVER_TIC_KNOB/STEPPER_DRIVER_TIC_KNOB.py) node.) + +To create a repetitive movement, use the [`LOOP`](https://github.com/flojoy-io/nodes/blob/main/LOGIC_GATES/LOOPS/LOOP/LOOP.py) node. \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/TIC_KNOB.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/TIC_KNOB.md new file mode 100644 index 0000000000..cd7a13541c --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/TIC_KNOB.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/docstring.json b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..ea7534b7fb --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/docstring.json @@ -0,0 +1,27 @@ +{ + "long_description": "The user controls the motor's rotation with the knob position, specified in the node's parameters.", + "short_description": "The STEPPER_DRIVER_TIC_KNOB controls a stepper motor's movement with a TIC driver.", + "parameters": [ + { + "name": "knob_value", + "type": "int", + "description": "Defines the position of the motor (rotational movement)." + }, + { + "name": "current_limit", + "type": "int", + "description": "Defines the current limitation that the stepper motor will receive." + }, + { + "name": "sleep_time", + "type": "int", + "description": "Defines the sleep time after moving to each position." + }, + { + "name": "speed", + "type": "int", + "description": "Defines the speed of the motor movement (between 0 and 200000)." + } + ], + "returns": [] +} \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/docstring.txt b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..529afb278b --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/docstring.txt @@ -0,0 +1,14 @@ +The STEPPER_DRIVER_TIC_KNOB controls a stepper motor's movement with a TIC driver. + + The user controls the motor's rotation with the knob position, specified in the node's parameters. + + Parameters + ---------- + knob_value : int + Defines the position of the motor (rotational movement). + current_limit : int + Defines the current limitation that the stepper motor will receive. + sleep_time : int + Defines the sleep time after moving to each position. + speed : int + Defines the speed of the motor movement (between 0 and 200000). diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/python_code.txt b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..2f98079318 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/a1-[autogen]/python_code.txt @@ -0,0 +1,41 @@ +from flojoy import flojoy, OrderedPair +from typing import Optional + +# Import the TicUSB library to send command to Tic drivers with USB connection +from ticlib import TicUSB +from time import sleep + + +@flojoy(deps={"ticlib": "0.2.2"}) +def TIC_KNOB( + default: Optional[OrderedPair] = None, + knob_value: int = 0, + current_limit: int = 30, + sleep_time: int = 2, + speed: int = 200000, +) -> OrderedPair: + + + # Converting the knob value into a position + knob_position: int = 2 * knob_value + + # Declaration of the stepper driver (You can add serial number to specify the driver) + tic: TicUSB = TicUSB() + # Set the current limit for the driver TIC + tic.set_current_limit(current_limit) + tic.energize() # Turn on the driver + tic.exit_safe_start() # The driver is now ready to receive commands + # Set maximum speed for the motor during first movement. + tic.set_max_speed(speed) + + tic.halt_and_set_position(0) # Set initial position to origin + sleep(sleep_time) + + # Set target position for the first movement + tic.set_target_position(knob_position) + sleep(sleep_time) + + tic.deenergize() + tic.enter_safe_start() + + return OrderedPair(x=knob_position, y=speed) diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/hardware.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/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/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/media.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/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/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/notes.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/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/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/examples/EX1/app.json b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/examples/EX1/app.json new file mode 100644 index 0000000000..e0a12da8f6 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/examples/EX1/app.json @@ -0,0 +1,106 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 150, + "height": 150, + "id": "STEPPER_DRIVER_TIC_KNOB-3b234e79-4648-4661-a8e8-3e14b3d0e72b", + "type": "INSTRUMENTS", + "data": { + "id": "STEPPER_DRIVER_TIC_KNOB-3b234e79-4648-4661-a8e8-3e14b3d0e72b", + "label": "STEPPER DRIVER TIC KNOB", + "func": "STEPPER_DRIVER_TIC_KNOB", + "type": "INSTRUMENTS", + "ctrls": { + "knob_value": { + "type": "int", + "default": 0, + "functionName": "STEPPER_DRIVER_TIC_KNOB", + "param": "knob_value", + "value": 0 + }, + "current_limit": { + "type": "int", + "default": 30, + "functionName": "STEPPER_DRIVER_TIC_KNOB", + "param": "current_limit", + "value": 30 + }, + "sleep_time": { + "type": "int", + "default": 2, + "functionName": "STEPPER_DRIVER_TIC_KNOB", + "param": "sleep_time", + "value": 2 + }, + "speed": { + "type": "int", + "default": 200000, + "functionName": "STEPPER_DRIVER_TIC_KNOB", + "param": "speed", + "value": 200000 + } + }, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "multiple": false + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair" + } + ], + "pip_dependencies": [ + { + "name": "ticlib", + "v": "0.2.2" + } + ], + "path": "PYTHON/nodes/INSTRUMENTS/STEPPER_MOTOR/STEPPER_DRIVER_TIC_KNOB/STEPPER_DRIVER_TIC_KNOB.py", + "selected": false + }, + "position": { + "x": 934.1949826356821, + "y": -1.452956731347598 + }, + "selected": false, + "positionAbsolute": { + "x": 934.1949826356821, + "y": -1.452956731347598 + }, + "dragging": true + } + ], + "edges": [], + "viewport": { + "x": -358.59636577932724, + "y": 99.85117439980638, + "zoom": 1.0581352782820395 + } + }, + "ctrlsManifest": [ + { + "type": "input", + "name": "Slider", + "id": "INPUT_PLACEHOLDER", + "hidden": false, + "minHeight": 1, + "minWidth": 2, + "layout": { + "x": 0, + "y": 0, + "h": 2, + "w": 2, + "minH": 1, + "minW": 2, + "i": "INPUT_PLACEHOLDER" + } + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/examples/EX1/example.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/examples/EX1/example.md new file mode 100644 index 0000000000..fdb3688444 --- /dev/null +++ b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/STEPPER/POLULU/TIC_KNOB/examples/EX1/example.md @@ -0,0 +1,14 @@ +--- +title: STEPPER_DRIVER_TIC_KNOB +description: In this example, the STEPPER_DRIVER_TIC_KNOB node controls a stepper motor movement with a TIC driver. It allows you to control the motor's rotation with a KNOB button. From 0 to 100 corresponds to a rotation between 0 and 360 degrees. +keyword: [Python, Instrument, Stepper motor control with knob, Python integration with stepper driver, Motion control and automation, Python"-"based stepper motor control, Stepper motor driver integration, Accurate motor movement with Python, Enhance motion control with knob, Streamline motor automation, Precise motor control using Python, Python control of stepper driver TIC with knob] +image: https://raw.githubusercontent.com/flojoy-ai/docs/main/docs/nodes/INSTRUMENTS/STEPPER_MOTOR/STEPPER_DRIVER_TIC_KNOB/examples/EX1/output.jpeg +--- + +In this example, the [`STEPPER_DRIVER_TIC_KNOB`](https://github.com/flojoy-io/nodes/blob/main/INSTRUMENTS/STEPPER_MOTOR/STEPPER_DRIVER_TIC_KNOB/STEPPER_DRIVER_TIC_KNOB.py) node controls a stepper motor movement with a TIC driver. It allows you to control the motor's rotation with a KNOB button. (From 0 to 100 corresponds to a rotation between 0 and 360 degrees.) + +First, the user must define the current limitation, which depends on the motor's size and model. After that, he can set the speed, the rotation, and the sleep time to create a specific movement for different applications. Then, after clicking the PLAY button, the motor will start moving. + +After updating the knob position, click on PLAY again to initiate a new movement. + +To create a repetitive movement, use the [`LOOP`](https://github.com/flojoy-io/nodes/blob/main/LOGIC_GATES/LOOPS/LOOP/LOOP.py) and [`GOTO`](https://github.com/flojoy-io/nodes/blob/main/LOGIC_GATES/LOOPS/GOTO/GOTO.py) nodes. \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/CAN_MESSAGE.md b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/CAN_MESSAGE.md new file mode 100644 index 0000000000..0da9623050 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/CAN_MESSAGE.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..edb0c32557 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/docstring.json @@ -0,0 +1,23 @@ +{ + "long_description": "Inputs\n------\nmessage : Vector\n The array of data to send to the CAN bus.", + "short_description": "The CAN_MESSAGE node sends a message onto CAN network through a slcan-compatible USB-to-CAN adapter.", + "parameters": [ + { + "name": "arbitration_id", + "type": "int", + "description": "Unique ID for message being sent." + }, + { + "name": "is_extended_id", + "type": "bool", + "description": "Flag that controls the size of the arbitration_id field." + } + ], + "returns": [ + { + "name": null, + "type": "Textblob", + "description": "Traceback error" + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/docstring.txt b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..e0ac0e29f4 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/docstring.txt @@ -0,0 +1,18 @@ +The CAN_MESSAGE node sends a message onto CAN network through a slcan-compatible USB-to-CAN adapter. + + Inputs + ------ + message : Vector + The array of data to send to the CAN bus. + + Parameters + ---------- + arbitration_id : int + Unique ID for message being sent. + is_extended_id : bool + Flag that controls the size of the arbitration_id field. + + Returns + ------- + Textblob + Traceback error diff --git a/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..37511d7ed9 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/a1-[autogen]/python_code.txt @@ -0,0 +1,33 @@ +import can, traceback, json +from can.interface import Bus +from flojoy import flojoy, SerialDevice, Vector, DataContainer, TextBlob +from typing import Optional + + +@flojoy(deps={"python-can": "4.2.2"}) +def CAN_MESSAGE( + device: SerialDevice, + message: Vector | Optional[DataContainer] = None, + # arbitration_id: hex = 0xC0FFEE, TODO: Support hex inputs + is_extended_id: bool = True, +) -> TextBlob: + + + s = "" + try: + can.rc["interface"] = "slcan" + can.rc["channel"] = device.get_port() + can.rc["bitrate"] = 500000 + + s = json.dumps(can.rc) + + msg = can.Message( + data=message.v, arbitration_id=0xC0FFEE, is_extended_id=is_extended_id + ) + + with can.Bus() as bus: + bus.send(msg) + except: + s = traceback.format_exc() + + return TextBlob(s) diff --git a/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/hardware.md b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/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/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/media.md b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/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/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/notes.md b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/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/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/examples/EX1/app.json b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/examples/EX1/app.json new file mode 100644 index 0000000000..7d60615ae6 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/examples/EX1/app.json @@ -0,0 +1,371 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 208, + "height": 96, + "id": "LINSPACE-dce33fe2-cceb-4cd2-b00d-50e5b4942258", + "type": "GENERATORS", + "data": { + "id": "LINSPACE-dce33fe2-cceb-4cd2-b00d-50e5b4942258", + "label": "LINSPACE", + "func": "LINSPACE", + "type": "GENERATORS", + "ctrls": { + "start": { + "type": "float", + "default": 10, + "desc": "The start point of the data.", + "overload": null, + "functionName": "LINSPACE", + "param": "start", + "value": 10 + }, + "end": { + "type": "float", + "default": 0, + "desc": "The end point of the data.", + "overload": null, + "functionName": "LINSPACE", + "param": "end", + "value": 0 + }, + "step": { + "type": "int", + "default": 1000, + "desc": "The number of points in the vector.", + "overload": null, + "functionName": "LINSPACE", + "param": "step", + "value": 1000 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Vector|OrderedPair", + "multiple": false, + "desc": "Optional input in case LINSPACE is used in a loop. Not used." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "desc": "v: the vector between 'start' and 'end' with a 'step' number of points." + } + ], + "path": "GENERATORS/SIMULATIONS/LINSPACE/LINSPACE.py", + "selected": false + }, + "position": { + "x": -490.3172690460911, + "y": 170.92783037044398 + }, + "selected": false, + "positionAbsolute": { + "x": -490.3172690460911, + "y": 170.92783037044398 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "SINE-e06b3928-3c41-41e4-aa1b-e720334a90ed", + "type": "GENERATORS", + "data": { + "id": "SINE-e06b3928-3c41-41e4-aa1b-e720334a90ed", + "label": "SINE", + "func": "SINE", + "type": "GENERATORS", + "ctrls": { + "amplitude": { + "type": "float", + "default": 1, + "desc": "The amplitude of the wave.", + "overload": null, + "functionName": "SINE", + "param": "amplitude", + "value": 1 + }, + "frequency": { + "type": "float", + "default": 1, + "desc": "The wave frequency in radians/2pi.", + "overload": null, + "functionName": "SINE", + "param": "frequency", + "value": 1 + }, + "offset": { + "type": "float", + "default": 0, + "desc": "The y axis offset of the function.", + "overload": null, + "functionName": "SINE", + "param": "offset", + "value": 0 + }, + "phase": { + "type": "float", + "default": 0, + "desc": "The x axis offset of the function.", + "overload": null, + "functionName": "SINE", + "param": "phase", + "value": 0 + }, + "waveform": { + "type": "select", + "options": [ + "sine", + "square", + "triangle", + "sawtooth" + ], + "default": "sine", + "desc": "The waveform type of the wave.", + "overload": null, + "functionName": "SINE", + "param": "waveform", + "value": "sine" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Vector", + "multiple": false, + "desc": "Input that defines the x-axis values of the function and output." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "desc": "x: the input v or x values\ny: the resulting sine function" + } + ], + "path": "GENERATORS/SIMULATIONS/SINE/SINE.py", + "selected": false + }, + "position": { + "x": -164.1551642060792, + "y": 174.9523731173573 + }, + "selected": false, + "positionAbsolute": { + "x": -164.1551642060792, + "y": 174.9523731173573 + }, + "dragging": true + }, + { + "width": 160, + "height": 160, + "id": "ORDERED_PAIR_2_VECTOR-21ddfb7d-aa19-464b-8bb3-051d9fe14191", + "type": "TRANSFORMERS", + "data": { + "id": "ORDERED_PAIR_2_VECTOR-21ddfb7d-aa19-464b-8bb3-051d9fe14191", + "label": "ORDERED PAIR 2 VECTOR", + "func": "ORDERED_PAIR_2_VECTOR", + "type": "TRANSFORMERS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "multiple": false, + "desc": "The input OrderedPair." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "desc": "The y component of the input OrderedPair." + } + ], + "path": "TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR.py", + "selected": false + }, + "position": { + "x": 197.1756233375782, + "y": 143.01804479213024 + }, + "selected": false, + "positionAbsolute": { + "x": 197.1756233375782, + "y": 143.01804479213024 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "CAN_MESSAGE-71a4141b-bd9e-44ae-9242-68da2cbc5288", + "type": "IO", + "data": { + "id": "CAN_MESSAGE-71a4141b-bd9e-44ae-9242-68da2cbc5288", + "label": "CAN MESSAGE", + "func": "CAN_MESSAGE", + "type": "IO", + "ctrls": { + "device": { + "type": "SerialDevice", + "default": null, + "desc": null, + "overload": null, + "functionName": "CAN_MESSAGE", + "param": "device", + "value": "/dev/cu.usbmodem83301" + }, + "is_extended_id": { + "type": "bool", + "default": true, + "desc": "Flag that controls the size of the arbitration_id field.", + "overload": null, + "functionName": "CAN_MESSAGE", + "param": "is_extended_id", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "The array of data to send to the CAN bus." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": null + } + ], + "pip_dependencies": [ + { + "name": "python-can", + "v": "4.2.2" + } + ], + "path": "IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/CAN_MESSAGE.py", + "selected": false + }, + "position": { + "x": 496.25163839325535, + "y": 125.43953499605306 + }, + "selected": false, + "positionAbsolute": { + "x": 496.25163839325535, + "y": 125.43953499605306 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-19bd940d-530f-4338-acb7-6cc6c882f128", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-19bd940d-530f-4338-acb7-6cc6c882f128", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": false + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 864.489149851756, + "y": 109.75673583512685 + }, + "selected": false, + "positionAbsolute": { + "x": 864.489149851756, + "y": 109.75673583512685 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "CAN_MESSAGE-71a4141b-bd9e-44ae-9242-68da2cbc5288", + "sourceHandle": "default", + "target": "TEXT_VIEW-19bd940d-530f-4338-acb7-6cc6c882f128", + "targetHandle": "default", + "id": "reactflow__edge-CAN_MESSAGE-71a4141b-bd9e-44ae-9242-68da2cbc5288default-TEXT_VIEW-19bd940d-530f-4338-acb7-6cc6c882f128default" + }, + { + "source": "ORDERED_PAIR_2_VECTOR-21ddfb7d-aa19-464b-8bb3-051d9fe14191", + "sourceHandle": "default", + "target": "CAN_MESSAGE-71a4141b-bd9e-44ae-9242-68da2cbc5288", + "targetHandle": "default", + "id": "reactflow__edge-ORDERED_PAIR_2_VECTOR-21ddfb7d-aa19-464b-8bb3-051d9fe14191default-CAN_MESSAGE-71a4141b-bd9e-44ae-9242-68da2cbc5288default" + }, + { + "source": "LINSPACE-dce33fe2-cceb-4cd2-b00d-50e5b4942258", + "sourceHandle": "default", + "target": "SINE-e06b3928-3c41-41e4-aa1b-e720334a90ed", + "targetHandle": "default", + "id": "reactflow__edge-LINSPACE-dce33fe2-cceb-4cd2-b00d-50e5b4942258default-SINE-e06b3928-3c41-41e4-aa1b-e720334a90eddefault" + }, + { + "source": "SINE-e06b3928-3c41-41e4-aa1b-e720334a90ed", + "sourceHandle": "default", + "target": "ORDERED_PAIR_2_VECTOR-21ddfb7d-aa19-464b-8bb3-051d9fe14191", + "targetHandle": "default", + "id": "reactflow__edge-SINE-e06b3928-3c41-41e4-aa1b-e720334a90eddefault-ORDERED_PAIR_2_VECTOR-21ddfb7d-aa19-464b-8bb3-051d9fe14191default" + } + ], + "viewport": { + "x": 545.2070297985838, + "y": 336.1216320824366, + "zoom": 0.5 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR.md new file mode 100644 index 0000000000..a69e055a9d --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..76b2639dde --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/docstring.json @@ -0,0 +1,18 @@ +{ + "long_description": "Inputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "short_description": "The PROLOGIX_ADDR node sets the GPIB address of an instrument using the Prologix USB-to-GPIB or USB-to-Ethernet adapter.", + "parameters": [ + { + "name": "connection", + "type": "Serial", + "description": "The open serial connection with the instrument." + } + ], + "returns": [ + { + "name": null, + "type": "TextBlob", + "description": "Response from the Prologix USB-to-GPIB controller." + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/docstring.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..0a108c9064 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/docstring.txt @@ -0,0 +1,16 @@ +The PROLOGIX_ADDR node sets the GPIB address of an instrument using the Prologix USB-to-GPIB or USB-to-Ethernet adapter. + + Inputs + ------ + default: DataContainer + Any DataContainer - likely connected to the output of the OPEN_SERIAL node. + + Parameters + ---------- + connection: Serial + The open serial connection with the instrument. + + Returns + ------- + TextBlob + Response from the Prologix USB-to-GPIB controller. diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..9bd9170d1c --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/a1-[autogen]/python_code.txt @@ -0,0 +1,26 @@ +import serial +import traceback +from flojoy import flojoy, SerialConnection, DataContainer, TextBlob +from typing import cast, Optional + + +@flojoy(deps={"pyserial": "3.5"}, inject_connection=True) +def PROLOGIX_ADDR( + connection: SerialConnection, + default: Optional[DataContainer] = None, + addr: int = 22, +) -> TextBlob: + + + # Start serial communication with the instrument + ser = cast(serial.Serial, connection.get_handle()) + + if ser is None: + raise ValueError("Serial communication is not open") + + cmd = "++addr " + str(addr) + "\r\n" + ser.write(cmd.encode()) + + s = ser.read(256) + + return TextBlob(s) diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/hardware.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/media.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/notes.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/examples/EX1/app.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/examples/EX1/app.json new file mode 100644 index 0000000000..c9e48d4719 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/examples/EX1/app.json @@ -0,0 +1,636 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "type": "IO", + "data": { + "id": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "label": "OPEN SERIAL", + "func": "OPEN_SERIAL", + "type": "IO", + "ctrls": { + "device": { + "type": "SerialDevice", + "default": null, + "desc": "The connected serial device.", + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "device", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "baudrate": { + "type": "int", + "default": 9600, + "desc": null, + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "baudrate", + "value": 9600 + } + }, + "initCtrls": {}, + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": null + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/SERIAL/BASIC/OPEN_SERIAL/OPEN_SERIAL.py", + "selected": false + }, + "position": { + "x": -628.3695500442519, + "y": -130.0833366506728 + }, + "selected": false, + "positionAbsolute": { + "x": -628.3695500442519, + "y": -130.0833366506728 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "type": "IO", + "data": { + "id": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "label": "PROLOGIX AUTO", + "func": "PROLOGIX_AUTO", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_AUTO", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "auto": { + "type": "select", + "options": [ + "On", + "Off", + "Current state" + ], + "default": "Current state", + "desc": null, + "overload": null, + "functionName": "PROLOGIX_AUTO", + "param": "auto", + "value": "Current state" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO.py", + "selected": false + }, + "position": { + "x": -291.01330554393314, + "y": 141.21176512962404 + }, + "selected": false, + "positionAbsolute": { + "x": -291.01330554393314, + "y": 141.21176512962404 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "type": "IO", + "data": { + "id": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "label": "PROLOGIX ADDR", + "func": "PROLOGIX_ADDR", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_ADDR", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "addr": { + "type": "int", + "default": 22, + "desc": null, + "overload": null, + "functionName": "PROLOGIX_ADDR", + "param": "addr", + "value": 22 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR.py", + "selected": false + }, + "position": { + "x": -296.8867855429962, + "y": -127.35186275581793 + }, + "selected": false, + "positionAbsolute": { + "x": -296.8867855429962, + "y": -127.35186275581793 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "type": "IO", + "data": { + "id": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "label": "PROLOGIX MODE", + "func": "PROLOGIX_MODE", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_MODE", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "mode": { + "type": "select", + "options": [ + "CONTROLLER", + "DEVICE" + ], + "default": "CONTROLLER", + "desc": null, + "overload": null, + "functionName": "PROLOGIX_MODE", + "param": "mode", + "value": "CONTROLLER" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE.py", + "selected": false + }, + "position": { + "x": -299.16744190685495, + "y": -399.5041112278735 + }, + "selected": false, + "positionAbsolute": { + "x": -299.16744190685495, + "y": -399.5041112278735 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "label": "PRINT DATACONTAINER", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": true + }, + "position": { + "x": 9.534992068056255, + "y": 158.93742789390558 + }, + "selected": true, + "positionAbsolute": { + "x": 9.534992068056255, + "y": 158.93742789390558 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "label": "PRINT DATACONTAINER 1", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": false + }, + "position": { + "x": 9.069179875222915, + "y": -111.77518944899901 + }, + "selected": false, + "positionAbsolute": { + "x": 9.069179875222915, + "y": -111.77518944899901 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "label": "PRINT DATACONTAINER 2", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": false + }, + "position": { + "x": 8.862712458982685, + "y": -383.3113942703777 + }, + "selected": false, + "positionAbsolute": { + "x": 8.862712458982685, + "y": -383.3113942703777 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 435.3382469911546, + "y": 175.17006923996496 + }, + "selected": false, + "positionAbsolute": { + "x": 435.3382469911546, + "y": 175.17006923996496 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "label": "TEXT VIEW 1", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 422.36257845690176, + "y": -147.93370633164506 + }, + "selected": false, + "positionAbsolute": { + "x": 422.36257845690176, + "y": -147.93370633164506 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "label": "TEXT VIEW 2", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 416.3847981136062, + "y": -484.9274809881268 + }, + "selected": false, + "positionAbsolute": { + "x": 416.3847981136062, + "y": -484.9274809881268 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694ddefault" + }, + { + "source": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6ebdefault-PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138adefault" + }, + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6ebdefault" + }, + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5dbdefault" + }, + { + "source": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694ddefault-PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930ddefault" + }, + { + "source": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5dbdefault-PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855fdefault" + }, + { + "source": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "sourceHandle": "default", + "target": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138adefault-TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bcdefault" + }, + { + "source": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "sourceHandle": "default", + "target": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930ddefault-TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3default" + }, + { + "source": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "sourceHandle": "default", + "target": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855fdefault-TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9default" + } + ], + "viewport": { + "x": 531.2578257632742, + "y": 458.93935293704044, + "zoom": 0.5 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO.md new file mode 100644 index 0000000000..d08003292b --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..386be24a65 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/docstring.json @@ -0,0 +1,18 @@ +{ + "long_description": "When Read-After-Write is on, the Prologix USB-to-GPIB controller automatically reads a bench-top instrument's response after writing a command to it.\n\nInputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "short_description": "The PROLOGIX_AUTO node toggles \"Read-After-Write\" mode on or off.", + "parameters": [ + { + "name": "connection", + "type": "Serial", + "description": "The open serial connection with the instrument." + } + ], + "returns": [ + { + "name": null, + "type": "TextBlob", + "description": "Response from the Prologix USB-to-GPIB controller." + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/docstring.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..bc574fa77e --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/docstring.txt @@ -0,0 +1,18 @@ +The PROLOGIX_AUTO node toggles "Read-After-Write" mode on or off. + + When Read-After-Write is on, the Prologix USB-to-GPIB controller automatically reads a bench-top instrument's response after writing a command to it. + + Inputs + ------ + default: DataContainer + Any DataContainer - likely connected to the output of the OPEN_SERIAL node. + + Parameters + ---------- + connection: Serial + The open serial connection with the instrument. + + Returns + ------- + TextBlob + Response from the Prologix USB-to-GPIB controller. diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..84db914d8c --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/a1-[autogen]/python_code.txt @@ -0,0 +1,31 @@ +import serial +from flojoy import flojoy, SerialConnection, DataContainer, TextBlob +from typing import cast, Optional, Literal + + +@flojoy(deps={"pyserial": "3.5"}, inject_connection=True) +def PROLOGIX_AUTO( + connection: SerialConnection, + default: Optional[DataContainer] = None, + auto: Literal["On", "Off", "Current state"] = "Current state", +) -> TextBlob: + + + # Start serial communication with the instrument + ser = cast(serial.Serial, connection.get_handle()) + + if ser is None: + raise ValueError("Serial communication is not open") + + auto_integer = 0 + if auto == "Current state": + ser.write(b"++auto\r\n") + elif auto == "On": + auto_integer = 1 + else: + cmd = "++auto " + str(auto_integer) + "\r\n" + ser.write(cmd.encode()) + + s = ser.read(256) + + return TextBlob(s) diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/hardware.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/media.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/notes.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/examples/EX1/app.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/examples/EX1/app.json new file mode 100644 index 0000000000..c9e48d4719 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/examples/EX1/app.json @@ -0,0 +1,636 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "type": "IO", + "data": { + "id": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "label": "OPEN SERIAL", + "func": "OPEN_SERIAL", + "type": "IO", + "ctrls": { + "device": { + "type": "SerialDevice", + "default": null, + "desc": "The connected serial device.", + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "device", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "baudrate": { + "type": "int", + "default": 9600, + "desc": null, + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "baudrate", + "value": 9600 + } + }, + "initCtrls": {}, + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": null + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/SERIAL/BASIC/OPEN_SERIAL/OPEN_SERIAL.py", + "selected": false + }, + "position": { + "x": -628.3695500442519, + "y": -130.0833366506728 + }, + "selected": false, + "positionAbsolute": { + "x": -628.3695500442519, + "y": -130.0833366506728 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "type": "IO", + "data": { + "id": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "label": "PROLOGIX AUTO", + "func": "PROLOGIX_AUTO", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_AUTO", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "auto": { + "type": "select", + "options": [ + "On", + "Off", + "Current state" + ], + "default": "Current state", + "desc": null, + "overload": null, + "functionName": "PROLOGIX_AUTO", + "param": "auto", + "value": "Current state" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO.py", + "selected": false + }, + "position": { + "x": -291.01330554393314, + "y": 141.21176512962404 + }, + "selected": false, + "positionAbsolute": { + "x": -291.01330554393314, + "y": 141.21176512962404 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "type": "IO", + "data": { + "id": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "label": "PROLOGIX ADDR", + "func": "PROLOGIX_ADDR", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_ADDR", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "addr": { + "type": "int", + "default": 22, + "desc": null, + "overload": null, + "functionName": "PROLOGIX_ADDR", + "param": "addr", + "value": 22 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR.py", + "selected": false + }, + "position": { + "x": -296.8867855429962, + "y": -127.35186275581793 + }, + "selected": false, + "positionAbsolute": { + "x": -296.8867855429962, + "y": -127.35186275581793 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "type": "IO", + "data": { + "id": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "label": "PROLOGIX MODE", + "func": "PROLOGIX_MODE", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_MODE", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "mode": { + "type": "select", + "options": [ + "CONTROLLER", + "DEVICE" + ], + "default": "CONTROLLER", + "desc": null, + "overload": null, + "functionName": "PROLOGIX_MODE", + "param": "mode", + "value": "CONTROLLER" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE.py", + "selected": false + }, + "position": { + "x": -299.16744190685495, + "y": -399.5041112278735 + }, + "selected": false, + "positionAbsolute": { + "x": -299.16744190685495, + "y": -399.5041112278735 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "label": "PRINT DATACONTAINER", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": true + }, + "position": { + "x": 9.534992068056255, + "y": 158.93742789390558 + }, + "selected": true, + "positionAbsolute": { + "x": 9.534992068056255, + "y": 158.93742789390558 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "label": "PRINT DATACONTAINER 1", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": false + }, + "position": { + "x": 9.069179875222915, + "y": -111.77518944899901 + }, + "selected": false, + "positionAbsolute": { + "x": 9.069179875222915, + "y": -111.77518944899901 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "label": "PRINT DATACONTAINER 2", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": false + }, + "position": { + "x": 8.862712458982685, + "y": -383.3113942703777 + }, + "selected": false, + "positionAbsolute": { + "x": 8.862712458982685, + "y": -383.3113942703777 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 435.3382469911546, + "y": 175.17006923996496 + }, + "selected": false, + "positionAbsolute": { + "x": 435.3382469911546, + "y": 175.17006923996496 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "label": "TEXT VIEW 1", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 422.36257845690176, + "y": -147.93370633164506 + }, + "selected": false, + "positionAbsolute": { + "x": 422.36257845690176, + "y": -147.93370633164506 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "label": "TEXT VIEW 2", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 416.3847981136062, + "y": -484.9274809881268 + }, + "selected": false, + "positionAbsolute": { + "x": 416.3847981136062, + "y": -484.9274809881268 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694ddefault" + }, + { + "source": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6ebdefault-PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138adefault" + }, + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6ebdefault" + }, + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5dbdefault" + }, + { + "source": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694ddefault-PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930ddefault" + }, + { + "source": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5dbdefault-PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855fdefault" + }, + { + "source": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "sourceHandle": "default", + "target": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138adefault-TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bcdefault" + }, + { + "source": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "sourceHandle": "default", + "target": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930ddefault-TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3default" + }, + { + "source": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "sourceHandle": "default", + "target": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855fdefault-TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9default" + } + ], + "viewport": { + "x": 531.2578257632742, + "y": 458.93935293704044, + "zoom": 0.5 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/PROLOGIX_HELP.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/PROLOGIX_HELP.md new file mode 100644 index 0000000000..96a8c148d5 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/PROLOGIX_HELP.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..e386f42738 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/docstring.json @@ -0,0 +1,18 @@ +{ + "long_description": "Inputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "short_description": "The PROLOGIX_HELP command returns a list of available Prologix USB-to-GPIB firmware commands.", + "parameters": [ + { + "name": "connection", + "type": "Serial", + "description": "The open serial connection with the instrument." + } + ], + "returns": [ + { + "name": null, + "type": "TextBlob", + "description": "A list of available Prologix USB-to-GPIB firmware commands" + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/docstring.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..0e48a32202 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/docstring.txt @@ -0,0 +1,16 @@ +The PROLOGIX_HELP command returns a list of available Prologix USB-to-GPIB firmware commands. + + Inputs + ------ + default: DataContainer + Any DataContainer - likely connected to the output of the OPEN_SERIAL node. + + Parameters + ---------- + connection: Serial + The open serial connection with the instrument. + + Returns + ------- + TextBlob + A list of available Prologix USB-to-GPIB firmware commands diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..e1094c6d18 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/a1-[autogen]/python_code.txt @@ -0,0 +1,23 @@ +import serial, traceback +from flojoy import flojoy, SerialConnection, TextBlob, DataContainer +from typing import cast, Optional + + +@flojoy(deps={"pyserial": "3.5"}, inject_connection=True) +def PROLOGIX_HELP( + connection: SerialConnection, + default: Optional[DataContainer] = None, +) -> TextBlob: + + + try: + # Start serial communication with the instrument + ser = cast(serial.Serial, connection.get_handle()) + if ser is None: + raise ValueError("Serial communication is not open") + ser.write(b"++help\r\n") + s = ser.read(1000).decode() + except: + s = traceback.format_exc() + + return TextBlob(s) diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/hardware.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/media.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/notes.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/examples/EX1/app.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/examples/EX1/app.json new file mode 100644 index 0000000000..19669d125e --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/examples/EX1/app.json @@ -0,0 +1,324 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231", + "type": "IO", + "data": { + "id": "OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231", + "label": "OPEN SERIAL", + "func": "OPEN_SERIAL", + "type": "IO", + "ctrls": { + "device": { + "type": "SerialDevice", + "default": null, + "desc": "The connected serial device.", + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "device", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "baudrate": { + "type": "int", + "default": 9600, + "desc": null, + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "baudrate", + "value": 9600 + } + }, + "initCtrls": {}, + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": null + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/SERIAL/BASIC/OPEN_SERIAL/OPEN_SERIAL.py", + "selected": false + }, + "position": { + "x": -409.7072613691855, + "y": -119.46721173101321 + }, + "selected": false, + "positionAbsolute": { + "x": -409.7072613691855, + "y": -119.46721173101321 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4", + "type": "IO", + "data": { + "id": "PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4", + "label": "PROLOGIX HELP", + "func": "PROLOGIX_HELP", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_HELP", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "A list of available Prologix USB-to-GPIB firmware commands" + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/PROLOGIX_HELP.py", + "selected": false + }, + "position": { + "x": 43.7677951992148, + "y": -301.62936069100147 + }, + "selected": false, + "positionAbsolute": { + "x": 43.7677951992148, + "y": -301.62936069100147 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-8260cd6b-0c5d-4e6a-b9f3-a5aca4c53567", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-8260cd6b-0c5d-4e6a-b9f3-a5aca4c53567", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": true, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 423.4185766491661, + "y": -355.54847177565506 + }, + "selected": false, + "positionAbsolute": { + "x": 423.4185766491661, + "y": -355.54847177565506 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98", + "type": "IO", + "data": { + "id": "PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98", + "label": "PROLOGIX VER", + "func": "PROLOGIX_VER", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_VER", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The Prologix controller available commands." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/PROLOGIX_VER.py", + "selected": false + }, + "position": { + "x": 36.97386338103118, + "y": 100.85210674163193 + }, + "selected": false, + "positionAbsolute": { + "x": 36.97386338103118, + "y": 100.85210674163193 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-e28cbcd7-ed1f-42bb-816a-e95fc6fc8c37", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-e28cbcd7-ed1f-42bb-816a-e95fc6fc8c37", + "label": "TEXT VIEW 1", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": false + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 434.2592704786502, + "y": 53.58359116674569 + }, + "selected": false, + "positionAbsolute": { + "x": 434.2592704786502, + "y": 53.58359116674569 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231", + "sourceHandle": "default", + "target": "PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231default-PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4default" + }, + { + "source": "PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4", + "sourceHandle": "default", + "target": "TEXT_VIEW-8260cd6b-0c5d-4e6a-b9f3-a5aca4c53567", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4default-TEXT_VIEW-8260cd6b-0c5d-4e6a-b9f3-a5aca4c53567default" + }, + { + "source": "OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231", + "sourceHandle": "default", + "target": "PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231default-PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98default" + }, + { + "source": "PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98", + "sourceHandle": "default", + "target": "TEXT_VIEW-e28cbcd7-ed1f-42bb-816a-e95fc6fc8c37", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98default-TEXT_VIEW-e28cbcd7-ed1f-42bb-816a-e95fc6fc8c37default" + } + ], + "viewport": { + "x": 466.68096270497455, + "y": 429.1170430912722, + "zoom": 0.5180199090230052 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE.md new file mode 100644 index 0000000000..ff712d136d --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..9b0b7200c3 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/docstring.json @@ -0,0 +1,18 @@ +{ + "long_description": "From the Prologix manual:\n\nIn Controller mode, the GPIB-USB Controller acts as the Controller-In-Charge (CIC)\non the GPIB bus. When the controller receives a command over the USB port\nterminated by the USB terminator \u2013 CR (ASCII 13) or LF (ASCII 10) \u2013 it addresses the\nGPIB instrument at the currently specified address (See ++addr command) to listen, and\npasses along the received data.\n\nIn Device mode, Prologix GPIB-USB Controller acts as another peripheral on the GPIB\nbus. In this mode, the controller can act as a GPIB TALKER or GPIB LISTENER\nonly. Since Prologix GPIB-USB Controller is not the Controller-In-Charge while in this\nmode, it expects to receive commands from a GPIB controller. When Device mode is\nenabled Prologix GPIB-USB controller configures itself as a GPIB Listener. All data\nreceived by the controller over the GPIB port is passed along to the USB port without\nbuffering.\n\nInputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "short_description": "The PROLOGIX_MODE node sets the mode of the Prologix USB-to-GPIB controller - 1 for CONTROLLER mode and 0 for DEVICE mode.", + "parameters": [ + { + "name": "connection", + "type": "Serial", + "description": "The open serial connection with the instrument." + } + ], + "returns": [ + { + "name": null, + "type": "TextBlob", + "description": "Response from the Prologix USB-to-GPIB controller." + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/docstring.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..6bc0265178 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/docstring.txt @@ -0,0 +1,32 @@ +The PROLOGIX_MODE node sets the mode of the Prologix USB-to-GPIB controller - 1 for CONTROLLER mode and 0 for DEVICE mode. + + From the Prologix manual: + + In Controller mode, the GPIB-USB Controller acts as the Controller-In-Charge (CIC) + on the GPIB bus. When the controller receives a command over the USB port + terminated by the USB terminator – CR (ASCII 13) or LF (ASCII 10) – it addresses the + GPIB instrument at the currently specified address (See ++addr command) to listen, and + passes along the received data. + + In Device mode, Prologix GPIB-USB Controller acts as another peripheral on the GPIB + bus. In this mode, the controller can act as a GPIB TALKER or GPIB LISTENER + only. Since Prologix GPIB-USB Controller is not the Controller-In-Charge while in this + mode, it expects to receive commands from a GPIB controller. When Device mode is + enabled Prologix GPIB-USB controller configures itself as a GPIB Listener. All data + received by the controller over the GPIB port is passed along to the USB port without + buffering. + + Inputs + ------ + default: DataContainer + Any DataContainer - likely connected to the output of the OPEN_SERIAL node. + + Parameters + ---------- + connection: Serial + The open serial connection with the instrument. + + Returns + ------- + TextBlob + Response from the Prologix USB-to-GPIB controller. diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..f259322cfc --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/a1-[autogen]/python_code.txt @@ -0,0 +1,30 @@ +import serial +import traceback +from flojoy import flojoy, SerialConnection, DataContainer, TextBlob +from typing import cast, Optional, Literal + + +@flojoy(deps={"pyserial": "3.5"}, inject_connection=True) +def PROLOGIX_MODE( + connection: SerialConnection, + default: Optional[DataContainer] = None, + mode: Literal["CONTROLLER", "DEVICE"] = "CONTROLLER", +) -> TextBlob: + + + # Start serial communication with the instrument + ser = cast(serial.Serial, connection.get_handle()) + + if ser is None: + raise ValueError("Serial communication is not open") + + mode_integer = 0 + if mode == "CONTROLLER": + mode_integer = 1 + + cmd = "++mode " + str(mode_integer) + "\r\n" + ser.write(cmd.encode()) + + s = ser.read(256) + + return TextBlob(s) diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/hardware.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/media.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/notes.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/examples/EX1/app.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/examples/EX1/app.json new file mode 100644 index 0000000000..c9e48d4719 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/examples/EX1/app.json @@ -0,0 +1,636 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "type": "IO", + "data": { + "id": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "label": "OPEN SERIAL", + "func": "OPEN_SERIAL", + "type": "IO", + "ctrls": { + "device": { + "type": "SerialDevice", + "default": null, + "desc": "The connected serial device.", + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "device", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "baudrate": { + "type": "int", + "default": 9600, + "desc": null, + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "baudrate", + "value": 9600 + } + }, + "initCtrls": {}, + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": null + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/SERIAL/BASIC/OPEN_SERIAL/OPEN_SERIAL.py", + "selected": false + }, + "position": { + "x": -628.3695500442519, + "y": -130.0833366506728 + }, + "selected": false, + "positionAbsolute": { + "x": -628.3695500442519, + "y": -130.0833366506728 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "type": "IO", + "data": { + "id": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "label": "PROLOGIX AUTO", + "func": "PROLOGIX_AUTO", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_AUTO", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "auto": { + "type": "select", + "options": [ + "On", + "Off", + "Current state" + ], + "default": "Current state", + "desc": null, + "overload": null, + "functionName": "PROLOGIX_AUTO", + "param": "auto", + "value": "Current state" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO.py", + "selected": false + }, + "position": { + "x": -291.01330554393314, + "y": 141.21176512962404 + }, + "selected": false, + "positionAbsolute": { + "x": -291.01330554393314, + "y": 141.21176512962404 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "type": "IO", + "data": { + "id": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "label": "PROLOGIX ADDR", + "func": "PROLOGIX_ADDR", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_ADDR", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "addr": { + "type": "int", + "default": 22, + "desc": null, + "overload": null, + "functionName": "PROLOGIX_ADDR", + "param": "addr", + "value": 22 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR.py", + "selected": false + }, + "position": { + "x": -296.8867855429962, + "y": -127.35186275581793 + }, + "selected": false, + "positionAbsolute": { + "x": -296.8867855429962, + "y": -127.35186275581793 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "type": "IO", + "data": { + "id": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "label": "PROLOGIX MODE", + "func": "PROLOGIX_MODE", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_MODE", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "mode": { + "type": "select", + "options": [ + "CONTROLLER", + "DEVICE" + ], + "default": "CONTROLLER", + "desc": null, + "overload": null, + "functionName": "PROLOGIX_MODE", + "param": "mode", + "value": "CONTROLLER" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Response from the Prologix USB-to-GPIB controller." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE.py", + "selected": false + }, + "position": { + "x": -299.16744190685495, + "y": -399.5041112278735 + }, + "selected": false, + "positionAbsolute": { + "x": -299.16744190685495, + "y": -399.5041112278735 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "label": "PRINT DATACONTAINER", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": true + }, + "position": { + "x": 9.534992068056255, + "y": 158.93742789390558 + }, + "selected": true, + "positionAbsolute": { + "x": 9.534992068056255, + "y": 158.93742789390558 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "label": "PRINT DATACONTAINER 1", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": false + }, + "position": { + "x": 9.069179875222915, + "y": -111.77518944899901 + }, + "selected": false, + "positionAbsolute": { + "x": 9.069179875222915, + "y": -111.77518944899901 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "label": "PRINT DATACONTAINER 2", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": false + }, + "position": { + "x": 8.862712458982685, + "y": -383.3113942703777 + }, + "selected": false, + "positionAbsolute": { + "x": 8.862712458982685, + "y": -383.3113942703777 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 435.3382469911546, + "y": 175.17006923996496 + }, + "selected": false, + "positionAbsolute": { + "x": 435.3382469911546, + "y": 175.17006923996496 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "label": "TEXT VIEW 1", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 422.36257845690176, + "y": -147.93370633164506 + }, + "selected": false, + "positionAbsolute": { + "x": 422.36257845690176, + "y": -147.93370633164506 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "label": "TEXT VIEW 2", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 416.3847981136062, + "y": -484.9274809881268 + }, + "selected": false, + "positionAbsolute": { + "x": 416.3847981136062, + "y": -484.9274809881268 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694ddefault" + }, + { + "source": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6ebdefault-PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138adefault" + }, + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6eb", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_MODE-12977206-e963-47e7-85be-358235fee6ebdefault" + }, + { + "source": "OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dce", + "sourceHandle": "default", + "target": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-e1fcb395-9071-48b5-9ad9-f79cb4f72dcedefault-PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5dbdefault" + }, + { + "source": "PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694d", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_ADDR-98c87b2a-b1c9-4b19-9caf-c51cc775694ddefault-PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930ddefault" + }, + { + "source": "PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5db", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_AUTO-64c0f1cb-a181-42a1-a921-9e97066ae5dbdefault-PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855fdefault" + }, + { + "source": "PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138a", + "sourceHandle": "default", + "target": "TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bc", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-79a4affd-e9b5-4aef-a383-7d9bdc20138adefault-TEXT_VIEW-005157b9-74d6-464a-abdb-47694b7017bcdefault" + }, + { + "source": "PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930d", + "sourceHandle": "default", + "target": "TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-705faa47-4605-422d-b862-2a215836930ddefault-TEXT_VIEW-9306fdc7-f2d1-4650-a386-ad3ebe9fb1c3default" + }, + { + "source": "PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855f", + "sourceHandle": "default", + "target": "TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-7dc8d805-b10c-4145-a28a-ee9dcdf7855fdefault-TEXT_VIEW-e1176865-6d51-42f6-9bd4-1e2d1ad73ef9default" + } + ], + "viewport": { + "x": 531.2578257632742, + "y": 458.93935293704044, + "zoom": 0.5 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/PROLOGIX_VER.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/PROLOGIX_VER.md new file mode 100644 index 0000000000..faa5ae01dd --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/PROLOGIX_VER.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..c71b92d64b --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/docstring.json @@ -0,0 +1,18 @@ +{ + "long_description": "Inputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "short_description": "The PROLOGIX_VER command queries the Prologix USB-to-GPIB firmware version.", + "parameters": [ + { + "name": "connection", + "type": "Serial", + "description": "The open serial connection with the instrument." + } + ], + "returns": [ + { + "name": null, + "type": "TextBlob", + "description": "The Prologix controller available commands." + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/docstring.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..b776214225 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/docstring.txt @@ -0,0 +1,16 @@ +The PROLOGIX_VER command queries the Prologix USB-to-GPIB firmware version. + + Inputs + ------ + default: DataContainer + Any DataContainer - likely connected to the output of the OPEN_SERIAL node. + + Parameters + ---------- + connection: Serial + The open serial connection with the instrument. + + Returns + ------- + TextBlob + The Prologix controller available commands. diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..77aa38df5b --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/a1-[autogen]/python_code.txt @@ -0,0 +1,23 @@ +import serial, traceback +from flojoy import flojoy, SerialConnection, TextBlob, DataContainer +from typing import cast, Optional + + +@flojoy(deps={"pyserial": "3.5"}, inject_connection=True) +def PROLOGIX_VER( + connection: SerialConnection, + default: Optional[DataContainer] = None, +) -> TextBlob: + + + try: + # Start serial communication with the instrument + ser = cast(serial.Serial, connection.get_handle()) + if ser is None: + raise ValueError("Serial communication is not open") + ser.write(b"++ver\r\n") + s = ser.read(1000).decode() + except: + s = traceback.format_exc() + + return TextBlob(s) diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/hardware.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/media.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/notes.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/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/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/examples/EX1/app.json b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/examples/EX1/app.json new file mode 100644 index 0000000000..19669d125e --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/examples/EX1/app.json @@ -0,0 +1,324 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231", + "type": "IO", + "data": { + "id": "OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231", + "label": "OPEN SERIAL", + "func": "OPEN_SERIAL", + "type": "IO", + "ctrls": { + "device": { + "type": "SerialDevice", + "default": null, + "desc": "The connected serial device.", + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "device", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "baudrate": { + "type": "int", + "default": 9600, + "desc": null, + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "baudrate", + "value": 9600 + } + }, + "initCtrls": {}, + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": null + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/SERIAL/BASIC/OPEN_SERIAL/OPEN_SERIAL.py", + "selected": false + }, + "position": { + "x": -409.7072613691855, + "y": -119.46721173101321 + }, + "selected": false, + "positionAbsolute": { + "x": -409.7072613691855, + "y": -119.46721173101321 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4", + "type": "IO", + "data": { + "id": "PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4", + "label": "PROLOGIX HELP", + "func": "PROLOGIX_HELP", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_HELP", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "A list of available Prologix USB-to-GPIB firmware commands" + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/PROLOGIX_HELP.py", + "selected": false + }, + "position": { + "x": 43.7677951992148, + "y": -301.62936069100147 + }, + "selected": false, + "positionAbsolute": { + "x": 43.7677951992148, + "y": -301.62936069100147 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-8260cd6b-0c5d-4e6a-b9f3-a5aca4c53567", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-8260cd6b-0c5d-4e6a-b9f3-a5aca4c53567", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": true, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": true + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 423.4185766491661, + "y": -355.54847177565506 + }, + "selected": false, + "positionAbsolute": { + "x": 423.4185766491661, + "y": -355.54847177565506 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98", + "type": "IO", + "data": { + "id": "PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98", + "label": "PROLOGIX VER", + "func": "PROLOGIX_VER", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "PROLOGIX_VER", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The Prologix controller available commands." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/PROLOGIX_VER.py", + "selected": false + }, + "position": { + "x": 36.97386338103118, + "y": 100.85210674163193 + }, + "selected": false, + "positionAbsolute": { + "x": 36.97386338103118, + "y": 100.85210674163193 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-e28cbcd7-ed1f-42bb-816a-e95fc6fc8c37", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-e28cbcd7-ed1f-42bb-816a-e95fc6fc8c37", + "label": "TEXT VIEW 1", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": false + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 434.2592704786502, + "y": 53.58359116674569 + }, + "selected": false, + "positionAbsolute": { + "x": 434.2592704786502, + "y": 53.58359116674569 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231", + "sourceHandle": "default", + "target": "PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231default-PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4default" + }, + { + "source": "PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4", + "sourceHandle": "default", + "target": "TEXT_VIEW-8260cd6b-0c5d-4e6a-b9f3-a5aca4c53567", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_HELP-73c23bcf-494c-4a68-9467-4da78bfb3fb4default-TEXT_VIEW-8260cd6b-0c5d-4e6a-b9f3-a5aca4c53567default" + }, + { + "source": "OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231", + "sourceHandle": "default", + "target": "PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-0379a423-93ea-47e9-83e4-13d5b7e33231default-PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98default" + }, + { + "source": "PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98", + "sourceHandle": "default", + "target": "TEXT_VIEW-e28cbcd7-ed1f-42bb-816a-e95fc6fc8c37", + "targetHandle": "default", + "id": "reactflow__edge-PROLOGIX_VER-3ba9a232-95ac-4ff1-89fe-226ccd734e98default-TEXT_VIEW-e28cbcd7-ed1f-42bb-816a-e95fc6fc8c37default" + } + ], + "viewport": { + "x": 466.68096270497455, + "y": 429.1170430912722, + "zoom": 0.5180199090230052 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/SCPI/IDN/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/SCPI/IDN/a1-[autogen]/docstring.json index 9518e493c0..2bcc61f6d2 100644 --- a/docs/nodes/IO/PROTOCOLS/SCPI/IDN/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/PROTOCOLS/SCPI/IDN/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "long_description": "Inputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "short_description": "The IDN node queries a device's identity through the universal *IDN? SCPI command.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/PROTOCOLS/SCPI/MEASURE_VOLTAGE/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/SCPI/MEASURE_VOLTAGE/a1-[autogen]/docstring.json index d1e98a2412..70a38c3ff5 100644 --- a/docs/nodes/IO/PROTOCOLS/SCPI/MEASURE_VOLTAGE/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/PROTOCOLS/SCPI/MEASURE_VOLTAGE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "long_description": "Inputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "short_description": "The MEASURE_VOLTAGE node queries an instrument's measured output voltage, such as a DMM or power supply.", "parameters": [ { "name": "connection", diff --git a/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/SCPI_WRITE.md b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/SCPI_WRITE.md new file mode 100644 index 0000000000..169f494eb7 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/SCPI_WRITE.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..b6cc3b632d --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/docstring.json @@ -0,0 +1,18 @@ +{ + "long_description": "Inputs\n------\ndefault: DataContainer\n Any DataContainer - likely connected to the output of the OPEN_SERIAL node.", + "short_description": "The SCPI_WRITE node writes a SCPI command to a connected bench-top instrument and returns the result.", + "parameters": [ + { + "name": "connection", + "type": "Serial", + "description": "The open serial connection with the instrument." + } + ], + "returns": [ + { + "name": null, + "type": "Scalar|TextBlob", + "description": "The return value from the bench-top instrument as a Scalar or TextBlob." + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/docstring.txt b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..999209a695 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/docstring.txt @@ -0,0 +1,16 @@ +The SCPI_WRITE node writes a SCPI command to a connected bench-top instrument and returns the result. + + Inputs + ------ + default: DataContainer + Any DataContainer - likely connected to the output of the OPEN_SERIAL node. + + Parameters + ---------- + connection: Serial + The open serial connection with the instrument. + + Returns + ------- + Scalar|TextBlob + The return value from the bench-top instrument as a Scalar or TextBlob. diff --git a/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..49b88b1615 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/a1-[autogen]/python_code.txt @@ -0,0 +1,31 @@ +import serial +from flojoy import flojoy, SerialConnection, TextBlob, Scalar, DataContainer +from typing import cast, Optional + + +@flojoy(deps={"pyserial": "3.5"}, inject_connection=True) +def SCPI_WRITE( + connection: SerialConnection, + default: Optional[DataContainer] = None, + command: str = "*IDN?", +) -> Scalar | TextBlob: + + + # Start serial communication with the instrument + ser = cast(serial.Serial, connection.get_handle()) + + if ser is None: + raise ValueError("Serial communication is not open") + + CMD = command + "\n\r" + + ser.write(CMD.encode()) + + resp = ser.readline().decode() + + try: + resp = float(resp.rstrip("\n")) + except: + return TextBlob(resp) + + return Scalar(resp) diff --git a/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/appendix/hardware.md b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/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/PROTOCOLS/SCPI/SCPI_WRITE/appendix/media.md b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/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/PROTOCOLS/SCPI/SCPI_WRITE/appendix/notes.md b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/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/PROTOCOLS/SCPI/SCPI_WRITE/examples/EX1/app.json b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/examples/EX1/app.json new file mode 100644 index 0000000000..8f3f163711 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/examples/EX1/app.json @@ -0,0 +1,240 @@ +{ + "name": "USB Camera", + "rfInstance": { + "nodes": [ + { + "width": 192, + "height": 192, + "id": "SCPI_WRITE-52a454f8-4871-4856-b681-08d16ba3375b", + "type": "IO", + "data": { + "id": "SCPI_WRITE-52a454f8-4871-4856-b681-08d16ba3375b", + "label": "SCPI WRITE", + "func": "SCPI_WRITE", + "type": "IO", + "ctrls": { + "connection": { + "type": "SerialConnection", + "default": null, + "desc": "The open serial connection with the instrument.", + "overload": null, + "functionName": "SCPI_WRITE", + "param": "connection", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "command": { + "type": "str", + "default": "*IDN?", + "desc": null, + "overload": null, + "functionName": "SCPI_WRITE", + "param": "command", + "value": "MEASure:VOLTage?" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": "Any DataContainer - likely connected to the output of the OPEN_SERIAL node." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Scalar|TextBlob", + "desc": "The return value from the bench-top instrument as a Scalar or TextBlob." + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/SCPI/SCPI_WRITE/SCPI_WRITE.py", + "selected": true + }, + "position": { + "x": 234.72013360308043, + "y": -167.20927235372574 + }, + "selected": true, + "positionAbsolute": { + "x": 234.72013360308043, + "y": -167.20927235372574 + }, + "dragging": true + }, + { + "width": 192, + "height": 192, + "id": "OPEN_SERIAL-d8d4820a-124d-486e-89ee-2bb873434dd4", + "type": "IO", + "data": { + "id": "OPEN_SERIAL-d8d4820a-124d-486e-89ee-2bb873434dd4", + "label": "OPEN SERIAL", + "func": "OPEN_SERIAL", + "type": "IO", + "ctrls": { + "device": { + "type": "SerialDevice", + "default": null, + "desc": "The connected serial device.", + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "device", + "value": "/dev/cu.usbserial-PX75GRVT" + }, + "baudrate": { + "type": "int", + "default": 9600, + "desc": null, + "overload": null, + "functionName": "OPEN_SERIAL", + "param": "baudrate", + "value": 9600 + } + }, + "initCtrls": {}, + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": null + } + ], + "pip_dependencies": [ + { + "name": "pyserial", + "v": "3.5" + } + ], + "path": "IO/PROTOCOLS/SERIAL/BASIC/OPEN_SERIAL/OPEN_SERIAL.py", + "selected": false + }, + "position": { + "x": -119.78151756712703, + "y": -169.75657507433 + }, + "selected": false, + "positionAbsolute": { + "x": -119.78151756712703, + "y": -169.75657507433 + }, + "dragging": true + }, + { + "width": 273, + "height": 160, + "id": "PRINT_DATACONTAINER-84c3219c-85fd-4661-88c3-f8208d2113e1", + "type": "EXTRACTORS", + "data": { + "id": "PRINT_DATACONTAINER-84c3219c-85fd-4661-88c3-f8208d2113e1", + "label": "PRINT DATACONTAINER", + "func": "PRINT_DATACONTAINER", + "type": "EXTRACTORS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "TextBlob: Input datacontainer information" + } + ], + "path": "EXTRACTORS/DEBUGGING/PRINT_DATACONTAINER/PRINT_DATACONTAINER.py", + "selected": false + }, + "position": { + "x": 557.3999599501618, + "y": -148.94821702035097 + }, + "selected": false, + "positionAbsolute": { + "x": 557.3999599501618, + "y": -148.94821702035097 + }, + "dragging": true + }, + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-784462fd-3284-40ac-bbd2-446e740f9edb", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-784462fd-3284-40ac-bbd2-446e740f9edb", + "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": 947.7413591150134, + "y": -212.73757787208604 + }, + "selected": false, + "positionAbsolute": { + "x": 947.7413591150134, + "y": -212.73757787208604 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "OPEN_SERIAL-d8d4820a-124d-486e-89ee-2bb873434dd4", + "sourceHandle": "default", + "target": "SCPI_WRITE-52a454f8-4871-4856-b681-08d16ba3375b", + "targetHandle": "default", + "id": "reactflow__edge-OPEN_SERIAL-d8d4820a-124d-486e-89ee-2bb873434dd4default-SCPI_WRITE-52a454f8-4871-4856-b681-08d16ba3375bdefault" + }, + { + "source": "SCPI_WRITE-52a454f8-4871-4856-b681-08d16ba3375b", + "sourceHandle": "default", + "target": "PRINT_DATACONTAINER-84c3219c-85fd-4661-88c3-f8208d2113e1", + "targetHandle": "default", + "id": "reactflow__edge-SCPI_WRITE-52a454f8-4871-4856-b681-08d16ba3375bdefault-PRINT_DATACONTAINER-84c3219c-85fd-4661-88c3-f8208d2113e1default" + }, + { + "source": "PRINT_DATACONTAINER-84c3219c-85fd-4661-88c3-f8208d2113e1", + "sourceHandle": "default", + "target": "TEXT_VIEW-784462fd-3284-40ac-bbd2-446e740f9edb", + "targetHandle": "default", + "id": "reactflow__edge-PRINT_DATACONTAINER-84c3219c-85fd-4661-88c3-f8208d2113e1default-TEXT_VIEW-784462fd-3284-40ac-bbd2-446e740f9edbdefault" + } + ], + "viewport": { + "x": 461.8053939811623, + "y": 532.5623864271589, + "zoom": 1.4143748922070958 + } + } +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/examples/EX1/example.md b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/examples/EX1/example.md new file mode 100644 index 0000000000..9ca0981355 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/examples/EX1/example.md @@ -0,0 +1 @@ +This app queries sends a SCPI string command to a connected benchtop instrument. Write the SCPI command in the parameter field of the SCPI_WRITE node. diff --git a/docs/nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..9782c0366b --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/a1-[autogen]/docstring.json @@ -0,0 +1,18 @@ +{ + "long_description": null, + "short_description": "The OPEN_SERIAL node opens a serial connection through your computer's USB or RS-232 port.", + "parameters": [ + { + "name": "device", + "type": "Serial", + "description": "The connected serial device." + } + ], + "returns": [ + { + "name": null, + "type": "TextBlob", + "description": null + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/a1-[autogen]/python_code.txt index 267175c76c..87b0c5ddb5 100644 --- a/docs/nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/a1-[autogen]/python_code.txt +++ b/docs/nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/a1-[autogen]/python_code.txt @@ -6,15 +6,7 @@ from flojoy.connection_manager import DeviceConnectionManager @flojoy(deps={"pyserial": "3.5"}) def OPEN_SERIAL(device: SerialDevice, baudrate: int = 9600) -> TextBlob: - """The OPEN_SERIAL node opens a serial connection through your computer's USB or RS-232 port. - Parameters - ---------- - device: Serial - The connected serial device. - Returns - ------- - TextBlob - """ + ser = serial.Serial( port=device.get_port(), @@ -27,4 +19,4 @@ def OPEN_SERIAL(device: SerialDevice, baudrate: int = 9600) -> TextBlob: DeviceConnectionManager.register_connection(device, ser) - return TextBlob(text_blob=json.dumps(ser.get_settings())) \ No newline at end of file + return TextBlob(text_blob=json.dumps(ser.get_settings())) diff --git a/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..b543a3cc28 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/docstring.json @@ -0,0 +1,23 @@ +{ + "long_description": null, + "short_description": "The SERIAL_SINGLE_MEASUREMENT node takes a single reading of data from an Arduino or a similar serial device.", + "parameters": [ + { + "name": "baudrate", + "type": "int", + "description": "Baud rate for the serial communication." + }, + { + "name": "comport", + "type": "string", + "description": "Defines the communication port on which the serial device is connected." + } + ], + "returns": [ + { + "name": null, + "type": "OrderedPair", + "description": "the y axis contains the reading" + } + ] +} \ No newline at end of file diff --git a/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/docstring.txt b/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/docstring.txt index 4796448e85..2d1881547e 100644 --- a/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/docstring.txt +++ b/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/docstring.txt @@ -5,4 +5,9 @@ The SERIAL_SINGLE_MEASUREMENT node takes a single reading of data from an Arduin baudrate : int Baud rate for the serial communication. comport : string - Defines the comunication port on which the serial device is connected. + Defines the communication port on which the serial device is connected. + + Returns + ------- + OrderedPair + the y axis contains the reading diff --git a/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/python_code.txt b/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/python_code.txt index 0b3456111a..9ef97b4e62 100644 --- a/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/python_code.txt +++ b/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/a1-[autogen]/python_code.txt @@ -1,7 +1,8 @@ -from flojoy import SerialDevice, flojoy, OrderedPair from typing import Optional -import serial + import numpy as np +import serial +from flojoy import OrderedPair, SerialDevice, flojoy @flojoy(deps={"pyserial": "3.5"}) @@ -12,10 +13,10 @@ def SERIAL_SINGLE_MEASUREMENT( ) -> OrderedPair: - ser = serial.Serial(device.port, timeout=1, baudrate=baudrate) + set = serial.Serial(device.port, timeout=1, baudrate=baudrate) s = "" while s == "": - s = ser.readline().decode() + s = set.readline().decode() reading = s[:-2].split(",") reading = np.array(reading) # Create an array diff --git a/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_TIMESERIES/a1-[autogen]/docstring.json b/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_TIMESERIES/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..b962667332 --- /dev/null +++ b/docs/nodes/IO/PROTOCOLS/SERIAL/SERIAL_TIMESERIES/a1-[autogen]/docstring.json @@ -0,0 +1,32 @@ +{ + "long_description": null, + "short_description": "The SERIAL_TIMESERIES node extracts simple time-dependent 1D data from an Arduino or a similar serial device.", + "parameters": [ + { + "name": "num_readings", + "type": "int", + "description": "Number of points to record." + }, + { + "name": "record_period", + "type": "float", + "description": "Length between two recordings in seconds." + }, + { + "name": "baudrate", + "type": "int", + "description": "Baud rate for the serial device." + }, + { + "name": "comport", + "type": "string", + "description": "COM port of the serial device." + }, + { + "name": "num_readings * record_period", + "type": "", + "description": "Is roughly the run length in seconds." + } + ], + "returns": [] +} \ No newline at end of file diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/ACTIVATE/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/ACTIVATE/a1-[autogen]/docstring.json index 48b62ccf4f..d19906edda 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/ACTIVATE/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/ACTIVATE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\nParameters\n------\nsimulator\n Whether to activate the simulator or not. Defaults to False.", + "long_description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\nParameters\n------\nsimulator\n Whether to activate the simulator or not. Defaults to False.", + "short_description": "The ACTIVATE node activates the robot arm.", "parameters": [], "returns": [ { diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/docstring.json index 437866d8c5..58a75e5573 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/docstring.json @@ -1,6 +1,13 @@ { - "description": null, - "parameters": [], + "long_description": null, + "short_description": "The CONNECT node establishes a connection to the Mecademic robot arm via its API.", + "parameters": [ + { + "name": "ip_address", + "type": "str", + "description": "The IP address of the robot arm." + } + ], "returns": [ { "name": null, diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/docstring.txt b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/docstring.txt index a008080159..ab2470f96f 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/docstring.txt +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/docstring.txt @@ -1,6 +1,11 @@ The CONNECT node establishes a connection to the Mecademic robot arm via its API. +Parameters +---------- +ip_address : str + The IP address of the robot arm. + Returns ------- String diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/python_code.txt b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/python_code.txt index ef2828c7e2..43bc7237fd 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/python_code.txt +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/CONNECT/a1-[autogen]/python_code.txt @@ -1,4 +1,4 @@ -from flojoy import flojoy, TextBlob +from flojoy import TextBlob, flojoy from PYTHON.utils.mecademic_state.mecademic_state import add_handle, init_handle_map diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/DELAY/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/DELAY/a1-[autogen]/docstring.json index a33d802da4..718f327f3c 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/DELAY/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/DELAY/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\ntime: float\n The time of delay in seconds.", + "long_description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\ntime: float\n The time of delay in seconds.", + "short_description": "The DELAY node delays the action between two nodes.", "parameters": [], "returns": [ { diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/DISCONNECT/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/DISCONNECT/a1-[autogen]/docstring.json index bab6b13fe1..4d54deab32 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/DISCONNECT/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/DISCONNECT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nip_address\n The IP address of the robot arm.", + "long_description": "Inputs\n------\nip_address\n The IP address of the robot arm.", + "short_description": "The DISCONNECT node disconnect the Mecademic robot arm via its API.", "parameters": [], "returns": [] } \ No newline at end of file diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/HOME/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/HOME/a1-[autogen]/docstring.json index dc3ef89a92..5219786535 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/HOME/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/HOME/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nip_address\n The IP address of the robot arm.", + "long_description": "Inputs\n------\nip_address\n The IP address of the robot arm.", + "short_description": "The HOME node homes the robot arm. This node is required to be run before any other robot arm movement. It is recommended to run this node immediately after \"ACTIVATE\".", "parameters": [], "returns": [ { diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_JOINT/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_JOINT/a1-[autogen]/docstring.json index c53fa42130..9508da4c98 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_JOINT/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_JOINT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\nParameters\n------\nx : float\n The x coordinate of the position to move to\ny : float\n The y coordinate of the position to move to\nz : float\n The z coordinate of the position to move to\nalpha : float, optional\n The alpha coordinate (rotation in radians about the x axis) of the position to move to.\nbeta : float, optional\n The beta coordinate (rotation in radians about the y axis) of the position to move to.\ngamma : float, optional\n The gamma coordinate (rotation in radians about the z axis) of the position to move to.", + "long_description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\nParameters\n------\nx : float\n The x coordinate of the position to move to\ny : float\n The y coordinate of the position to move to\nz : float\n The z coordinate of the position to move to\nalpha : float, optional\n The alpha coordinate (rotation in radians about the x axis) of the position to move to.\nbeta : float, optional\n The beta coordinate (rotation in radians about the y axis) of the position to move to.\ngamma : float, optional\n The gamma coordinate (rotation in radians about the z axis) of the position to move to.", + "short_description": "The MOVE_JOINT node linearly moves the robot's tool to an absolute Cartesian position.", "parameters": [], "returns": [ { diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_LIN/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_LIN/a1-[autogen]/docstring.json index c53fa42130..51103bee79 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_LIN/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_LIN/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\nParameters\n------\nx : float\n The x coordinate of the position to move to\ny : float\n The y coordinate of the position to move to\nz : float\n The z coordinate of the position to move to\nalpha : float, optional\n The alpha coordinate (rotation in radians about the x axis) of the position to move to.\nbeta : float, optional\n The beta coordinate (rotation in radians about the y axis) of the position to move to.\ngamma : float, optional\n The gamma coordinate (rotation in radians about the z axis) of the position to move to.", + "long_description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\nParameters\n------\nx : float\n The x coordinate of the position to move to\ny : float\n The y coordinate of the position to move to\nz : float\n The z coordinate of the position to move to\nalpha : float, optional\n The alpha coordinate (rotation in radians about the x axis) of the position to move to.\nbeta : float, optional\n The beta coordinate (rotation in radians about the y axis) of the position to move to.\ngamma : float, optional\n The gamma coordinate (rotation in radians about the z axis) of the position to move to.", + "short_description": "The MOVE_LIN node linearly moves the robot's tool to an absolute Cartesian position.", "parameters": [], "returns": [ { diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_POSE/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_POSE/a1-[autogen]/docstring.json index 9a31682200..ef4bf298ff 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_POSE/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/MOVE_POSE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nip_address\n The IP address of the robot arm.\n\nParameters\n------\nx : float\n The x coordinate of the position to move to\ny : float\n The y coordinate of the position to move to\nz : float\n The z coordinate of the position to move to\nalpha : float, optional\n The alpha coordinate (rotation in radians about the x axis) of the position to move to.\nbeta : float, optional\n The beta coordinate (rotation in radians about the y axis) of the position to move to.\ngamma : float, optional\n The gamma coordinate (rotation in radians about the z axis) of the position to move to.", + "long_description": "Inputs\n------\nip_address\n The IP address of the robot arm.\n\nParameters\n------\nx : float\n The x coordinate of the position to move to\ny : float\n The y coordinate of the position to move to\nz : float\n The z coordinate of the position to move to\nalpha : float, optional\n The alpha coordinate (rotation in radians about the x axis) of the position to move to.\nbeta : float, optional\n The beta coordinate (rotation in radians about the y axis) of the position to move to.\ngamma : float, optional\n The gamma coordinate (rotation in radians about the z axis) of the position to move to.", + "short_description": "The MOVE_POSE node moves the robot to a specified pose in space.", "parameters": [], "returns": [ { diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/SET_CART_LIN_VEL/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/SET_CART_LIN_VEL/a1-[autogen]/docstring.json index 93e0d2516b..c8c4b9d306 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/SET_CART_LIN_VEL/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/SET_CART_LIN_VEL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\nParameters\n------\nv : float\n The velocity to be set.", + "long_description": "Inputs\n------\nip_address: TextBlob\n The IP address of the robot arm.\n\nParameters\n------\nv : float\n The velocity to be set.", + "short_description": "The SET_CART_LIN_VEL node sets the robot arm's linear velocity in Cartesian coordinates.", "parameters": [], "returns": [ { diff --git a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/SET_JOINT_VEL/a1-[autogen]/docstring.json b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/SET_JOINT_VEL/a1-[autogen]/docstring.json index 036512a681..0bdcdae3ce 100644 --- a/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/SET_JOINT_VEL/a1-[autogen]/docstring.json +++ b/docs/nodes/IO/ROBOTICS/ARMS/MECADEMIC/SET_JOINT_VEL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n ------\n ip_address\n The IP address of the robot arm.\n\n Parameters\n ------\n v : float\n The angular velocity to be set for each joint.\n\nReturns\n -------\n ip_address\n The IP address of the robot arm.", + "long_description": "Inputs\n ------\n ip_address\n The IP address of the robot arm.\n\n Parameters\n ------\n v : float\n The angular velocity to be set for each joint.\n\nReturns\n -------\n ip_address\n The IP address of the robot arm.", + "short_description": " The SET_JOINT_VEL node sets the robot arm's angular velocity for its joints.", "parameters": [], "returns": [] } \ No newline at end of file diff --git a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/a1-[autogen]/docstring.json b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/a1-[autogen]/docstring.json index 33914e6d29..d0abfca1eb 100644 --- a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/a1-[autogen]/docstring.json +++ b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The FLOJOY_CLOUD_DOWNLOAD node downloads a DataContainer from Flojoy Cloud.", "parameters": [ { "name": "data_container_id", diff --git a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/examples/EX1/app.json b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/examples/EX1/app.json index 7d4ae927de..8c29819996 100644 --- a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/examples/EX1/app.json +++ b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/examples/EX1/app.json @@ -2,54 +2,592 @@ "rfInstance": { "nodes": [ { - "width": 168, + "width": 208, + "height": 96, + "id": "CONSTANT-07f3a246-5fac-45ef-941f-91e41f8b7e11", + "type": "GENERATORS", + "data": { + "id": "CONSTANT-07f3a246-5fac-45ef-941f-91e41f8b7e11", + "label": "2.0", + "func": "CONSTANT", + "type": "GENERATORS", + "ctrls": { + "constant": { + "type": "float", + "default": 3, + "desc": null, + "functionName": "CONSTANT", + "param": "constant", + "value": "2.0" + } + }, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "desc": null + } + ], + "path": "PYTHON/nodes/GENERATORS/SIMULATIONS/CONSTANT/CONSTANT.py", + "selected": false + }, + "position": { + "x": -86.4795150311609, + "y": 278.0571792623407 + }, + "selected": false, + "positionAbsolute": { + "x": -86.4795150311609, + "y": 278.0571792623407 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "RAND-2840aa43-5d9a-4433-823f-6a23d606a97f", + "type": "GENERATORS", + "data": { + "id": "RAND-2840aa43-5d9a-4433-823f-6a23d606a97f", + "label": "RAND", + "func": "RAND", + "type": "GENERATORS", + "ctrls": { + "distribution": { + "type": "select", + "default": "normal", + "options": [ + "normal", + "uniform", + "poisson" + ], + "desc": "the distribution over the random samples", + "functionName": "RAND", + "param": "distribution", + "value": "normal" + }, + "lower_bound": { + "type": "float", + "default": 0, + "desc": "the lower bound of the output interval", + "functionName": "RAND", + "param": "lower_bound", + "value": 0 + }, + "upper_bound": { + "type": "float", + "default": 1, + "desc": "the upper bound of the output interval", + "functionName": "RAND", + "param": "upper_bound", + "value": 1 + }, + "normal_mean": { + "type": "float", + "default": 0, + "desc": "the mean or \"center\" of the normal distribution", + "functionName": "RAND", + "param": "normal_mean", + "value": 0 + }, + "normal_standard_deviation": { + "type": "float", + "default": 1, + "desc": "the spread or \"width\" of the normal distribution", + "functionName": "RAND", + "param": "normal_standard_deviation", + "value": 1 + }, + "poisson_events": { + "type": "float", + "default": 1, + "desc": "the expected number of events occurring in a fixed time-interval when distribution is poisson", + "functionName": "RAND", + "param": "poisson_events", + "value": 1 + } + }, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Vector", + "multiple": false, + "desc": "Optional input to use as the x-axis for the random samples" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar", + "desc": "OrderedPair if there's an input\nx: the x-axis of the input\ny: the random samples\n\nScalar if there is no input\nc: the random number" + } + ], + "path": "PYTHON/nodes/GENERATORS/SIMULATIONS/RAND/RAND.py", + "selected": false + }, + "position": { + "x": -79.900707263067, + "y": 71.94658127967676 + }, + "selected": false, + "positionAbsolute": { + "x": -79.900707263067, + "y": 71.94658127967676 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "SINE-b3fe92c7-36bf-4869-b25b-51c86b125e08", + "type": "GENERATORS", + "data": { + "id": "SINE-b3fe92c7-36bf-4869-b25b-51c86b125e08", + "label": "SINE", + "func": "SINE", + "type": "GENERATORS", + "ctrls": { + "amplitude": { + "type": "float", + "default": 1, + "desc": null, + "functionName": "SINE", + "param": "amplitude", + "value": 1 + }, + "frequency": { + "type": "float", + "default": 1, + "desc": null, + "functionName": "SINE", + "param": "frequency", + "value": 1 + }, + "offset": { + "type": "float", + "default": 0, + "desc": null, + "functionName": "SINE", + "param": "offset", + "value": 0 + }, + "phase": { + "type": "float", + "default": 0, + "desc": null, + "functionName": "SINE", + "param": "phase", + "value": 0 + }, + "waveform": { + "type": "select", + "default": "sine", + "options": [ + "sine", + "square", + "triangle", + "sawtooth" + ], + "desc": null, + "functionName": "SINE", + "param": "waveform", + "value": "sine" + } + }, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Vector", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "desc": null + } + ], + "path": "PYTHON/nodes/GENERATORS/SIMULATIONS/SINE/SINE.py", + "selected": false + }, + "position": { + "x": -85.28899712362653, + "y": -137.62422088989467 + }, + "selected": false, + "positionAbsolute": { + "x": -85.28899712362653, + "y": -137.62422088989467 + }, + "dragging": true + }, + { + "width": 72, + "height": 72, + "id": "ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6", + "type": "ARITHMETIC", + "data": { + "id": "ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6", + "label": "ADD", + "func": "ADD", + "type": "ARITHMETIC", + "ctrls": {}, + "inputs": [ + { + "name": "a", + "id": "a", + "type": "OrderedPair|Scalar|Vector", + "multiple": false, + "desc": null + }, + { + "name": "b", + "id": "b", + "type": "OrderedPair|Scalar|Vector", + "multiple": true, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|Scalar|Vector", + "desc": null + } + ], + "path": "PYTHON/nodes/TRANSFORMERS/ARITHMETIC/ADD/ADD.py", + "selected": false + }, + "position": { + "x": 277.7769837518414, + "y": 70.93904544614554 + }, + "selected": false, + "positionAbsolute": { + "x": 277.7769837518414, + "y": 70.93904544614554 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "HISTOGRAM-f9483fdf-a2c0-4de2-bda5-8900acba4124", + "type": "VISUALIZERS", + "data": { + "id": "HISTOGRAM-f9483fdf-a2c0-4de2-bda5-8900acba4124", + "label": "HISTOGRAM", + "func": "HISTOGRAM", + "type": "VISUALIZERS", + "ctrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|DataFrame|Matrix", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": null + } + ], + "path": "PYTHON/nodes/VISUALIZERS/PLOTLY/HISTOGRAM/HISTOGRAM.py", + "selected": false + }, + "position": { + "x": 468.86116480963676, + "y": 209.0908125029356 + }, + "selected": false, + "positionAbsolute": { + "x": 468.86116480963676, + "y": 209.0908125029356 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "SCATTER-55268351-79af-4a28-a22c-d85b261b9681", + "type": "VISUALIZERS", + "data": { + "id": "SCATTER-55268351-79af-4a28-a22c-d85b261b9681", + "label": "SCATTER", + "func": "SCATTER", + "type": "VISUALIZERS", + "ctrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair|DataFrame|Matrix", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Plotly", + "desc": null + } + ], + "path": "PYTHON/nodes/VISUALIZERS/PLOTLY/SCATTER/SCATTER.py", + "selected": false + }, + "position": { + "x": 469.60658141863746, + "y": -266.0343731067944 + }, + "selected": false, + "positionAbsolute": { + "x": 469.60658141863746, + "y": -266.0343731067944 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "LINSPACE-ff91bdbd-19d5-48aa-bca3-a11b3ffbfb9b", + "type": "GENERATORS", + "data": { + "id": "LINSPACE-ff91bdbd-19d5-48aa-bca3-a11b3ffbfb9b", + "label": "LINSPACE", + "func": "LINSPACE", + "type": "GENERATORS", + "ctrls": { + "start": { + "type": "float", + "default": 10, + "desc": "The start point of the data.", + "functionName": "LINSPACE", + "param": "start", + "value": 10 + }, + "end": { + "type": "float", + "default": 0, + "desc": "The end point of the data.", + "functionName": "LINSPACE", + "param": "end", + "value": 0 + }, + "step": { + "type": "int", + "default": 1000, + "desc": "The number of points in the vector.", + "functionName": "LINSPACE", + "param": "step", + "value": 1000 + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Vector|OrderedPair", + "multiple": false, + "desc": "Optional input in case LINSPACE is used in a loop. Not used." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "desc": "v: the vector between start and end with step number of points." + } + ], + "path": "PYTHON/nodes/GENERATORS/SIMULATIONS/LINSPACE/LINSPACE.py", + "selected": false + }, + "position": { + "x": -422.66424605334527, + "y": 72.89087799087366 + }, + "selected": false, + "positionAbsolute": { + "x": -422.66424605334527, + "y": 72.89087799087366 + }, + "dragging": true + }, + { + "width": 160, "height": 160, - "id": "FLOJOY_CLOUD_DOWNLOAD-e4b1f64f-9939-43b9-a961-f414fb87d2f4", + "id": "FLOJOY_CLOUD_UPLOAD-bec4ce62-becd-4507-8495-9a060514fe39", "type": "LOADERS", "data": { - "id": "FLOJOY_CLOUD_DOWNLOAD-e4b1f64f-9939-43b9-a961-f414fb87d2f4", - "label": "FLOJOY CLOUD DOWNLOAD", - "func": "FLOJOY_CLOUD_DOWNLOAD", + "id": "FLOJOY_CLOUD_UPLOAD-bec4ce62-becd-4507-8495-9a060514fe39", + "label": "FLOJOY CLOUD UPLOAD", + "func": "FLOJOY_CLOUD_UPLOAD", "type": "LOADERS", "ctrls": { - "data_container_id": { + "measurement_id": { "type": "str", "default": null, "desc": null, - "functionName": "FLOJOY_CLOUD_DOWNLOAD", - "param": "data_container_id", + "functionName": "FLOJOY_CLOUD_UPLOAD", + "param": "measurement_id", + "value": "" + }, + "dc_id": { + "type": "str", + "default": null, + "desc": null, + "functionName": "FLOJOY_CLOUD_UPLOAD", + "param": "dc_id", "value": "" } }, "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Any", + "multiple": false, + "desc": null + } + ], "outputs": [ { "name": "default", "id": "default", "type": "Any", - "desc": "The downloaded DataContainer will be returned as it is" + "desc": null } ], - "path": "PYTHON/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_DOWNLOAD/FLOJOY_CLOUD_DOWNLOAD.py", - "selected": true + "path": "PYTHON/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/FLOJOY_CLOUD_UPLOAD.py", + "selected": false }, "position": { - "x": -28.560571974438375, - "y": -81.51075088131898 + "x": 561.4337200278916, + "y": 34.468511362970105 }, - "selected": true, + "selected": false, "positionAbsolute": { - "x": -28.560571974438375, - "y": -81.51075088131898 + "x": 561.4337200278916, + "y": 34.468511362970105 }, "dragging": true } ], - "edges": [], + "edges": [ + { + "source": "RAND-2840aa43-5d9a-4433-823f-6a23d606a97f", + "sourceHandle": "default", + "target": "ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6", + "targetHandle": "b", + "id": "reactflow__edge-RAND-2840aa43-5d9a-4433-823f-6a23d606a97fdefault-ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6b" + }, + { + "source": "CONSTANT-07f3a246-5fac-45ef-941f-91e41f8b7e11", + "sourceHandle": "default", + "target": "ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6", + "targetHandle": "b", + "id": "reactflow__edge-CONSTANT-07f3a246-5fac-45ef-941f-91e41f8b7e11default-ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6b", + "selected": false + }, + { + "source": "ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6", + "sourceHandle": "default", + "target": "HISTOGRAM-f9483fdf-a2c0-4de2-bda5-8900acba4124", + "targetHandle": "default", + "id": "reactflow__edge-ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6default-HISTOGRAM-f9483fdf-a2c0-4de2-bda5-8900acba4124default" + }, + { + "source": "SINE-b3fe92c7-36bf-4869-b25b-51c86b125e08", + "sourceHandle": "default", + "target": "ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6", + "targetHandle": "a", + "id": "reactflow__edge-SINE-b3fe92c7-36bf-4869-b25b-51c86b125e08default-ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6a" + }, + { + "source": "ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6", + "sourceHandle": "default", + "target": "SCATTER-55268351-79af-4a28-a22c-d85b261b9681", + "targetHandle": "default", + "id": "reactflow__edge-ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6default-SCATTER-55268351-79af-4a28-a22c-d85b261b9681default" + }, + { + "source": "LINSPACE-ff91bdbd-19d5-48aa-bca3-a11b3ffbfb9b", + "sourceHandle": "default", + "target": "RAND-2840aa43-5d9a-4433-823f-6a23d606a97f", + "targetHandle": "default", + "id": "reactflow__edge-LINSPACE-ff91bdbd-19d5-48aa-bca3-a11b3ffbfb9bdefault-RAND-2840aa43-5d9a-4433-823f-6a23d606a97fdefault" + }, + { + "source": "LINSPACE-ff91bdbd-19d5-48aa-bca3-a11b3ffbfb9b", + "sourceHandle": "default", + "target": "SINE-b3fe92c7-36bf-4869-b25b-51c86b125e08", + "targetHandle": "default", + "id": "reactflow__edge-LINSPACE-ff91bdbd-19d5-48aa-bca3-a11b3ffbfb9bdefault-SINE-b3fe92c7-36bf-4869-b25b-51c86b125e08default" + }, + { + "source": "LINSPACE-ff91bdbd-19d5-48aa-bca3-a11b3ffbfb9b", + "sourceHandle": "default", + "target": "CONSTANT-07f3a246-5fac-45ef-941f-91e41f8b7e11", + "targetHandle": "default", + "id": "reactflow__edge-LINSPACE-ff91bdbd-19d5-48aa-bca3-a11b3ffbfb9bdefault-CONSTANT-07f3a246-5fac-45ef-941f-91e41f8b7e11default" + }, + { + "source": "ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6", + "sourceHandle": "default", + "target": "FLOJOY_CLOUD_UPLOAD-bec4ce62-becd-4507-8495-9a060514fe39", + "targetHandle": "default", + "id": "reactflow__edge-ADD-a3c1e32a-5032-4bed-8814-29f803ace0b6default-FLOJOY_CLOUD_UPLOAD-bec4ce62-becd-4507-8495-9a060514fe39default" + } + ], "viewport": { - "x": 621.1813795484834, - "y": 324.9597014372874, - "zoom": 0.6891413136990774 + "x": 658.4714398676938, + "y": 320.7174076848424, + "zoom": 0.6801446908048335 + } + }, + "ctrlsManifest": [ + { + "type": "input", + "name": "Slider", + "id": "INPUT_PLACEHOLDER", + "hidden": false, + "minHeight": 1, + "minWidth": 2, + "layout": { + "x": 0, + "y": 0, + "h": 2, + "w": 2, + "minH": 1, + "minW": 2, + "i": "INPUT_PLACEHOLDER" + } } - } -} \ No newline at end of file + ] +} diff --git a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/docstring.json b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/docstring.json index 56e1716f3f..5f4f50dbfe 100644 --- a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/docstring.json +++ b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": "Flojoy Cloud is still in beta, feel free to try it out and give us feedback!", + "short_description": "The FLOJOY_CLOUD_UPLOAD node takes a DataContainer as input and uploads it to Flojoy Cloud.", "parameters": [ { "name": "measurement_id", diff --git a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/docstring.txt b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/docstring.txt index 3ea98f811b..b7d4461f20 100644 --- a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/docstring.txt +++ b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/docstring.txt @@ -1,5 +1,7 @@ The FLOJOY_CLOUD_UPLOAD node takes a DataContainer as input and uploads it to Flojoy Cloud. + Flojoy Cloud is still in beta, feel free to try it out and give us feedback! + Parameters ---------- measurement_id : str diff --git a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/python_code.txt b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/python_code.txt index 3662f4d9a8..eada0deccc 100644 --- a/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/python_code.txt +++ b/docs/nodes/LOADERS/CLOUD_DATABASE/FLOJOY_CLOUD_UPLOAD/a1-[autogen]/python_code.txt @@ -1,6 +1,6 @@ import os -from flojoy import DataContainer, flojoy, get_env_var, node_preflight, FlojoyCloud +from flojoy import DataContainer, FlojoyCloud, flojoy, get_env_var, node_preflight FLOJOY_CLOUD_URI: str = os.environ.get("FLOJOY_CLOUD_URI") or "https://cloud.flojoy.ai" diff --git a/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/BATCH_PROCESSOR/a1-[autogen]/docstring.json b/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/BATCH_PROCESSOR/a1-[autogen]/docstring.json index 1b9e428408..6dc39c3616 100644 --- a/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/BATCH_PROCESSOR/a1-[autogen]/docstring.json +++ b/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/BATCH_PROCESSOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "From here, in conjunction with a loop, we iterate over all the files found, and return each one by file path as a TextBlob.\n\nThe TextBlob can be recognized as an optional input to the LOCAL_FILE node, which can then load the file at that path and return the appropriate datatype.", + "long_description": "From here, in conjunction with a loop, we iterate over all the files found, and return each one by file path as a TextBlob.\n\nThe TextBlob can be recognized as an optional input to the LOCAL_FILE node, which can then load the file at that path and return the appropriate datatype.", + "short_description": "The BATCH_PROCESSOR node is designed to glob match a pattern in the given input directory.", "parameters": [ { "name": "current_iteration", diff --git a/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/LOCAL_FILE/a1-[autogen]/docstring.json b/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/LOCAL_FILE/a1-[autogen]/docstring.json index b990a03a5b..e8cce50bb1 100644 --- a/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/LOCAL_FILE/a1-[autogen]/docstring.json +++ b/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/LOCAL_FILE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The LOCAL_FILE node loads a local file of a different type and converts it to a DataContainer class.", "parameters": [ { "name": "file_path", diff --git a/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/OPEN_MATLAB/a1-[autogen]/docstring.json b/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/OPEN_MATLAB/a1-[autogen]/docstring.json index 81f7d029c6..fda55d524a 100644 --- a/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/OPEN_MATLAB/a1-[autogen]/docstring.json +++ b/docs/nodes/LOADERS/LOCAL_FILE_SYSTEM/OPEN_MATLAB/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Note that if multiple 'tabs' of data are used, the number of rows must match in order to stack the arrays.", + "long_description": "Note that if multiple 'tabs' of data are used, the number of rows must match in order to stack the arrays.", + "short_description": "The OPEN_MATLAB node loads a local file of the .mat file format.", "parameters": [ { "name": "file_path", diff --git a/docs/nodes/LOADERS/REMOTE_FILE_SYSTEM/REMOTE_FILE/a1-[autogen]/docstring.json b/docs/nodes/LOADERS/REMOTE_FILE_SYSTEM/REMOTE_FILE/a1-[autogen]/docstring.json index ae8eb39212..6a917d0642 100644 --- a/docs/nodes/LOADERS/REMOTE_FILE_SYSTEM/REMOTE_FILE/a1-[autogen]/docstring.json +++ b/docs/nodes/LOADERS/REMOTE_FILE_SYSTEM/REMOTE_FILE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Note: If both the file_url and default are not specified when file_type=\"Image\", a default image will be loaded.\n\nFor now, REMOTE_FILE only supports HTTP file URLs, in particular GCP URL (starting with gcp://). S3 URL (starting with s3://) and other bucket-like URLs are not supported.\n\nIf the file url is not specified and the default input is not connected, or if the file url is not a valid URL, a ValueError is raised.", + "long_description": "Note: If both the file_url and default are not specified when file_type=\"Image\", a default image will be loaded.\n\nFor now, REMOTE_FILE only supports HTTP file URLs, in particular GCP URL (starting with gcp://). S3 URL (starting with s3://) and other bucket-like URLs are not supported.\n\nIf the file url is not specified and the default input is not connected, or if the file url is not a valid URL, a ValueError is raised.", + "short_description": "The REMOTE_FILE node loads a remote file using an HTTP URL and converts it to a DataContainer class.", "parameters": [ { "name": "file_url", diff --git a/docs/nodes/LOGIC_GATES/CONDITIONALS/CONDITIONAL/a1-[autogen]/docstring.json b/docs/nodes/LOGIC_GATES/CONDITIONALS/CONDITIONAL/a1-[autogen]/docstring.json index 696960a642..fac0b83195 100644 --- a/docs/nodes/LOGIC_GATES/CONDITIONALS/CONDITIONAL/a1-[autogen]/docstring.json +++ b/docs/nodes/LOGIC_GATES/CONDITIONALS/CONDITIONAL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "We are planning to add support for more DataContainer types in the future.\n\nIt then enqueues nodes connected with a \"true\" or \"false\" output based on the comparison result.", + "long_description": "We are planning to add support for more DataContainer types in the future.\n\nIt then enqueues nodes connected with a \"true\" or \"false\" output based on the comparison result.", + "short_description": "The CONDITIONAL node is a specialized node that compares two given Scalar inputs.", "parameters": [ { "name": "operator_type", diff --git a/docs/nodes/LOGIC_GATES/LOOPS/APPEND/a1-[autogen]/docstring.json b/docs/nodes/LOGIC_GATES/LOOPS/APPEND/a1-[autogen]/docstring.json index a82d30b1b9..9472a5d73b 100644 --- a/docs/nodes/LOGIC_GATES/LOOPS/APPEND/a1-[autogen]/docstring.json +++ b/docs/nodes/LOGIC_GATES/LOOPS/APPEND/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The large array must be passed to the bottom \"array\" connection.\n\nFor ordered pair, the single point must have a shape of 1 (or (1,)).\n\nInputs\n------\nprimary_dp : OrderedPair|Vector|Scalar|Matrix|DataFrame\n Input that ends up \"on top\" of the resulting DataContainer.\nsecondary_dp : OrderedPair|Vector|Scalar|Matrix|DataFrame\n Input that ends up \"on the bottom\" of the resulting DataContainer.", + "long_description": "The large array must be passed to the bottom \"array\" connection.\n\nFor ordered pair, the single point must have a shape of 1 (or (1,)).\n\nInputs\n------\nprimary_dp : OrderedPair|Vector|Scalar|Matrix|DataFrame\n Input that ends up \"on top\" of the resulting DataContainer.\nsecondary_dp : OrderedPair|Vector|Scalar|Matrix|DataFrame\n Input that ends up \"on the bottom\" of the resulting DataContainer.", + "short_description": "The APPEND node appends a single data point to an array.", "parameters": [], "returns": [ { diff --git a/docs/nodes/LOGIC_GATES/LOOPS/LOOP/a1-[autogen]/docstring.json b/docs/nodes/LOGIC_GATES/LOOPS/LOOP/a1-[autogen]/docstring.json index 5c497c2b51..22ab8061fd 100644 --- a/docs/nodes/LOGIC_GATES/LOOPS/LOOP/a1-[autogen]/docstring.json +++ b/docs/nodes/LOGIC_GATES/LOOPS/LOOP/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The LOOP node is a specialized node that iterates through the body nodes for a given number of times.", "parameters": [ { "name": "num_loops", diff --git a/docs/nodes/LOGIC_GATES/LOOP_TOOLS/BREAK/a1-[autogen]/docstring.json b/docs/nodes/LOGIC_GATES/LOOP_TOOLS/BREAK/a1-[autogen]/docstring.json index cdb45264e3..cf9b700f24 100644 --- a/docs/nodes/LOGIC_GATES/LOOP_TOOLS/BREAK/a1-[autogen]/docstring.json +++ b/docs/nodes/LOGIC_GATES/LOOP_TOOLS/BREAK/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It should be used in conjunction with conditionals to determine when to break the loop.\n\nIt is needed to be able to generate 'while loops' in Flojoy (combined with an 'infinite loop').", + "long_description": "It should be used in conjunction with conditionals to determine when to break the loop.\n\nIt is needed to be able to generate 'while loops' in Flojoy (combined with an 'infinite loop').", + "short_description": "The BREAK node is designed to end the iteration of a loop.", "parameters": [ { "name": "referred_node", diff --git a/docs/nodes/LOGIC_GATES/LOOP_TOOLS/LOOP_INDEX/a1-[autogen]/docstring.json b/docs/nodes/LOGIC_GATES/LOOP_TOOLS/LOOP_INDEX/a1-[autogen]/docstring.json index fb9c04d6d9..27c95deef5 100644 --- a/docs/nodes/LOGIC_GATES/LOOP_TOOLS/LOOP_INDEX/a1-[autogen]/docstring.json +++ b/docs/nodes/LOGIC_GATES/LOOP_TOOLS/LOOP_INDEX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "A loop index in Flojoy starts at 1 and increases by 1 for each loop.", + "long_description": "A loop index in Flojoy starts at 1 and increases by 1 for each loop.", + "short_description": "The LOOP_INDEX node loads the loop index from the LOOP node.", "parameters": [ { "name": "loop_node", diff --git a/docs/nodes/LOGIC_GATES/TIMERS/TIMER/a1-[autogen]/docstring.json b/docs/nodes/LOGIC_GATES/TIMERS/TIMER/a1-[autogen]/docstring.json index 80612c1376..3922f5a85e 100644 --- a/docs/nodes/LOGIC_GATES/TIMERS/TIMER/a1-[autogen]/docstring.json +++ b/docs/nodes/LOGIC_GATES/TIMERS/TIMER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The TIMER node sleeps for a specified number of seconds.", "parameters": [ { "name": "sleep_time", diff --git a/docs/nodes/NUMPY/LINALG/CHOLESKY/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/CHOLESKY/a1-[autogen]/docstring.json index 10b6022e55..d20ba6e2eb 100644 --- a/docs/nodes/NUMPY/LINALG/CHOLESKY/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/CHOLESKY/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Cholesky decomposition.\n\n Return the Cholesky decomposition, \"L * L.H\", of the square matrix \"a\", where \"L\" is lower-triangular and .H is the conjugate transpose operator (which is the ordinary transpose if \"a\" is real-valued).\n\n \"a\" must be Hermitian (symmetric if real-valued) and positive-definite. No checking is performed to verify whether \"a\" is Hermitian or not.\n\n In addition, only the lower-triangular and diagonal elements of \"a\" are used. Only \"L\" is actually returned.", + "long_description": "The description of that function is as follows:\n\n Cholesky decomposition.\n\n Return the Cholesky decomposition, \"L * L.H\", of the square matrix \"a\", where \"L\" is lower-triangular and .H is the conjugate transpose operator (which is the ordinary transpose if \"a\" is real-valued).\n\n \"a\" must be Hermitian (symmetric if real-valued) and positive-definite. No checking is performed to verify whether \"a\" is Hermitian or not.\n\n In addition, only the lower-triangular and diagonal elements of \"a\" are used. Only \"L\" is actually returned.", + "short_description": "The CHOLESKY node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/NUMPY/LINALG/DET/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/DET/a1-[autogen]/docstring.json index c22047beb9..594d497086 100644 --- a/docs/nodes/NUMPY/LINALG/DET/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/DET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the determinant of an array.", + "long_description": "The description of that function is as follows:\n\n Compute the determinant of an array.", + "short_description": "The DET node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/NUMPY/LINALG/EIG/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/EIG/a1-[autogen]/docstring.json index 7b8703471e..dccfa87ee6 100644 --- a/docs/nodes/NUMPY/LINALG/EIG/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/EIG/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the eigenvalues and right eigenvectors of a square array.", + "long_description": "The description of that function is as follows:\n\n Compute the eigenvalues and right eigenvectors of a square array.", + "short_description": "The EIG node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/NUMPY/LINALG/EIGH/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/EIGH/a1-[autogen]/docstring.json index 00fd493a38..9f96119f4c 100644 --- a/docs/nodes/NUMPY/LINALG/EIGH/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/EIGH/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Return the eigenvalues and eigenvectors of a complex Hermitian (conjugate symmetric) or a real symmetric matrix.", + "long_description": "The description of that function is as follows:\n\n Return the eigenvalues and eigenvectors of a complex Hermitian (conjugate symmetric) or a real symmetric matrix.", + "short_description": "The EIGH node is based on a numpy or scipy function.", "parameters": [], "returns": [ { diff --git a/docs/nodes/NUMPY/LINALG/EIGVALS/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/EIGVALS/a1-[autogen]/docstring.json index 68c86e6005..000ed31e7d 100644 --- a/docs/nodes/NUMPY/LINALG/EIGVALS/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/EIGVALS/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the eigenvalues of a general matrix.\n\nMain difference between `eigvals` and `eig`: the eigenvectors are not returned.", + "long_description": "The description of that function is as follows:\n\n Compute the eigenvalues of a general matrix.\n\nMain difference between `eigvals` and `eig`: the eigenvectors are not returned.", + "short_description": "The EIGVALS node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/NUMPY/LINALG/EIGVALSH/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/EIGVALSH/a1-[autogen]/docstring.json index d96617258b..b32062db8a 100644 --- a/docs/nodes/NUMPY/LINALG/EIGVALSH/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/EIGVALSH/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the eigenvalues of a complex Hermitian or real symmetric matrix.\n\nMain difference from eigh: the eigenvectors are not computed.", + "long_description": "The description of that function is as follows:\n\n Compute the eigenvalues of a complex Hermitian or real symmetric matrix.\n\nMain difference from eigh: the eigenvectors are not computed.", + "short_description": "The EIGVALSH node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/NUMPY/LINALG/INV/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/INV/a1-[autogen]/docstring.json index 665dbfba84..d523ca282c 100644 --- a/docs/nodes/NUMPY/LINALG/INV/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/INV/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the (multiplicative) inverse of a matrix.\n\n Given a square matrix 'a', return the matrix 'ainv', satisfying \"dot(a, ainv) = dot(ainv, a) = eye(a.shape[0])\".", + "long_description": "The description of that function is as follows:\n\n Compute the (multiplicative) inverse of a matrix.\n\n Given a square matrix 'a', return the matrix 'ainv', satisfying \"dot(a, ainv) = dot(ainv, a) = eye(a.shape[0])\".", + "short_description": "The INV node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/NUMPY/LINALG/MATRIX_POWER/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/MATRIX_POWER/a1-[autogen]/docstring.json index 0d603d16b2..07f86890a4 100644 --- a/docs/nodes/NUMPY/LINALG/MATRIX_POWER/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/MATRIX_POWER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Raise a square matrix to the (integer) power 'n'.\n\n For positive integers 'n', the power is computed by repeated matrix squarings and matrix multiplications.\n\n If \"n == 0\", the identity matrix of the same shape as M is returned. If \"n < 0\", the inverse is computed and then raised to \"abs(n)\".\n\nNote: Stacks of object matrices are not currently supported.", + "long_description": "The description of that function is as follows:\n\n Raise a square matrix to the (integer) power 'n'.\n\n For positive integers 'n', the power is computed by repeated matrix squarings and matrix multiplications.\n\n If \"n == 0\", the identity matrix of the same shape as M is returned. If \"n < 0\", the inverse is computed and then raised to \"abs(n)\".\n\nNote: Stacks of object matrices are not currently supported.", + "short_description": "The MATRIX_POWER node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/NUMPY/LINALG/PINV/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/PINV/a1-[autogen]/docstring.json index 49e1b138cd..a39796494a 100644 --- a/docs/nodes/NUMPY/LINALG/PINV/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/PINV/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the (Moore-Penrose) pseudo-inverse of a matrix.\n\n Calculate the generalized inverse of a matrix using its singular-value decomposition (SVD) and including all **large** singular values.\n\n.. versionchanged:: 1.14\n Can now operate on stacks of matrices", + "long_description": "The description of that function is as follows:\n\n Compute the (Moore-Penrose) pseudo-inverse of a matrix.\n\n Calculate the generalized inverse of a matrix using its singular-value decomposition (SVD) and including all **large** singular values.\n\n.. versionchanged:: 1.14\n Can now operate on stacks of matrices", + "short_description": "The PINV node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/NUMPY/LINALG/QR/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/QR/a1-[autogen]/docstring.json index 1454eeb5b8..4f564586ea 100644 --- a/docs/nodes/NUMPY/LINALG/QR/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/QR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the qr factorization of a matrix.\n\n Factor the matrix 'a' as *qr*, where 'q' is orthonormal and 'r' is upper-triangular.\n\nFor the 'mode' parameters, the options 'reduced', 'complete, and 'raw' are new in numpy 1.8 (see the notes for more information).\nThe default is 'reduced', and to maintain backward compatibility with earlier versions of numpy, both it and the old default 'full' can be omitted.\nNote that array h returned in 'raw' mode is transposed for calling Fortran.\nThe 'economic' mode is deprecated.\nThe modes 'full' and 'economic' may be passed using only the first letter for backwards compatibility,\nbut all others must be spelled out (see the Notes for further explanation).", + "long_description": "The description of that function is as follows:\n\n Compute the qr factorization of a matrix.\n\n Factor the matrix 'a' as *qr*, where 'q' is orthonormal and 'r' is upper-triangular.\n\nFor the 'mode' parameters, the options 'reduced', 'complete, and 'raw' are new in numpy 1.8 (see the notes for more information).\nThe default is 'reduced', and to maintain backward compatibility with earlier versions of numpy, both it and the old default 'full' can be omitted.\nNote that array h returned in 'raw' mode is transposed for calling Fortran.\nThe 'economic' mode is deprecated.\nThe modes 'full' and 'economic' may be passed using only the first letter for backwards compatibility,\nbut all others must be spelled out (see the Notes for further explanation).", + "short_description": "The QR node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/NUMPY/LINALG/SLOGDET/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/SLOGDET/a1-[autogen]/docstring.json index da3816afb6..a943162457 100644 --- a/docs/nodes/NUMPY/LINALG/SLOGDET/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/SLOGDET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the sign and (natural) logarithm of the determinant of an array.\n\n If an array has a very small or very large determinant, then a call to 'det' may overflow or underflow.\n\n This routine is more robust against such issues, because it computes the logarithm of the determinant rather than the determinant itself.", + "long_description": "The description of that function is as follows:\n\n Compute the sign and (natural) logarithm of the determinant of an array.\n\n If an array has a very small or very large determinant, then a call to 'det' may overflow or underflow.\n\n This routine is more robust against such issues, because it computes the logarithm of the determinant rather than the determinant itself.", + "short_description": "The SLOGDET node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/NUMPY/LINALG/SVD/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/SVD/a1-[autogen]/docstring.json index 8ffe708b0f..b41c73e9b9 100644 --- a/docs/nodes/NUMPY/LINALG/SVD/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/SVD/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Singular Value Decomposition.\n\n When 'a' is a 2D array, and \"full_matrices=False\", then it is factorized as \"u @ np.diag(s) @ vh = (u * s) @ vh\",\n where 'u' and the Hermitian transpose of 'vh' are 2D arrays with orthonormal columns and 's' is a 1D array of 'a' singular values.\n\n When 'a' is higher-dimensional, SVD is applied in stacked mode as explained below.", + "long_description": "The description of that function is as follows:\n\n Singular Value Decomposition.\n\n When 'a' is a 2D array, and \"full_matrices=False\", then it is factorized as \"u @ np.diag(s) @ vh = (u * s) @ vh\",\n where 'u' and the Hermitian transpose of 'vh' are 2D arrays with orthonormal columns and 's' is a 1D array of 'a' singular values.\n\n When 'a' is higher-dimensional, SVD is applied in stacked mode as explained below.", + "short_description": "The SVD node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/NUMPY/LINALG/TENSORINV/a1-[autogen]/docstring.json b/docs/nodes/NUMPY/LINALG/TENSORINV/a1-[autogen]/docstring.json index 1f22257e2e..514f044ace 100644 --- a/docs/nodes/NUMPY/LINALG/TENSORINV/a1-[autogen]/docstring.json +++ b/docs/nodes/NUMPY/LINALG/TENSORINV/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the 'inverse' of an N-dimensional array.\n\n The result is an inverse for 'a' relative to the tensordot operation \"tensordot(a, b, ind)\",\n i.e. up to floating-point accuracy, \"tensordot(tensorinv(a), a, ind)\" is the \"identity\" tensor for the tensordot operation.", + "long_description": "The description of that function is as follows:\n\n Compute the 'inverse' of an N-dimensional array.\n\n The result is an inverse for 'a' relative to the tensordot operation \"tensordot(a, b, ind)\",\n i.e. up to floating-point accuracy, \"tensordot(tensorinv(a), a, ind)\" is the \"identity\" tensor for the tensordot operation.", + "short_description": "The TENSORINV node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/SIGNAL/ARGRELMAX/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/ARGRELMAX/a1-[autogen]/docstring.json index 0777749dba..6a4f78035e 100644 --- a/docs/nodes/SCIPY/SIGNAL/ARGRELMAX/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/ARGRELMAX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Calculate the relative maxima of 'data'.", + "long_description": "The description of that function is as follows:\n\n Calculate the relative maxima of 'data'.", + "short_description": "The ARGRELMAX node is based on a numpy or scipy function.", "parameters": [ { "name": "data", diff --git a/docs/nodes/SCIPY/SIGNAL/ARGRELMIN/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/ARGRELMIN/a1-[autogen]/docstring.json index a65c72056d..fc2e0da05f 100644 --- a/docs/nodes/SCIPY/SIGNAL/ARGRELMIN/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/ARGRELMIN/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Calculate the relative minima of 'data'.", + "long_description": "The description of that function is as follows:\n\n Calculate the relative minima of 'data'.", + "short_description": "The ARGRELMIN node is based on a numpy or scipy function.", "parameters": [ { "name": "data", diff --git a/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/docstring.json index e584d9668a..8f3269e056 100644 --- a/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n B-spline basis function of order n.", + "long_description": "The description of that function is as follows:\n\n B-spline basis function of order n.", + "short_description": "The BSPLINE node is based on a numpy or scipy function.", "parameters": [ { "name": "x", @@ -10,22 +11,13 @@ "name": "n", "type": "int", "description": "The order of the spline. Must be non-negative, i.e. n >= 0." - }, - { - "name": "Returns", - "type": null, - "description": null - }, - { - "name": "----------", - "type": null, - "description": null - }, + } + ], + "returns": [ { - "name": "DataContainer", - "type": null, + "name": null, + "type": "DataContainer", "description": "type 'ordered pair', 'scalar', or 'matrix'" } - ], - "returns": [] + ] } \ No newline at end of file diff --git a/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/docstring.txt b/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/docstring.txt index 4aa707be71..bfa52cf5ab 100644 --- a/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/docstring.txt +++ b/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/docstring.txt @@ -1,18 +1,17 @@ - The BSPLINE node is based on a numpy or scipy function. -The description of that function is as follows: + The description of that function is as follows: - B-spline basis function of order n. + B-spline basis function of order n. -Parameters ----------- -x : array_like - A knot vector. -n : int - The order of the spline. Must be non-negative, i.e. n >= 0. + Parameters + ---------- + x : array_like + A knot vector. + n : int + The order of the spline. Must be non-negative, i.e. n >= 0. -Returns ----------- -DataContainer - type 'ordered pair', 'scalar', or 'matrix' + Returns + ------- + DataContainer + type 'ordered pair', 'scalar', or 'matrix' diff --git a/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/python_code.txt b/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/python_code.txt index 87f2a30f4c..fdde448977 100644 --- a/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/python_code.txt +++ b/docs/nodes/SCIPY/SIGNAL/BSPLINE/a1-[autogen]/python_code.txt @@ -1,9 +1,6 @@ -from flojoy import OrderedPair, flojoy, Matrix, Scalar import numpy as np -from collections import namedtuple -from typing import Literal - import scipy.signal +from flojoy import Matrix, OrderedPair, Scalar, flojoy @flojoy diff --git a/docs/nodes/SCIPY/SIGNAL/CUBIC/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/CUBIC/a1-[autogen]/docstring.json index 4084b75d2a..107005e13d 100644 --- a/docs/nodes/SCIPY/SIGNAL/CUBIC/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/CUBIC/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n A cubic B-spline.\n This is a special case of 'bspline', and equivalent to \"bspline(x, 3)\".", + "long_description": "The description of that function is as follows:\n\n A cubic B-spline.\n This is a special case of 'bspline', and equivalent to \"bspline(x, 3)\".", + "short_description": "The CUBIC node is based on a numpy or scipy function.", "parameters": [ { "name": "x", diff --git a/docs/nodes/SCIPY/SIGNAL/DECIMATE/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/DECIMATE/a1-[autogen]/docstring.json index 73a0373e42..70e48ed5f1 100644 --- a/docs/nodes/SCIPY/SIGNAL/DECIMATE/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/DECIMATE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Downsample the signal after applying an anti-aliasing filter.\n\n By default, an order 8 Chebyshev type I filter is used. A 30 point FIR filter with Hamming window is used if `ftype` is 'fir'.", + "long_description": "The description of that function is as follows:\n\n Downsample the signal after applying an anti-aliasing filter.\n\n By default, an order 8 Chebyshev type I filter is used. A 30 point FIR filter with Hamming window is used if `ftype` is 'fir'.", + "short_description": "The DECIMATE node is based on a numpy or scipy function.", "parameters": [ { "name": "x", diff --git a/docs/nodes/SCIPY/SIGNAL/DETREND/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/DETREND/a1-[autogen]/docstring.json index 7cc9c81509..48655573da 100644 --- a/docs/nodes/SCIPY/SIGNAL/DETREND/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/DETREND/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Remove a linear trend along an axis from data.", + "long_description": "The description of that function is as follows:\n\n Remove a linear trend along an axis from data.", + "short_description": "The DETREND node is based on a numpy or scipy function.", "parameters": [ { "name": "data", diff --git a/docs/nodes/SCIPY/SIGNAL/GAUSS_SPLINE/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/GAUSS_SPLINE/a1-[autogen]/docstring.json index 7e81f0565d..c853d50567 100644 --- a/docs/nodes/SCIPY/SIGNAL/GAUSS_SPLINE/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/GAUSS_SPLINE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Gaussian approximation to B-spline basis function of order n.", + "long_description": "The description of that function is as follows:\n\n Gaussian approximation to B-spline basis function of order n.", + "short_description": "The GAUSS_SPLINE node is based on a numpy or scipy function.", "parameters": [ { "name": "x", diff --git a/docs/nodes/SCIPY/SIGNAL/HILBERT/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/HILBERT/a1-[autogen]/docstring.json index e34d1c51eb..69e66f8312 100644 --- a/docs/nodes/SCIPY/SIGNAL/HILBERT/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/HILBERT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the analytic signal, using the Hilbert transform.\n\n The transformation is done along the last axis by default.", + "long_description": "The description of that function is as follows:\n\n Compute the analytic signal, using the Hilbert transform.\n\n The transformation is done along the last axis by default.", + "short_description": "The HILBERT node is based on a numpy or scipy function.", "parameters": [ { "name": "x", diff --git a/docs/nodes/SCIPY/SIGNAL/KAISER_BETA/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/KAISER_BETA/a1-[autogen]/docstring.json index af5cc74f2c..cbdcfa6446 100644 --- a/docs/nodes/SCIPY/SIGNAL/KAISER_BETA/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/KAISER_BETA/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the Kaiser parameter 'beta', given the attenuation 'a'.", + "long_description": "The description of that function is as follows:\n\n Compute the Kaiser parameter 'beta', given the attenuation 'a'.", + "short_description": "The KAISER_BETA node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/SIGNAL/PERIODOGRAM/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/PERIODOGRAM/a1-[autogen]/docstring.json index 2fb728bf65..f6d55c4cb9 100644 --- a/docs/nodes/SCIPY/SIGNAL/PERIODOGRAM/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/PERIODOGRAM/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Estimate power spectral density using a periodogram.", + "long_description": "The description of that function is as follows:\n\n Estimate power spectral density using a periodogram.", + "short_description": "The PERIODOGRAM node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/SIGNAL/QUADRATIC/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/QUADRATIC/a1-[autogen]/docstring.json index 052db492e1..2ea8b49776 100644 --- a/docs/nodes/SCIPY/SIGNAL/QUADRATIC/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/QUADRATIC/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n A quadratic B-spline.\n\n This is a special case of 'bspline', and equivalent to 'bspline(x, 2)'.", + "long_description": "The description of that function is as follows:\n\n A quadratic B-spline.\n\n This is a special case of 'bspline', and equivalent to 'bspline(x, 2)'.", + "short_description": "The QUADRATIC node is based on a numpy or scipy function.", "parameters": [ { "name": "x", diff --git a/docs/nodes/SCIPY/SIGNAL/SAVGOL_FILTER/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/SAVGOL_FILTER/a1-[autogen]/docstring.json index 9c2234ae3f..96bcd4a11f 100644 --- a/docs/nodes/SCIPY/SIGNAL/SAVGOL_FILTER/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/SAVGOL_FILTER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Apply a Savitzky-Golay filter to an array.\n\n This is a 1-D filter. If 'x' has a dimension greater than 1, 'axis' determines the axis along which the filter is applied.", + "long_description": "The description of that function is as follows:\n\n Apply a Savitzky-Golay filter to an array.\n\n This is a 1-D filter. If 'x' has a dimension greater than 1, 'axis' determines the axis along which the filter is applied.", + "short_description": "The SAVGOL_FILTER node is based on a numpy or scipy function.", "parameters": [ { "name": "x", diff --git a/docs/nodes/SCIPY/SIGNAL/STFT/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/STFT/a1-[autogen]/docstring.json index bccdb02d5d..554ab217a8 100644 --- a/docs/nodes/SCIPY/SIGNAL/STFT/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/STFT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the Short Time Fourier Transform (STFT).\n\n STFTs can be used as a way of quantifying the change of a nonstationary signal's frequency and phase content over time.", + "long_description": "The description of that function is as follows:\n\n Compute the Short Time Fourier Transform (STFT).\n\n STFTs can be used as a way of quantifying the change of a nonstationary signal's frequency and phase content over time.", + "short_description": "The STFT node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/SIGNAL/WELCH/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/SIGNAL/WELCH/a1-[autogen]/docstring.json index 7744fbea65..554d83791b 100644 --- a/docs/nodes/SCIPY/SIGNAL/WELCH/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/SIGNAL/WELCH/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Estimate power spectral density using Welch's method.\n\n Welch's method [1]_ computes an estimate of the power spectral density by dividing the data into overlapping segments,\n computing a modified periodogram for each segment, and averaging the periodograms.", + "long_description": "The description of that function is as follows:\n\n Estimate power spectral density using Welch's method.\n\n Welch's method [1]_ computes an estimate of the power spectral density by dividing the data into overlapping segments,\n computing a modified periodogram for each segment, and averaging the periodograms.", + "short_description": "The WELCH node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/ANDERSON/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/ANDERSON/a1-[autogen]/docstring.json index 56d1161a02..0fbc4e48ae 100644 --- a/docs/nodes/SCIPY/STATS/ANDERSON/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/ANDERSON/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Anderson-Darling test for data coming from a particular distribution.\n\n The Anderson-Darling test tests the null hypothesis that a sample is drawn from a population that follows a particular distribution.\n For the Anderson-Darling test, the critical values depend on which distribution is being tested against.\n This function works for normal, exponential, logistic, or Gumbel (Extreme Value Type I) distributions.", + "long_description": "The description of that function is as follows:\n\n Anderson-Darling test for data coming from a particular distribution.\n\n The Anderson-Darling test tests the null hypothesis that a sample is drawn from a population that follows a particular distribution.\n For the Anderson-Darling test, the critical values depend on which distribution is being tested against.\n This function works for normal, exponential, logistic, or Gumbel (Extreme Value Type I) distributions.", + "short_description": "The ANDERSON node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/BAYES_MVS/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/BAYES_MVS/a1-[autogen]/docstring.json index 110af44c97..d3d6482ae6 100644 --- a/docs/nodes/SCIPY/STATS/BAYES_MVS/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/BAYES_MVS/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Bayesian confidence intervals for the mean, var, and std.", + "long_description": "The description of that function is as follows:\n\n Bayesian confidence intervals for the mean, var, and std.", + "short_description": "The BAYES_MVS node is based on a numpy or scipy function.", "parameters": [ { "name": "data", diff --git a/docs/nodes/SCIPY/STATS/BINOM_TEST/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/BINOM_TEST/a1-[autogen]/docstring.json index 32a3297d04..abf4349fe1 100644 --- a/docs/nodes/SCIPY/STATS/BINOM_TEST/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/BINOM_TEST/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Perform a test that the probability of success is p.\n\nNote: 'binom_test' is deprecated; it is recommended that 'binomtest' be used instead.\n\n This is an exact, two-sided test of the null hypothesis that the probability of success in a Bernoulli experiment is 'p'.", + "long_description": "The description of that function is as follows:\n\n Perform a test that the probability of success is p.\n\nNote: 'binom_test' is deprecated; it is recommended that 'binomtest' be used instead.\n\n This is an exact, two-sided test of the null hypothesis that the probability of success in a Bernoulli experiment is 'p'.", + "short_description": "The BINOM_TEST node is based on a numpy or scipy function.", "parameters": [ { "name": "x", diff --git a/docs/nodes/SCIPY/STATS/DESCRIBE/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/DESCRIBE/a1-[autogen]/docstring.json index 68ebb89e4e..4371b423b4 100644 --- a/docs/nodes/SCIPY/STATS/DESCRIBE/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/DESCRIBE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute several descriptive statistics of the passed array.", + "long_description": "The description of that function is as follows:\n\n Compute several descriptive statistics of the passed array.", + "short_description": "The DESCRIBE node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/GSTD/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/GSTD/a1-[autogen]/docstring.json index 88a88fb35f..107844d04e 100644 --- a/docs/nodes/SCIPY/STATS/GSTD/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/GSTD/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Calculate the geometric standard deviation of an array.\n\n The geometric standard deviation describes the spread of a set of numbers where the geometric mean is preferred.\n It is a multiplicative factor, and so a dimensionless quantity.\n\n It is defined as the exponent of the standard deviation of log(a).\n\n Mathematically the population geometric standard deviation can be evaluated as::\n\n gstd = exp(std(log(a)))\n\n.. versionadded:: 1.3.0", + "long_description": "The description of that function is as follows:\n\n Calculate the geometric standard deviation of an array.\n\n The geometric standard deviation describes the spread of a set of numbers where the geometric mean is preferred.\n It is a multiplicative factor, and so a dimensionless quantity.\n\n It is defined as the exponent of the standard deviation of log(a).\n\n Mathematically the population geometric standard deviation can be evaluated as::\n\n gstd = exp(std(log(a)))\n\n.. versionadded:: 1.3.0", + "short_description": "The GSTD node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/GZSCORE/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/GZSCORE/a1-[autogen]/docstring.json index 5d4ecbdc9f..41a1424a44 100644 --- a/docs/nodes/SCIPY/STATS/GZSCORE/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/GZSCORE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the geometric standard score.\n\n Compute the geometric z score of each strictly positive value in the sample, relative to the geometric mean and standard deviation.\n\n Mathematically the geometric z score can be evaluated as::\n\n gzscore = log(a/gmu) / log(gsigma)\n\n where ``gmu`` (resp. ``gsigma``) is the geometric mean (resp. standard\n deviation).", + "long_description": "The description of that function is as follows:\n\n Compute the geometric standard score.\n\n Compute the geometric z score of each strictly positive value in the sample, relative to the geometric mean and standard deviation.\n\n Mathematically the geometric z score can be evaluated as::\n\n gzscore = log(a/gmu) / log(gsigma)\n\n where ``gmu`` (resp. ``gsigma``) is the geometric mean (resp. standard\n deviation).", + "short_description": "The GZSCORE node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/JARQUE_BERA/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/JARQUE_BERA/a1-[autogen]/docstring.json index a9ee891d65..38696ae152 100644 --- a/docs/nodes/SCIPY/STATS/JARQUE_BERA/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/JARQUE_BERA/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Perform the Jarque-Bera goodness of fit test on sample data.\n\n The Jarque-Bera test tests whether the sample data has the skewness and kurtosis matching a normal distribution.\n\n Note that this test only works for a large enough number of data samples (>2000) as the test statistic asymptotically has a Chi-squared distribution with 2 degrees of freedom.", + "long_description": "The description of that function is as follows:\n\n Perform the Jarque-Bera goodness of fit test on sample data.\n\n The Jarque-Bera test tests whether the sample data has the skewness and kurtosis matching a normal distribution.\n\n Note that this test only works for a large enough number of data samples (>2000) as the test statistic asymptotically has a Chi-squared distribution with 2 degrees of freedom.", + "short_description": "The JARQUE_BERA node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/KURTOSIS/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/KURTOSIS/a1-[autogen]/docstring.json index 25eef49e2d..214e8c70e0 100644 --- a/docs/nodes/SCIPY/STATS/KURTOSIS/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/KURTOSIS/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the kurtosis (Fisher or Pearson) of a dataset.\n\n Kurtosis is the fourth central moment divided by the square of the variance.\n If Fisher's definition is used, then 3.0 is subtracted from the result to give 0.0 for a normal distribution.\n\n If bias is False then the kurtosis is calculated using k statistics to eliminate bias coming from biased moment estimators\n\n Use `kurtosistest` to see if result is close enough to normal.", + "long_description": "The description of that function is as follows:\n\n Compute the kurtosis (Fisher or Pearson) of a dataset.\n\n Kurtosis is the fourth central moment divided by the square of the variance.\n If Fisher's definition is used, then 3.0 is subtracted from the result to give 0.0 for a normal distribution.\n\n If bias is False then the kurtosis is calculated using k statistics to eliminate bias coming from biased moment estimators\n\n Use `kurtosistest` to see if result is close enough to normal.", + "short_description": "The KURTOSIS node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/KURTOSISTEST/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/KURTOSISTEST/a1-[autogen]/docstring.json index eeb1fe3a60..9e212e0de4 100644 --- a/docs/nodes/SCIPY/STATS/KURTOSISTEST/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/KURTOSISTEST/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Test whether a dataset has normal kurtosis.\n\n This function tests the null hypothesis that the kurtosis of the population from which the sample was drawn is that of the normal distribution.", + "long_description": "The description of that function is as follows:\n\n Test whether a dataset has normal kurtosis.\n\n This function tests the null hypothesis that the kurtosis of the population from which the sample was drawn is that of the normal distribution.", + "short_description": "The KURTOSISTEST node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/MOMENT/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/MOMENT/a1-[autogen]/docstring.json index a1361b7ab8..a28e657d9b 100644 --- a/docs/nodes/SCIPY/STATS/MOMENT/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/MOMENT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Calculate the nth moment about the mean for a sample.\n\n A moment is a specific quantitative measure of the shape of a set of points.\n It is often used to calculate coefficients of skewness and kurtosis due to its close relationship with them.", + "long_description": "The description of that function is as follows:\n\n Calculate the nth moment about the mean for a sample.\n\n A moment is a specific quantitative measure of the shape of a set of points.\n It is often used to calculate coefficients of skewness and kurtosis due to its close relationship with them.", + "short_description": "The MOMENT node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/MVSDIST/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/MVSDIST/a1-[autogen]/docstring.json index fb90f3c593..7a980078cb 100644 --- a/docs/nodes/SCIPY/STATS/MVSDIST/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/MVSDIST/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n 'Frozen' distributions for mean, variance, and standard deviation of data.", + "long_description": "The description of that function is as follows:\n\n 'Frozen' distributions for mean, variance, and standard deviation of data.", + "short_description": "The MVSDIST node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/NORMALTEST/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/NORMALTEST/a1-[autogen]/docstring.json index 23c7d871c0..0fd142ff0d 100644 --- a/docs/nodes/SCIPY/STATS/NORMALTEST/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/NORMALTEST/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Test whether a sample differs from a normal distribution.\n\n This function tests the null hypothesis that a sample comes from a normal distribution.\n It is based on D'Agostino and Pearson's [1]_, [2]_ test that combines skewness and kurtosis to produce an omnibus test of normality.", + "long_description": "The description of that function is as follows:\n\n Test whether a sample differs from a normal distribution.\n\n This function tests the null hypothesis that a sample comes from a normal distribution.\n It is based on D'Agostino and Pearson's [1]_, [2]_ test that combines skewness and kurtosis to produce an omnibus test of normality.", + "short_description": "The NORMALTEST node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/SEM/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/SEM/a1-[autogen]/docstring.json index 4d58aee0e0..89c52a63f7 100644 --- a/docs/nodes/SCIPY/STATS/SEM/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/SEM/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the standard error of the mean.\n\n Calculate the standard error of the mean (or standard error of measurement) of the values in the input array.", + "long_description": "The description of that function is as follows:\n\n Compute the standard error of the mean.\n\n Calculate the standard error of the mean (or standard error of measurement) of the values in the input array.", + "short_description": "The SEM node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/SHAPIRO/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/SHAPIRO/a1-[autogen]/docstring.json index f79939529c..f7abca7e8f 100644 --- a/docs/nodes/SCIPY/STATS/SHAPIRO/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/SHAPIRO/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Perform the Shapiro-Wilk test for normality.\n\n The Shapiro-Wilk test tests the null hypothesis that the data was drawn from a normal distribution.", + "long_description": "The description of that function is as follows:\n\n Perform the Shapiro-Wilk test for normality.\n\n The Shapiro-Wilk test tests the null hypothesis that the data was drawn from a normal distribution.", + "short_description": "The SHAPIRO node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/SIGMACLIP/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/SIGMACLIP/a1-[autogen]/docstring.json index e6621333a2..d8de715e94 100644 --- a/docs/nodes/SCIPY/STATS/SIGMACLIP/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/SIGMACLIP/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Perform iterative sigma-clipping of array elements.\n\n Starting from the full sample, all elements outside the critical range are removed,\n i.e. all elements of the input array 'c' that satisfy either of the following conditions::\n\n c < mean(c) - std(c)*low\n c > mean(c) + std(c)*high\n\n The iteration continues with the updated sample until no elements are outside the (updated) range.", + "long_description": "The description of that function is as follows:\n\n Perform iterative sigma-clipping of array elements.\n\n Starting from the full sample, all elements outside the critical range are removed,\n i.e. all elements of the input array 'c' that satisfy either of the following conditions::\n\n c < mean(c) - std(c)*low\n c > mean(c) + std(c)*high\n\n The iteration continues with the updated sample until no elements are outside the (updated) range.", + "short_description": "The SIGMACLIP node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/SKEW/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/SKEW/a1-[autogen]/docstring.json index e0fbf12276..eee899bf5a 100644 --- a/docs/nodes/SCIPY/STATS/SKEW/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/SKEW/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the sample skewness of a dataset.\n\n For normally distributed data, the skewness should be about zero. \n For unimodal continuous distributions, a skewness value greater than zero means that there is more weight in the right tail of the distribution. The function 'skewtest' can be used to determine if the skewness value is close enough to zero, statistically speaking.", + "long_description": "The description of that function is as follows:\n\n Compute the sample skewness of a dataset.\n\n For normally distributed data, the skewness should be about zero. \n For unimodal continuous distributions, a skewness value greater than zero means that there is more weight in the right tail of the distribution. The function 'skewtest' can be used to determine if the skewness value is close enough to zero, statistically speaking.", + "short_description": "The SKEW node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/SKEWTEST/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/SKEWTEST/a1-[autogen]/docstring.json index f2890664fb..87875df795 100644 --- a/docs/nodes/SCIPY/STATS/SKEWTEST/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/SKEWTEST/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Test whether the skewness is different from the normal distribution.\n\n This function tests the null hypothesis that the skewness of the population that the sample was drawn from is the same as that of a corresponding normal distribution.", + "long_description": "The description of that function is as follows:\n\n Test whether the skewness is different from the normal distribution.\n\n This function tests the null hypothesis that the skewness of the population that the sample was drawn from is the same as that of a corresponding normal distribution.", + "short_description": "The SKEWTEST node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/TMAX/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/TMAX/a1-[autogen]/docstring.json index d7281aec8e..1937891e09 100644 --- a/docs/nodes/SCIPY/STATS/TMAX/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/TMAX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the trimmed maximum.\n\n This function computes the maximum value of an array along a given axis, while ignoring values larger than a specified upper limit.", + "long_description": "The description of that function is as follows:\n\n Compute the trimmed maximum.\n\n This function computes the maximum value of an array along a given axis, while ignoring values larger than a specified upper limit.", + "short_description": "The TMAX node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/TMIN/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/TMIN/a1-[autogen]/docstring.json index cb160e8a24..384ec02335 100644 --- a/docs/nodes/SCIPY/STATS/TMIN/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/TMIN/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the trimmed minimum.\n\n This function finds the miminum value of an array 'a' along the specified axis, but only considering values greater than a specified lower limit.", + "long_description": "The description of that function is as follows:\n\n Compute the trimmed minimum.\n\n This function finds the miminum value of an array 'a' along the specified axis, but only considering values greater than a specified lower limit.", + "short_description": "The TMIN node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/TRIM1/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/TRIM1/a1-[autogen]/docstring.json index 5ef768a355..c0b234e53d 100644 --- a/docs/nodes/SCIPY/STATS/TRIM1/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/TRIM1/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Slice off a proportion from ONE end of the passed array distribution.\n\n If 'proportiontocut' = 0.1, slices off 'leftmost' or 'rightmost' 10% of scores.\n The lowest or highest values are trimmed (depending on the tail).\n Slice off less if proportion results in a non-integer slice index (i.e. conservatively slices off 'proportiontocut').", + "long_description": "The description of that function is as follows:\n\n Slice off a proportion from ONE end of the passed array distribution.\n\n If 'proportiontocut' = 0.1, slices off 'leftmost' or 'rightmost' 10% of scores.\n The lowest or highest values are trimmed (depending on the tail).\n Slice off less if proportion results in a non-integer slice index (i.e. conservatively slices off 'proportiontocut').", + "short_description": "The TRIM1 node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/TRIMBOTH/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/TRIMBOTH/a1-[autogen]/docstring.json index a3eb62364e..8ba4c9d8d4 100644 --- a/docs/nodes/SCIPY/STATS/TRIMBOTH/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/TRIMBOTH/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Slice off a proportion of items from both ends of an array.\n\n Slice off the passed proportion of items from both ends of the passed array\n (i.e., with 'proportiontocut' = 0.1, slices leftmost 10% and rightmost 10% of scores).\n The trimmed values are the lowest and highest ones.\n Slice off less if proportion results in a non-integer slice index (i.e. conservatively slices off 'proportiontocut').", + "long_description": "The description of that function is as follows:\n\n Slice off a proportion of items from both ends of an array.\n\n Slice off the passed proportion of items from both ends of the passed array\n (i.e., with 'proportiontocut' = 0.1, slices leftmost 10% and rightmost 10% of scores).\n The trimmed values are the lowest and highest ones.\n Slice off less if proportion results in a non-integer slice index (i.e. conservatively slices off 'proportiontocut').", + "short_description": "The TRIMBOTH node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/TRIM_MEAN/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/TRIM_MEAN/a1-[autogen]/docstring.json index 40b5da8f9f..02458d27cc 100644 --- a/docs/nodes/SCIPY/STATS/TRIM_MEAN/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/TRIM_MEAN/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Return the mean of an array after trimming distribution from both tails.\n\n If `proportiontocut` = 0.1, slices off 'leftmost' and 'rightmost' 10% of scores.\n The input is sorted before slicing.\n Slices off less if proportion results in a non-integer slice index (i.e. conservatively slices off 'proportiontocut').", + "long_description": "The description of that function is as follows:\n\n Return the mean of an array after trimming distribution from both tails.\n\n If `proportiontocut` = 0.1, slices off 'leftmost' and 'rightmost' 10% of scores.\n The input is sorted before slicing.\n Slices off less if proportion results in a non-integer slice index (i.e. conservatively slices off 'proportiontocut').", + "short_description": "The TRIM_MEAN node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/TTEST_1SAMP/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/TTEST_1SAMP/a1-[autogen]/docstring.json index 39153ce262..c042fec919 100644 --- a/docs/nodes/SCIPY/STATS/TTEST_1SAMP/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/TTEST_1SAMP/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Calculate the T-test for the mean of ONE group of scores.\n\n This is a test for the null hypothesis that the expected value (mean) of a sample of independent observations 'a' is equal to the given population mean, 'popmean'.", + "long_description": "The description of that function is as follows:\n\n Calculate the T-test for the mean of ONE group of scores.\n\n This is a test for the null hypothesis that the expected value (mean) of a sample of independent observations 'a' is equal to the given population mean, 'popmean'.", + "short_description": "The TTEST_1SAMP node is based on a numpy or scipy function.", "parameters": [ { "name": "select_return", diff --git a/docs/nodes/SCIPY/STATS/VARIATION/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/VARIATION/a1-[autogen]/docstring.json index bd1388fcfd..e0d116b334 100644 --- a/docs/nodes/SCIPY/STATS/VARIATION/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/VARIATION/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the coefficient of variation.\n\n The coefficient of variation is the standard deviation divided by the mean.\n\n This function is equivalent to:\n\n np.std(x, axis=axis, ddof=ddof) / np.mean(x)\n\n The default for 'ddof' is 0, but many definitions of the coefficient of variation use the square root of the unbiased sample variance for the sample standard deviation, which corresponds to 'ddof=1'.\n\n The function does not take the absolute value of the mean of the data, so the return value is negative if the mean is negative.", + "long_description": "The description of that function is as follows:\n\n Compute the coefficient of variation.\n\n The coefficient of variation is the standard deviation divided by the mean.\n\n This function is equivalent to:\n\n np.std(x, axis=axis, ddof=ddof) / np.mean(x)\n\n The default for 'ddof' is 0, but many definitions of the coefficient of variation use the square root of the unbiased sample variance for the sample standard deviation, which corresponds to 'ddof=1'.\n\n The function does not take the absolute value of the mean of the data, so the return value is negative if the mean is negative.", + "short_description": "The VARIATION node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/SCIPY/STATS/YEOJOHNSON/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/YEOJOHNSON/a1-[autogen]/docstring.json index 8c84a7adc5..feb2725af5 100644 --- a/docs/nodes/SCIPY/STATS/YEOJOHNSON/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/YEOJOHNSON/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Return a dataset transformed by a Yeo-Johnson power transformation.", + "long_description": "The description of that function is as follows:\n\n Return a dataset transformed by a Yeo-Johnson power transformation.", + "short_description": "The YEOJOHNSON node is based on a numpy or scipy function.", "parameters": [ { "name": "x", diff --git a/docs/nodes/SCIPY/STATS/ZSCORE/a1-[autogen]/docstring.json b/docs/nodes/SCIPY/STATS/ZSCORE/a1-[autogen]/docstring.json index 6b75b19845..20633d5d34 100644 --- a/docs/nodes/SCIPY/STATS/ZSCORE/a1-[autogen]/docstring.json +++ b/docs/nodes/SCIPY/STATS/ZSCORE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The description of that function is as follows:\n\n Compute the z-score.\n\n Compute the z-score of each value in the sample, relative to the sample mean and standard deviation.", + "long_description": "The description of that function is as follows:\n\n Compute the z-score.\n\n Compute the z-score of each value in the sample, relative to the sample mean and standard deviation.", + "short_description": "The ZSCORE node is based on a numpy or scipy function.", "parameters": [ { "name": "a", diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/docstring.json index 0b6d9e4729..dd3f894f2b 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/docstring.json @@ -1,6 +1,13 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|Vector|Scalar\n The input to apply the absolute value to.", - "parameters": [], + "long_description": null, + "short_description": "The ABS node take a numeric array, a vector, or a scalar as input and returns its absolute value.", + "parameters": [ + { + "name": "default", + "type": "OrderedPair|Vector|Scalar", + "description": "The input to apply the absolute value to." + } + ], "returns": [ { "name": null, diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/docstring.txt b/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/docstring.txt index 1ce5972c65..630e4a0377 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/docstring.txt +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/docstring.txt @@ -1,7 +1,7 @@ The ABS node take a numeric array, a vector, or a scalar as input and returns its absolute value. - Inputs - ------ + Parameters + ---------- default : OrderedPair|Vector|Scalar The input to apply the absolute value to. diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/python_code.txt b/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/python_code.txt index a588646acf..6197b40bad 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/python_code.txt +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/ABS/a1-[autogen]/python_code.txt @@ -1,10 +1,11 @@ import numpy as np -from flojoy import flojoy, OrderedPair, Vector, Scalar +from flojoy import OrderedPair, Scalar, Vector, flojoy @flojoy def ABS(default: OrderedPair | Vector | Scalar) -> OrderedPair: + match default: case OrderedPair(): x = default.x diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/docstring.json index 87ed161bd2..ef9237e852 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/docstring.json @@ -1,6 +1,18 @@ { - "description": "When a constant is added to an array or matrix, each element in the array or matrix will be increased by the constant value.\n\nIf two arrays or matrices of different sizes are added, the output will be the size of the larger array or matrix with only the overlapping elements changed.\n\nInputs\n------\na : OrderedPair|Scalar|Vector\n The input a use to compute the sum of a and b.\nb : OrderedPair|Scalar|Vector\n The input b use to compute the sum of a and b.", - "parameters": [], + "long_description": "When a constant is added to an array or matrix, each element in the array or matrix will be increased by the constant value.\n\nIf two arrays or matrices of different sizes are added, the output will be the size of the larger array or matrix with only the overlapping elements changed.", + "short_description": "The ADD node adds two or more numeric arrays, matrices, dataframes, or constants element-wise.", + "parameters": [ + { + "name": "a", + "type": "OrderedPair|Scalar|Vector", + "description": "The input a use to compute the sum of a and b." + }, + { + "name": "b", + "type": "OrderedPair|Scalar|Vector", + "description": "The input b use to compute the sum of a and b." + } + ], "returns": [ { "name": null, diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/docstring.txt b/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/docstring.txt index 8c370902f2..57b3beae0c 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/docstring.txt +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/docstring.txt @@ -4,8 +4,8 @@ The ADD node adds two or more numeric arrays, matrices, dataframes, or constants If two arrays or matrices of different sizes are added, the output will be the size of the larger array or matrix with only the overlapping elements changed. - Inputs - ------ + Parameters + ---------- a : OrderedPair|Scalar|Vector The input a use to compute the sum of a and b. b : OrderedPair|Scalar|Vector diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/python_code.txt b/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/python_code.txt index ef742f277c..de9ba7a19a 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/python_code.txt +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/ADD/a1-[autogen]/python_code.txt @@ -1,7 +1,9 @@ +from functools import reduce + import numpy as np -from flojoy import flojoy, OrderedPair, Scalar, Vector +from flojoy import OrderedPair, Scalar, Vector, flojoy + from nodes.TRANSFORMERS.ARITHMETIC.utils.arithmetic_utils import get_val -from functools import reduce @flojoy @@ -9,6 +11,7 @@ def ADD( a: OrderedPair | Scalar | Vector, b: list[OrderedPair | Scalar | Vector] ) -> OrderedPair | Scalar | Vector: + initial = get_val(a) seq = map(lambda dc: get_val(dc), b) y = reduce(lambda u, v: np.add(u, v), seq, initial) diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/DIVIDE/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/ARITHMETIC/DIVIDE/a1-[autogen]/docstring.json index 1b3082a021..aebe85200f 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/DIVIDE/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/DIVIDE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "When a constant is divided into an array or matrix, each element in the array or matrix will be divided by the constant value.\n\nInputs\n------\na : OrderedPair|Scalar|Vector\n The input that will be divide by b.\nb : OrderedPair|Scalar|Vector\n The input that will divide a.", + "long_description": "When a constant is divided into an array or matrix, each element in the array or matrix will be divided by the constant value.\n\nInputs\n------\na : OrderedPair|Scalar|Vector\n The input that will be divide by b.\nb : OrderedPair|Scalar|Vector\n The input that will divide a.", + "short_description": "The DIVIDE node divides two or more numeric arrays, matrices, dataframes, or constants element-wise.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/MULTIPLY/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/ARITHMETIC/MULTIPLY/a1-[autogen]/docstring.json index 41842f7001..9cad109fcd 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/MULTIPLY/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/MULTIPLY/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\na : OrderedPair|Scalar|Vector\n The input a use to compute the product of a and b.\nb : OrderedPair|Scalar|Vector\n The input b use to compute the product of a and b.", + "long_description": "Inputs\n------\na : OrderedPair|Scalar|Vector\n The input a use to compute the product of a and b.\nb : OrderedPair|Scalar|Vector\n The input b use to compute the product of a and b.", + "short_description": "The MULTIPLY node multiplies two numeric arrays, vectors, matrices, or constants element-wise and returns the result.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/ARITHMETIC/SUBTRACT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/ARITHMETIC/SUBTRACT/a1-[autogen]/docstring.json index da66e862af..f74d75257f 100644 --- a/docs/nodes/TRANSFORMERS/ARITHMETIC/SUBTRACT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/ARITHMETIC/SUBTRACT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\na : OrderedPair|Scalar|Vector\n The input a use in the subtraction of a by b.\nb : OrderedPair|Scalar|Vector\n The input b use in the subtraction of a by b.", + "long_description": "Inputs\n------\na : OrderedPair|Scalar|Vector\n The input a use in the subtraction of a by b.\nb : OrderedPair|Scalar|Vector\n The input b use in the subtraction of a by b.", + "short_description": "The SUBTRACT node subtracts two numeric arrays, vectors, matrices, or constants element-wise and returns the result.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/CALCULUS/DIFFERENTIATE/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/CALCULUS/DIFFERENTIATE/a1-[autogen]/docstring.json index 42956a4fec..626463cb52 100644 --- a/docs/nodes/TRANSFORMERS/CALCULUS/DIFFERENTIATE/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/CALCULUS/DIFFERENTIATE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It then computes the derivative of the array, y, with respect to x.\n\nInputs\n------\ndefault : OrderedPair|Vector\n Input from which we get the x and y lists use in the derivative.", + "long_description": "It then computes the derivative of the array, y, with respect to x.\n\nInputs\n------\ndefault : OrderedPair|Vector\n Input from which we get the x and y lists use in the derivative.", + "short_description": "The DIFFERENTIATE node takes two lists, x and y, as input.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/CALCULUS/DOUBLE_DEFINITE_INTEGRAL/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/CALCULUS/DOUBLE_DEFINITE_INTEGRAL/a1-[autogen]/docstring.json index 6d56ea2463..696a92a857 100644 --- a/docs/nodes/TRANSFORMERS/CALCULUS/DOUBLE_DEFINITE_INTEGRAL/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/CALCULUS/DOUBLE_DEFINITE_INTEGRAL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It then computes a double integral of the given function.\n\nExample of proper syntax for the function input:\n2*x*y\n\nExample of improper syntax for the function input:\n2xy", + "long_description": "It then computes a double integral of the given function.\n\nExample of proper syntax for the function input:\n2*x*y\n\nExample of improper syntax for the function input:\n2xy", + "short_description": "The DOUBLE_DEFINITE_INTEGRAL node takes a function, upper, and lower bounds as input.", "parameters": [ { "name": "function", diff --git a/docs/nodes/TRANSFORMERS/CALCULUS/DOUBLE_INDEFINITE_INTEGRAL/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/CALCULUS/DOUBLE_INDEFINITE_INTEGRAL/a1-[autogen]/docstring.json index e65e6f5812..9b2d5e1dd6 100644 --- a/docs/nodes/TRANSFORMERS/CALCULUS/DOUBLE_INDEFINITE_INTEGRAL/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/CALCULUS/DOUBLE_INDEFINITE_INTEGRAL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The width and height represent the number of columns and rows, respectively, that the x, y, and z reshaped matrices will have.\nHere it is important to note that the length of x, y, and z is the same, and that the width times the height needs to be equal to the length of x, y, and z.\n\nIt computes the double integral approximation according to given dimensions of the matrices, and returns a matrix where each cell represents the volume up to the given point.\n\nInputs\n------\ndefault : OrderedTriple\n Input from which we use x, y, and z to compute the integral.", + "long_description": "The width and height represent the number of columns and rows, respectively, that the x, y, and z reshaped matrices will have.\nHere it is important to note that the length of x, y, and z is the same, and that the width times the height needs to be equal to the length of x, y, and z.\n\nIt computes the double integral approximation according to given dimensions of the matrices, and returns a matrix where each cell represents the volume up to the given point.\n\nInputs\n------\ndefault : OrderedTriple\n Input from which we use x, y, and z to compute the integral.", + "short_description": "The DOUBLE_INDEFINITE_INTEGRAL node takes an OrderedTriple (x,y,z) and has width and height parameters.", "parameters": [ { "name": "width", diff --git a/docs/nodes/TRANSFORMERS/CALCULUS/INTEGRATE/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/CALCULUS/INTEGRATE/a1-[autogen]/docstring.json index e668c57898..a43fbf58f2 100644 --- a/docs/nodes/TRANSFORMERS/CALCULUS/INTEGRATE/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/CALCULUS/INTEGRATE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|Vector\n Input from which we get the two lists we use in the integration.", + "long_description": "Inputs\n------\ndefault : OrderedPair|Vector\n Input from which we get the two lists we use in the integration.", + "short_description": "The INTEGRATE node takes a numpy array, a vector, or a matrix as input and integrates it using the composite trapezoidal rule.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/CHANNEL_MERGE/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/CHANNEL_MERGE/a1-[autogen]/docstring.json index cb2be66a6e..a0b26156d7 100644 --- a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/CHANNEL_MERGE/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/CHANNEL_MERGE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": null, + "long_description": null, + "short_description": "The CHANNEL_MERGE node returns the merged rgba channels of an image.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/CHANNEL_SPLIT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/CHANNEL_SPLIT/a1-[autogen]/docstring.json index bbbc491f7f..31039b5ebc 100644 --- a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/CHANNEL_SPLIT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/CHANNEL_SPLIT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "While the notion of \"splitting an image into RGBA channels\" is inherently tied to coloured pictures, this function will attempt to make sense of multiple input types.\n\nShould the input be of type 'Image', then the function will return the RGBA channels.\n\nShould the input be of type 'Matrix', meaning ideally a 3D 'numpy' array of size (L, M, 3) or (L, M, 4), then the function will return each channel respectively.", + "long_description": "While the notion of \"splitting an image into RGBA channels\" is inherently tied to coloured pictures, this function will attempt to make sense of multiple input types.\n\nShould the input be of type 'Image', then the function will return the RGBA channels.\n\nShould the input be of type 'Matrix', meaning ideally a 3D 'numpy' array of size (L, M, 3) or (L, M, 4), then the function will return each channel respectively.", + "short_description": "The CHANNEL_SPLIT node returns the rgba channels of an image into 4 separate images for direct visualization.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/EDGE_DETECTION/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/EDGE_DETECTION/a1-[autogen]/docstring.json index 2478a26ba6..09e689c478 100644 --- a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/EDGE_DETECTION/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/EDGE_DETECTION/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This is done through the Pillow image filter, FIND_EDGES.\n\nNote that the image is converted to greyscale during this processing.\n\nInputs\n------\ndefault : Image\n The input image to apply edge detection to.", + "long_description": "This is done through the Pillow image filter, FIND_EDGES.\n\nNote that the image is converted to greyscale during this processing.\n\nInputs\n------\ndefault : Image\n The input image to apply edge detection to.", + "short_description": "The EDGE_DETECTION node detects edges in the image that was passed to it.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/EXTREMA_DETERMINATION/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/EXTREMA_DETERMINATION/a1-[autogen]/docstring.json index a8c6807af4..bdb72df111 100644 --- a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/EXTREMA_DETERMINATION/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/EXTREMA_DETERMINATION/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The ability to find local peaks will not depend on the extrema being\n exponentially separated from the neighboring values, or some other restrictive constraint.\n\n We implement three algorithms to find the local max. The first algorithm uses a masked phase\n cross correlation technique [1], while the second uses the persistence birth/death algorithms [2, 3].\n The original implementations of these libraries were utilized for the detection of elastic\n scattering peaks in diffraction data, found in the 'scikit-ued' library of Python [4].\n\n Note that the algorithm assumes that the extrema are symmetrically distributed around\n a center point. All extrema are determined relative to the center position.\n Also, for closely spaced points, noisy data, or data that has a very high dynamic range, the\n algorithm fails. Therefore, this approach is suited only for images with\n high degrees of symmetry and reasonable contrast.\n\n Therefore, we also use the second prominence algorithm, where a single\n value is applied locally to determine the relative 'peakiness' of a given pixel,\n inspecting only the neighbors around that given pixel. While computationally\n more intense for images with a resolution of >4K, it produces extremely accurate\n results for the correct value of prominence in potentially low-contrast images.\n By definition, it is a local pixel algorithm, and therefore does not perform any blob detection,\n unlike the high-symmetry algorithm which creates high contrast in\n the image with laplacian filtering, and identifies regions of this high contrast image.\n\n Note, however, that the persistence algorithm tends to find more points than what are actually there.\n For images with high frequency components (i.e. quickly varying values among the third nearest neighbours),\n the algorithm will tend to identify each as a 'peak', even though the local maxima is elsewhere. This\n therefore assumes that the image has been properly preprocessed with another image processing node to\n provide a sufficient low-frequency image such that the prominence of each pixel is well defined.\n\n To combat this limitation, we present the most robust of the algorithms that should work on images\n of low or high contrast, low or high frequency components, and of low or high dynamic range. It is\n computationally more expensive, as it involves repeated convolutions of the image, but it is\n the most reliable of the methods for a general image.\n\n This routine is known as the Laplacian of Gaussian algorithm [5].\n The key to this algorithm is to apply a filter specially chosen such that regions around peaks have high\n levels of contrast (essentially binarize the image around its peak so that near the peak, the\n image is one, and zero otherwise). To achieve such a filter, the Laplacian of a Gaussian is used:\n\n .. math:: \nabla^2 L \\equiv L_{xx} + L_{yy}\n\n which yields the following filter (for a Gaussian of width sigma, centered at the origin):\n\n ..math :: LG = -\frac{1}{\\pi\\sigma^4}\big[1-\frac{x^2+y^2}{2\\sigma^2}\big]e^{-\frac{x^2+y^2}{2\\sigma^2}}\n\n The output of this filter will be a maximum where there is an edge from a peak, the maximum response\n of which is given for 1.41*'blob radius' around the peak.\n Applying this filter repeatedly with varying degrees of sigma, will continue to refine the edges around\n the peak until the image is essentially binarized around the peaks. Due to the repeated convolutions,\n this algorithm is generally expensive, but specific methods have been implemented using FFT to speed\n up these calculations.\n\n\n Parameters\n ----------\n\n default : Image | Grayscale | Matrix\n The input DataContainer that contains the image to be processed.\n Can either be RGBA, greyscale, or a matrix type.\n In the case of RGB(A), the image is flattened to grayscale for the peak detection.\n image_mask : Grayscale | Matrix\n This object provides a mask to apply to the peak finding routines.\n Peaks found by any algorithm inside this mask are ignored.\n Should be of a datatype that can be static cast to booleans.\n If none, it is assumed that the entire image is valid for peak detection.\n center : list[int]\n For the high symmetry algorithm, this provides the center of symmetry\n to pass to the cross correlation routines.\n If none is provided, an autocenter routine is run to attempt to find the center of symmetry.\n min_dist : float\n The minimum distance between peaks.\n If the L2 distance (in pixels) of any pair of peaks is less than min_dist,\n they are considered to be the same, and one is discarded.\n This parameter applies to all algorithms.\n algorithm : str\n The name of the algorithm to use.\n prominence : float\n In the prominence and Laplacian of Gaussian algorithms, this defines the threshold\n above or below which objects must pass in order to be considered a peak.\n Does not apply to the high_symmetry algorithm.\n k : float\n This specifies the scaling of Gaussian filters between successive applications\n of Gaussian filters of increasing sigma.\n Default is chosen for ideal spherically symmetric peaks.\n Can be tuned for more bizarre looking peak structures.\n Applies only to the Laplacian of Gaussian algorithm.\n sigma : float\n The baseline standard deviation of the Gaussian filters,\n only for the Laplacian of Gaussian algorithm.\n max_power : int\n Describes the upper limit of the degree of exponentiation for the successive\n application of filters, only in the Laplacian of Gaussian algorithm.\n\n Returns\n -------\n fig : Plotly\n The Plotly figure so that the image can be visualized with its found peaks.\n blobs : Grayscale\n A blob mask that returns the regions around the found peaks.\n It is only valid for the high_symmetry and log routines.\n As the persistence algorithm is by definition hyperlocal, it has no notion of blobs\n throughout the detection process, and as such returns a unity mask.\n\n References\n ----------\n [1] Liu, Lai Chung. Chemistry in Action: Making Molecular Movies with Ultrafast\n Electron Diffraction and Data Science, Chapter 2. Springer Nature, 2020.\n\n [2] Huber, S. (2021). Persistent Homology in Data Science. In: Haber, P.,\n Lampoltshammer, T., Mayr, M., Plankensteiner, K. (eds) Data Science - Analytics\n and Applications. Springer Vieweg, Wiesbaden.\n https://doi.org/10.1007/978-3-658-32182-6_13\n\n [3] Edelsbrunner, H. and John L Harer (2010). Computational Topology. In: American\n Mathematical Society.\n\n [4] L. P. Ren\u00e9 de Cotret, M. R. Otto, M. J. Stern. and B. J. Siwick.\n An open-source software ecosystem for the interactive exploration of\n ultrafast electron scattering data, Advanced Structural and Chemical\n Imaging 4:11 (2018)\n\n [5] https://en.wikipedia.org/wiki/Blob_detection#The_Laplacian_of_Gaussian", + "long_description": "The ability to find local peaks will not depend on the extrema being\n exponentially separated from the neighboring values, or some other restrictive constraint.\n\n We implement three algorithms to find the local max. The first algorithm uses a masked phase\n cross correlation technique [1], while the second uses the persistence birth/death algorithms [2, 3].\n The original implementations of these libraries were utilized for the detection of elastic\n scattering peaks in diffraction data, found in the 'scikit-ued' library of Python [4].\n\n Note that the algorithm assumes that the extrema are symmetrically distributed around\n a center point. All extrema are determined relative to the center position.\n Also, for closely spaced points, noisy data, or data that has a very high dynamic range, the\n algorithm fails. Therefore, this approach is suited only for images with\n high degrees of symmetry and reasonable contrast.\n\n Therefore, we also use the second prominence algorithm, where a single\n value is applied locally to determine the relative 'peakiness' of a given pixel,\n inspecting only the neighbors around that given pixel. While computationally\n more intense for images with a resolution of >4K, it produces extremely accurate\n results for the correct value of prominence in potentially low-contrast images.\n By definition, it is a local pixel algorithm, and therefore does not perform any blob detection,\n unlike the high-symmetry algorithm which creates high contrast in\n the image with laplacian filtering, and identifies regions of this high contrast image.\n\n Note, however, that the persistence algorithm tends to find more points than what are actually there.\n For images with high frequency components (i.e. quickly varying values among the third nearest neighbours),\n the algorithm will tend to identify each as a 'peak', even though the local maxima is elsewhere. This\n therefore assumes that the image has been properly preprocessed with another image processing node to\n provide a sufficient low-frequency image such that the prominence of each pixel is well defined.\n\n To combat this limitation, we present the most robust of the algorithms that should work on images\n of low or high contrast, low or high frequency components, and of low or high dynamic range. It is\n computationally more expensive, as it involves repeated convolutions of the image, but it is\n the most reliable of the methods for a general image.\n\n This routine is known as the Laplacian of Gaussian algorithm [5].\n The key to this algorithm is to apply a filter specially chosen such that regions around peaks have high\n levels of contrast (essentially binarize the image around its peak so that near the peak, the\n image is one, and zero otherwise). To achieve such a filter, the Laplacian of a Gaussian is used:\n\n .. math:: \nabla^2 L \\equiv L_{xx} + L_{yy}\n\n which yields the following filter (for a Gaussian of width sigma, centered at the origin):\n\n ..math :: LG = -\frac{1}{\\pi\\sigma^4}\big[1-\frac{x^2+y^2}{2\\sigma^2}\big]e^{-\frac{x^2+y^2}{2\\sigma^2}}\n\n The output of this filter will be a maximum where there is an edge from a peak, the maximum response\n of which is given for 1.41*'blob radius' around the peak.\n Applying this filter repeatedly with varying degrees of sigma, will continue to refine the edges around\n the peak until the image is essentially binarized around the peaks. Due to the repeated convolutions,\n this algorithm is generally expensive, but specific methods have been implemented using FFT to speed\n up these calculations.\n\n\n Parameters\n ----------\n\n default : Image | Grayscale | Matrix\n The input DataContainer that contains the image to be processed.\n Can either be RGBA, greyscale, or a matrix type.\n In the case of RGB(A), the image is flattened to grayscale for the peak detection.\n image_mask : Grayscale | Matrix\n This object provides a mask to apply to the peak finding routines.\n Peaks found by any algorithm inside this mask are ignored.\n Should be of a datatype that can be static cast to booleans.\n If none, it is assumed that the entire image is valid for peak detection.\n center : list[int]\n For the high symmetry algorithm, this provides the center of symmetry\n to pass to the cross correlation routines.\n If none is provided, an autocenter routine is run to attempt to find the center of symmetry.\n min_dist : float\n The minimum distance between peaks.\n If the L2 distance (in pixels) of any pair of peaks is less than min_dist,\n they are considered to be the same, and one is discarded.\n This parameter applies to all algorithms.\n algorithm : str\n The name of the algorithm to use.\n prominence : float\n In the prominence and Laplacian of Gaussian algorithms, this defines the threshold\n above or below which objects must pass in order to be considered a peak.\n Does not apply to the high_symmetry algorithm.\n k : float\n This specifies the scaling of Gaussian filters between successive applications\n of Gaussian filters of increasing sigma.\n Default is chosen for ideal spherically symmetric peaks.\n Can be tuned for more bizarre looking peak structures.\n Applies only to the Laplacian of Gaussian algorithm.\n sigma : float\n The baseline standard deviation of the Gaussian filters,\n only for the Laplacian of Gaussian algorithm.\n max_power : int\n Describes the upper limit of the degree of exponentiation for the successive\n application of filters, only in the Laplacian of Gaussian algorithm.\n\n Returns\n -------\n fig : Plotly\n The Plotly figure so that the image can be visualized with its found peaks.\n blobs : Grayscale\n A blob mask that returns the regions around the found peaks.\n It is only valid for the high_symmetry and log routines.\n As the persistence algorithm is by definition hyperlocal, it has no notion of blobs\n throughout the detection process, and as such returns a unity mask.\n\n References\n ----------\n [1] Liu, Lai Chung. Chemistry in Action: Making Molecular Movies with Ultrafast\n Electron Diffraction and Data Science, Chapter 2. Springer Nature, 2020.\n\n [2] Huber, S. (2021). Persistent Homology in Data Science. In: Haber, P.,\n Lampoltshammer, T., Mayr, M., Plankensteiner, K. (eds) Data Science - Analytics\n and Applications. Springer Vieweg, Wiesbaden.\n https://doi.org/10.1007/978-3-658-32182-6_13\n\n [3] Edelsbrunner, H. and John L Harer (2010). Computational Topology. In: American\n Mathematical Society.\n\n [4] L. P. Ren\u00e9 de Cotret, M. R. Otto, M. J. Stern. and B. J. Siwick.\n An open-source software ecosystem for the interactive exploration of\n ultrafast electron scattering data, Advanced Structural and Chemical\n Imaging 4:11 (2018)\n\n [5] https://en.wikipedia.org/wiki/Blob_detection#The_Laplacian_of_Gaussian", + "short_description": "The EXTREMA_DETERMINATION node is used to determine the peak in an image.", "parameters": [], "returns": [] } \ No newline at end of file diff --git a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/IMAGE_SMOOTHING/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/IMAGE_SMOOTHING/a1-[autogen]/docstring.json index 9282893187..b1d203d5e0 100644 --- a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/IMAGE_SMOOTHING/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/IMAGE_SMOOTHING/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Note: For \"gaussian\" and \"median\" type, you are only allowed an odd number for the kernel value.\n\nSee https://docs.opencv.org/4.x/d4/d13/tutorial_py_filtering.html for smoothing function information.\n\nInputs\n------\ndefault : Image\n The input image to apply smoothing to.", + "long_description": "Note: For \"gaussian\" and \"median\" type, you are only allowed an odd number for the kernel value.\n\nSee https://docs.opencv.org/4.x/d4/d13/tutorial_py_filtering.html for smoothing function information.\n\nInputs\n------\ndefault : Image\n The input image to apply smoothing to.", + "short_description": "The IMAGE_SMOOTHING node applies an image smoothing operation on the input DataContainer class, specifically for the 'image' type, represented by the RGB(A) channels.", "parameters": [ { "name": "kernel", diff --git a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/REGION_PROPERTIES/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/REGION_PROPERTIES/a1-[autogen]/docstring.json index 2a767ebc62..a75f014dea 100644 --- a/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/REGION_PROPERTIES/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/IMAGE_PROCESSING/REGION_PROPERTIES/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "There are multiple input 'DataContainer' types for which\nthis function is applicable: 'Image', 'Grayscale', or 'Matrix'.\n\nOften in image analysis, it is necessary to determine subvolumes / subregions\ninside a given image, whether for object count (e.g. the counting of\ncells on a glass plate), or object dimensional analysis (determining coutours of\na region, centroid of a region relative to the pixel coordinate origin of the image,\ndetermining the semi-major or -minor axes of a region, etc.). This functionality\nis entirely provided by this node in a two-step process:\n\n- First, the regions of the INTEGER image are identified and labelled.\n- Second, the regions are analyzed.\n\nThe first step is provided by the morphology library of scikit-image's label function,\nwhile the second is provided by scikit-image's regionprops function.\n\nAfter processing, the results of this node are visualized in the main UI,\nwhere the user can see:\n- The input array / image.\n- The semi-major and semi-minor axes of the contour drawn relative to the contour centroid.\n- The contour centroid.\n- The countour bounding-box.\n- A mouse-hover utility that displays the contour information to the user.", + "long_description": "There are multiple input 'DataContainer' types for which\nthis function is applicable: 'Image', 'Grayscale', or 'Matrix'.\n\nOften in image analysis, it is necessary to determine subvolumes / subregions\ninside a given image, whether for object count (e.g. the counting of\ncells on a glass plate), or object dimensional analysis (determining coutours of\na region, centroid of a region relative to the pixel coordinate origin of the image,\ndetermining the semi-major or -minor axes of a region, etc.). This functionality\nis entirely provided by this node in a two-step process:\n\n- First, the regions of the INTEGER image are identified and labelled.\n- Second, the regions are analyzed.\n\nThe first step is provided by the morphology library of scikit-image's label function,\nwhile the second is provided by scikit-image's regionprops function.\n\nAfter processing, the results of this node are visualized in the main UI,\nwhere the user can see:\n- The input array / image.\n- The semi-major and semi-minor axes of the contour drawn relative to the contour centroid.\n- The contour centroid.\n- The countour bounding-box.\n- A mouse-hover utility that displays the contour information to the user.", + "short_description": "The image processing REGION_PROPERTIES node is a stand-alone visualizer for analyzing an input array of data.", "parameters": [ { "name": "default", diff --git a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/DOT_PRODUCT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/DOT_PRODUCT/a1-[autogen]/docstring.json index 3c3335bbd6..7f003cca59 100644 --- a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/DOT_PRODUCT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/DOT_PRODUCT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "To multiply a scalar, use the MULTIPLY node.\n\nInputs\n------\na : Matrix\n The input matrix to be multiplied to input b.\nb : Matrix\n The input matrix to be multiplied to input a.", + "long_description": "To multiply a scalar, use the MULTIPLY node.\n\nInputs\n------\na : Matrix\n The input matrix to be multiplied to input b.\nb : Matrix\n The input matrix to be multiplied to input a.", + "short_description": "The DOT_PRODUCT node takes two input matrices, multiplies them (by dot product), and returns the result.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/INVERT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/INVERT/a1-[autogen]/docstring.json index 492c25db93..1135069457 100644 --- a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/INVERT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/INVERT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "If the entered value is a list of scalar, it returns the multiplciative inverse 1/x for each element of the list.\n\nInputs\n------\ndefault : OrderedPair|Matrix\n The matrix or list of scalar to which we apply the invert.", + "long_description": "If the entered value is a list of scalar, it returns the multiplciative inverse 1/x for each element of the list.\n\nInputs\n------\ndefault : OrderedPair|Matrix\n The matrix or list of scalar to which we apply the invert.", + "short_description": "The INVERT node takes two inputs, one matrix and one rcond if not a square matrix, then inverts them (or pseudo invert) and returns the result.", "parameters": [ { "name": "rcond", diff --git a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/MATMUL/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/MATMUL/a1-[autogen]/docstring.json index 1e144558c9..5525d3f9cd 100644 --- a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/MATMUL/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/MATMUL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\na : Matrix\n The input matrix to be multiplied to input b.\nb : Matrix\n The input matrix to be multiplied to input a.", + "long_description": "Inputs\n------\na : Matrix\n The input matrix to be multiplied to input b.\nb : Matrix\n The input matrix to be multiplied to input a.", + "short_description": "The MATMUL node takes two input matrices, multiplies them, and returns the result.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/SHUFFLE_MATRIX/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/SHUFFLE_MATRIX/a1-[autogen]/docstring.json index de3f5a4416..5012bc5e14 100644 --- a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/SHUFFLE_MATRIX/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/SHUFFLE_MATRIX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Matrix\n The input Matrix", + "long_description": "Inputs\n------\ndefault : Matrix\n The input Matrix", + "short_description": "The SHUFFLE_MATRIX node returns a matrix that is randomly shuffled by the first axis", "parameters": [ { "name": "axis", diff --git a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/SORT_MATRIX/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/SORT_MATRIX/a1-[autogen]/docstring.json index bd46ed1c19..0f2821e1e2 100644 --- a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/SORT_MATRIX/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/SORT_MATRIX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\na : Matrix\n The input matrix to be multiplied to input b", + "long_description": "Inputs\n------\na : Matrix\n The input matrix to be multiplied to input b", + "short_description": "The SORT_MATRIX node takes a input matrix and sort it along the chosen axis.", "parameters": [ { "name": "axis", diff --git a/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/TRANSPOSE_MATRIX/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/TRANSPOSE_MATRIX/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..bca1be7251 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/MATRIX_MANIPULATION/TRANSPOSE_MATRIX/a1-[autogen]/docstring.json @@ -0,0 +1,12 @@ +{ + "long_description": "Inputs\n------\na : Matrix\n The input matrix to be transposed", + "short_description": "The TRANSPOSE_MATRIX node takes an input 2D matrix and transposes it.", + "parameters": [], + "returns": [ + { + "name": null, + "type": "Matrix", + "description": "The transposed matrix" + } + ] +} \ No newline at end of file diff --git a/docs/nodes/TRANSFORMERS/ORDERED_PAIR_MANIPULATION/ORDERED_PAIR_XY_INVERT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/ORDERED_PAIR_MANIPULATION/ORDERED_PAIR_XY_INVERT/a1-[autogen]/docstring.json index 763f18cf2d..1216723864 100644 --- a/docs/nodes/TRANSFORMERS/ORDERED_PAIR_MANIPULATION/ORDERED_PAIR_XY_INVERT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/ORDERED_PAIR_MANIPULATION/ORDERED_PAIR_XY_INVERT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair\n The input OrderedPair that we would like to invert the axes.", + "long_description": "Inputs\n------\ndefault : OrderedPair\n The input OrderedPair that we would like to invert the axes.", + "short_description": "The ORDERED_PAIR_XY_INVERT node returns the OrderedPair where the axes are inverted.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/BUTTER/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/BUTTER/a1-[autogen]/docstring.json index 42037305d7..952afac75a 100644 --- a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/BUTTER/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/BUTTER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It is designed to have a frequency response that is as flat as possible in the pass band.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply the butter filter to.", + "long_description": "It is designed to have a frequency response that is as flat as possible in the pass band.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply the butter filter to.", + "short_description": "The BUTTER node applies a butterworth filter to an input signal.", "parameters": [ { "name": "filter_order", diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/FFT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/FFT/a1-[autogen]/docstring.json index 450102d969..4511e1bd3b 100644 --- a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/FFT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/FFT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Through the FFT algorithm, the input vector will be transformed from a time domain into a frequency domain, which will be an ordered pair of arrays.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply FFT to.", + "long_description": "Through the FFT algorithm, the input vector will be transformed from a time domain into a frequency domain, which will be an ordered pair of arrays.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply FFT to.", + "short_description": "The FFT node performs a Discrete Fourier Transform on the input vector.", "parameters": [ { "name": "window", diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/FIR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/FIR/a1-[autogen]/docstring.json index 7db3f7f5f0..765695ed56 100644 --- a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/FIR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/FIR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This filter takes a few inputs: the sample_rate (will be passed as a parameter if the target node is not connected), the window type of the filter, the cutoff frequency, and the number of taps (or length) of the filter.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply a FIR filter to.", + "long_description": "This filter takes a few inputs: the sample_rate (will be passed as a parameter if the target node is not connected), the window type of the filter, the cutoff frequency, and the number of taps (or length) of the filter.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply a FIR filter to.", + "short_description": "The FIR node applies a low-pass FIR filter to an input vector. The filter is designed with the window method.", "parameters": [ { "name": "sample_rate", diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/IFFT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/IFFT/a1-[autogen]/docstring.json index e0d2095fff..87c92e0728 100644 --- a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/IFFT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/IFFT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "With the IFFT algorithm, the input signal will be transformed from the frequency domain back into the time domain.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply inverse FFT to.", + "long_description": "With the IFFT algorithm, the input signal will be transformed from the frequency domain back into the time domain.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply inverse FFT to.", + "short_description": "The IFFT node performs the Inverse Discrete Fourier Transform on the input signal.", "parameters": [ { "name": "real_signal", diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PEAK_DETECTION/a1-[autogen]/docstring.txt b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PEAK_DETECTION/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..162f99b163 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PEAK_DETECTION/a1-[autogen]/docstring.txt @@ -0,0 +1,50 @@ +The PEAK_DETECTION node finds peaks based on peak properties. + + The first output returns the peaks heights and the second returns the + peak widths. + + Many of the parameters are based in Samples (number of points) rather than + in the x axis scale. + + Inputs + ------ + default : OrderedPair + The data to find peaks in. + + Parameters + ---------- + height : float, optional + Required height of peaks. Either a number or `None`. + threshold : float, optional + Required threshold of peaks, the vertical distance to its neighboring + samples. Either a number or `None` + distance : float, optional + Required minimal horizontal distance (>= 1) in samples between + neighbouring peaks. Smaller peaks are removed first until the condition + is fulfilled for all remaining peaks. + prominence : float, optional + Required prominence of peaks. Either a number or `None` + width : float, optional + Required width of peaks in samples. Either a number or `None` + wlen : int, optional + Used for calculation of the peaks prominences, thus it is only used if + one of the arguments `prominence` or `width` is given. See argument + `wlen` in `peak_prominences` for a full description of its effects. + rel_height : float, optional + Used for calculation of the peaks width, thus it is only used if `width` + is given. See scipy.signal.peak_widths at docs.scipy.org. + plateau_size : float, optional + Required size of the flat top of peaks in samples. Either a number + or `None` + + Returns + ------- + TypedDict: + heights: + OrderedPair + x: x axis location for peaks + y: peak heights + widths: + OrderedPair + x: x axis location for peaks + y: peak widths diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PID/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PID/a1-[autogen]/docstring.json index 03682adb29..f5c2756bda 100644 --- a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PID/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PID/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The returned value will be modified according to the PID parameters Kp, Ki, and Kd.\n\nInputs\n------\nsingle_input : Scalar\n The data to apply the PID function to.", + "long_description": "The returned value will be modified according to the PID parameters Kp, Ki, and Kd.\n\nInputs\n------\nsingle_input : Scalar\n The data to apply the PID function to.", + "short_description": "The PID node acts like a PID function.", "parameters": [ { "name": "Kp", diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/SAVGOL/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/SAVGOL/a1-[autogen]/docstring.json index fee080d100..e19cae4198 100644 --- a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/SAVGOL/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/SAVGOL/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "The default behaviour is to implement a 3-point moving average of the data.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply the numpy savgol filter to.", + "long_description": "The default behaviour is to implement a 3-point moving average of the data.\n\nInputs\n------\ndefault : OrderedPair\n The data to apply the numpy savgol filter to.", + "short_description": "The SAVGOL node applies a Savitzky-Golay filter to an input signal. It is generally used for smoothing data.", "parameters": [ { "name": "window_length", diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/TWO_DIMENSIONAL_FFT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/TWO_DIMENSIONAL_FFT/a1-[autogen]/docstring.json index 1692cc18c5..52963567a5 100644 --- a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/TWO_DIMENSIONAL_FFT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/TWO_DIMENSIONAL_FFT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "With the FFT algorithm, the input matrix will undergo a change of basis from the space domain into the frequency domain.\n\ngrayscale, dataframe, image, or matrix\n\nInputs\n------\ndefault : Grayscale|DataFrame|Image|Matrix\n The 2D data to apply 2DFFT to.", + "long_description": "With the FFT algorithm, the input matrix will undergo a change of basis from the space domain into the frequency domain.\n\ngrayscale, dataframe, image, or matrix\n\nInputs\n------\ndefault : Grayscale|DataFrame|Image|Matrix\n The 2D data to apply 2DFFT to.", + "short_description": "The TWO_DIMENSIONAL_FFT node performs a two-dimensional fast fourier transform function on the input matrix.", "parameters": [ { "name": "real_signal", diff --git a/docs/nodes/TRANSFORMERS/TEXT_MANIPULATION/TEXT_CONCAT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TEXT_MANIPULATION/TEXT_CONCAT/a1-[autogen]/docstring.json index b4a26fc72c..6dd578730a 100644 --- a/docs/nodes/TRANSFORMERS/TEXT_MANIPULATION/TEXT_CONCAT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/TEXT_MANIPULATION/TEXT_CONCAT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\na: TextBlob\n The input text to be concatenated to input b\n\nb: TextBlob\n The input text to be concatenated to input a", + "long_description": "Inputs\n------\na: TextBlob\n The input text to be concatenated to input b\n\nb: TextBlob\n The input text to be concatenated to input a", + "short_description": "The TEXT_CONCAT node takes in two TextBlob DataContainer type and concatenates the text string.", "parameters": [ { "name": "delimiter", diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/DF_2_NP/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/DF_2_NP/a1-[autogen]/docstring.json index f0374027a7..46314f7c6d 100644 --- a/docs/nodes/TRANSFORMERS/TYPE_CASTING/DF_2_NP/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/DF_2_NP/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : DataFrame\n The input dataframe to which we apply the conversion to.", + "long_description": "Inputs\n------\ndefault : DataFrame\n The input dataframe to which we apply the conversion to.", + "short_description": "The DF_2_NP node takes one dataframe type data and converts it to a matrix type data.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/DF_2_ORDERED_TRIPLE/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/DF_2_ORDERED_TRIPLE/a1-[autogen]/docstring.json index 4b83e45bee..e73781ce9f 100644 --- a/docs/nodes/TRANSFORMERS/TYPE_CASTING/DF_2_ORDERED_TRIPLE/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/DF_2_ORDERED_TRIPLE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It takes one dataframe type data and selects 3 different columns to generate the OrderedTriple type.\n\nInputs\n------\ndefault : DataFrame\n The input dataframe to which we apply the conversion to.", + "long_description": "It takes one dataframe type data and selects 3 different columns to generate the OrderedTriple type.\n\nInputs\n------\ndefault : DataFrame\n The input dataframe to which we apply the conversion to.", + "short_description": "The DF_2_ORDERED_TRIPLE node converts a dataframe type data into an OrderedTriple type data.", "parameters": [ { "name": "x", diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/MATRIX_2_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/MATRIX_2_VECTOR/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..74297e7c6f --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/MATRIX_2_VECTOR/a1-[autogen]/docstring.json @@ -0,0 +1,12 @@ +{ + "long_description": "Inputs\n------\ndefault: Matrix\n The input matrix that will be transformed into vector data type.", + "short_description": "The MATRIX_2_VECTOR node takes a matrix and flatten it into vector type data.", + "parameters": [], + "returns": [ + { + "name": null, + "type": "Vector", + "description": "Vector that is flatten from input matrix." + } + ] +} \ No newline at end of file diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/MAT_2_DF/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/MAT_2_DF/a1-[autogen]/docstring.json index 014ca4fb73..6320112e5d 100644 --- a/docs/nodes/TRANSFORMERS/TYPE_CASTING/MAT_2_DF/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/MAT_2_DF/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Matrix\n The input matrix to which we apply the conversion to.", + "long_description": "Inputs\n------\ndefault : Matrix\n The input matrix to which we apply the conversion to.", + "short_description": "The MAT_2_DF node takes one matrix type data and converts it to a dataframe type data.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/NP_2_DF/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/NP_2_DF/a1-[autogen]/docstring.json index 2b6d2e78b2..56168338ee 100644 --- a/docs/nodes/TRANSFORMERS/TYPE_CASTING/NP_2_DF/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/NP_2_DF/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : DataContainer\n The input numpy array which we apply the conversion to.", + "long_description": "Inputs\n------\ndefault : DataContainer\n The input numpy array which we apply the conversion to.", + "short_description": "The NP_2_DF node converts numpy array data into dataframe type data.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR.md b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR.md new file mode 100644 index 0000000000..df1acfacc4 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR.md @@ -0,0 +1,47 @@ + +[//]: # (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 + + + + + + + + +[//]: # (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/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..85870d66a1 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.json @@ -0,0 +1,12 @@ +{ + "long_description": "Inputs\n------\ndefault : OrderedPair\n The input OrderedPair.", + "short_description": "The ORDERED_PAIR_2_VECTOR return the y component of an ordered pair as a Vector.", + "parameters": [], + "returns": [ + { + "name": null, + "type": "Vector", + "description": "The y component of the input OrderedPair." + } + ] +} \ No newline at end of file diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.txt b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.txt new file mode 100644 index 0000000000..b94b500218 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.txt @@ -0,0 +1,12 @@ +The ORDERED_PAIR_2_VECTOR return the split components of an ordered pair as Vectors. + + Inputs + ------ + default : OrderedPair + The input OrderedPair. + + Returns + ------- + TypedDict: + x: Vector from input x + y: Vector from input y diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/python_code.txt b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/python_code.txt new file mode 100644 index 0000000000..68eda45d6a --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/python_code.txt @@ -0,0 +1,14 @@ +from flojoy import flojoy, Vector, OrderedPair +from typing import TypedDict + + +class resultSplit(TypedDict): + x: Vector + y: Vector + + +@flojoy +def ORDERED_PAIR_2_VECTOR(default: OrderedPair) -> resultSplit: + + + return resultSplit(x=Vector(v=default.x), y=Vector(v=default.y)) diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/hardware.md b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/hardware.md new file mode 100644 index 0000000000..7f78a555c4 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/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/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/media.md b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/media.md new file mode 100644 index 0000000000..8bcee9be90 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/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/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/notes.md b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/appendix/notes.md new file mode 100644 index 0000000000..04aded2ec9 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/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/TRANSFORMERS/TYPE_CASTING/ORDERED_TRIPLE_2_SURFACE/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_TRIPLE_2_SURFACE/a1-[autogen]/docstring.json index 5f50b269fa..8c993b8c65 100644 --- a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_TRIPLE_2_SURFACE/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_TRIPLE_2_SURFACE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "It then reshapes the z array into a 2D grid using the unique values of x and y.\n\nThe resulting 2D grid is used to create a Surface object with corresponding x, y, and z values.\n\nInputs\n------\ndefault : OrderedTriple\n The input OrderedTriple to which we apply the conversion to.", + "long_description": "It then reshapes the z array into a 2D grid using the unique values of x and y.\n\nThe resulting 2D grid is used to create a Surface object with corresponding x, y, and z values.\n\nInputs\n------\ndefault : OrderedTriple\n The input OrderedTriple to which we apply the conversion to.", + "short_description": "The ORDERED_TRIPLE_2_SURFACE node takes an \"OrderedTriple\" instance of the DataContainer class that contains three arrays: x, y, and z.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_MATRIX/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_MATRIX/a1-[autogen]/docstring.json new file mode 100644 index 0000000000..04f2faac34 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_MATRIX/a1-[autogen]/docstring.json @@ -0,0 +1,23 @@ +{ + "long_description": "the shape is chosen by row and col parameters.\n\nInputs\n------\ndefault: Vector\n The input vector that will be transformed into matrix.", + "short_description": "The VECTOR_2_MATRIX node takes a vector and transform it into matrix data type where", + "parameters": [ + { + "name": "row", + "type": "int", + "description": "number of rows for the new matrix" + }, + { + "name": "col", + "type": "int", + "description": "number of columns for the new matrix" + } + ], + "returns": [ + { + "name": null, + "type": "Matrix", + "description": "The matrix that is generated from the given vector and the parameters." + } + ] +} \ No newline at end of file diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_ORDERED_PAIR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_ORDERED_PAIR/a1-[autogen]/docstring.json index f4b499d25c..ee83a0ad08 100644 --- a/docs/nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_ORDERED_PAIR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_ORDERED_PAIR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Vector\n The input vector that will be the x axis of OrderedPair.\ny : Vector\n The input vector that will be the y axis of OrderedPair.", + "long_description": "Inputs\n------\ndefault : Vector\n The input vector that will be the x axis of OrderedPair.\ny : Vector\n The input vector that will be the y axis of OrderedPair.", + "short_description": "The VECTOR_2_ORDERED_PAIR node returns the OrderedPair where x and y axes are the input nodes.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/DECIMATE_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/DECIMATE_VECTOR/a1-[autogen]/docstring.json index a2a030e12a..c86b69dd51 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/DECIMATE_VECTOR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/DECIMATE_VECTOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "number of points by given factor\n\nInputs\n------\ndefault : Vector\n The input vector", + "long_description": "number of points by given factor\n\nInputs\n------\ndefault : Vector\n The input vector", + "short_description": "The DECIMATE_VECTOR node returns the input vector by reducing the", "parameters": [ { "name": "factor", diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/INTERLEAVE_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/INTERLEAVE_VECTOR/a1-[autogen]/docstring.json index 759655510b..24bee2b53e 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/INTERLEAVE_VECTOR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/INTERLEAVE_VECTOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "into a single vector type by interleaving their elements\n\nInputs\n------\ndefault : Vector\n The input vector", + "long_description": "into a single vector type by interleaving their elements\n\nInputs\n------\ndefault : Vector\n The input vector", + "short_description": "The INTERLEAVE_VECTOR node combine multiple vectors", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/a1-[autogen]/docstring.json index cfec0a60ce..67c011cfec 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Vector\n The input vector", + "long_description": "Inputs\n------\ndefault : Vector\n The input vector", + "short_description": "The REMOVE_DUPLICATES_VECTOR node returns a vector with only unique elements", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REPLACE_SUBSET/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REPLACE_SUBSET/a1-[autogen]/docstring.json index 3ad77e944c..951b92f663 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REPLACE_SUBSET/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REPLACE_SUBSET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nv : Vector\n The input vector to replace subset from", + "long_description": "Inputs\n------\nv : Vector\n The input vector to replace subset from", + "short_description": "The REPLACE_SUBSET node returns a new Vector with subset of elements replaced.", "parameters": [ { "name": "indices", diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REVERSE_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REVERSE_VECTOR/a1-[autogen]/docstring.json index 76d636383f..0caf7c7b95 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REVERSE_VECTOR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REVERSE_VECTOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "the elements are in the reverse order\n\nInputs\n------\ndefault : Vector\n The input vector", + "long_description": "the elements are in the reverse order\n\nInputs\n------\ndefault : Vector\n The input vector", + "short_description": "The REVERSE_VECTOR node returns the input vector where", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SHIFT_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SHIFT_VECTOR/a1-[autogen]/docstring.json index 5f5841619f..8f4756dadb 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SHIFT_VECTOR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SHIFT_VECTOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nv : Vector\n The input vector to shift elements from", + "long_description": "Inputs\n------\nv : Vector\n The input vector to shift elements from", + "short_description": "The SHIFT_VECTOR node shifts the elements in the vector by the amount specified", "parameters": [ { "name": "shift", diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SHUFFLE_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SHUFFLE_VECTOR/a1-[autogen]/docstring.json index bf574a871f..fbe18998b0 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SHUFFLE_VECTOR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SHUFFLE_VECTOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Vector\n The input vector", + "long_description": "Inputs\n------\ndefault : Vector\n The input vector", + "short_description": "The SHUFFLE_VECTOR node returns a vector that is randomly shuffled", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SORT_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SORT_VECTOR/a1-[autogen]/docstring.json index 356ad17dd3..c3225f941f 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SORT_VECTOR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SORT_VECTOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Vector\n The input vector", + "long_description": "Inputs\n------\ndefault : Vector\n The input vector", + "short_description": "The SORT_VECTOR node returns the input Vector that is sorted", "parameters": [ { "name": "reverse", diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SPLIT_VECTOR/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SPLIT_VECTOR/a1-[autogen]/docstring.json index 3c1d2cfcdd..87d58f3edb 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SPLIT_VECTOR/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/SPLIT_VECTOR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Vector\n The input vector", + "long_description": "Inputs\n------\ndefault : Vector\n The input vector", + "short_description": "The SPLIT_VECTOR node returns a vector that is splited by a given index", "parameters": [ { "name": "index", diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_DELETE/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_DELETE/a1-[autogen]/docstring.json index 6ef11d74a4..34aca20d25 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_DELETE/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_DELETE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nv : Vector\n The input vector to delete from", + "long_description": "Inputs\n------\nv : Vector\n The input vector to delete from", + "short_description": "The VECTOR_DELETE node returns a new Vector with elements deleted from requested indices", "parameters": [ { "name": "indices", diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_INDEXING/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_INDEXING/a1-[autogen]/docstring.json index 97703e1a9c..53f82fe58b 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_INDEXING/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_INDEXING/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nv : vector\n The input vector to index.", + "long_description": "Inputs\n------\nv : vector\n The input vector to index.", + "short_description": "The VECTOR_INDEXING node returns the value of the vector at the requested index.", "parameters": [ { "name": "index", diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_INSERT/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_INSERT/a1-[autogen]/docstring.json index a9bb260f0c..e9a1aaeafe 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_INSERT/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_INSERT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "specified index.\n\nInputs\n------\nv : Vector\n The input vector to insert value.", + "long_description": "specified index.\n\nInputs\n------\nv : Vector\n The input vector to insert value.", + "short_description": "The VECTOR_INSERT node inserts a value to the Vector at the", "parameters": [ { "name": "element", diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_LENGTH/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_LENGTH/a1-[autogen]/docstring.json index f95ac246a4..4c67a765c6 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_LENGTH/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_LENGTH/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nv : vector\n The input vector to find the length of.", + "long_description": "Inputs\n------\nv : vector\n The input vector to find the length of.", + "short_description": "The VECTOR_LENGTH node returns the length of the input.", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MAX/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MAX/a1-[autogen]/docstring.json index ecb1cd3741..cfb1acb240 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MAX/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MAX/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nv : Vector\n The input vector to use max peration", + "long_description": "Inputs\n------\nv : Vector\n The input vector to use max peration", + "short_description": "The VECTOR_MAX node returns the maximum value from the Vector", "parameters": [], "returns": [ { diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/docstring.json index ecc3b9d45e..861f1b7dac 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/docstring.json @@ -1,6 +1,13 @@ { - "description": "Inputs\n------\nv : Vector\n The input vector to use min peration", - "parameters": [], + "long_description": null, + "short_description": "The VECTOR_MIN node returns the minimum value from the Vector", + "parameters": [ + { + "name": "v", + "type": "Vector", + "description": "The input vector to use min peration" + } + ], "returns": [ { "name": null, diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/docstring.txt b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/docstring.txt index d8033d9379..aad134f969 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/docstring.txt +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/docstring.txt @@ -1,7 +1,7 @@ The VECTOR_MIN node returns the minimum value from the Vector - Inputs - ------ + Parameters + ---------- v : Vector The input vector to use min peration diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/python_code.txt b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/python_code.txt index 56563e9a5c..cbbe682afa 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/python_code.txt +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_MIN/a1-[autogen]/python_code.txt @@ -1,5 +1,5 @@ import numpy as np -from flojoy import flojoy, Vector, Scalar +from flojoy import Scalar, Vector, flojoy @flojoy diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_SUBSET/a1-[autogen]/docstring.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_SUBSET/a1-[autogen]/docstring.json index d1d5e24718..6927db530b 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_SUBSET/a1-[autogen]/docstring.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/VECTOR_SUBSET/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nv : Vector\n The input vector to return subset of values from", + "long_description": "Inputs\n------\nv : Vector\n The input vector to return subset of values from", + "short_description": "The VECTOR_SUBSET node returns the subset of values from requested indices", "parameters": [ { "name": "indices", diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/docstring.json index 3611a62342..c1d649b8fa 100644 --- a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair | DataFrame | Matrix | Image\n the DataContainer to be visualized in array format", + "long_description": "Parameters\n------\ndefault : OrderedPair | DataFrame | Matrix | Image\n the DataContainer to be visualized in array format", + "short_description": "The ARRAY_VIEW node takes OrderedPair, DataFrame, Matrix, and Image DataContainer objects as input, and visualizes it in array format.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/docstring.txt b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/docstring.txt index 52102e2d0f..1b3eed627c 100644 --- a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/docstring.txt +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/docstring.txt @@ -1,6 +1,6 @@ The ARRAY_VIEW node takes OrderedPair, DataFrame, Matrix, and Image DataContainer objects as input, and visualizes it in array format. - Inputs + Parameters ------ default : OrderedPair | DataFrame | Matrix | Image the DataContainer to be visualized in array format diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/python_code.txt b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/python_code.txt index 007ed0a229..5340b7ec7f 100644 --- a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/python_code.txt +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/ARRAY_VIEW/a1-[autogen]/python_code.txt @@ -1,6 +1,6 @@ -from flojoy import flojoy, OrderedPair, DataFrame, Matrix, Image, Plotly -import plotly.graph_objects as go import numpy as np +import plotly.graph_objects as go +from flojoy import DataFrame, Image, Matrix, OrderedPair, Plotly, flojoy CELL_SIZE = 50 FONT_SIZE = 10 diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/MATRIX_VIEW/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/MATRIX_VIEW/a1-[autogen]/docstring.json index 20a16d5120..5f42a139f6 100644 --- a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/MATRIX_VIEW/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/MATRIX_VIEW/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair | Matrix\n the DataContainer to be visualized in matrix format.", + "long_description": "Inputs\n------\ndefault : OrderedPair | Matrix\n the DataContainer to be visualized in matrix format.", + "short_description": "The MATRIX_VIEW node takes a Matrix or OrderedPair DataContainer object as input, and visualizes it using a Plotly table in matrix format.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/docstring.json index e15454d5df..ff1ef3d573 100644 --- a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/docstring.json @@ -1,11 +1,18 @@ { - "description": "Inputs\n------\ndefault : TextBlob\n the DataContainer to be visualized in text format", - "parameters": [], + "long_description": "Inputs\n------\ndefault : TextBlob\n The DataContainer to be visualized in text format", + "short_description": "The TEXT_VIEW node creates a text visualization for a given TextBlob DataContainer type.", + "parameters": [ + { + "name": "prettify", + "type": "Boolean", + "description": "Whether to prettify the displayed text (defaults to True)" + } + ], "returns": [ { "name": null, "type": "TextBlob", - "description": "the DataContainer containing text data" + "description": "The DataContainer containing text data" } ] } \ No newline at end of file diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/docstring.txt b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/docstring.txt index 8db9cc3153..d091fba5f9 100644 --- a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/docstring.txt +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/docstring.txt @@ -3,9 +3,14 @@ The TEXT_VIEW node creates a text visualization for a given TextBlob DataContain Inputs ------ default : TextBlob - the DataContainer to be visualized in text format + The DataContainer to be visualized in text format + + Parameters + ---------- + prettify : Boolean + Whether to prettify the displayed text (defaults to True) Returns ------- TextBlob - the DataContainer containing text data + The DataContainer containing text data diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/python_code.txt b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/python_code.txt index 16cd9891c1..7b3dc82392 100644 --- a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/python_code.txt +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/a1-[autogen]/python_code.txt @@ -1,8 +1,14 @@ +import pprint from flojoy import flojoy, TextBlob @flojoy -def TEXT_VIEW(default: TextBlob): +def TEXT_VIEW(default: TextBlob, prettify: bool = False) -> TextBlob: - return default + s = default.text_blob + + if prettify: + s = pprint.pformat(default.text_blob) + + return TextBlob(s) diff --git a/docs/nodes/VISUALIZERS/PLOTLY/BAR/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/BAR/a1-[autogen]/docstring.json index 321028935a..7f138d9049 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/BAR/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/BAR/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized in a bar chart", + "long_description": "Inputs\n------\ndefault : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized in a bar chart", + "short_description": "The BAR node creates a Plotly Bar visualization for a given input DataContainer.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/PLOTLY/BIG_NUMBER/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/BIG_NUMBER/a1-[autogen]/docstring.json index d89d9f1451..c81ee648bb 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/BIG_NUMBER/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/BIG_NUMBER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|Scalar|Vector\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : OrderedPair|Scalar|Vector\n the DataContainer to be visualized", + "short_description": "The BIG_NUMBER node generates a Plotly figure, displaying a big number with an optional prefix and suffix.", "parameters": [ { "name": "relative_delta", diff --git a/docs/nodes/VISUALIZERS/PLOTLY/COMPOSITE/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/COMPOSITE/a1-[autogen]/docstring.json index 8254ebf3f2..6f642a4b44 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/COMPOSITE/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/COMPOSITE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\nprimary_trace : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized as the first figure\n\nsecondary_trace : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized as the second figure", + "long_description": "Inputs\n------\nprimary_trace : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized as the first figure\n\nsecondary_trace : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized as the second figure", + "short_description": "The COMPOSITE node creates a combination of Plotly visualizations for a given input data container.", "parameters": [ { "name": "first_figure", diff --git a/docs/nodes/VISUALIZERS/PLOTLY/HEATMAP/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/HEATMAP/a1-[autogen]/docstring.json index 93253b3b7f..6891655db9 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/HEATMAP/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/HEATMAP/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|OrderedTriple|DataFrame|Vector|Matrix|Grayscale\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : OrderedPair|OrderedTriple|DataFrame|Vector|Matrix|Grayscale\n the DataContainer to be visualized", + "short_description": "The HEATMAP node creates a Plotly Heatmap visualization for a given input DataContainer.", "parameters": [ { "name": "show_text", diff --git a/docs/nodes/VISUALIZERS/PLOTLY/HISTOGRAM/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/HISTOGRAM/a1-[autogen]/docstring.json index 43067d8c68..ba6426a26b 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/HISTOGRAM/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/HISTOGRAM/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized", + "short_description": "The HISTOGRAM node creates a Plotly Histogram visualization for a given input DataContainer.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/PLOTLY/IMAGE/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/IMAGE/a1-[autogen]/docstring.json index 91eef6e670..1dd0a0badd 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/IMAGE/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/IMAGE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : Image\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : Image\n the DataContainer to be visualized", + "short_description": "The IMAGE node creates a Plotly Image visualization for a given input DataContainer type of image.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/PLOTLY/LINE/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/LINE/a1-[autogen]/docstring.json index 746c43401f..812d43e467 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/LINE/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/LINE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized", + "short_description": "The LINE node creates a Plotly Line visualization for a given input DataContainer.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_COMPONENTS/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_COMPONENTS/a1-[autogen]/docstring.json index 6b0d81a7b0..10b43d7b45 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_COMPONENTS/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_COMPONENTS/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This is the output plotly graph from the 'plot_components_plotly' function from 'prophet.plot'.\nIt expects the trained Prophet model from the PROPHET_PREDICT node as input.\n\nIf 'run_forecast' was True in that node, the forecasted dataframe will be available as the 'm' attribute of the default input.\nOtherwise, this will make the predictions on the raw dataframe (in which case it will be the 'm' attribute of the default input).\n\nYou can tell if that forecasted dataframe is available via the 'extra' field of data input, 'run_forecast' (data.extra[\"run_forecast\"]).\n\nInputs\n------\ndefault : DataFrame\n the DataContainer to be visualized\n\ndata : DataContainer\n the DataContainer that holds prophet model and forecast data in the 'extra' field", + "long_description": "This is the output plotly graph from the 'plot_components_plotly' function from 'prophet.plot'.\nIt expects the trained Prophet model from the PROPHET_PREDICT node as input.\n\nIf 'run_forecast' was True in that node, the forecasted dataframe will be available as the 'm' attribute of the default input.\nOtherwise, this will make the predictions on the raw dataframe (in which case it will be the 'm' attribute of the default input).\n\nYou can tell if that forecasted dataframe is available via the 'extra' field of data input, 'run_forecast' (data.extra[\"run_forecast\"]).\n\nInputs\n------\ndefault : DataFrame\n the DataContainer to be visualized\n\ndata : DataContainer\n the DataContainer that holds prophet model and forecast data in the 'extra' field", + "short_description": "The PROPHET_COMPONENTS node plots the components of the prophet model trained in the PROPHET_PREDICT node.", "parameters": [ { "name": "periods", diff --git a/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_COMPONENTS/a1-[autogen]/python_code.txt b/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_COMPONENTS/a1-[autogen]/python_code.txt index fe06484623..b1292fcfdf 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_COMPONENTS/a1-[autogen]/python_code.txt +++ b/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_COMPONENTS/a1-[autogen]/python_code.txt @@ -4,7 +4,7 @@ from flojoy import flojoy, run_in_venv, DataFrame, Plotly @flojoy @run_in_venv( pip_dependencies=[ - "prophet==1.1.4", + "prophet==1.1.5", ] ) def PROPHET_COMPONENTS(default: DataFrame, periods: int = 365) -> Plotly: diff --git a/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_PLOT/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_PLOT/a1-[autogen]/docstring.json index a193f7f13c..3d4aa309c3 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_PLOT/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_PLOT/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "This is the output plotly graph from the 'plot_plotly' function from 'prophet.plot'.\nIt expects the trained Prophet model from the PROPHET_PREDICT node as input.\n\nIf 'run_forecast' was True in that node, the forecasted dataframe will be available as the 'm' attribute of the default input.\nOtherwise, this will make the predictions on the raw dataframe (in which case it will be the 'm' attribute of the default input).\n\nYou can tell if that forecasted dataframe is available via the 'extra' field of data input, 'run_forecast' (data.extra[\"run_forecast\"]).\n\nInputs\n------\ndefault : DataFrame\n the DataContainer to be visualized\n\ndata : DataContainer\n the DataContainer that holds the prophet model and forecast data in the 'extra' field", + "long_description": "This is the output plotly graph from the 'plot_plotly' function from 'prophet.plot'.\nIt expects the trained Prophet model from the PROPHET_PREDICT node as input.\n\nIf 'run_forecast' was True in that node, the forecasted dataframe will be available as the 'm' attribute of the default input.\nOtherwise, this will make the predictions on the raw dataframe (in which case it will be the 'm' attribute of the default input).\n\nYou can tell if that forecasted dataframe is available via the 'extra' field of data input, 'run_forecast' (data.extra[\"run_forecast\"]).\n\nInputs\n------\ndefault : DataFrame\n the DataContainer to be visualized\n\ndata : DataContainer\n the DataContainer that holds the prophet model and forecast data in the 'extra' field", + "short_description": "The PROPHET_PLOT node plots the forecasted trend of the time series data that was passed in.", "parameters": [ { "name": "periods", diff --git a/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_PLOT/a1-[autogen]/python_code.txt b/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_PLOT/a1-[autogen]/python_code.txt index ac73a36a76..b232e3a237 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_PLOT/a1-[autogen]/python_code.txt +++ b/docs/nodes/VISUALIZERS/PLOTLY/PROPHET_PLOT/a1-[autogen]/python_code.txt @@ -4,7 +4,7 @@ from flojoy import flojoy, run_in_venv, DataFrame, Plotly @flojoy @run_in_venv( pip_dependencies=[ - "prophet==1.1.4", + "prophet==1.1.5", ] ) def PROPHET_PLOT(default: DataFrame, periods: int = 365) -> Plotly: diff --git a/docs/nodes/VISUALIZERS/PLOTLY/SCATTER/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/SCATTER/a1-[autogen]/docstring.json index 7e54c42391..9c57b1402b 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/SCATTER/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/SCATTER/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : OrderedPair|DataFrame|Matrix|Vector\n the DataContainer to be visualized", + "short_description": "The SCATTER node creates a Plotly Scatter visualization for a given input DataContainer.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/PLOTLY/SCATTER3D/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/SCATTER3D/a1-[autogen]/docstring.json index 9a6381369f..62ae02c040 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/SCATTER3D/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/SCATTER3D/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedTriple|DataFrame\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : OrderedTriple|DataFrame\n the DataContainer to be visualized", + "short_description": "The SCATTER3D node creates a Plotly 3D Scatter visualization for a given input DataContainer.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/PLOTLY/SURFACE3D/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/SURFACE3D/a1-[autogen]/docstring.json index c5f8909e30..dc03b235c3 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/SURFACE3D/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/SURFACE3D/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedTriple|DataFrame|Surface|Matrix\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : OrderedTriple|DataFrame|Surface|Matrix\n the DataContainer to be visualized", + "short_description": "The SURFACE3D node creates a Plotly 3D Surface visualization for a given input DataContainer.", "parameters": [], "returns": [ { diff --git a/docs/nodes/VISUALIZERS/PLOTLY/TABLE/a1-[autogen]/docstring.json b/docs/nodes/VISUALIZERS/PLOTLY/TABLE/a1-[autogen]/docstring.json index e0d416e04d..c05795ff81 100644 --- a/docs/nodes/VISUALIZERS/PLOTLY/TABLE/a1-[autogen]/docstring.json +++ b/docs/nodes/VISUALIZERS/PLOTLY/TABLE/a1-[autogen]/docstring.json @@ -1,5 +1,6 @@ { - "description": "Inputs\n------\ndefault : OrderedTriple|OrderedPair|DataFrame|Vector|Scalar\n the DataContainer to be visualized", + "long_description": "Inputs\n------\ndefault : OrderedTriple|OrderedPair|DataFrame|Vector|Scalar\n the DataContainer to be visualized", + "short_description": "The TABLE node creates a Plotly Table visualization for a given input DataContainer.", "parameters": [], "returns": [ { diff --git a/nodeSidebar.json b/nodeSidebar.json index 1329656f26..d32841349a 100644 --- a/nodeSidebar.json +++ b/nodeSidebar.json @@ -133,6 +133,7 @@ "nodes/TRANSFORMERS/TYPE_CASTING/MATRIX_2_VECTOR/MATRIX_2_VECTOR", "nodes/TRANSFORMERS/TYPE_CASTING/MAT_2_DF/MAT_2_DF", "nodes/TRANSFORMERS/TYPE_CASTING/NP_2_DF/NP_2_DF", + "nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR", "nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_TRIPLE_2_SURFACE/ORDERED_TRIPLE_2_SURFACE", "nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_MATRIX/VECTOR_2_MATRIX", "nodes/TRANSFORMERS/TYPE_CASTING/VECTOR_2_ORDERED_PAIR/VECTOR_2_ORDERED_PAIR" @@ -162,18 +163,24 @@ "nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/OUTPUT_SYNC_33510B/OUTPUT_SYNC_33510B", "nodes/IO/INSTRUMENTS/FUNCTION_GENERATORS/KEYSIGHT/33XXX/BASIC/SET_WAVEFORM_33510B/SET_WAVEFORM_33510B" ], - "I/O > Microcontrollers": [ + "I/O > MOCK": [ + "nodes/IO/INSTRUMENTS/MOCK/WEINSCHEL8320/WEINSCHEL8320" + ], + "I/O > MicroControllers": [ "nodes/IO/MICROCONTROLLERS/ESP32/ESP32", "nodes/IO/MICROCONTROLLERS/RPI2040/RPI2040", "nodes/IO/MICROCONTROLLERS/STM32/STM32" ], "I/O > Motion > Motor Driver": [ - "nodes/IO/MOTION/MOTOR_DRIVER/BLDC/TINYMOVR/TINYMOVR_CALIBRATE", - "nodes/IO/MOTION/MOTOR_DRIVER/BLDC/TINYMOVR/TINYMOVR_SET_VOLTAGES", + "nodes/IO/MOTION/MOTOR_DRIVER/BLDC/LINENGINEERING/LINENGINEERING", + "nodes/IO/MOTION/MOTOR_DRIVER/BLDC/TINYMOVR/TINYMOVR", + "nodes/IO/MOTION/MOTOR_DRIVER/SERVO/TINYMOVR2/TINYMOVR2", + "nodes/IO/MOTION/MOTOR_DRIVER/STEPPER/ADAFRUIT/ADAFRUIT", "nodes/IO/MOTION/MOTOR_DRIVER/STEPPER/POLULU/TIC/TIC", - "nodes/IO/MOTION/MOTOR_DRIVER/STEPPER/POLULU/TIC_KNOB/TIC_KNOB" + "nodes/IO/MOTION/MOTOR_DRIVER/STEPPER/POLULU/TIC_KNOB/TIC_KNOB", + "nodes/IO/MOTION/MOTOR_DRIVER/STEPPER/ZABER/ZABER" ], - "I/O > Oscilloscopes > Tektronix": [ + "I/O > Oscilloscopes": [ "nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/ADVANCED_MEASUREMENTS_MDO3XXX/ADVANCED_MEASUREMENTS_MDO3XXX", "nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/ADVANCED/TRIGGER_SETTINGS_MDO3XXX/TRIGGER_SETTINGS_MDO3XXX", "nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/CONNECTION_MDO3XXX/CONNECTION_MDO3XXX", @@ -184,16 +191,31 @@ "nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_CHANNEL_MDO3XXX/TRIGGER_CHANNEL_MDO3XXX", "nodes/IO/INSTRUMENTS/OSCILLOSCOPES/TEKTRONIX/MDO3XXX/BASIC/TRIGGER_LEVEL_MDO3XXX/TRIGGER_LEVEL_MDO3XXX" ], - "I/O > Protocols > SCPI": [ + "I/O > Protocols": [ + "nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/CAN_MESSAGE", + "nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/PROLOGIX_ADDR", + "nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/PROLOGIX_AUTO", + "nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/PROLOGIX_HELP", + "nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/PROLOGIX_MODE", + "nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/PROLOGIX_VER", "nodes/IO/PROTOCOLS/SCPI/IDN/IDN", - "nodes/IO/PROTOCOLS/SCPI/MEASURE_VOLTAGE/MEASURE_VOLTAGE" - ], - "I/O > Protocols > Serial": [ + "nodes/IO/PROTOCOLS/SCPI/MEASURE_VOLTAGE/MEASURE_VOLTAGE", + "nodes/IO/PROTOCOLS/SCPI/SCPI_WRITE/SCPI_WRITE", "nodes/IO/PROTOCOLS/SERIAL/BASIC/OPEN_SERIAL/OPEN_SERIAL", "nodes/IO/PROTOCOLS/SERIAL/BASIC/SERIAL_SINGLE_MEASUREMENT/SERIAL_SINGLE_MEASUREMENT", - "nodes/IO/PROTOCOLS/SERIAL/BASIC/SERIAL_TIMESERIES/SERIAL_TIMESERIES" - ], - "I/O > Sourcemeters": [ + "nodes/IO/PROTOCOLS/SERIAL/BASIC/SERIAL_TIMESERIES/SERIAL_TIMESERIES", + "nodes/IO/PROTOCOLS/SERIAL/OPEN_SERIAL/OPEN_SERIAL", + "nodes/IO/PROTOCOLS/SERIAL/SERIAL_SINGLE_MEASUREMENT/SERIAL_SINGLE_MEASUREMENT", + "nodes/IO/PROTOCOLS/SERIAL/SERIAL_TIMESERIES/SERIAL_TIMESERIES", + "nodes/IO/PROTOCOLS/SERIAL/SINGLE_MEASUREMENT/SINGLE_MEASUREMENT", + "nodes/IO/PROTOCOLS/VISA/VISA" + ], + "I/O > QCODES": [ + "nodes/IO/INSTRUMENTS/QCODES/CLOSE_ALL/CLOSE_ALL", + "nodes/IO/INSTRUMENTS/QCODES/LIST_VISA/LIST_VISA", + "nodes/IO/INSTRUMENTS/QCODES/VISA_IDENTITY/VISA_IDENTITY" + ], + "I/O > SourceMeters": [ "nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/IV_SWEEP/IV_SWEEP", "nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/OPEN_KEITHLEY_24XX/OPEN_KEITHLEY_24XX", "nodes/IO/INSTRUMENTS/SOURCEMETERS/KEITHLEY/24XX/BASIC/SET_VOLTAGE/SET_VOLTAGE" From ddf2c760d0cb94222b1b0c7c7b30ca30a989e3ff Mon Sep 17 00:00:00 2001 From: dstrande Date: Tue, 24 Oct 2023 14:03:20 +0000 Subject: [PATCH 2/4] update: Update TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR.py --- .../CONNECTION_FSV/a1-[autogen]/docstring.txt | 2 +- .../EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt | 4 ++-- .../PEAK_DETECTION/a1-[autogen]/docstring.txt | 15 ++++++--------- .../a1-[autogen]/docstring.txt | 7 ++++--- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/CONNECTION_FSV/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/CONNECTION_FSV/a1-[autogen]/docstring.txt index 3ad338729c..ca3d443e82 100644 --- a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/CONNECTION_FSV/a1-[autogen]/docstring.txt +++ b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/CONNECTION_FSV/a1-[autogen]/docstring.txt @@ -12,4 +12,4 @@ The CONNECTION_FSV node connects Flojoy to a FSV network analyzer. Returns ------- DataContainer - Optional: None + None diff --git a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt index 6610d53332..37fa618daa 100644 --- a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt +++ b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/EXTRACT_SWEEP_FSV/a1-[autogen]/docstring.txt @@ -12,5 +12,5 @@ The EXTRACT_SWEEP_FSV node extracts the sweep trace from a FSV network analyzer. Returns ------- - DataContainer - OrderedPair: The sweep trace from the FSV is returned. + OrderedPair + The sweep trace from the FSV is returned. diff --git a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PEAK_DETECTION/a1-[autogen]/docstring.txt b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PEAK_DETECTION/a1-[autogen]/docstring.txt index 162f99b163..aec567822b 100644 --- a/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PEAK_DETECTION/a1-[autogen]/docstring.txt +++ b/docs/nodes/TRANSFORMERS/SIGNAL_PROCESSING/PEAK_DETECTION/a1-[autogen]/docstring.txt @@ -39,12 +39,9 @@ The PEAK_DETECTION node finds peaks based on peak properties. Returns ------- - TypedDict: - heights: - OrderedPair - x: x axis location for peaks - y: peak heights - widths: - OrderedPair - x: x axis location for peaks - y: peak widths + heights : OrderedPair + x: x axis location for peaks + y: peak heights + widths : OrderedPair + x: x axis location for peaks + y: peak widths diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.txt b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.txt index b94b500218..55d3b54d7f 100644 --- a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.txt +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/a1-[autogen]/docstring.txt @@ -7,6 +7,7 @@ The ORDERED_PAIR_2_VECTOR return the split components of an ordered pair as Vect Returns ------- - TypedDict: - x: Vector from input x - y: Vector from input y + x : Vector + Vector from input x + y : Vector + Vector from input y From 91b7f09a5062a1d3653f90582833ef4d4c909698 Mon Sep 17 00:00:00 2001 From: dstrande Date: Tue, 24 Oct 2023 14:03:31 +0000 Subject: [PATCH 3/4] update: Merge branch 'develop' into dallas/nod-86-rs-fsv-signal-analyzer-initial-nodes --- .../ONNX_MODEL/examples/EX1/app.json | 66 +++++ .../examples/EX1/example.md | 0 .../examples/EX1/example.md | 0 .../CAN_MESSAGE/examples/EX1/example.md | 0 .../PROLOGIX_ADDR/examples/EX1/example.md | 0 .../PROLOGIX_AUTO/examples/EX1/example.md | 0 .../PROLOGIX_HELP/examples/EX1/example.md | 0 .../PROLOGIX_MODE/examples/EX1/example.md | 0 .../PROLOGIX_VER/examples/EX1/example.md | 0 .../examples/EX1/app.json | 268 ++++++++++++++++++ .../examples/EX1/example.md | 1 + .../examples/EX1/app.json | 189 ++++++------ .../TEXT_VIEW/examples/EX1/app.json | 127 +++++++++ .../TEXT_VIEW/examples/EX1/example.md | 1 + 14 files changed, 558 insertions(+), 94 deletions(-) create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/examples/EX1/example.md create mode 100644 docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/examples/EX1/example.md create mode 100644 docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/examples/EX1/example.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/examples/EX1/example.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/examples/EX1/example.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/examples/EX1/example.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/examples/EX1/example.md create mode 100644 docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/examples/EX1/example.md create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/examples/EX1/app.json create mode 100644 docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/examples/EX1/example.md create mode 100644 docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/examples/EX1/app.json create mode 100644 docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/examples/EX1/example.md diff --git a/docs/nodes/AI_ML/LOAD_MODEL/ONNX_MODEL/examples/EX1/app.json b/docs/nodes/AI_ML/LOAD_MODEL/ONNX_MODEL/examples/EX1/app.json index e69de29bb2..a6ffcdcb15 100644 --- a/docs/nodes/AI_ML/LOAD_MODEL/ONNX_MODEL/examples/EX1/app.json +++ b/docs/nodes/AI_ML/LOAD_MODEL/ONNX_MODEL/examples/EX1/app.json @@ -0,0 +1,66 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 208, + "height": 96, + "id": "ONNX_MODEL-3bfae6ce-ad2f-4d4d-8342-96d824eb7380", + "type": "AI_ML", + "data": { + "id": "ONNX_MODEL-3bfae6ce-ad2f-4d4d-8342-96d824eb7380", + "label": "ONNX MODEL", + "func": "ONNX_MODEL", + "type": "AI_ML", + "ctrls": { + "file_path": { + "type": "str", + "default": null, + "desc": "Path to a ONNX model to load and use for prediction.", + "overload": null, + "functionName": "ONNX_MODEL", + "param": "file_path", + "value": "" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "multiple": false, + "desc": "The input tensor to use for prediction.\nFor now, only a single input tensor is supported.\nNote that the input tensor shape is not checked against the model's input shape." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "desc": "The predictions made by the ONNX model.\nFor now, only a single output tensor is supported." + } + ], + "path": "AI_ML/LOAD_MODEL/ONNX_MODEL/ONNX_MODEL.py", + "selected": true + }, + "position": { + "x": -171.967500985471, + "y": -191.24623740170063 + }, + "selected": true, + "positionAbsolute": { + "x": -171.967500985471, + "y": -191.24623740170063 + }, + "dragging": true + } + ], + "edges": [], + "viewport": { + "x": 669.537650867023, + "y": 395.1114317341454, + "zoom": 0.7467072297113905 + } + }, + "textNodes": [] +} \ No newline at end of file diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/examples/EX1/example.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_CALIBRATE/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/examples/EX1/example.md b/docs/nodes/IO/MOTION/MOTOR_DRIVERS/BLDC/TINYMOVR/TINYMOVR_SET_VELOCITY/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/examples/EX1/example.md b/docs/nodes/IO/PROTOCOLS/CAN/CANABLE/CAN_MESSAGE/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/examples/EX1/example.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_ADDR/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/examples/EX1/example.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_AUTO/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/examples/EX1/example.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_HELP/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/examples/EX1/example.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_MODE/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/examples/EX1/example.md b/docs/nodes/IO/PROTOCOLS/GPIB/PROLOGIX/PROLOGIX_VER/examples/EX1/example.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/examples/EX1/app.json b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/examples/EX1/app.json new file mode 100644 index 0000000000..5675dfa515 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/examples/EX1/app.json @@ -0,0 +1,268 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 160, + "height": 160, + "id": "ORDERED_PAIR_2_VECTOR-c10210e9-69d0-44f0-b613-a8ea354afa0c", + "type": "TRANSFORMERS", + "data": { + "id": "ORDERED_PAIR_2_VECTOR-c10210e9-69d0-44f0-b613-a8ea354afa0c", + "label": "ORDERED PAIR 2 VECTOR", + "func": "ORDERED_PAIR_2_VECTOR", + "type": "TRANSFORMERS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "multiple": false, + "desc": "The input OrderedPair." + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "desc": "The y component of the input OrderedPair." + } + ], + "path": "TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/ORDERED_PAIR_2_VECTOR.py", + "selected": false + }, + "position": { + "x": 214.78179204004073, + "y": -369.7193661288119 + }, + "selected": false, + "positionAbsolute": { + "x": 214.78179204004073, + "y": -369.7193661288119 + }, + "dragging": true + }, + { + "width": 210, + "height": 96, + "id": "BASIC_OSCILLATOR-3628dfa0-a669-47d8-b5e8-f5a5b59784c7", + "type": "GENERATORS", + "data": { + "id": "BASIC_OSCILLATOR-3628dfa0-a669-47d8-b5e8-f5a5b59784c7", + "label": "BASIC OSCILLATOR", + "func": "BASIC_OSCILLATOR", + "type": "GENERATORS", + "ctrls": { + "sample_rate": { + "type": "int", + "default": 100, + "desc": "The number of samples that are taken in a second.", + "overload": null, + "functionName": "BASIC_OSCILLATOR", + "param": "sample_rate", + "value": 100 + }, + "time": { + "type": "int", + "default": 10, + "desc": "The total amount of time of the signal.", + "overload": null, + "functionName": "BASIC_OSCILLATOR", + "param": "time", + "value": 10 + }, + "waveform": { + "type": "select", + "options": [ + "sine", + "square", + "triangle", + "sawtooth" + ], + "default": "sine", + "desc": "The waveform type of the wave.", + "overload": null, + "functionName": "BASIC_OSCILLATOR", + "param": "waveform", + "value": "sine" + }, + "amplitude": { + "type": "float", + "default": 1, + "desc": "The amplitude of the wave.", + "overload": null, + "functionName": "BASIC_OSCILLATOR", + "param": "amplitude", + "value": 1 + }, + "frequency": { + "type": "float", + "default": 1, + "desc": "The wave frequency in radians/2pi.", + "overload": null, + "functionName": "BASIC_OSCILLATOR", + "param": "frequency", + "value": 1 + }, + "offset": { + "type": "float", + "default": 0, + "desc": "The y axis offset of the function.", + "overload": null, + "functionName": "BASIC_OSCILLATOR", + "param": "offset", + "value": 0 + }, + "phase": { + "type": "float", + "default": 0, + "desc": "The x axis offset of the function.", + "overload": null, + "functionName": "BASIC_OSCILLATOR", + "param": "phase", + "value": 0 + } + }, + "initCtrls": {}, + "outputs": [ + { + "name": "default", + "id": "default", + "type": "OrderedPair", + "desc": "x: time domain\ny: generated signal" + } + ], + "path": "GENERATORS/SIMULATIONS/BASIC_OSCILLATOR/BASIC_OSCILLATOR.py", + "selected": false + }, + "position": { + "x": -210.40356762356083, + "y": -179.79995261900876 + }, + "selected": false, + "positionAbsolute": { + "x": -210.40356762356083, + "y": -179.79995261900876 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "LINE-33d02eb7-3b80-49ef-a656-c34fcfff376f", + "type": "VISUALIZERS", + "data": { + "id": "LINE-33d02eb7-3b80-49ef-a656-c34fcfff376f", + "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": 503.42876385112095, + "y": -424.45007551086866 + }, + "selected": false, + "positionAbsolute": { + "x": 503.42876385112095, + "y": -424.45007551086866 + }, + "dragging": true + }, + { + "width": 380, + "height": 293, + "id": "LINE-4d00a933-6e2b-4a7f-a845-f743b2c0cf90", + "type": "VISUALIZERS", + "data": { + "id": "LINE-4d00a933-6e2b-4a7f-a845-f743b2c0cf90", + "label": "LINE 1", + "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": 493.4564315840414, + "y": -98.33329107507114 + }, + "selected": false, + "positionAbsolute": { + "x": 493.4564315840414, + "y": -98.33329107507114 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "BASIC_OSCILLATOR-3628dfa0-a669-47d8-b5e8-f5a5b59784c7", + "sourceHandle": "default", + "target": "ORDERED_PAIR_2_VECTOR-c10210e9-69d0-44f0-b613-a8ea354afa0c", + "targetHandle": "default", + "id": "reactflow__edge-BASIC_OSCILLATOR-3628dfa0-a669-47d8-b5e8-f5a5b59784c7default-ORDERED_PAIR_2_VECTOR-c10210e9-69d0-44f0-b613-a8ea354afa0cdefault" + }, + { + "source": "ORDERED_PAIR_2_VECTOR-c10210e9-69d0-44f0-b613-a8ea354afa0c", + "sourceHandle": "default", + "target": "LINE-33d02eb7-3b80-49ef-a656-c34fcfff376f", + "targetHandle": "default", + "id": "reactflow__edge-ORDERED_PAIR_2_VECTOR-c10210e9-69d0-44f0-b613-a8ea354afa0cdefault-LINE-33d02eb7-3b80-49ef-a656-c34fcfff376fdefault" + }, + { + "source": "BASIC_OSCILLATOR-3628dfa0-a669-47d8-b5e8-f5a5b59784c7", + "sourceHandle": "default", + "target": "LINE-4d00a933-6e2b-4a7f-a845-f743b2c0cf90", + "targetHandle": "default", + "id": "reactflow__edge-BASIC_OSCILLATOR-3628dfa0-a669-47d8-b5e8-f5a5b59784c7default-LINE-4d00a933-6e2b-4a7f-a845-f743b2c0cf90default" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + }, + "textNodes": [] +} \ No newline at end of file diff --git a/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/examples/EX1/example.md b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/examples/EX1/example.md new file mode 100644 index 0000000000..92b0f40a17 --- /dev/null +++ b/docs/nodes/TRANSFORMERS/TYPE_CASTING/ORDERED_PAIR_2_VECTOR/examples/EX1/example.md @@ -0,0 +1 @@ +This example shows the function of the ORDERED_PAIR_2_VECTOR node. It changes an `Ordered Pair` into a `Vector`. Specifcally, the x axis is removed and the y axis is used as the vector. \ No newline at end of file diff --git a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/examples/EX1/app.json b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/examples/EX1/app.json index 3b652cde04..9d665c0946 100644 --- a/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/examples/EX1/app.json +++ b/docs/nodes/TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/examples/EX1/app.json @@ -1,13 +1,56 @@ { "rfInstance": { "nodes": [ + { + "width": 210, + "height": 160, + "id": "REMOVE_DUPLICATES_VECTOR-2dc7e5fa-76f8-4bd7-8f5e-5ab884b4e548", + "type": "TRANSFORMERS", + "data": { + "id": "REMOVE_DUPLICATES_VECTOR-2dc7e5fa-76f8-4bd7-8f5e-5ab884b4e548", + "label": "REMOVE DUPLICATES VECTOR", + "func": "REMOVE_DUPLICATES_VECTOR", + "type": "TRANSFORMERS", + "ctrls": {}, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "multiple": false, + "desc": "The input vector" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "Vector", + "desc": "Unique input vector" + } + ], + "path": "TRANSFORMERS/VECTOR_MANIPULATION/REMOVE_DUPLICATES_VECTOR/REMOVE_DUPLICATES_VECTOR.py", + "selected": false + }, + "position": { + "x": 385.1308853076589, + "y": -386.2194900131423 + }, + "selected": false, + "positionAbsolute": { + "x": 385.1308853076589, + "y": -386.2194900131423 + }, + "dragging": true + }, { "width": 208, "height": 96, - "id": "LINSPACE-6f1e7e4a-06d1-4022-b1c3-213e27591fc0", + "id": "LINSPACE-918dcb2e-4df9-4c12-ae22-d66420a57ccd", "type": "GENERATORS", "data": { - "id": "LINSPACE-6f1e7e4a-06d1-4022-b1c3-213e27591fc0", + "id": "LINSPACE-918dcb2e-4df9-4c12-ae22-d66420a57ccd", "label": "LINSPACE", "func": "LINSPACE", "type": "GENERATORS", @@ -19,7 +62,7 @@ "overload": null, "functionName": "LINSPACE", "param": "start", - "value": 10 + "value": 1 }, "end": { "type": "float", @@ -28,7 +71,7 @@ "overload": null, "functionName": "LINSPACE", "param": "end", - "value": 0 + "value": 1 }, "step": { "type": "int", @@ -37,7 +80,7 @@ "overload": null, "functionName": "LINSPACE", "param": "step", - "value": 1000 + "value": 2 } }, "initCtrls": {}, @@ -55,32 +98,32 @@ "name": "default", "id": "default", "type": "Vector", - "desc": "v: the vector between start and end with step number of points." + "desc": "v: the vector between 'start' and 'end' with a 'step' number of points." } ], "path": "GENERATORS/SIMULATIONS/LINSPACE/LINSPACE.py", - "selected": true + "selected": false }, "position": { - "x": -308.5544867125113, - "y": -191.8832935983337 + "x": -14.802497609729897, + "y": -240.34080096619357 }, - "selected": true, + "selected": false, "positionAbsolute": { - "x": -308.5544867125113, - "y": -191.8832935983337 + "x": -14.802497609729897, + "y": -240.34080096619357 }, "dragging": true }, { - "width": 225, - "height": 226, - "id": "LINE-aba31de1-3e7a-4d93-ae7c-58abc570a66d", + "width": 380, + "height": 293, + "id": "TABLE-68833dbd-50e6-463f-b256-02a74ce2536e", "type": "VISUALIZERS", "data": { - "id": "LINE-aba31de1-3e7a-4d93-ae7c-58abc570a66d", - "label": "LINE", - "func": "LINE", + "id": "TABLE-68833dbd-50e6-463f-b256-02a74ce2536e", + "label": "TABLE", + "func": "TABLE", "type": "VISUALIZERS", "ctrls": {}, "initCtrls": {}, @@ -88,7 +131,7 @@ { "name": "default", "id": "default", - "type": "OrderedPair|DataFrame|Matrix|Vector", + "type": "OrderedTriple|OrderedPair|DataFrame|Vector", "multiple": false, "desc": "the DataContainer to be visualized" } @@ -98,32 +141,32 @@ "name": "default", "id": "default", "type": "Plotly", - "desc": "the DataContainer containing Plotly Line visualization of the input data" + "desc": "the DataContainer containing the Plotly Table visualization" } ], - "path": "VISUALIZERS/PLOTLY/LINE/LINE.py", + "path": "VISUALIZERS/PLOTLY/TABLE/TABLE.py", "selected": false }, "position": { - "x": 407.2235125479349, - "y": -122.52472165388653 + "x": 742.7447724811083, + "y": -403.6761901373129 }, "selected": false, "positionAbsolute": { - "x": 407.2235125479349, - "y": -122.52472165388653 + "x": 742.7447724811083, + "y": -403.6761901373129 }, "dragging": true }, { - "width": 225, - "height": 226, - "id": "LINE-8723415f-a2db-4e46-b21b-9b1b72206821", + "width": 380, + "height": 293, + "id": "TABLE-52710f78-5ae1-48fa-9db0-c78dabdfa965", "type": "VISUALIZERS", "data": { - "id": "LINE-8723415f-a2db-4e46-b21b-9b1b72206821", - "label": "LINE 1", - "func": "LINE", + "id": "TABLE-52710f78-5ae1-48fa-9db0-c78dabdfa965", + "label": "TABLE 1", + "func": "TABLE", "type": "VISUALIZERS", "ctrls": {}, "initCtrls": {}, @@ -131,7 +174,7 @@ { "name": "default", "id": "default", - "type": "OrderedPair|DataFrame|Matrix|Vector", + "type": "OrderedTriple|OrderedPair|DataFrame|Vector", "multiple": false, "desc": "the DataContainer to be visualized" } @@ -141,94 +184,52 @@ "name": "default", "id": "default", "type": "Plotly", - "desc": "the DataContainer containing Plotly Line visualization of the input data" - } - ], - "path": "VISUALIZERS/PLOTLY/LINE/LINE.py", - "selected": false - }, - "position": { - "x": 66.85666244496021, - "y": -417.3599452198301 - }, - "selected": false, - "positionAbsolute": { - "x": 66.85666244496021, - "y": -417.3599452198301 - }, - "dragging": true - }, - { - "width": 160, - "height": 160, - "id": "REVERSE_VECTOR-faee7c80-8640-465e-8f57-584d8021439f", - "type": "TRANSFORMERS", - "data": { - "id": "REVERSE_VECTOR-faee7c80-8640-465e-8f57-584d8021439f", - "label": "REVERSE VECTOR", - "func": "REVERSE_VECTOR", - "type": "TRANSFORMERS", - "ctrls": {}, - "initCtrls": {}, - "inputs": [ - { - "name": "default", - "id": "default", - "type": "Vector", - "multiple": false, - "desc": null - } - ], - "outputs": [ - { - "name": "default", - "id": "default", - "type": "Vector", - "desc": "Reversed input vector" + "desc": "the DataContainer containing the Plotly Table visualization" } ], - "path": "TRANSFORMERS/VECTOR_MANIPULATION/REVERSE_VECTOR/REVERSE_VECTOR.py", + "path": "VISUALIZERS/PLOTLY/TABLE/TABLE.py", "selected": false }, "position": { - "x": 85.8239507676396, - "y": -76.84429008650511 + "x": 756.4811434180353, + "y": -156.6021619445738 }, "selected": false, "positionAbsolute": { - "x": 85.8239507676396, - "y": -76.84429008650511 + "x": 756.4811434180353, + "y": -156.6021619445738 }, "dragging": true } ], "edges": [ { - "source": "LINSPACE-6f1e7e4a-06d1-4022-b1c3-213e27591fc0", + "source": "LINSPACE-918dcb2e-4df9-4c12-ae22-d66420a57ccd", "sourceHandle": "default", - "target": "REVERSE_VECTOR-faee7c80-8640-465e-8f57-584d8021439f", + "target": "REMOVE_DUPLICATES_VECTOR-2dc7e5fa-76f8-4bd7-8f5e-5ab884b4e548", "targetHandle": "default", - "id": "reactflow__edge-LINSPACE-6f1e7e4a-06d1-4022-b1c3-213e27591fc0default-REVERSE_VECTOR-faee7c80-8640-465e-8f57-584d8021439fdefault" + "id": "reactflow__edge-LINSPACE-918dcb2e-4df9-4c12-ae22-d66420a57ccddefault-REMOVE_DUPLICATES_VECTOR-2dc7e5fa-76f8-4bd7-8f5e-5ab884b4e548default" }, { - "source": "REVERSE_VECTOR-faee7c80-8640-465e-8f57-584d8021439f", + "source": "REMOVE_DUPLICATES_VECTOR-2dc7e5fa-76f8-4bd7-8f5e-5ab884b4e548", "sourceHandle": "default", - "target": "LINE-aba31de1-3e7a-4d93-ae7c-58abc570a66d", + "target": "TABLE-68833dbd-50e6-463f-b256-02a74ce2536e", "targetHandle": "default", - "id": "reactflow__edge-REVERSE_VECTOR-faee7c80-8640-465e-8f57-584d8021439fdefault-LINE-aba31de1-3e7a-4d93-ae7c-58abc570a66ddefault" + "id": "reactflow__edge-REMOVE_DUPLICATES_VECTOR-2dc7e5fa-76f8-4bd7-8f5e-5ab884b4e548default-TABLE-68833dbd-50e6-463f-b256-02a74ce2536edefault" }, { - "source": "LINSPACE-6f1e7e4a-06d1-4022-b1c3-213e27591fc0", + "source": "LINSPACE-918dcb2e-4df9-4c12-ae22-d66420a57ccd", "sourceHandle": "default", - "target": "LINE-8723415f-a2db-4e46-b21b-9b1b72206821", + "target": "TABLE-52710f78-5ae1-48fa-9db0-c78dabdfa965", "targetHandle": "default", - "id": "reactflow__edge-LINSPACE-6f1e7e4a-06d1-4022-b1c3-213e27591fc0default-LINE-8723415f-a2db-4e46-b21b-9b1b72206821default" + "id": "reactflow__edge-LINSPACE-918dcb2e-4df9-4c12-ae22-d66420a57ccddefault-TABLE-52710f78-5ae1-48fa-9db0-c78dabdfa965default" } ], "viewport": { - "x": 856.9726609784543, - "y": 419.56285211681103, - "zoom": 0.8897660042407147 + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 } - } + }, + "textNodes": [] } \ No newline at end of file diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/examples/EX1/app.json b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/examples/EX1/app.json new file mode 100644 index 0000000000..f4a52691d6 --- /dev/null +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/examples/EX1/app.json @@ -0,0 +1,127 @@ +{ + "rfInstance": { + "nodes": [ + { + "width": 384, + "height": 288, + "id": "TEXT_VIEW-fc6c9a05-3e3e-4f61-9351-3b64f52bcfc0", + "type": "VISUALIZERS", + "data": { + "id": "TEXT_VIEW-fc6c9a05-3e3e-4f61-9351-3b64f52bcfc0", + "label": "TEXT VIEW", + "func": "TEXT_VIEW", + "type": "VISUALIZERS", + "ctrls": { + "prettify": { + "type": "bool", + "default": false, + "desc": "Whether to prettify the displayed text (defaults to True)", + "overload": null, + "functionName": "TEXT_VIEW", + "param": "prettify", + "value": false + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "multiple": false, + "desc": "The DataContainer to be visualized in text format" + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "The DataContainer containing text data" + } + ], + "path": "VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/TEXT_VIEW.py", + "selected": false + }, + "position": { + "x": 463.3677890496858, + "y": -229.02802516208934 + }, + "selected": false, + "positionAbsolute": { + "x": 463.3677890496858, + "y": -229.02802516208934 + }, + "dragging": true + }, + { + "width": 208, + "height": 96, + "id": "TEXT-ec6fae44-eb6f-49f0-b17e-afe52755d300", + "type": "GENERATORS", + "data": { + "id": "TEXT-ec6fae44-eb6f-49f0-b17e-afe52755d300", + "label": "TEXT", + "func": "TEXT", + "type": "GENERATORS", + "ctrls": { + "value": { + "type": "str", + "default": "Hello World!", + "desc": "The value set in Parameters.", + "overload": null, + "functionName": "TEXT", + "param": "value", + "value": "Hello World!" + } + }, + "initCtrls": {}, + "inputs": [ + { + "name": "_", + "id": "_", + "type": "Any", + "multiple": false, + "desc": null + } + ], + "outputs": [ + { + "name": "default", + "id": "default", + "type": "TextBlob", + "desc": "Return the value being set in Parameters." + } + ], + "path": "GENERATORS/SIMULATIONS/TEXT/TEXT.py", + "selected": false + }, + "position": { + "x": 49.74581079737183, + "y": -137.4954163594541 + }, + "selected": false, + "positionAbsolute": { + "x": 49.74581079737183, + "y": -137.4954163594541 + }, + "dragging": true + } + ], + "edges": [ + { + "source": "TEXT-ec6fae44-eb6f-49f0-b17e-afe52755d300", + "sourceHandle": "default", + "target": "TEXT_VIEW-fc6c9a05-3e3e-4f61-9351-3b64f52bcfc0", + "targetHandle": "default", + "id": "reactflow__edge-TEXT-ec6fae44-eb6f-49f0-b17e-afe52755d300default-TEXT_VIEW-fc6c9a05-3e3e-4f61-9351-3b64f52bcfc0default" + } + ], + "viewport": { + "x": 1139.470292881633, + "y": 572.2854272048312, + "zoom": 1.2136444284334926 + } + }, + "textNodes": [] +} \ No newline at end of file diff --git a/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/examples/EX1/example.md b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/examples/EX1/example.md new file mode 100644 index 0000000000..48423cb5af --- /dev/null +++ b/docs/nodes/VISUALIZERS/DATA_STRUCTURE/TEXT_VIEW/examples/EX1/example.md @@ -0,0 +1 @@ +This example shows the function of the `TEXT_VIEW` node. It print `TEXT_BLOB` data type such as from the `TEXT` node. \ No newline at end of file From 0507e0e7912485d5a420445f48790c94df43f4d3 Mon Sep 17 00:00:00 2001 From: dstrande Date: Tue, 24 Oct 2023 14:30:59 +0000 Subject: [PATCH 4/4] update: Update IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/SWEEP_SETTINGS_FSV.py --- .../FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt | 4 ++-- .../FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt index 6dccc85905..f7177d2611 100644 --- a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt +++ b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/INIT_SWEEP_FSV/a1-[autogen]/docstring.txt @@ -16,5 +16,5 @@ The INIT_SWEEP_FSV node starts the sweep for the FSV. Returns ------- - DataContainer - TextBlob: Display and sweep settings. + TextBlob + Display and sweep settings. diff --git a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt index 79b167bd07..0d10e1a96e 100644 --- a/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt +++ b/docs/nodes/IO/INSTRUMENTS/SIGNAL_ANALYZERS/ROHDE_SCHWARZ/FSV/BASIC/SWEEP_SETTINGS_FSV/a1-[autogen]/docstring.txt @@ -31,5 +31,5 @@ The SWEEP_SETTINGS_FSV node sets sweep settings for a FSV. Returns ------- - DataContainer - TextBlob: Sweep settings summary. + TextBlob + Sweep settings summary.