diff --git a/bin/config.xml b/bin/config.xml index f7591a5fd6daade53dd13671099b27ecef5e554b..79da2bb42c96e8dc8ebe5491a612577ea1209229 100755 --- a/bin/config.xml +++ b/bin/config.xml @@ -65,7 +65,7 @@ -<LastWindowAttributes x="0" y="27" width="1366" height="741" max="true" /> +<LastWindowAttributes x="-1" y="27" width="1368" height="742" max="true" /> </TURTLECONFIGURATION> diff --git a/src/tmltranslator/ctranslator/AdaifBuffer.java b/src/tmltranslator/ctranslator/AdaifBuffer.java index e711b6f9f7f7fc27138e28f945e43eb1d8916c93..f1f85fb909eaf7e07a81a5e57f6ba9c0198e8e40 100644 --- a/src/tmltranslator/ctranslator/AdaifBuffer.java +++ b/src/tmltranslator/ctranslator/AdaifBuffer.java @@ -48,13 +48,15 @@ package tmltranslator.ctranslator;; import java.util.*; import java.nio.*; +import org.w3c.dom.Element; + import myutil.*; import tmltranslator.*; public class AdaifBuffer extends Buffer { - public static final int numSamplesIndex = 1; - public static final int baseAddressIndex = 2; + public static final int NUM_SAMPLES_INDEX = 1; + public static final int BASE_ADDRESS_INDEX = 2; protected String numSamplesValue = USER_TO_DO; protected static final String numSamplesType = "uint8_t"; @@ -69,6 +71,8 @@ public class AdaifBuffer extends Buffer { private String Context = "embb_mainmemory_context"; + private static final int maxParameters = 2; + public AdaifBuffer( String _name, TMLTask _task ) { type = "ADAIF_BUFFER_TYPE"; name = _name; @@ -95,15 +99,39 @@ public class AdaifBuffer extends Buffer { private void retrieveBufferParameters() { - if( bufferParameters.get( numSamplesIndex ).length() > 0 ) { - numSamplesValue = bufferParameters.get( numSamplesIndex ); + if( bufferParameters.get( NUM_SAMPLES_INDEX ).length() > 0 ) { + numSamplesValue = bufferParameters.get( NUM_SAMPLES_INDEX ); } - if( bufferParameters.get( baseAddressIndex ).length() > 0 ) { - baseAddressValue = bufferParameters.get( baseAddressIndex ); + if( bufferParameters.get( BASE_ADDRESS_INDEX ).length() > 0 ) { + baseAddressValue = bufferParameters.get( BASE_ADDRESS_INDEX ); } } public String getContext() { return Context; } + + public static String appendBufferParameters( ArrayList<String> buffer ) { + + StringBuffer sb = new StringBuffer(); + sb.append("\" bufferType=\"" + Integer.toString( Buffer.AdaifBuffer ) ); + if( buffer.size() == maxParameters+1 ) { //because the first parameter is the bufferType + sb.append("\" numSamples=\"" + buffer.get( NUM_SAMPLES_INDEX ) ); + sb.append("\" baseAddress=\"" + buffer.get( BASE_ADDRESS_INDEX ) ); + } + else { + sb.append("\" numSamples=\"" + SP ); + sb.append("\" baseAddress=\"" + SP ); + } + return sb.toString(); + } + + public static ArrayList<String> buildBufferParameters( Element elt ) { + + ArrayList<String> buffer = new ArrayList<String>(); + buffer.add( 0, Integer.toString( Buffer.AdaifBuffer ) ); + buffer.add( NUM_SAMPLES_INDEX, elt.getAttribute( "numSamples" ) ); + buffer.add( BASE_ADDRESS_INDEX, elt.getAttribute( "baseAddress" ) ); + return buffer; + } } //End of class diff --git a/src/tmltranslator/ctranslator/CPMEC.java b/src/tmltranslator/ctranslator/CPMEC.java index f7912662e431d7004e96e9de8452ebf6ddef4d98..bf2cbb76cd3f23780925cd4b1888cd9a8c8e08e7 100755 --- a/src/tmltranslator/ctranslator/CPMEC.java +++ b/src/tmltranslator/ctranslator/CPMEC.java @@ -90,4 +90,10 @@ public abstract class CPMEC { return cleanup_code; } + // Get the value of an attribute from the TMLCP artifact string + protected static String getAttributeValue( String assignement ) { + String s = assignement.split(" = ")[1]; + return s.substring(0, s.length()-1); //remove trailing semi-colon + } + } //End of class diff --git a/src/tmltranslator/ctranslator/CpuMemoryCopyMEC.java b/src/tmltranslator/ctranslator/CpuMemoryCopyMEC.java index b9d86be582ead130332650e920456895026916bb..28f03e7ef5294d86ccce6e60c2523f11cafa747c 100644 --- a/src/tmltranslator/ctranslator/CpuMemoryCopyMEC.java +++ b/src/tmltranslator/ctranslator/CpuMemoryCopyMEC.java @@ -56,7 +56,11 @@ public class CpuMemoryCopyMEC extends CPMEC { public static final int sourceAddressIndex = 1; public static final int counterIndex = 2; - private String memoryBaseAddress = "0"; + public static final String destinationAddress = "destinationAddress"; + public static final String sourceAddress = "sourceAddress"; + public static final String counter = "samplesToLoad"; + + private String memoryBaseAddress = "embb_mss"; public CpuMemoryCopyMEC( String ctxName, ArchUnitMEC archMEC, String sizeString ) { @@ -65,4 +69,21 @@ public class CpuMemoryCopyMEC extends CPMEC { cleanup_code = TAB + archMEC.getCtxCleanupCode() + "(&" + ctxName +");"; } + public static Vector<String> sortAttributes( Vector<String> assignedAttributes ) { + + Vector<String> newVector = new Vector<String>( assignedAttributes ); + for( String s: assignedAttributes ) { + if( s.contains( destinationAddress ) ) { + newVector.set( destinationAddressIndex, getAttributeValue(s) ); + } + if( s.contains( sourceAddress ) ) { + newVector.set( sourceAddressIndex, getAttributeValue(s) ); + } + if( s.contains( counter ) ) { + newVector.set( counterIndex, getAttributeValue(s) ); + } + } + return newVector; + } + } //End of class diff --git a/src/tmltranslator/ctranslator/CwaMEC.java b/src/tmltranslator/ctranslator/CwaMEC.java index 77ba345ea1de0645ffe2ad7a17e26ae09dde80d8..4799555dbefd4ae8cb5c9ea4a2516b107b97b7af 100644 --- a/src/tmltranslator/ctranslator/CwaMEC.java +++ b/src/tmltranslator/ctranslator/CwaMEC.java @@ -63,9 +63,6 @@ public class CwaMEC extends FepOperationMEC { "fep_set_qy(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ ID1 + "].pBuff)->bank);" + CR + TAB + "fep_set_by(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ ID1 + "].pBuff)->base_address);" + CR + TAB + "fep_set_ty(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ ID1 + "].pBuff)->data_type);" + CR + TAB + - "fep_set_qz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->base_address);" + CR + TAB + - "fep_set_tz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->data_type);" + CR + TAB + "/*start execution*/" + CR + TAB + "status = fep_do(&"+ _ctxName + ");" + CR; diff --git a/src/tmltranslator/ctranslator/CwlMEC.java b/src/tmltranslator/ctranslator/CwlMEC.java index 7a3e32185c3a4de068df7985ef1b6b51810d09a0..435c7ef56534fe75db7e7121bb1be442eb49a254 100755 --- a/src/tmltranslator/ctranslator/CwlMEC.java +++ b/src/tmltranslator/ctranslator/CwlMEC.java @@ -60,9 +60,6 @@ public class CwlMEC extends FepOperationMEC { "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->data_type);" + CR + TAB + - "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + - "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + "/*start execution*/" + CR + TAB + "status = fep_do(&" + _ctxName + ");" + CR; diff --git a/src/tmltranslator/ctranslator/CwmMEC.java b/src/tmltranslator/ctranslator/CwmMEC.java index d131740c11b81168f29089173500f8eb3167f756..f06ba2841cf23c62251216ec856c53dec44e96f4 100755 --- a/src/tmltranslator/ctranslator/CwmMEC.java +++ b/src/tmltranslator/ctranslator/CwmMEC.java @@ -60,9 +60,6 @@ public class CwmMEC extends FepOperationMEC { "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + "fep_set_bx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + "fep_set_tx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->data_type);" + CR + - "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + - "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + - "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + "/*start execution*/" + CR + "status = fep_do(&" + _ctxName + ");" + CR; diff --git a/src/tmltranslator/ctranslator/CwpMEC.java b/src/tmltranslator/ctranslator/CwpMEC.java index 057f0b534ac04b392791e5963a5bb025272e0b31..99310867286c795050211a8fc5d608f461a3137e 100755 --- a/src/tmltranslator/ctranslator/CwpMEC.java +++ b/src/tmltranslator/ctranslator/CwpMEC.java @@ -60,9 +60,6 @@ public class CwpMEC extends FepOperationMEC { "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->data_type);" + CR + TAB + - "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + - "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + "/*start execution*/" + CR + TAB + "status = fep_do(&" + _ctxName + ");" + CR; diff --git a/src/tmltranslator/ctranslator/DoubleDmaMEC.java b/src/tmltranslator/ctranslator/DoubleDmaMEC.java index 7de817aaaa97babd232957ef62e69ce9b6612e7c..b488c82712953fd5b573c9beac25614422bacfcd 100755 --- a/src/tmltranslator/ctranslator/DoubleDmaMEC.java +++ b/src/tmltranslator/ctranslator/DoubleDmaMEC.java @@ -111,4 +111,30 @@ public class DoubleDmaMEC extends CPMEC { } } + public static Vector<String> sortAttributes( Vector<String> assignedAttributes ) { + + Vector<String> newVector = new Vector<String>( assignedAttributes ); + for( String s: assignedAttributes ) { + if( s.contains( destinationAddress1 ) ) { + newVector.set( destinationAddress1Index, getAttributeValue(s) ); + } + if( s.contains( sourceAddress1 ) ) { + newVector.set( sourceAddress1Index, getAttributeValue(s) ); + } + if( s.contains( counter1 ) ) { + newVector.set( counter1Index, getAttributeValue(s) ); + } + if( s.contains( destinationAddress2 ) ) { + newVector.set( destinationAddress2Index, getAttributeValue(s) ); + } + if( s.contains( sourceAddress2 ) ) { + newVector.set( sourceAddress2Index, getAttributeValue(s) ); + } + if( s.contains( counter2 ) ) { + newVector.set( counter2Index, getAttributeValue(s) ); + } + } + return newVector; + } + } //End of class diff --git a/src/tmltranslator/ctranslator/FepBuffer.java b/src/tmltranslator/ctranslator/FepBuffer.java index cfced052a24f1ac0df69e909ec3ade6a9ba7ffd6..725b452ee24a48b7e1b9d17d237efce274736d19 100755 --- a/src/tmltranslator/ctranslator/FepBuffer.java +++ b/src/tmltranslator/ctranslator/FepBuffer.java @@ -48,6 +48,11 @@ package tmltranslator.ctranslator;; import java.util.*; import java.nio.*; +import org.w3c.dom.Element; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + import myutil.*; import tmltranslator.*; @@ -55,10 +60,10 @@ public class FepBuffer extends Buffer { public static final String[] dataTypeList = { "int8", "int16", "cpx16", "cpx32" }; public static final String[] banksList = { "0", "1", "2", "3" }; - public static final int numSamplesIndex = 1; - public static final int baseAddressIndex = 2; - public static final int bankIndex = 3; - public static final int dataTypeIndex = 4; + public static final int NUM_SAMPLES_INDEX = 1; + public static final int BASE_ADDRESS_INDEX = 2; + public static final int BANK_INDEX = 3; + public static final int DATA_TYPE_INDEX = 4; protected String numSamplesValue = USER_TO_DO; protected static final String numSamplesType = "uint8_t"; @@ -82,6 +87,11 @@ public class FepBuffer extends Buffer { "typedef FEP_BUFFER_TYPE FEP_BUFFER_TYPE" + SC; private String Context = "FEP_CONTEXT"; + + private static JTextField numSamplesTF = new JTextField( "", 5 ); + private static JTextField baseAddressTF = new JTextField( "", 5 ); + private static JComboBox bankCB = new JComboBox( new Vector<String>( Arrays.asList( banksList ) ) ); + private static JComboBox dataTypeCB = new JComboBox( new Vector<String>( Arrays.asList( dataTypeList ) ) ); public FepBuffer( String _name, TMLTask _task ) { type = "FEP_BUFFER_TYPE"; @@ -115,17 +125,17 @@ public class FepBuffer extends Buffer { private void retrieveBufferParameters() { if( bufferParameters.size() == maxParameters ) { - if( bufferParameters.get( numSamplesIndex ).length() > 0 ) { - numSamplesValue = bufferParameters.get( numSamplesIndex ); + if( bufferParameters.get( NUM_SAMPLES_INDEX ).length() > 0 ) { + numSamplesValue = bufferParameters.get( NUM_SAMPLES_INDEX ); } - if( bufferParameters.get( baseAddressIndex ).length() > 0 ) { - baseAddressValue = bufferParameters.get( baseAddressIndex ); + if( bufferParameters.get( BASE_ADDRESS_INDEX ).length() > 0 ) { + baseAddressValue = bufferParameters.get( BASE_ADDRESS_INDEX ); } - if( bufferParameters.get( bankIndex ).length() > 0 ) { - bankValue = bufferParameters.get( bankIndex ); + if( bufferParameters.get( BANK_INDEX ).length() > 0 ) { + bankValue = bufferParameters.get( BANK_INDEX ); } - if( bufferParameters.get( dataTypeIndex ).length() > 0 ) { - dataTypeValue = String.valueOf(( new Vector<String>( Arrays.asList( dataTypeList ))).indexOf( bufferParameters.get( dataTypeIndex ))); + if( bufferParameters.get( DATA_TYPE_INDEX ).length() > 0 ) { + dataTypeValue = String.valueOf(( new Vector<String>( Arrays.asList( dataTypeList ))).indexOf( bufferParameters.get( DATA_TYPE_INDEX ))); } } } @@ -133,4 +143,128 @@ public class FepBuffer extends Buffer { public String getContext() { return Context; } + + public static String appendBufferParameters( ArrayList<String> buffer ) { + + StringBuffer sb = new StringBuffer(); + sb.append("\" bufferType=\"" + Integer.toString( Buffer.FepBuffer ) ); + if( buffer.size() == maxParameters+1 ) { //because the first parameter is the bufferType + sb.append("\" baseAddress=\"" + buffer.get( BASE_ADDRESS_INDEX ) ); + sb.append("\" numSamples=\"" + buffer.get( NUM_SAMPLES_INDEX ) ); + sb.append("\" bank=\"" + buffer.get( BANK_INDEX ) ); + sb.append("\" dataType=\"" + buffer.get( DATA_TYPE_INDEX ) ); + } + else { + sb.append("\" baseAddress=\"" + SP ); + sb.append("\" numSamples=\"" + SP ); + sb.append("\" bank=\"" + SP ); + sb.append("\" dataType=\"" + SP ); + } + return sb.toString(); + } + + public static ArrayList<String> buildBufferParameters( Element elt ) { + + ArrayList<String> buffer = new ArrayList<String>(); + buffer.add( 0, Integer.toString( Buffer.FepBuffer ) ); + buffer.add( NUM_SAMPLES_INDEX, elt.getAttribute( "numSamples" ) ); + buffer.add( BASE_ADDRESS_INDEX, elt.getAttribute( "baseAddress" ) ); + buffer.add( BANK_INDEX, elt.getAttribute( "bank" ) ); + buffer.add( DATA_TYPE_INDEX, elt.getAttribute( "dataType" ) ); + return buffer; + } + + public static JPanel makePanel( boolean loadBufferParameters, GridBagConstraints c1, GridBagConstraints c2, ArrayList<String> bufferParameters ) { + + String baseAddress = "", numSamples = "", bank = "", dataType = ""; + + GridBagLayout gridbag2 = new GridBagLayout(); + + + JPanel panel = new JPanel(); + panel.setLayout( gridbag2 ); + panel.setBorder( new javax.swing.border.TitledBorder("Code generation: memory configuration")); + panel.setPreferredSize( new Dimension(650, 350) ); + + if( loadBufferParameters ) { + baseAddress = bufferParameters.get( BASE_ADDRESS_INDEX ); + numSamples = bufferParameters.get( NUM_SAMPLES_INDEX ); + bank = bufferParameters.get( BANK_INDEX ); + dataType = bufferParameters.get( DATA_TYPE_INDEX ); + } + + panel.setBorder(new javax.swing.border.TitledBorder("Code generation: memory configuration")); + + c2.anchor = GridBagConstraints.LINE_START; + numSamplesTF.setText( numSamples ); + panel.add( new JLabel( "Number of samples = "), c2 ); + c1.gridwidth = GridBagConstraints.REMAINDER; + panel.add( numSamplesTF, c1 ); + // + baseAddressTF.setText( baseAddress ); + panel.add( new JLabel( "Base address = "), c2 ); + c1.gridwidth = GridBagConstraints.REMAINDER; + panel.add( baseAddressTF, c1 ); + // + panel.add( new JLabel( "Bank number = "), c2 ); + if( bank != null && !bank.equals("") ) { + bankCB.setSelectedIndex( Integer.parseInt( bank ) ); + } + else { + bankCB.setSelectedIndex(0); + } + panel.add( bankCB, c1 ); + // + panel.add( new JLabel( "Data type = "), c2 ); + if( dataType != null && !dataType.equals("") ) { + dataTypeCB.setSelectedItem( dataType ); + } + else { + dataTypeCB.setSelectedIndex(0); + } + panel.add( dataTypeCB, c1 ); + return panel; + } + + public static boolean closePanel( Frame frame ) { + + String baseAddress = (String) baseAddressTF.getText(); + if( baseAddress.length() <= 2 && baseAddress.length() > 0 ) { + JOptionPane.showMessageDialog( frame, "Please enter a valid base address", "Badly formatted parameter", + JOptionPane.INFORMATION_MESSAGE ); + return false; + } + if( baseAddress.length() > 2 ) { + if( !( baseAddress.substring(0,2).equals("0x") || baseAddress.substring(0,2).equals("0X") ) ) { + JOptionPane.showMessageDialog( frame, "Base address must be expressed in hexadecimal", "Badly formatted parameter", + JOptionPane.INFORMATION_MESSAGE ); + return false; + } + } + String regex = "[0-9]+"; + String numSamples = (String) numSamplesTF.getText(); + if( !numSamples.matches( regex ) ) { + JOptionPane.showMessageDialog( frame, "The number of samples must be expressed as a natural", "Badly formatted parameter", + JOptionPane.INFORMATION_MESSAGE ); + return false; + } + if( Integer.parseInt( numSamples ) == 0 ) { + JOptionPane.showMessageDialog( frame, "The number of samples must be greater than 0", "Badly formatted parameter", + JOptionPane.INFORMATION_MESSAGE ); + return false; + } + if( !( numSamples.length() > 0 ) ) { + return true; + } + return true; + } + + public static void getBufferParameters( ArrayList<String> params ) { + + params.add( NUM_SAMPLES_INDEX, numSamplesTF.getText() ); + params.add( BASE_ADDRESS_INDEX, baseAddressTF.getText() ); + params.add( BANK_INDEX, (String)bankCB.getSelectedItem() ); + params.add( DATA_TYPE_INDEX, (String)dataTypeCB.getSelectedItem() ); + } + } //End of class diff --git a/src/tmltranslator/ctranslator/FftMEC.java b/src/tmltranslator/ctranslator/FftMEC.java index 88f8daee9bd79a7f9ae23e5db6e1ad19c000cd77..2958ea6810aef56cc7c6f7cfa6db845c19e8512d 100644 --- a/src/tmltranslator/ctranslator/FftMEC.java +++ b/src/tmltranslator/ctranslator/FftMEC.java @@ -59,9 +59,6 @@ public class FftMEC extends FepOperationMEC { "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->data_type);" + CR + TAB + - "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + - "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + "/*start execution*/" + CR + TAB + "status = fep_do(&" + _ctxName + ");" + CR; diff --git a/src/tmltranslator/ctranslator/Signal.java b/src/tmltranslator/ctranslator/Signal.java index 04642b96772e472ed8ba99c7ce6d15bc13ff0f63..3d0ddd074a4876d81b6cd2fcb83dbb4a89d5b49b 100755 --- a/src/tmltranslator/ctranslator/Signal.java +++ b/src/tmltranslator/ctranslator/Signal.java @@ -53,17 +53,14 @@ import tmltranslator.*; public class Signal { + public static final String DECLARATION = "struct SIG_TYPE {\n\tbool f;\n\tvoid *pBuff;\n};\n\ntypedef struct SIG_TYPE SIG_TYPE;\nextern SIG_TYPE sig[];\n\n"; + public static final String USERTODO = "/* USER TODO: signal */"; + public String CR = "\n"; public String SC = ";"; - private String status_s = "bool f" + SC + CR; private boolean status = false; - - private String buffPointer_s = "void *pBuff" + SC + CR; private Buffer buffPointer = null; - - public static final String DECLARATION = "struct SIG_TYPE {\n\tbool f;\n\tvoid *pBuff;\n};\n\ntypedef struct SIG_TYPE SIG_TYPE;\nextern SIG_TYPE sig[];\n\n"; - private String name; private TMLChannel channel; private TMLEvent event; diff --git a/src/tmltranslator/ctranslator/SingleDmaMEC.java b/src/tmltranslator/ctranslator/SingleDmaMEC.java index ae48bc5055a6d4f412fb93978e2722eba2185999..58ceb9896cc0778b0b585de2512246ac0845d6fb 100755 --- a/src/tmltranslator/ctranslator/SingleDmaMEC.java +++ b/src/tmltranslator/ctranslator/SingleDmaMEC.java @@ -107,7 +107,23 @@ public class SingleDmaMEC extends CPMEC { exec_code = TAB + "embb_mem2ip((EMBB_CONTEXT *)&" + ctxName + ", (uintptr_t) " + memoryBaseAddress + ", /*USER TODO: *SRC */, " + sizeString + " );" + CR; break; } + } + public static Vector<String> sortAttributes( Vector<String> assignedAttributes ) { + + Vector<String> newVector = new Vector<String>( assignedAttributes ); + for( String s: assignedAttributes ) { + if( s.contains( destinationAddress ) ) { + newVector.set( destinationAddressIndex, getAttributeValue(s) ); + } + if( s.contains( sourceAddress ) ) { + newVector.set( sourceAddressIndex, getAttributeValue(s) ); + } + if( s.contains( counter ) ) { + newVector.set( counterIndex, getAttributeValue(s) ); + } + } + return newVector; } } //End of class diff --git a/src/tmltranslator/ctranslator/SumMEC.java b/src/tmltranslator/ctranslator/SumMEC.java index ddf2f2df1c49bd4af20c81a712012818acc0194d..58fa4d7b685f53210d1aedf7184d8891f59483df 100644 --- a/src/tmltranslator/ctranslator/SumMEC.java +++ b/src/tmltranslator/ctranslator/SumMEC.java @@ -54,7 +54,6 @@ public class SumMEC extends FepOperationMEC { name = "Sum MEC"; exec_code = TAB + "/*firm instruction*/" + CR + TAB + "int status;" + CR + TAB + - "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + TAB + "/*start execution*/" + CR + TAB + "status = fep_do(&" + _ctxName + ");" + CR; diff --git a/src/tmltranslator/ctranslator/TMLCCodeGeneration.java b/src/tmltranslator/ctranslator/TMLCCodeGeneration.java index 68937c0ab484d431847b9557109221fcffed311e..13f8cb8fb20f5fbd975c19bb2d26313ef09ece34 100755 --- a/src/tmltranslator/ctranslator/TMLCCodeGeneration.java +++ b/src/tmltranslator/ctranslator/TMLCCodeGeneration.java @@ -1113,7 +1113,7 @@ public class TMLCCodeGeneration { } int cpMECType = tmlcplib.getCPMECType(); if( cpMECType == CPMEC.CpuMemoryCopyMEC ) { - TraceManager.addDev( "attributes contains " + attributes.size() + " elements!" ); + TraceManager.addDev( "Attributes for memory copy:\n\t" + attributes.toString() ); counter = (attributes.size() == 0 ) ? "/* USER TODO */" : attributes.get( CpuMemoryCopyMEC.counterIndex ); CpuMemoryCopyMEC mec = new CpuMemoryCopyMEC( ctxName, new CpuMEC(), counter ); //mem2ip programString.append( mec.getExecCode() ); @@ -1134,6 +1134,7 @@ public class TMLCCodeGeneration { dstMemoryType = tmla.getHwMemoryByName( memoryUnit ).BufferType; } } + TraceManager.addDev( "Attributes for DMA:\n\t" + attributes.toString() ); counter = (attributes.size() == 0 ) ? "/* USER TODO */" : attributes.get( SingleDmaMEC.counterIndex ); SingleDmaMEC mec = new SingleDmaMEC( ctxName, dmaArchMEC, srcMemoryType, dstMemoryType, transferType, counter ); programString.append( mec.getExecCode() ); @@ -1244,7 +1245,7 @@ public class TMLCCodeGeneration { String init_code = ""; String ctxName; - String inSignalName, outSignalName; + String inSignalName = Signal.USERTODO, outSignalName = Signal.USERTODO; initFileString.append( "#include \"" + applicationName + ".h\"" + CR2 ); initFileString.append( "/**** variables ****/" + CR2 ); initFileString.append( "char fep_mss[0x10000];" + CR ); @@ -1267,15 +1268,9 @@ public class TMLCCodeGeneration { if( op.getInSignals().size() > 0 ) { inSignalName = op.getInSignals().get(0).getName(); } - else { - inSignalName = "noInSignal"; - } if( op.getOutSignal() != null ) { outSignalName = op.getOutSignal().getName(); } - else { - outSignalName = "noOutSignal"; - } switch( xTaskOperationType ) { case OperationMEC.CwpMEC: CwpMEC cwp = new CwpMEC( ctxName, inSignalName, outSignalName ); @@ -1320,6 +1315,8 @@ public class TMLCCodeGeneration { } initFileString.append( init_code + CR ); init_code = ""; + inSignalName = Signal.USERTODO; + outSignalName = Signal.USERTODO; } } diff --git a/src/ui/tmldd/TMLArchiCPNode.java b/src/ui/tmldd/TMLArchiCPNode.java index a9bbe1b52f3bff1cc7b8f1f0cf6e771b894ee2a3..76052dde15b701488b0168ec9ff1631132e539a0 100755 --- a/src/ui/tmldd/TMLArchiCPNode.java +++ b/src/ui/tmldd/TMLArchiCPNode.java @@ -317,7 +317,6 @@ public class TMLArchiCPNode extends TMLArchiCommunicationNode implements Swallow String attributeName = elt.getAttribute( "name" ); String attributeValue = elt.getAttribute( "value" ); assignedAttributes.add( attributeType + " " + attributeName + " = " + attributeValue + ";" ); - //assignedAttributes.add( new TMLAttribute( attributeName, attributeValue ); } } } @@ -412,18 +411,16 @@ public class TMLArchiCPNode extends TMLArchiCommunicationNode implements Swallow public Vector<String> getAssignedAttributes() { - //attributes must first be parsed and assigned to the correct position within array, in order to be correctly retrieved Vector<String> vectorToReturn; switch( cpMEC ) { case CPMEC.MemoryCopy: - TraceManager.addDev( "Returning assignedAttributes as memory copy" ); - vectorToReturn = assignedAttributes; + vectorToReturn = CpuMemoryCopyMEC.sortAttributes( assignedAttributes ); break; case CPMEC.SingleDMA: - vectorToReturn = sortAttributesForSingleDMA(); + vectorToReturn = SingleDmaMEC.sortAttributes( assignedAttributes ); break; case CPMEC.DoubleDMA: - vectorToReturn = sortAttributesForDoubleDMA(); + vectorToReturn = DoubleDmaMEC.sortAttributes( assignedAttributes ); break; default: TraceManager.addDev( "ERROR in returning assignedAttributes" ); @@ -433,54 +430,6 @@ public class TMLArchiCPNode extends TMLArchiCommunicationNode implements Swallow return vectorToReturn; } - private Vector<String> sortAttributesForSingleDMA() { - - Vector<String> newVector = new Vector<String>( assignedAttributes ); - for( String s: assignedAttributes ) { - if( s.contains( SingleDmaMEC.destinationAddress ) ) { - newVector.set( SingleDmaMEC.destinationAddressIndex, getAttributeValue(s) ); - } - if( s.contains( SingleDmaMEC.sourceAddress ) ) { - newVector.set( SingleDmaMEC.sourceAddressIndex, getAttributeValue(s) ); - } - if( s.contains( SingleDmaMEC.counter ) ) { - newVector.set( SingleDmaMEC.counterIndex, getAttributeValue(s) ); - } - } - return newVector; - } - - private Vector<String> sortAttributesForDoubleDMA() { - - Vector<String> newVector = new Vector<String>( assignedAttributes ); - for( String s: assignedAttributes ) { - if( s.contains( DoubleDmaMEC.destinationAddress1 ) ) { - newVector.set( DoubleDmaMEC.destinationAddress1Index, getAttributeValue(s) ); - } - if( s.contains( DoubleDmaMEC.sourceAddress1 ) ) { - newVector.set( DoubleDmaMEC.sourceAddress1Index, getAttributeValue(s) ); - } - if( s.contains( DoubleDmaMEC.counter1 ) ) { - newVector.set( DoubleDmaMEC.counter1Index, getAttributeValue(s) ); - } - if( s.contains( DoubleDmaMEC.destinationAddress2 ) ) { - newVector.set( DoubleDmaMEC.destinationAddress2Index, getAttributeValue(s) ); - } - if( s.contains( DoubleDmaMEC.sourceAddress2 ) ) { - newVector.set( DoubleDmaMEC.sourceAddress2Index, getAttributeValue(s) ); - } - if( s.contains( DoubleDmaMEC.counter2 ) ) { - newVector.set( DoubleDmaMEC.counter2Index, getAttributeValue(s) ); - } - } - return newVector; - } - - private String getAttributeValue( String assignement ) { - String s = assignement.split(" = ")[1]; - return s.substring(0, s.length()-1); //remove trailing semi-colon - } - public ArrayList<Integer> getTransferTypes() { ArrayList<Integer> transferTypes = new ArrayList<Integer>(); transferTypes.add( transferType1 ); diff --git a/src/ui/tmldd/TMLArchiPortArtifact.java b/src/ui/tmldd/TMLArchiPortArtifact.java index 2a2f664b14fd073f088d54b3b6c0d610da77b0a3..ecf54eceb2856ad0d4a15265801e5f7a886af7fa 100644 --- a/src/ui/tmldd/TMLArchiPortArtifact.java +++ b/src/ui/tmldd/TMLArchiPortArtifact.java @@ -189,12 +189,14 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements String tmp; boolean error = false; + TraceManager.addDev( "bufferParameters before: " + bufferParameters.toString() ); JDialogPortArtifact dialog = new JDialogPortArtifact(frame, "Setting port artifact attributes", this, mappedMemory, bufferParameters, value ); dialog.setSize(700, 600); GraphicLib.centerOnParent(dialog); dialog.show(); // blocked until dialog has been closed mappedMemory = dialog.getMappedMemory(); bufferParameters = dialog.getBufferParameters(); + TraceManager.addDev( "bufferParameters after: " + bufferParameters.toString() ); bufferType = bufferParameters.get( Buffer.bufferTypeIndex ); if (!dialog.isRegularClose()) { @@ -265,15 +267,12 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements sb.append("\" typeName=\"" + typeName); sb.append("\" mappedMemory=\"" + mappedMemory ); if( !bufferType.equals( "" ) && !bufferType.equals( "noBuffer" ) ) { - sb.append("\" bufferType=\"" + bufferType ); switch( Integer.parseInt( bufferType ) ) { case Buffer.FepBuffer: - sb.append("\" baseAddress=\"" + bufferParameters.get( FepBuffer.baseAddressIndex ) ); - sb.append("\" numSamples=\"" + bufferParameters.get( FepBuffer.numSamplesIndex ) ); - sb.append("\" bank=\"" + bufferParameters.get( FepBuffer.bankIndex ) ); - sb.append("\" dataType=\"" + bufferParameters.get( FepBuffer.dataTypeIndex ) ); + sb.append( FepBuffer.appendBufferParameters( bufferParameters ) ); break; case Buffer.InterleaverBuffer: + sb.append("\" bufferType=\"" + bufferType ); //data in sb.append( "\" packedBinaryInIntl=\"" + bufferParameters.get( InterleaverBuffer.packedBinaryInIntlIndex ) ); sb.append( "\" widthIntl=\"" + bufferParameters.get( InterleaverBuffer.widthIntlIndex ) ); @@ -288,10 +287,13 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements sb.append( "\" lengthPermIntl=\"" + bufferParameters.get( InterleaverBuffer.lengthPermIntlIndex) ); break; case Buffer.AdaifBuffer: + sb.append( AdaifBuffer.appendBufferParameters( bufferParameters ) ); + /*sb.append("\" bufferType=\"" + bufferType ); sb.append("\" numSamples=\"" + bufferParameters.get( MMBuffer.numSamplesIndex ) ); - sb.append("\" baseAddress=\"" + bufferParameters.get( MMBuffer.baseAddressIndex ) ); + sb.append("\" baseAddress=\"" + bufferParameters.get( MMBuffer.baseAddressIndex ) );*/ break; case Buffer.MapperBuffer: + sb.append("\" bufferType=\"" + bufferType ); //data in sb.append("\" numSamplesDataInMapp=\"" + bufferParameters.get( MapperBuffer.numSamplesDataInMappIndex ) ); sb.append("\" baseAddressDataInMapp=\"" + bufferParameters.get( MapperBuffer.baseAddressDataInMappIndex ) ); @@ -303,14 +305,12 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements sb.append("\" baseAddressLUTMapp=\"" + bufferParameters.get( MapperBuffer.baseAddressLUTMappIndex ) ); break; case Buffer.MainMemoryBuffer: + sb.append("\" bufferType=\"" + bufferType ); sb.append("\" numSamples=\"" + bufferParameters.get( MMBuffer.numSamplesIndex ) ); sb.append("\" baseAddress=\"" + bufferParameters.get( MMBuffer.baseAddressIndex ) ); break; default: //the fep buffer - sb.append("\" baseAddress=\"" + bufferParameters.get( FepBuffer.baseAddressIndex ) ); - sb.append("\" numSamples=\"" + bufferParameters.get( FepBuffer.numSamplesIndex ) ); - sb.append("\" bank=\"" + bufferParameters.get( FepBuffer.bankIndex ) ); - sb.append("\" dataType=\"" + bufferParameters.get( FepBuffer.dataTypeIndex ) ); + sb.append( FepBuffer.appendBufferParameters( bufferParameters ) ); break; } } @@ -348,15 +348,17 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements mappedMemory = elt.getAttribute("mappedMemory"); if( (elt.getAttribute("bufferType") != null) && (elt.getAttribute("bufferType").length() > 0) ) { bufferType = elt.getAttribute("bufferType"); - bufferParameters.add( bufferType ); + //bufferParameters.add( bufferType ); switch( Integer.parseInt( bufferType ) ) { case Buffer.FepBuffer: - bufferParameters.add( elt.getAttribute( "baseAddress" ) ); + bufferParameters = FepBuffer.buildBufferParameters( elt ); + /*bufferParameters.add( FepBuffer.baseAddressIndex, elt.getAttribute( "baseAddress" ) ); bufferParameters.add( elt.getAttribute( "numSamples" ) ); bufferParameters.add( elt.getAttribute( "bank" ) ); - bufferParameters.add( elt.getAttribute( "dataType" ) ); + bufferParameters.add( elt.getAttribute( "dataType" ) );*/ break; case Buffer.InterleaverBuffer: + bufferParameters.add( bufferType ); //data in bufferParameters.add( elt.getAttribute( "packedBinaryInIntl" ) ); bufferParameters.add( elt.getAttribute( "widthIntl" ) ); @@ -371,10 +373,13 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements bufferParameters.add( elt.getAttribute( "lengthPermIntl" ) ); break; case Buffer.AdaifBuffer: + AdaifBuffer.buildBufferParameters( elt ); + /*bufferParameters.add( bufferType ); bufferParameters.add( elt.getAttribute( "numSamples" ) ); - bufferParameters.add( elt.getAttribute( "baseAddress" ) ); + bufferParameters.add( elt.getAttribute( "baseAddress" ) );*/ break; case Buffer.MapperBuffer: + bufferParameters.add( bufferType ); //data in bufferParameters.add( elt.getAttribute( "numSamplesDataInMapp" ) ); bufferParameters.add( elt.getAttribute( "baseAddressDataInMapp" ) ); @@ -386,10 +391,12 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements bufferParameters.add( elt.getAttribute( "baseAddressLUTMapp" ) ); break; case Buffer.MainMemoryBuffer: + bufferParameters.add( bufferType ); bufferParameters.add( elt.getAttribute( "numSamples" ) ); bufferParameters.add( elt.getAttribute( "baseAddress" ) ); break; default: //the main memory buffer + bufferParameters.add( bufferType ); bufferParameters.add( elt.getAttribute( "baseAddress" ) ); bufferParameters.add( elt.getAttribute( "numSamples" ) ); bufferParameters.add( elt.getAttribute( "bank" ) ); diff --git a/src/ui/window/JDialogPortArtifact.java b/src/ui/window/JDialogPortArtifact.java index 5e5ac98561758d8fbba3d3021d6f759c16586728..41215a6529784781dd4686e72dd431f797567550 100755 --- a/src/ui/window/JDialogPortArtifact.java +++ b/src/ui/window/JDialogPortArtifact.java @@ -49,7 +49,6 @@ package ui.window; import java.awt.*; import java.awt.event.*; import javax.swing.*; -//import javax.swing.event.*; import java.util.*; import ui.*; @@ -250,13 +249,11 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi switch( bufferType ) { case Buffer.FepBuffer: - if( loadBufferParameters ) { - baseAddress = bufferParameters.get( FepBuffer.baseAddressIndex ); - numSamples = bufferParameters.get( FepBuffer.numSamplesIndex ); - bank = bufferParameters.get( FepBuffer.bankIndex ); - dataType = bufferParameters.get( FepBuffer.dataTypeIndex ); - } - makeFepBufferPanel( c1, c2 ); + /*numSamplesTF = new JTextField( "", 5 ); + baseAddressTF = new JTextField( "", 5 ); + bankCB = new JComboBox( new Vector<String>( Arrays.asList( FepBuffer.banksList ) ) ); + dataTypeCB = new JComboBox( new Vector<String>( Arrays.asList( FepBuffer.dataTypeList ) ) );*/ + panel3 = FepBuffer.makePanel( loadBufferParameters, c1, c2, bufferParameters ); break; case Buffer.InterleaverBuffer: if( loadBufferParameters ) { @@ -304,13 +301,7 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi makeMainMemoryBufferPanel( c1, c2 ); break; default: //the fep buffer - if( loadBufferParameters ) { - baseAddress = bufferParameters.get( FepBuffer.baseAddressIndex ); - numSamples = bufferParameters.get( FepBuffer.numSamplesIndex ); - bank = bufferParameters.get( FepBuffer.bankIndex ); - dataType = bufferParameters.get( FepBuffer.dataTypeIndex ); - } - makeFepBufferPanel( c1, c2 ); + panel3 = FepBuffer.makePanel( loadBufferParameters, c1, c2, bufferParameters ); break; } @@ -342,21 +333,19 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi c.add(cancelButton, c0); } - private void makeFepBufferPanel( GridBagConstraints c1, GridBagConstraints c2 ) { + /*private void makeFepBufferPanel( GridBagConstraints c1, GridBagConstraints c2 ) { - panel3.setBorder(new javax.swing.border.TitledBorder("Code generation: memory configuration")); + panel3.setBorder(new javax.swing.border.TitledBorder("Code generation: memory configuration")); c2.anchor = GridBagConstraints.LINE_START; - numSamplesTF = new JTextField( sampleLength, 5 ); + numSamplesTF = new JTextField( numSamples, 5 ); panel3.add( new JLabel( "Number of samples = "), c2 ); c1.gridwidth = GridBagConstraints.REMAINDER; - numSamplesTF = new JTextField( sampleLength, 5 ); panel3.add( numSamplesTF, c1 ); // baseAddressTF = new JTextField( baseAddress, 5 ); panel3.add( new JLabel( "Base address = "), c2 ); c1.gridwidth = GridBagConstraints.REMAINDER; - baseAddressTF = new JTextField( baseAddress, 5 ); panel3.add( baseAddressTF, c1 ); // bankCB = new JComboBox( new Vector<String>( Arrays.asList( FepBuffer.banksList ) ) ); @@ -374,7 +363,7 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi dataTypeCB.setSelectedItem( dataType ); } panel3.add( dataTypeCB, c1 ); - } + }*/ private void makeInterleaverBufferPanel( GridBagConstraints c1, GridBagConstraints c2 ) { @@ -606,11 +595,13 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi switch( bufferType ) { case Buffer.FepBuffer: - panel3.removeAll(); + //panel3.removeAll(); tabbedPane.removeAll(); - makeFepBufferPanel( c1, c2 ); - panel3.revalidate(); - panel3.repaint(); + /*numSamplesTF = new JTextField( "", 5 ); + baseAddressTF = new JTextField( "", 5 ); + bankCB = new JComboBox( new Vector<String>( Arrays.asList( FepBuffer.banksList ) ) ); + dataTypeCB = new JComboBox( new Vector<String>( Arrays.asList( FepBuffer.dataTypeList ) ) );*/ + panel3 = FepBuffer.makePanel( loadBufferParameters, c1, c2, bufferParameters ); tabbedPane.addTab( "Data", panel3 ); break; case Buffer.MapperBuffer: @@ -648,11 +639,13 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi tabbedPane.addTab( "Data", panel3 ); break; default: //the main memory buffer - panel3.removeAll(); - tabbedPane.removeAll(); - makeFepBufferPanel( c1, c2 ); - panel3.revalidate(); - panel3.repaint(); + //panel3.removeAll(); + /*tabbedPane.removeAll(); + numSamplesTF = new JTextField( "", 5 ); + baseAddressTF = new JTextField( "", 5 ); + bankCB = new JComboBox( new Vector<String>( Arrays.asList( FepBuffer.banksList ) ) ); + dataTypeCB = new JComboBox( new Vector<String>( Arrays.asList( FepBuffer.dataTypeList ) ) );*/ + panel3 = FepBuffer.makePanel( loadBufferParameters, c1, c2, bufferParameters ); tabbedPane.addTab( "Data", panel3 ); break; } @@ -702,7 +695,7 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi bufferType = getBufferTypeFromSelectedMemory( (String)memoryCB.getItemAt( memoryCB.getSelectedIndex() ) ); switch ( bufferType ) { case Buffer.FepBuffer: - if( !handleClosureWhenSelectedFepBuffer() ) { + if( !FepBuffer.closePanel( frame ) ) { return; } break; @@ -727,7 +720,7 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi } break; default: //the main memory buffer - if( !handleClosureWhenSelectedFepBuffer() ) { + if( !FepBuffer.closePanel( frame ) ) { return; } break; @@ -735,10 +728,6 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi dispose(); } - private boolean handleClosureWhenSelectedFepBuffer() { - return checkBaseAddress() && checkNumSamples(); - } - private boolean handleClosureWhenSelectedInterleaverBuffer() { return checkDI_Intl() && checkDO_Intl() && CheckPerm_Intl(); } @@ -1016,41 +1005,6 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi return true; } - /*private boolean checkNumSamples_Intl() { - - String regex = "[0-9]+"; - numSamplesDataInIntl = (String) numSamplesDataInIntl_TF.getText(); - numSamplesDataOutIntl = (String) numSamplesDataOutIntl_TF.getText(); - - if( !( numSamplesDataInIntl.length() > 0 ) ) { - return true; - } - if( !numSamplesDataInIntl.matches( regex ) ) { - JOptionPane.showMessageDialog( frame, "The Data In number of samples must be expressed as a natural", "Badly formatted parameter", - JOptionPane.INFORMATION_MESSAGE ); - return false; - } - if( Integer.parseInt( numSamplesDataInIntl ) == 0 ) { - JOptionPane.showMessageDialog( frame, "The Data In number of samples must be greater than 0", "Badly formatted parameter", - JOptionPane.INFORMATION_MESSAGE ); - return false; - } - if( !( numSamplesDataOutIntl.length() > 0 ) ) { - return true; - } - if( !numSamplesDataOutIntl.matches( regex ) ) { - JOptionPane.showMessageDialog( frame, "The Data Out number of samples must be expressed as a natural", "Badly formatted parameter", - JOptionPane.INFORMATION_MESSAGE ); - return false; - } - if( Integer.parseInt( numSamplesDataOutIntl ) == 0 ) { - JOptionPane.showMessageDialog( frame, "The Data Out number of samples must be greater than 0", "Badly formatted parameter", - JOptionPane.INFORMATION_MESSAGE ); - return false; - } - return true; - }*/ - private boolean checkNumSamples() { String regex = "[0-9]+"; @@ -1098,10 +1052,7 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi params.add( String.valueOf( bufferType ) ); switch( bufferType ) { case Buffer.FepBuffer: - params.add( baseAddress ); - params.add( numSamples ); - params.add( (String)bankCB.getSelectedItem() ); - params.add( (String)dataTypeCB.getSelectedItem() ); + FepBuffer.getBufferParameters( params ); break; case Buffer.InterleaverBuffer: //data in @@ -1140,11 +1091,8 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi params.add( MMBuffer.numSamplesIndex, numSamples ); params.add( MMBuffer.baseAddressIndex, baseAddress ); break; - default: //the main memory buffer - params.add( baseAddress ); - params.add( numSamples ); - params.add( (String)bankCB.getSelectedItem() ); - params.add( (String)dataTypeCB.getSelectedItem() ); + default: //the main memory buffer + FepBuffer.getBufferParameters( params ); break; } return params; @@ -1164,8 +1112,6 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi panel4.repaint(); panel5.revalidate(); panel5.repaint(); - /*tabbedPaned.revalidate(); - tabbePaned.repaint();*/ } } //End of class diff --git a/src/ui/window/JDialogReferenceCP.java b/src/ui/window/JDialogReferenceCP.java index 39cfb088c175bd813fabf27b0570e529f161ef26..63c1196e13f635fc7e5127eff89ec951c2e0ca3d 100644 --- a/src/ui/window/JDialogReferenceCP.java +++ b/src/ui/window/JDialogReferenceCP.java @@ -1330,7 +1330,6 @@ public class JDialogReferenceCP extends javax.swing.JDialog implements ActionLis } public Vector<String> getAssignedAttributes() { - //before returning attributes I should sort them according to the cpMEC return assignedAttributes; }