Browse Source

return outstate map when exploration concludes

Fabio Battaglia 4 years ago
parent
commit
a9cae1a495

+ 3 - 3
src/main/java/info/hkzlab/dupal/analyzer/palanalisys/explorers/OSExplorer.java

@@ -24,7 +24,7 @@ public class OSExplorer {
 
     private OSExplorer() {};
 
-    public static void exploreOutStates(final DuPALCmdInterface dpci, final int ioAsOutMask) throws DuPALBoardException, DuPALAnalyzerException {
+    public static OutState[] exploreOutStates(final DuPALCmdInterface dpci, final int ioAsOutMask) throws DuPALBoardException, DuPALAnalyzerException {
         Map<Integer, OutState> statesMap = new HashMap<>();
         PALSpecs pSpecs = dpci.palSpecs;
         int maxLinks = 1 << (pSpecs.getPinCount_IN() + (pSpecs.getPinCount_IO()-BitUtils.countBits(ioAsOutMask)));
@@ -54,8 +54,6 @@ public class OSExplorer {
                 } else break; // We're done: can't move to anywhere else
             }
 
-
-
             int nextIdx = curState.getNextLinkIdx();
             OutState nOutState = getOutStateForIdx(dpci, nextIdx, ioAsOutMask, maxLinks, statesMap);
 
@@ -64,6 +62,8 @@ public class OSExplorer {
 
             curState = nOutState;
         }
+
+        return statesMap.values().toArray(new OutState[statesMap.size()]);
     }
 
     private static int calcolateWriteINFromIdx(int idx, PALSpecs pSpecs, int ioAsOutMask) {