From 944786565f74dab5b8d7a5b70b1817777167625e Mon Sep 17 00:00:00 2001 From: manduchi Date: Thu, 10 Mar 2022 12:39:42 +0100 Subject: [PATCH 1/4] Added MARTe2 DTT Devices --- .../main/java/MARTE2_SIMULINK_DTTSetup.java | 94 ++++++++++++ .../java/MARTE2_SIMULINK_DTT_PCSSetup.java | 77 ++++++++++ .../resources/MARTE2_SIMULINK_DTTSetup.form | 144 ++++++++++++++++++ .../MARTE2_SIMULINK_DTT_PCSSetup.form | 110 +++++++++++++ pydevices/RfxDevices/MARTE2_SIMULINK_DTT.py | 31 ++++ .../RfxDevices/MARTE2_SIMULINK_DTT_PCS.py | 31 ++++ 6 files changed, 487 insertions(+) create mode 100644 java/jdevices/src/main/java/MARTE2_SIMULINK_DTTSetup.java create mode 100644 java/jdevices/src/main/java/MARTE2_SIMULINK_DTT_PCSSetup.java create mode 100644 java/jdevices/src/main/resources/MARTE2_SIMULINK_DTTSetup.form create mode 100644 java/jdevices/src/main/resources/MARTE2_SIMULINK_DTT_PCSSetup.form create mode 100644 pydevices/RfxDevices/MARTE2_SIMULINK_DTT.py create mode 100644 pydevices/RfxDevices/MARTE2_SIMULINK_DTT_PCS.py diff --git a/java/jdevices/src/main/java/MARTE2_SIMULINK_DTTSetup.java b/java/jdevices/src/main/java/MARTE2_SIMULINK_DTTSetup.java new file mode 100644 index 0000000000..dfff1af1fe --- /dev/null +++ b/java/jdevices/src/main/java/MARTE2_SIMULINK_DTTSetup.java @@ -0,0 +1,94 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author mdsplus + */ +public class MARTE2_SIMULINK_DTTSetup extends DeviceSetup { + + /** + * Creates new form MARTE2_SIMULINK_DTTSetup + */ + public MARTE2_SIMULINK_DTTSetup() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + deviceButtons1 = new DeviceButtons(); + jPanel2 = new javax.swing.JPanel(); + deviceField1 = new DeviceField(); + jTabbedPane1 = new javax.swing.JTabbedPane(); + jPanel1 = new javax.swing.JPanel(); + deviceInputs1 = new DeviceInputs(); + jPanel3 = new javax.swing.JPanel(); + deviceOutputs1 = new DeviceOutputs(); + jPanel4 = new javax.swing.JPanel(); + deviceParameters1 = new DeviceParameters(); + + setDeviceProvider("localhost:8100"); + setDeviceTitle("DTT Simularot"); + setDeviceType("MARTE2_SIMULINK_DTT"); + setHeight(500); + setWidth(400); + getContentPane().add(deviceButtons1, java.awt.BorderLayout.PAGE_END); + + deviceField1.setIdentifier(""); + deviceField1.setLabelString("Timebase"); + deviceField1.setNumCols(20); + deviceField1.setOffsetNid(3); + jPanel2.add(deviceField1); + + getContentPane().add(jPanel2, java.awt.BorderLayout.PAGE_START); + + jPanel1.setLayout(new java.awt.BorderLayout()); + + deviceInputs1.setOffsetNid(23); + jPanel1.add(deviceInputs1, java.awt.BorderLayout.CENTER); + + jTabbedPane1.addTab("Inputs", jPanel1); + + jPanel3.setLayout(new java.awt.BorderLayout()); + + deviceOutputs1.setOffsetNid(104); + jPanel3.add(deviceOutputs1, java.awt.BorderLayout.CENTER); + + jTabbedPane1.addTab("Outputs", jPanel3); + + jPanel4.setLayout(new java.awt.BorderLayout()); + + deviceParameters1.setNumParameters(1); + deviceParameters1.setOffsetNid(4); + deviceParameters1.setParameterOffset(4); + jPanel4.add(deviceParameters1, java.awt.BorderLayout.CENTER); + + jTabbedPane1.addTab("Parameters", jPanel4); + + getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER); + }// //GEN-END:initComponents + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private DeviceButtons deviceButtons1; + private DeviceField deviceField1; + private DeviceInputs deviceInputs1; + private DeviceOutputs deviceOutputs1; + private DeviceParameters deviceParameters1; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JTabbedPane jTabbedPane1; + // End of variables declaration//GEN-END:variables +} diff --git a/java/jdevices/src/main/java/MARTE2_SIMULINK_DTT_PCSSetup.java b/java/jdevices/src/main/java/MARTE2_SIMULINK_DTT_PCSSetup.java new file mode 100644 index 0000000000..05f10ec721 --- /dev/null +++ b/java/jdevices/src/main/java/MARTE2_SIMULINK_DTT_PCSSetup.java @@ -0,0 +1,77 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author mdsplus + */ +public class MARTE2_SIMULINK_DTT_PCSSetup extends DeviceSetup { + + /** + * Creates new form MARTE2_SIMULINK_DTT_PCSSetup + */ + public MARTE2_SIMULINK_DTT_PCSSetup() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + deviceButtons1 = new DeviceButtons(); + jPanel1 = new javax.swing.JPanel(); + deviceField1 = new DeviceField(); + jTabbedPane1 = new javax.swing.JTabbedPane(); + deviceInputs1 = new DeviceInputs(); + deviceOutputs1 = new DeviceOutputs(); + deviceParameters1 = new DeviceParameters(); + + setDeviceProvider("localhost:8100"); + setDeviceTitle("DTT Controller"); + setDeviceType("MARTE2_SIMULINK_DTT_PCS"); + setHeight(400); + setUpdateEvent(""); + setWidth(500); + getContentPane().add(deviceButtons1, java.awt.BorderLayout.PAGE_END); + + deviceField1.setIdentifier(""); + deviceField1.setLabelString("Timebase: "); + deviceField1.setNumCols(20); + deviceField1.setOffsetNid(3); + jPanel1.add(deviceField1); + + getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_START); + + deviceInputs1.setOffsetNid(20); + jTabbedPane1.addTab("Inputs", deviceInputs1); + + deviceOutputs1.setOffsetNid(181); + jTabbedPane1.addTab("Outputs", deviceOutputs1); + + deviceParameters1.setNumParameters(1); + deviceParameters1.setOffsetNid(4); + deviceParameters1.setParameterOffset(4); + jTabbedPane1.addTab("Parameters", deviceParameters1); + + getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER); + }// //GEN-END:initComponents + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private DeviceButtons deviceButtons1; + private DeviceField deviceField1; + private DeviceInputs deviceInputs1; + private DeviceOutputs deviceOutputs1; + private DeviceParameters deviceParameters1; + private javax.swing.JPanel jPanel1; + private javax.swing.JTabbedPane jTabbedPane1; + // End of variables declaration//GEN-END:variables +} diff --git a/java/jdevices/src/main/resources/MARTE2_SIMULINK_DTTSetup.form b/java/jdevices/src/main/resources/MARTE2_SIMULINK_DTTSetup.form new file mode 100644 index 0000000000..2d8f9c638c --- /dev/null +++ b/java/jdevices/src/main/resources/MARTE2_SIMULINK_DTTSetup.form @@ -0,0 +1,144 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/jdevices/src/main/resources/MARTE2_SIMULINK_DTT_PCSSetup.form b/java/jdevices/src/main/resources/MARTE2_SIMULINK_DTT_PCSSetup.form new file mode 100644 index 0000000000..5b2043493c --- /dev/null +++ b/java/jdevices/src/main/resources/MARTE2_SIMULINK_DTT_PCSSetup.form @@ -0,0 +1,110 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pydevices/RfxDevices/MARTE2_SIMULINK_DTT.py b/pydevices/RfxDevices/MARTE2_SIMULINK_DTT.py new file mode 100644 index 0000000000..701969191d --- /dev/null +++ b/pydevices/RfxDevices/MARTE2_SIMULINK_DTT.py @@ -0,0 +1,31 @@ +# +# Copyright (c) 2017, Massachusetts Institute of Technology All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above copyright notice, this +# list of conditions and the following disclaimer in the documentation and/or +# other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +MARTE2_SIMULINK = __import__('MARTE2_SIMULINK', globals()) + + +@MARTE2_SIMULINK.BUILDER +class MARTE2_SIMULINK_DTT(MARTE2_SIMULINK.MARTE2_SIMULINK): + lib_name = 'PS_and_plasma' diff --git a/pydevices/RfxDevices/MARTE2_SIMULINK_DTT_PCS.py b/pydevices/RfxDevices/MARTE2_SIMULINK_DTT_PCS.py new file mode 100644 index 0000000000..e371e014af --- /dev/null +++ b/pydevices/RfxDevices/MARTE2_SIMULINK_DTT_PCS.py @@ -0,0 +1,31 @@ +# +# Copyright (c) 2017, Massachusetts Institute of Technology All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above copyright notice, this +# list of conditions and the following disclaimer in the documentation and/or +# other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +MARTE2_SIMULINK = __import__('MARTE2_SIMULINK', globals()) + + +@MARTE2_SIMULINK.BUILDER +class MARTE2_SIMULINK_DTT_PCS(MARTE2_SIMULINK.MARTE2_SIMULINK): + lib_name = 'PF_controller' From 8695235e1733b279f1672b25dfb17e732aa74642 Mon Sep 17 00:00:00 2001 From: manduchi Date: Fri, 18 Mar 2022 16:28:59 +0100 Subject: [PATCH 2/4] Added Drag&Drop for MARTe2 device fields --- .../src/main/java/DeviceInputs.java | 5 +- .../src/main/java/DeviceOutputs.java | 63 ++++++++++++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/java/devicebeans/src/main/java/DeviceInputs.java b/java/devicebeans/src/main/java/DeviceInputs.java index 876c07c4b1..4fd9a5c661 100644 --- a/java/devicebeans/src/main/java/DeviceInputs.java +++ b/java/devicebeans/src/main/java/DeviceInputs.java @@ -77,7 +77,10 @@ protected void initializeData(String data, boolean is_on) inputName = ""; } JPanel jp1 = new JPanel(); - jp1.setBorder(new TitledBorder(inputName)); + TitledBorder titledBorder = new TitledBorder(inputName); + titledBorder.setTitleColor(Color.red); + jp1.setBorder(titledBorder); + jp1.setLayout(new GridLayout(1 + numFields[i],1)); JPanel jp2 = new JPanel(); jp2.setLayout(new BorderLayout()); diff --git a/java/devicebeans/src/main/java/DeviceOutputs.java b/java/devicebeans/src/main/java/DeviceOutputs.java index b0e7296216..20d959c67f 100644 --- a/java/devicebeans/src/main/java/DeviceOutputs.java +++ b/java/devicebeans/src/main/java/DeviceOutputs.java @@ -1,8 +1,11 @@ import java.awt.*; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; import java.awt.event.*; import java.util.*; import javax.swing.*; +import static javax.swing.TransferHandler.COPY_OR_MOVE; import javax.swing.border.LineBorder; import javax.swing.border.TitledBorder; import javax.swing.event.ChangeEvent; @@ -11,6 +14,32 @@ public class DeviceOutputs extends DeviceComponent { + class FromTransferHandler extends TransferHandler + { + String path; + public FromTransferHandler(String path) + { + this.path = path; + } + @Override + public Transferable createTransferable(JComponent comp) + { + try + { + return new StringSelection(path); + } + catch (final Exception exc) + { + return null; + } + } + + @Override + public int getSourceActions(JComponent comp) + { + return COPY_OR_MOVE; + } + } private JScrollPane scrollP; private int numOutputs; private JTextField segLensTF[], streamNamesTF[]; @@ -35,6 +64,7 @@ protected void initializeData(String data, boolean is_on) int currOutNid = currNid + 7; //Count number of actual outputs (i.e. for which nSamomes and streamName make sense numItems = 0; + int numBusItems = 0; for(int outIdx = 0; outIdx < numOutputs; outIdx++) { int numChildren, numMembers, numPars, numFields; @@ -57,7 +87,10 @@ protected void initializeData(String data, boolean is_on) if(numFields == 0) numItems += 1; //no structure else + { numItems += numFields; + numBusItems++; + } currOutNid += 1 + numChildren + numMembers + 2 * numPars + 8 * numFields; } segLensTF = new JTextField[numItems]; @@ -65,7 +98,7 @@ protected void initializeData(String data, boolean is_on) segLenNids = new int[numItems]; streamNameNids = new int[numItems]; JPanel jp = new JPanel(); - jp.setLayout(new GridLayout(numItems, 1)); + jp.setLayout(new GridLayout(numItems+numBusItems, 1)); currOutNid = currNid + 7; int currItem = 0; for(int outIdx = 0; outIdx < numOutputs; outIdx++) @@ -107,6 +140,21 @@ protected void initializeData(String data, boolean is_on) } else { + JLabel busLabel = new JLabel(outName); + busLabel.setForeground(Color.red); + try { + busLabel.setTransferHandler(new FromTransferHandler(subtree.getFullPath(currOutNid)+":VALUE")); + }catch(Exception exc){System.err.println(exc);} + MouseListener listener = new MouseAdapter() { + public void mousePressed(MouseEvent me) + { + JComponent comp = (JComponent)me.getSource(); + TransferHandler handler = comp.getTransferHandler(); + handler.exportAsDrag(comp, me, TransferHandler.COPY); + } + }; + busLabel.addMouseListener(listener); + jp.add(busLabel); for(int fieldIdx = 0; fieldIdx < numFields; fieldIdx++) { int fieldNid = currOutNid + numChildren +numMembers +1 + 2 * numPars + 8 * fieldIdx; @@ -123,6 +171,19 @@ protected void initializeData(String data, boolean is_on) jp1.add(segLensTF[currItem] = new JTextField(10)); jp1.add(new JLabel("Stream name: ")); jp1.add(streamNamesTF[currItem] = new JTextField(10)); + + try { + jp1.setTransferHandler(new FromTransferHandler(subtree.getFullPath(currOutNid)+".FIELDS."+fieldName+":VALUE")); + }catch(Exception exc){System.err.println(exc);} + listener = new MouseAdapter() { + public void mousePressed(MouseEvent me) + { + JComponent comp = (JComponent)me.getSource(); + TransferHandler handler = comp.getTransferHandler(); + handler.exportAsDrag(comp, me, TransferHandler.COPY); + } + }; + jp1.addMouseListener(listener); jp.add(jp1); currItem++; } From ae85c0072edf2fb4377266af33798e56db365179 Mon Sep 17 00:00:00 2001 From: manduchi Date: Wed, 30 Mar 2022 13:27:28 +0200 Subject: [PATCH 3/4] Feature:new MARTe2 devices Added MARTe2 devices for DTT simulation and UDP communication --- .../main/java/MARTE2_UDP_RECEIVERSetup.java | 449 +++++++++++ .../src/main/java/MARTE2_UDP_SENDERSetup.java | 461 ++++++++++++ .../resources/MARTE2_UDP_RECEIVERSetup.form | 636 ++++++++++++++++ .../resources/MARTE2_UDP_SENDERSetup.form | 708 ++++++++++++++++++ pydevices/RfxDevices/MARTE2_COMPONENT.py | 13 +- pydevices/RfxDevices/MARTE2_SUPERVISOR.py | 2 +- pydevices/RfxDevices/MARTE2_UDP_RECEIVER.py | 61 ++ pydevices/RfxDevices/MARTE2_UDP_SENDER.py | 64 ++ 8 files changed, 2386 insertions(+), 8 deletions(-) create mode 100644 java/jdevices/src/main/java/MARTE2_UDP_RECEIVERSetup.java create mode 100644 java/jdevices/src/main/java/MARTE2_UDP_SENDERSetup.java create mode 100644 java/jdevices/src/main/resources/MARTE2_UDP_RECEIVERSetup.form create mode 100644 java/jdevices/src/main/resources/MARTE2_UDP_SENDERSetup.form create mode 100644 pydevices/RfxDevices/MARTE2_UDP_RECEIVER.py create mode 100644 pydevices/RfxDevices/MARTE2_UDP_SENDER.py diff --git a/java/jdevices/src/main/java/MARTE2_UDP_RECEIVERSetup.java b/java/jdevices/src/main/java/MARTE2_UDP_RECEIVERSetup.java new file mode 100644 index 0000000000..778e28838a --- /dev/null +++ b/java/jdevices/src/main/java/MARTE2_UDP_RECEIVERSetup.java @@ -0,0 +1,449 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author mdsplus + */ +public class MARTE2_UDP_RECEIVERSetup extends DeviceSetup { + + /** + * Creates new form MARTE2_UDP_RECEIVERSetup + */ + public MARTE2_UDP_RECEIVERSetup() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + deviceButtons1 = new DeviceButtons(); + jPanel1 = new javax.swing.JPanel(); + jPanel2 = new javax.swing.JPanel(); + deviceField1 = new DeviceField(); + deviceField2 = new DeviceField(); + deviceField3 = new DeviceField(); + jPanel3 = new javax.swing.JPanel(); + deviceField4 = new DeviceField(); + deviceField5 = new DeviceField(); + jScrollPane1 = new javax.swing.JScrollPane(); + jPanel4 = new javax.swing.JPanel(); + jPanel5 = new javax.swing.JPanel(); + deviceChoice1 = new DeviceChoice(); + deviceField6 = new DeviceField(); + deviceField7 = new DeviceField(); + jPanel6 = new javax.swing.JPanel(); + deviceField10 = new DeviceField(); + deviceChoice2 = new DeviceChoice(); + deviceField8 = new DeviceField(); + deviceField9 = new DeviceField(); + jPanel7 = new javax.swing.JPanel(); + deviceField11 = new DeviceField(); + deviceChoice3 = new DeviceChoice(); + deviceField12 = new DeviceField(); + deviceField13 = new DeviceField(); + jPanel8 = new javax.swing.JPanel(); + deviceField14 = new DeviceField(); + deviceChoice4 = new DeviceChoice(); + deviceField15 = new DeviceField(); + deviceField16 = new DeviceField(); + jPanel9 = new javax.swing.JPanel(); + deviceField17 = new DeviceField(); + deviceChoice5 = new DeviceChoice(); + deviceField18 = new DeviceField(); + deviceField19 = new DeviceField(); + jPanel10 = new javax.swing.JPanel(); + deviceField20 = new DeviceField(); + deviceChoice6 = new DeviceChoice(); + deviceField21 = new DeviceField(); + deviceField22 = new DeviceField(); + jPanel11 = new javax.swing.JPanel(); + deviceField23 = new DeviceField(); + deviceChoice7 = new DeviceChoice(); + deviceField24 = new DeviceField(); + deviceField25 = new DeviceField(); + jPanel12 = new javax.swing.JPanel(); + deviceField26 = new DeviceField(); + deviceChoice8 = new DeviceChoice(); + deviceField27 = new DeviceField(); + deviceField28 = new DeviceField(); + jPanel13 = new javax.swing.JPanel(); + deviceField29 = new DeviceField(); + deviceChoice9 = new DeviceChoice(); + deviceField30 = new DeviceField(); + deviceField31 = new DeviceField(); + + setDeviceProvider("localhost:8100"); + setDeviceTitle("MARTe2 UDP Receiver"); + setDeviceType("MARTE2_UDP_RECEIVER"); + setHeight(400); + setWidth(600); + getContentPane().add(deviceButtons1, java.awt.BorderLayout.PAGE_END); + + jPanel1.setLayout(new java.awt.GridLayout(2, 1)); + + deviceField1.setIdentifier(""); + deviceField1.setLabelString("Address: "); + deviceField1.setOffsetNid(7); + deviceField1.setTextOnly(true); + jPanel2.add(deviceField1); + + deviceField2.setIdentifier(""); + deviceField2.setLabelString("Port"); + deviceField2.setNumCols(5); + deviceField2.setOffsetNid(10); + jPanel2.add(deviceField2); + + deviceField3.setIdentifier(""); + deviceField3.setLabelString("Period: "); + deviceField3.setOffsetNid(13); + jPanel2.add(deviceField3); + + jPanel1.add(jPanel2); + + deviceField4.setIdentifier(""); + deviceField4.setLabelString("Timeout: "); + deviceField4.setOffsetNid(16); + jPanel3.add(deviceField4); + + deviceField5.setIdentifier(""); + deviceField5.setLabelString("Write CPU Mask: "); + deviceField5.setNumCols(5); + deviceField5.setOffsetNid(23); + jPanel3.add(deviceField5); + + jPanel1.add(jPanel3); + + getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_START); + + jPanel4.setLayout(new java.awt.GridLayout(9, 1)); + + jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Time")); + + deviceChoice1.setChoiceItems(new String[] {"uint32"}); + deviceChoice1.setIdentifier(""); + deviceChoice1.setLabelString("Type: "); + deviceChoice1.setOffsetNid(26); + deviceChoice1.setUpdateIdentifier(""); + jPanel5.add(deviceChoice1); + + deviceField6.setEditable(false); + deviceField6.setIdentifier(""); + deviceField6.setLabelString("Dimensions:"); + deviceField6.setNumCols(5); + deviceField6.setOffsetNid(28); + jPanel5.add(deviceField6); + + deviceField7.setIdentifier(""); + deviceField7.setLabelString("Seg. Len: "); + deviceField7.setNumCols(5); + deviceField7.setOffsetNid(29); + jPanel5.add(deviceField7); + + jPanel4.add(jPanel5); + + jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Out1")); + + deviceField10.setIdentifier(""); + deviceField10.setLabelString(" Name: "); + deviceField10.setOffsetNid(34); + deviceField10.setTextOnly(true); + jPanel6.add(deviceField10); + + deviceChoice2.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice2.setIdentifier(""); + deviceChoice2.setLabelString("Type: "); + deviceChoice2.setOffsetNid(35); + deviceChoice2.setUpdateIdentifier(""); + jPanel6.add(deviceChoice2); + + deviceField8.setIdentifier(""); + deviceField8.setLabelString("Dimensions:"); + deviceField8.setNumCols(5); + deviceField8.setOffsetNid(37); + jPanel6.add(deviceField8); + + deviceField9.setIdentifier(""); + deviceField9.setLabelString("Seg. Len: "); + deviceField9.setNumCols(5); + deviceField9.setOffsetNid(38); + jPanel6.add(deviceField9); + + jPanel4.add(jPanel6); + + jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("Out2")); + + deviceField11.setIdentifier(""); + deviceField11.setLabelString(" Name: "); + deviceField11.setOffsetNid(43); + deviceField11.setTextOnly(true); + jPanel7.add(deviceField11); + + deviceChoice3.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice3.setIdentifier(""); + deviceChoice3.setLabelString("Type: "); + deviceChoice3.setOffsetNid(44); + deviceChoice3.setUpdateIdentifier(""); + jPanel7.add(deviceChoice3); + + deviceField12.setIdentifier(""); + deviceField12.setLabelString("Dimensions:"); + deviceField12.setNumCols(5); + deviceField12.setOffsetNid(46); + jPanel7.add(deviceField12); + + deviceField13.setIdentifier(""); + deviceField13.setLabelString("Seg. Len: "); + deviceField13.setNumCols(5); + deviceField13.setOffsetNid(47); + jPanel7.add(deviceField13); + + jPanel4.add(jPanel7); + + jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder("Out3")); + + deviceField14.setIdentifier(""); + deviceField14.setLabelString(" Name: "); + deviceField14.setOffsetNid(52); + deviceField14.setTextOnly(true); + jPanel8.add(deviceField14); + + deviceChoice4.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice4.setIdentifier(""); + deviceChoice4.setLabelString("Type: "); + deviceChoice4.setOffsetNid(53); + deviceChoice4.setUpdateIdentifier(""); + jPanel8.add(deviceChoice4); + + deviceField15.setIdentifier(""); + deviceField15.setLabelString("Dimensions:"); + deviceField15.setNumCols(5); + deviceField15.setOffsetNid(55); + jPanel8.add(deviceField15); + + deviceField16.setIdentifier(""); + deviceField16.setLabelString("Seg. Len: "); + deviceField16.setNumCols(5); + deviceField16.setOffsetNid(56); + jPanel8.add(deviceField16); + + jPanel4.add(jPanel8); + + jPanel9.setBorder(javax.swing.BorderFactory.createTitledBorder("Out4")); + + deviceField17.setIdentifier(""); + deviceField17.setLabelString(" Name: "); + deviceField17.setOffsetNid(61); + deviceField17.setTextOnly(true); + jPanel9.add(deviceField17); + + deviceChoice5.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice5.setIdentifier(""); + deviceChoice5.setLabelString("Type: "); + deviceChoice5.setOffsetNid(62); + deviceChoice5.setUpdateIdentifier(""); + jPanel9.add(deviceChoice5); + + deviceField18.setIdentifier(""); + deviceField18.setLabelString("Dimensions:"); + deviceField18.setNumCols(5); + deviceField18.setOffsetNid(64); + jPanel9.add(deviceField18); + + deviceField19.setIdentifier(""); + deviceField19.setLabelString("Seg. Len: "); + deviceField19.setNumCols(5); + deviceField19.setOffsetNid(65); + jPanel9.add(deviceField19); + + jPanel4.add(jPanel9); + + jPanel10.setBorder(javax.swing.BorderFactory.createTitledBorder("Out5")); + + deviceField20.setIdentifier(""); + deviceField20.setLabelString(" Name: "); + deviceField20.setOffsetNid(70); + deviceField20.setTextOnly(true); + jPanel10.add(deviceField20); + + deviceChoice6.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice6.setIdentifier(""); + deviceChoice6.setLabelString("Type: "); + deviceChoice6.setOffsetNid(71); + deviceChoice6.setUpdateIdentifier(""); + jPanel10.add(deviceChoice6); + + deviceField21.setIdentifier(""); + deviceField21.setLabelString("Dimensions:"); + deviceField21.setNumCols(5); + deviceField21.setOffsetNid(73); + jPanel10.add(deviceField21); + + deviceField22.setIdentifier(""); + deviceField22.setLabelString("Seg. Len: "); + deviceField22.setNumCols(5); + deviceField22.setOffsetNid(74); + jPanel10.add(deviceField22); + + jPanel4.add(jPanel10); + + jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder("Out6")); + + deviceField23.setIdentifier(""); + deviceField23.setLabelString(" Name: "); + deviceField23.setOffsetNid(79); + deviceField23.setTextOnly(true); + jPanel11.add(deviceField23); + + deviceChoice7.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice7.setIdentifier(""); + deviceChoice7.setLabelString("Type: "); + deviceChoice7.setOffsetNid(80); + deviceChoice7.setUpdateIdentifier(""); + jPanel11.add(deviceChoice7); + + deviceField24.setIdentifier(""); + deviceField24.setLabelString("Dimensions:"); + deviceField24.setNumCols(5); + deviceField24.setOffsetNid(82); + jPanel11.add(deviceField24); + + deviceField25.setIdentifier(""); + deviceField25.setLabelString("Seg. Len: "); + deviceField25.setNumCols(5); + deviceField25.setOffsetNid(83); + jPanel11.add(deviceField25); + + jPanel4.add(jPanel11); + + jPanel12.setBorder(javax.swing.BorderFactory.createTitledBorder("Out7")); + + deviceField26.setIdentifier(""); + deviceField26.setLabelString(" Name: "); + deviceField26.setOffsetNid(88); + deviceField26.setTextOnly(true); + jPanel12.add(deviceField26); + + deviceChoice8.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice8.setIdentifier(""); + deviceChoice8.setLabelString("Type: "); + deviceChoice8.setOffsetNid(89); + deviceChoice8.setUpdateIdentifier(""); + jPanel12.add(deviceChoice8); + + deviceField27.setIdentifier(""); + deviceField27.setLabelString("Dimensions:"); + deviceField27.setNumCols(5); + deviceField27.setOffsetNid(91); + jPanel12.add(deviceField27); + + deviceField28.setIdentifier(""); + deviceField28.setLabelString("Seg. Len: "); + deviceField28.setNumCols(5); + deviceField28.setOffsetNid(92); + jPanel12.add(deviceField28); + + jPanel4.add(jPanel12); + + jPanel13.setBorder(javax.swing.BorderFactory.createTitledBorder("Out8")); + + deviceField29.setIdentifier(""); + deviceField29.setLabelString(" Name: "); + deviceField29.setOffsetNid(97); + deviceField29.setTextOnly(true); + jPanel13.add(deviceField29); + + deviceChoice9.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice9.setIdentifier(""); + deviceChoice9.setLabelString("Type: "); + deviceChoice9.setOffsetNid(98); + deviceChoice9.setUpdateIdentifier(""); + jPanel13.add(deviceChoice9); + + deviceField30.setIdentifier(""); + deviceField30.setLabelString("Dimensions:"); + deviceField30.setNumCols(5); + deviceField30.setOffsetNid(100); + jPanel13.add(deviceField30); + + deviceField31.setIdentifier(""); + deviceField31.setLabelString("Seg. Len: "); + deviceField31.setNumCols(5); + deviceField31.setOffsetNid(101); + jPanel13.add(deviceField31); + + jPanel4.add(jPanel13); + + jScrollPane1.setViewportView(jPanel4); + + getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER); + }// //GEN-END:initComponents + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private DeviceButtons deviceButtons1; + private DeviceChoice deviceChoice1; + private DeviceChoice deviceChoice2; + private DeviceChoice deviceChoice3; + private DeviceChoice deviceChoice4; + private DeviceChoice deviceChoice5; + private DeviceChoice deviceChoice6; + private DeviceChoice deviceChoice7; + private DeviceChoice deviceChoice8; + private DeviceChoice deviceChoice9; + private DeviceField deviceField1; + private DeviceField deviceField10; + private DeviceField deviceField11; + private DeviceField deviceField12; + private DeviceField deviceField13; + private DeviceField deviceField14; + private DeviceField deviceField15; + private DeviceField deviceField16; + private DeviceField deviceField17; + private DeviceField deviceField18; + private DeviceField deviceField19; + private DeviceField deviceField2; + private DeviceField deviceField20; + private DeviceField deviceField21; + private DeviceField deviceField22; + private DeviceField deviceField23; + private DeviceField deviceField24; + private DeviceField deviceField25; + private DeviceField deviceField26; + private DeviceField deviceField27; + private DeviceField deviceField28; + private DeviceField deviceField29; + private DeviceField deviceField3; + private DeviceField deviceField30; + private DeviceField deviceField31; + private DeviceField deviceField4; + private DeviceField deviceField5; + private DeviceField deviceField6; + private DeviceField deviceField7; + private DeviceField deviceField8; + private DeviceField deviceField9; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel10; + private javax.swing.JPanel jPanel11; + private javax.swing.JPanel jPanel12; + private javax.swing.JPanel jPanel13; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + private javax.swing.JPanel jPanel6; + private javax.swing.JPanel jPanel7; + private javax.swing.JPanel jPanel8; + private javax.swing.JPanel jPanel9; + private javax.swing.JScrollPane jScrollPane1; + // End of variables declaration//GEN-END:variables +} diff --git a/java/jdevices/src/main/java/MARTE2_UDP_SENDERSetup.java b/java/jdevices/src/main/java/MARTE2_UDP_SENDERSetup.java new file mode 100644 index 0000000000..050cc38e9e --- /dev/null +++ b/java/jdevices/src/main/java/MARTE2_UDP_SENDERSetup.java @@ -0,0 +1,461 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author mdsplus + */ +public class MARTE2_UDP_SENDERSetup extends DeviceSetup { + + /** + * Creates new form MARTE2_UDP_SENDERSetup + */ + public MARTE2_UDP_SENDERSetup() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + deviceButtons1 = new DeviceButtons(); + jPanel1 = new javax.swing.JPanel(); + jPanel2 = new javax.swing.JPanel(); + deviceField1 = new DeviceField(); + deviceField2 = new DeviceField(); + jPanel3 = new javax.swing.JPanel(); + deviceField3 = new DeviceField(); + deviceField4 = new DeviceField(); + jScrollPane1 = new javax.swing.JScrollPane(); + jPanel4 = new javax.swing.JPanel(); + jPanel5 = new javax.swing.JPanel(); + jPanel6 = new javax.swing.JPanel(); + deviceChoice1 = new DeviceChoice(); + deviceField5 = new DeviceField(); + jPanel7 = new javax.swing.JPanel(); + deviceField6 = new DeviceField(); + jPanel8 = new javax.swing.JPanel(); + jPanel9 = new javax.swing.JPanel(); + deviceChoice2 = new DeviceChoice(); + deviceField7 = new DeviceField(); + jPanel10 = new javax.swing.JPanel(); + deviceField8 = new DeviceField(); + jPanel11 = new javax.swing.JPanel(); + jPanel12 = new javax.swing.JPanel(); + deviceChoice3 = new DeviceChoice(); + deviceField9 = new DeviceField(); + jPanel13 = new javax.swing.JPanel(); + deviceField10 = new DeviceField(); + jPanel14 = new javax.swing.JPanel(); + jPanel15 = new javax.swing.JPanel(); + deviceChoice4 = new DeviceChoice(); + deviceField11 = new DeviceField(); + jPanel16 = new javax.swing.JPanel(); + deviceField12 = new DeviceField(); + jPanel17 = new javax.swing.JPanel(); + jPanel18 = new javax.swing.JPanel(); + deviceChoice5 = new DeviceChoice(); + deviceField13 = new DeviceField(); + jPanel19 = new javax.swing.JPanel(); + deviceField14 = new DeviceField(); + jPanel20 = new javax.swing.JPanel(); + jPanel21 = new javax.swing.JPanel(); + deviceChoice6 = new DeviceChoice(); + deviceField15 = new DeviceField(); + jPanel22 = new javax.swing.JPanel(); + deviceField16 = new DeviceField(); + jPanel23 = new javax.swing.JPanel(); + jPanel24 = new javax.swing.JPanel(); + deviceChoice7 = new DeviceChoice(); + deviceField17 = new DeviceField(); + jPanel25 = new javax.swing.JPanel(); + deviceField18 = new DeviceField(); + jPanel26 = new javax.swing.JPanel(); + jPanel27 = new javax.swing.JPanel(); + deviceChoice8 = new DeviceChoice(); + deviceField19 = new DeviceField(); + jPanel28 = new javax.swing.JPanel(); + deviceField20 = new DeviceField(); + jPanel29 = new javax.swing.JPanel(); + jPanel30 = new javax.swing.JPanel(); + deviceChoice9 = new DeviceChoice(); + deviceField21 = new DeviceField(); + jPanel31 = new javax.swing.JPanel(); + deviceField22 = new DeviceField(); + + setDeviceProvider("localhost:8100"); + setDeviceTitle("MARTe2 UDP Sender"); + setDeviceType("MARTE2_UDP_SENDER"); + setHeight(400); + setWidth(600); + getContentPane().add(deviceButtons1, java.awt.BorderLayout.PAGE_END); + + jPanel1.setLayout(new java.awt.GridLayout(2, 1)); + + deviceField1.setIdentifier(""); + deviceField1.setLabelString("Address: "); + deviceField1.setOffsetNid(7); + deviceField1.setTextOnly(true); + jPanel2.add(deviceField1); + + deviceField2.setIdentifier(""); + deviceField2.setLabelString("Port: "); + deviceField2.setNumCols(5); + deviceField2.setOffsetNid(10); + jPanel2.add(deviceField2); + + jPanel1.add(jPanel2); + + deviceField3.setIdentifier(""); + deviceField3.setLabelString("Timebase: "); + deviceField3.setNumCols(20); + deviceField3.setOffsetNid(3); + jPanel3.add(deviceField3); + + deviceField4.setIdentifier(""); + deviceField4.setLabelString("Timebase Div.: "); + deviceField4.setNumCols(5); + deviceField4.setOffsetNid(134); + jPanel3.add(deviceField4); + + jPanel1.add(jPanel3); + + getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_START); + + jPanel4.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); + jPanel4.setLayout(new java.awt.GridLayout(9, 1)); + + jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Time")); + jPanel5.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice1.setChoiceItems(new String[] {"uint32"}); + deviceChoice1.setIdentifier(""); + deviceChoice1.setLabelString("Type: "); + deviceChoice1.setOffsetNid(16); + deviceChoice1.setUpdateIdentifier(""); + jPanel6.add(deviceChoice1); + + deviceField5.setEditable(false); + deviceField5.setIdentifier(""); + deviceField5.setLabelString("Dimensions: "); + deviceField5.setNumCols(5); + deviceField5.setOffsetNid(17); + jPanel6.add(deviceField5); + + jPanel5.add(jPanel6); + + deviceField6.setIdentifier(""); + deviceField6.setLabelString("Value: "); + deviceField6.setNumCols(25); + deviceField6.setOffsetNid(19); + jPanel7.add(deviceField6); + + jPanel5.add(jPanel7); + + jPanel4.add(jPanel5); + + jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder("In1")); + jPanel8.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice2.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice2.setIdentifier(""); + deviceChoice2.setLabelString("Type: "); + deviceChoice2.setOffsetNid(23); + deviceChoice2.setUpdateIdentifier(""); + jPanel9.add(deviceChoice2); + + deviceField7.setIdentifier(""); + deviceField7.setLabelString("Dimensions: "); + deviceField7.setNumCols(5); + deviceField7.setOffsetNid(24); + jPanel9.add(deviceField7); + + jPanel8.add(jPanel9); + + deviceField8.setIdentifier(""); + deviceField8.setLabelString("Value: "); + deviceField8.setNumCols(25); + deviceField8.setOffsetNid(26); + jPanel10.add(deviceField8); + + jPanel8.add(jPanel10); + + jPanel4.add(jPanel8); + + jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder("In2")); + jPanel11.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice3.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice3.setIdentifier(""); + deviceChoice3.setLabelString("Type: "); + deviceChoice3.setOffsetNid(30); + deviceChoice3.setUpdateIdentifier(""); + jPanel12.add(deviceChoice3); + + deviceField9.setIdentifier(""); + deviceField9.setLabelString("Dimensions: "); + deviceField9.setNumCols(5); + deviceField9.setOffsetNid(31); + jPanel12.add(deviceField9); + + jPanel11.add(jPanel12); + + deviceField10.setIdentifier(""); + deviceField10.setLabelString("Value: "); + deviceField10.setNumCols(25); + deviceField10.setOffsetNid(33); + jPanel13.add(deviceField10); + + jPanel11.add(jPanel13); + + jPanel4.add(jPanel11); + + jPanel14.setBorder(javax.swing.BorderFactory.createTitledBorder("In3")); + jPanel14.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice4.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice4.setIdentifier(""); + deviceChoice4.setLabelString("Type: "); + deviceChoice4.setOffsetNid(37); + deviceChoice4.setUpdateIdentifier(""); + jPanel15.add(deviceChoice4); + + deviceField11.setIdentifier(""); + deviceField11.setLabelString("Dimensions: "); + deviceField11.setNumCols(5); + deviceField11.setOffsetNid(38); + jPanel15.add(deviceField11); + + jPanel14.add(jPanel15); + + deviceField12.setIdentifier(""); + deviceField12.setLabelString("Value: "); + deviceField12.setNumCols(25); + deviceField12.setOffsetNid(40); + jPanel16.add(deviceField12); + + jPanel14.add(jPanel16); + + jPanel4.add(jPanel14); + + jPanel17.setBorder(javax.swing.BorderFactory.createTitledBorder("In4")); + jPanel17.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice5.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice5.setIdentifier(""); + deviceChoice5.setLabelString("Type: "); + deviceChoice5.setOffsetNid(44); + deviceChoice5.setUpdateIdentifier(""); + jPanel18.add(deviceChoice5); + + deviceField13.setIdentifier(""); + deviceField13.setLabelString("Dimensions: "); + deviceField13.setNumCols(5); + deviceField13.setOffsetNid(45); + jPanel18.add(deviceField13); + + jPanel17.add(jPanel18); + + deviceField14.setIdentifier(""); + deviceField14.setLabelString("Value: "); + deviceField14.setNumCols(25); + deviceField14.setOffsetNid(47); + jPanel19.add(deviceField14); + + jPanel17.add(jPanel19); + + jPanel4.add(jPanel17); + + jPanel20.setBorder(javax.swing.BorderFactory.createTitledBorder("In5")); + jPanel20.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice6.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice6.setIdentifier(""); + deviceChoice6.setLabelString("Type: "); + deviceChoice6.setOffsetNid(51); + deviceChoice6.setUpdateIdentifier(""); + jPanel21.add(deviceChoice6); + + deviceField15.setIdentifier(""); + deviceField15.setLabelString("Dimensions: "); + deviceField15.setNumCols(5); + deviceField15.setOffsetNid(52); + jPanel21.add(deviceField15); + + jPanel20.add(jPanel21); + + deviceField16.setIdentifier(""); + deviceField16.setLabelString("Value: "); + deviceField16.setNumCols(25); + deviceField16.setOffsetNid(54); + jPanel22.add(deviceField16); + + jPanel20.add(jPanel22); + + jPanel4.add(jPanel20); + + jPanel23.setBorder(javax.swing.BorderFactory.createTitledBorder("In6")); + jPanel23.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice7.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice7.setIdentifier(""); + deviceChoice7.setLabelString("Type: "); + deviceChoice7.setOffsetNid(58); + deviceChoice7.setUpdateIdentifier(""); + jPanel24.add(deviceChoice7); + + deviceField17.setIdentifier(""); + deviceField17.setLabelString("Dimensions: "); + deviceField17.setNumCols(5); + deviceField17.setOffsetNid(59); + jPanel24.add(deviceField17); + + jPanel23.add(jPanel24); + + deviceField18.setIdentifier(""); + deviceField18.setLabelString("Value: "); + deviceField18.setNumCols(25); + deviceField18.setOffsetNid(61); + jPanel25.add(deviceField18); + + jPanel23.add(jPanel25); + + jPanel4.add(jPanel23); + + jPanel26.setBorder(javax.swing.BorderFactory.createTitledBorder("In7")); + jPanel26.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice8.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice8.setIdentifier(""); + deviceChoice8.setLabelString("Type: "); + deviceChoice8.setOffsetNid(65); + deviceChoice8.setUpdateIdentifier(""); + jPanel27.add(deviceChoice8); + + deviceField19.setIdentifier(""); + deviceField19.setLabelString("Dimensions: "); + deviceField19.setNumCols(5); + deviceField19.setOffsetNid(66); + jPanel27.add(deviceField19); + + jPanel26.add(jPanel27); + + deviceField20.setIdentifier(""); + deviceField20.setLabelString("Value: "); + deviceField20.setNumCols(25); + deviceField20.setOffsetNid(68); + jPanel28.add(deviceField20); + + jPanel26.add(jPanel28); + + jPanel4.add(jPanel26); + + jPanel29.setBorder(javax.swing.BorderFactory.createTitledBorder("In8")); + jPanel29.setLayout(new java.awt.GridLayout(2, 1)); + + deviceChoice9.setChoiceItems(new String[] {"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "float32", "float64"}); + deviceChoice9.setIdentifier(""); + deviceChoice9.setLabelString("Type: "); + deviceChoice9.setOffsetNid(72); + deviceChoice9.setUpdateIdentifier(""); + jPanel30.add(deviceChoice9); + + deviceField21.setIdentifier(""); + deviceField21.setLabelString("Dimensions: "); + deviceField21.setNumCols(5); + deviceField21.setOffsetNid(73); + jPanel30.add(deviceField21); + + jPanel29.add(jPanel30); + + deviceField22.setIdentifier(""); + deviceField22.setLabelString("Value: "); + deviceField22.setNumCols(25); + deviceField22.setOffsetNid(75); + jPanel31.add(deviceField22); + + jPanel29.add(jPanel31); + + jPanel4.add(jPanel29); + + jScrollPane1.setViewportView(jPanel4); + + getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER); + }// //GEN-END:initComponents + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private DeviceButtons deviceButtons1; + private DeviceChoice deviceChoice1; + private DeviceChoice deviceChoice2; + private DeviceChoice deviceChoice3; + private DeviceChoice deviceChoice4; + private DeviceChoice deviceChoice5; + private DeviceChoice deviceChoice6; + private DeviceChoice deviceChoice7; + private DeviceChoice deviceChoice8; + private DeviceChoice deviceChoice9; + private DeviceField deviceField1; + private DeviceField deviceField10; + private DeviceField deviceField11; + private DeviceField deviceField12; + private DeviceField deviceField13; + private DeviceField deviceField14; + private DeviceField deviceField15; + private DeviceField deviceField16; + private DeviceField deviceField17; + private DeviceField deviceField18; + private DeviceField deviceField19; + private DeviceField deviceField2; + private DeviceField deviceField20; + private DeviceField deviceField21; + private DeviceField deviceField22; + private DeviceField deviceField3; + private DeviceField deviceField4; + private DeviceField deviceField5; + private DeviceField deviceField6; + private DeviceField deviceField7; + private DeviceField deviceField8; + private DeviceField deviceField9; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel10; + private javax.swing.JPanel jPanel11; + private javax.swing.JPanel jPanel12; + private javax.swing.JPanel jPanel13; + private javax.swing.JPanel jPanel14; + private javax.swing.JPanel jPanel15; + private javax.swing.JPanel jPanel16; + private javax.swing.JPanel jPanel17; + private javax.swing.JPanel jPanel18; + private javax.swing.JPanel jPanel19; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel20; + private javax.swing.JPanel jPanel21; + private javax.swing.JPanel jPanel22; + private javax.swing.JPanel jPanel23; + private javax.swing.JPanel jPanel24; + private javax.swing.JPanel jPanel25; + private javax.swing.JPanel jPanel26; + private javax.swing.JPanel jPanel27; + private javax.swing.JPanel jPanel28; + private javax.swing.JPanel jPanel29; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel30; + private javax.swing.JPanel jPanel31; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + private javax.swing.JPanel jPanel6; + private javax.swing.JPanel jPanel7; + private javax.swing.JPanel jPanel8; + private javax.swing.JPanel jPanel9; + private javax.swing.JScrollPane jScrollPane1; + // End of variables declaration//GEN-END:variables +} diff --git a/java/jdevices/src/main/resources/MARTE2_UDP_RECEIVERSetup.form b/java/jdevices/src/main/resources/MARTE2_UDP_RECEIVERSetup.form new file mode 100644 index 0000000000..c79cfaccd0 --- /dev/null +++ b/java/jdevices/src/main/resources/MARTE2_UDP_RECEIVERSetup.form @@ -0,0 +1,636 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/jdevices/src/main/resources/MARTE2_UDP_SENDERSetup.form b/java/jdevices/src/main/resources/MARTE2_UDP_SENDERSetup.form new file mode 100644 index 0000000000..e5907778c8 --- /dev/null +++ b/java/jdevices/src/main/resources/MARTE2_UDP_SENDERSetup.form @@ -0,0 +1,708 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pydevices/RfxDevices/MARTE2_COMPONENT.py b/pydevices/RfxDevices/MARTE2_COMPONENT.py index 6bcde5397c..e88648e341 100644 --- a/pydevices/RfxDevices/MARTE2_COMPONENT.py +++ b/pydevices/RfxDevices/MARTE2_COMPONENT.py @@ -2187,8 +2187,6 @@ def getMarteInputInfo(self, threadMap, gams, dataSources, gamList, isSynch): # Output Signals dataSourceText += ' Signals = {\n' for outputDict in outputDicts: - print('CICCIO') - print(outputDict) dataSourceText += ' '+outputDict['name']+' = {\n' dataSourceText += ' Type = '+outputDict['type']+'\n' if outputDict['dimensions'] == 0: @@ -2727,7 +2725,7 @@ def getMarteOutputInfo(self, threadMap, gams, dataSources, gamList): for inputDict in inputDicts: # This is a Time field referring to this timebase - if inputDict['value'].getNodeName() == 'TIMEBASE' and inputDict['value'].getParent().getNid() == self.getNid(): + if 'value' in inputDict and isinstance(inputDict['value'], TreeNode) and inputDict['value'].getNodeName() == 'TIMEBASE' and inputDict['value'].getParent().getNid() == self.getNid(): signalNames.append('Time') gamText += ' Time = {\n' gamText += ' DataSource = ' + timerDDB+'\n' @@ -2744,7 +2742,7 @@ def getMarteOutputInfo(self, threadMap, gams, dataSources, gamList): else: # Normal reference isTreeRef = False isInputStructField = ( - inputDict['value'].getParent().getParent().getName() == 'FIELDS') + ('value' in inputDict) and isinstance(inputDict['value'], TreeNode) and inputDict['value'].getParent().getParent().getName() == 'FIELDS') try: if isInputStructField: sourceNode = inputDict['value'].getParent( @@ -2882,10 +2880,11 @@ def getMarteOutputInfo(self, threadMap, gams, dataSources, gamList): valExpr = nodeDict['expr'] if isinstance(valExpr, TreeNode): valExpr = valExpr.getFullPath() - valExpr = valExpr.replace('"', "'") - dataSourceText += ' DataExpr = "'+valExpr+'"\n' + if isinstance(valExpr, str): + valExpr = valExpr.replace('"', "'") + dataSourceText += ' DataExpr = "'+str(valExpr)+'"\n' dataSourceText += ' TimebaseExpr = "dim_of(' + \ - valExpr+')"\n' + str(valExpr)+')"\n' numberOfElements = 1 if not (np.isscalar(nodeDict['dimensions'])): for currDim in nodeDict['dimensions']: diff --git a/pydevices/RfxDevices/MARTE2_SUPERVISOR.py b/pydevices/RfxDevices/MARTE2_SUPERVISOR.py index f4225950b6..3418c9a1f6 100644 --- a/pydevices/RfxDevices/MARTE2_SUPERVISOR.py +++ b/pydevices/RfxDevices/MARTE2_SUPERVISOR.py @@ -575,7 +575,7 @@ def startMarte(self): stateName = self.state_1_name.data() subprocess.Popen(['$MARTE_DIR/Playground.sh -f /tmp/'+self.getNode( 'name').data()+'_marte_configuration.cfg -m StateMachine:START '+stateName], shell=True) - time.sleep(2) + time.sleep(4) self.gotorun() def gotorun(self): diff --git a/pydevices/RfxDevices/MARTE2_UDP_RECEIVER.py b/pydevices/RfxDevices/MARTE2_UDP_RECEIVER.py new file mode 100644 index 0000000000..eb10d693b5 --- /dev/null +++ b/pydevices/RfxDevices/MARTE2_UDP_RECEIVER.py @@ -0,0 +1,61 @@ +# +# Copyright (c) 2017, Massachusetts Institute of Technology All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above copyright notice, this +# list of conditions and the following disclaimer in the documentation and/or +# other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +from MDSplus import Data +MC = __import__('MARTE2_COMPONENT', globals()) + + +@MC.BUILDER('UDP::UDPReceiver', MC.MARTE2_COMPONENT.MODE_SYNCH_INPUT, + 'build_range(0, 1000000, build_path(".parameters:par_3:value"))') +class MARTE2_UDP_RECEIVER(MC.MARTE2_COMPONENT): + outputs = [ + {'name': 'Time', 'type': 'uint32', 'dimensions': 0, 'parameters': []}, + {'name': 'OUT_0', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_1', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_2', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_3', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_4', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_5', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_6', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_7', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_8', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_9', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_10', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_11', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_12', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_13', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_14', 'type': 'int16', 'dimensions': -1, 'parameters': []}, + {'name': 'OUT_15', 'type': 'int16', 'dimensions': -1, 'parameters': []}] + parameters = [ + {'name': 'Address', 'type': 'string'}, + {'name': 'Port', 'type': 'int32', 'value': 44488}, + {'name': 'Period', 'type': 'float32', 'value': 1E-3}, + {'name': 'Timeout', 'type': 'int32'}] + parts = [] + + def prepareMarteInfo(self): + print('0 : 1000000 : '+self.getFullPath()+'.parameters:par_3:value') + self.timebase.putData(Data.compile('0 : 1000000 : '+self.getFullPath()+'.parameters:par_3:value')) + self.outputs_time_idx = 0 # The first produced signal is time diff --git a/pydevices/RfxDevices/MARTE2_UDP_SENDER.py b/pydevices/RfxDevices/MARTE2_UDP_SENDER.py new file mode 100644 index 0000000000..5eeaacc765 --- /dev/null +++ b/pydevices/RfxDevices/MARTE2_UDP_SENDER.py @@ -0,0 +1,64 @@ +# +# Copyright (c) 2017, Massachusetts Institute of Technology All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above copyright notice, this +# list of conditions and the following disclaimer in the documentation and/or +# other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + + + + +from MDSplus import Data + +MC = __import__('MARTE2_COMPONENT', globals()) + + +@MC.BUILDER('UDP::UDPSender', MC.MARTE2_COMPONENT.MODE_OUTPUT) +class MARTE2_UDP_SENDER(MC.MARTE2_COMPONENT): + inputs = [ + {'name': 'TIMEBASE', 'type': 'uint32', 'dimensions': 0, 'parameters': []}, + {'name': 'IN_0', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_1', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_2', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_3', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_4', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_5', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_6', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_7', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_8', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_9', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_10', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_11', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_12', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_13', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_14', 'type': 'uint32', 'dimensions': -1, 'parameters': []}, + {'name': 'IN_15', 'type': 'uint32', 'dimensions': -1, 'parameters': []}] + parameters = [ + {'name': 'Address', 'type': 'string', 'value': 'localhost'}, + {'name': 'Port', 'type': 'int32', 'value': 44488}, + {'name': 'ExecutionMode', 'type': 'string', 'value': 'RealTimeThread'}] + parts = [] + + def prepareMarteInfo(self): + self.inputs_timebase_value.putData(self.timebase) + + + From 4cd56064bd5a01139d05df0b1554a41c981ac223 Mon Sep 17 00:00:00 2001 From: manduchi Date: Wed, 30 Mar 2022 13:47:39 +0200 Subject: [PATCH 4/4] rpm updated --- deploy/packaging/debian/rfxdevices.noarch | 4 ++++ deploy/packaging/redhat/rfxdevices.noarch | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/deploy/packaging/debian/rfxdevices.noarch b/deploy/packaging/debian/rfxdevices.noarch index a8d29340d7..d89764a6b7 100644 --- a/deploy/packaging/debian/rfxdevices.noarch +++ b/deploy/packaging/debian/rfxdevices.noarch @@ -55,6 +55,8 @@ ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_RFXMODEL.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_RTSM.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK.py +./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_DTT.py +./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_DTT_PCS.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_FLUXMAP.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_GENERIC.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_LEV_CTRLR.py @@ -68,6 +70,8 @@ ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_STREAM_IN_A.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SUPERVISOR.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SWTRIG.py +./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_UDP_RECEIVER.py +./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_UDP_SENDER.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE_BREAKDOWN.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE_COMMON.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE_CONFIG.py diff --git a/deploy/packaging/redhat/rfxdevices.noarch b/deploy/packaging/redhat/rfxdevices.noarch index 0a6ae2dc79..48a1126849 100644 --- a/deploy/packaging/redhat/rfxdevices.noarch +++ b/deploy/packaging/redhat/rfxdevices.noarch @@ -56,6 +56,8 @@ ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_RFXMODEL.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_RTSM.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK.py +./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_DTT.py +./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_DTT_PCS.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_FLUXMAP.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_GENERIC.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SIMULINK_LEV_CTRLR.py @@ -69,6 +71,8 @@ ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_STREAM_IN_A.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SUPERVISOR.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_SWTRIG.py +./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_UDP_RECEIVER.py +./usr/local/mdsplus/pydevices/RfxDevices/MARTE2_UDP_SENDER.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE_BREAKDOWN.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE_COMMON.py ./usr/local/mdsplus/pydevices/RfxDevices/MARTE_CONFIG.py