|
@@ -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) {
|