Pārlūkot izejas kodu

Base support for 10L8

Baglio Tabifata 5 gadi atpakaļ
vecāks
revīzija
904eafe016

+ 1 - 1
src/main/java/info/hkzlab/dupal/analyzer/App.java

@@ -8,7 +8,7 @@ import info.hkzlab.dupal.analyzer.board.boardio.*;
 import info.hkzlab.dupal.analyzer.devices.*;
 
 public class App {
-    public static volatile String[] palTypes = { PAL16L8Specs.PAL_TYPE };
+    public static volatile String[] palTypes = { PAL16L8Specs.PAL_TYPE, PAL10L8Specs.PAL_TYPE };
 
     private final static Logger logger = LoggerFactory.getLogger(DuPALManager.class);
 

+ 15 - 1
src/main/java/info/hkzlab/dupal/analyzer/palanalisys/explorers/SimpleExplorer.java

@@ -2,12 +2,17 @@ package info.hkzlab.dupal.analyzer.palanalisys.explorers;
 
 import java.util.ArrayList;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import info.hkzlab.dupal.analyzer.board.boardio.DuPALCmdInterface;
 import info.hkzlab.dupal.analyzer.exceptions.DuPALBoardException;
 import info.hkzlab.dupal.analyzer.palanalisys.simple.SimpleState;
 import info.hkzlab.dupal.analyzer.utilities.BitUtils;
 
 public class SimpleExplorer {
+    private static final Logger logger = LoggerFactory.getLogger(SimpleExplorer.class);
+
     private SimpleExplorer() {
     };
 
@@ -15,9 +20,18 @@ public class SimpleExplorer {
         ArrayList<SimpleState> ssList = new ArrayList<>();
         int maxIdx = 1 << dpci.palSpecs.getPinCount_IN();
 
+        int read_a, read_b, w_idx;
         for(int idx = 0; idx < maxIdx; idx++) {
-            int w_idx = BitUtils.scatterBitField(idx, dpci.palSpecs.getMask_IN());
+            w_idx = BitUtils.scatterBitField(idx, dpci.palSpecs.getMask_IN());
             dpci.write(w_idx);
+            read_a = dpci.read() & dpci.palSpecs.getMask_O_R();
+            dpci.write(w_idx | dpci.palSpecs.getMask_O_W());
+            read_b = dpci.read() & dpci.palSpecs.getMask_O_R();
+
+            SimpleState ss = new SimpleState(w_idx, read_a, (read_a ^ read_b));
+            ssList.add(ss);
+
+            logger.info("exploreStates() -> Generated " + ss);
         }
 
         return ssList.toArray(new SimpleState[ssList.size()]);