import net.mograsim.logic.model.am2900.Am2900Loader;
import net.mograsim.logic.model.am2900.TestableCircuit;
import net.mograsim.logic.model.am2900.TestableCircuit.Result;
-import net.mograsim.logic.model.model.ViewModel;
-import net.mograsim.logic.model.model.ViewModelModifiable;
+import net.mograsim.logic.model.model.LogicModel;
+import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
import net.mograsim.logic.model.model.components.atomic.ModelBitDisplay;
import net.mograsim.logic.model.model.components.atomic.ModelManualSwitch;
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.model.model.wires.ModelWire;
import net.mograsim.logic.model.model.wires.Pin;
-import net.mograsim.logic.model.modeladapter.LogicModelParameters;
-import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter;
+import net.mograsim.logic.model.modeladapter.CoreModelParameters;
+import net.mograsim.logic.model.modeladapter.LogicCoreAdapter;
import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
import net.mograsim.logic.model.util.ModellingTool;
private ModelComponent component;
private Timeline timeline;
- private ViewModelModifiable viewModel;
+ private LogicModelModifiable logicModel;
private ModellingTool modellingTool;
private HashMap<String, ModelManualSwitch> idSwitchMap = new HashMap<>();
private HashMap<String, ModelBitDisplay> idDisplayMap = new HashMap<>();
public void setup(DebugState debug)
{
this.debug = debug;
- // Create view model
- viewModel = new ViewModelModifiable();
- modellingTool = ModellingTool.createFor(viewModel);
+ // Create logic model
+ logicModel = new LogicModelModifiable();
+ modellingTool = ModellingTool.createFor(logicModel);
Am2900Loader.setup();
- component = IndirectModelComponentCreator.createComponent(viewModel, modelId);
+ component = IndirectModelComponentCreator.createComponent(logicModel, modelId);
setField(componentField, component);
component.getPins().values().forEach(this::extendModelPin);
- // Create logic model
- LogicModelParameters params = new LogicModelParameters();
+ // Create core model
+ CoreModelParameters params = new CoreModelParameters();
params.gateProcessTime = 50;
params.wireTravelTime = 10;
- timeline = ViewLogicModelAdapter.convert(viewModel, params);
+ timeline = LogicCoreAdapter.convert(logicModel, params);
timelineField.ifPresent(f -> setField(f, timeline));
// Bind switches/displays to this test class
Class<?> type = f.getType();
if (CoreManualSwitch.class.isAssignableFrom(type))
{
- ModelManualSwitch gms = new ModelManualSwitch(viewModel, p.logicWidth);
+ ModelManualSwitch gms = new ModelManualSwitch(logicModel, p.logicWidth);
modellingTool.connect(p, gms.getOutputPin());
idSwitchMap.put(p.name, gms);
} else if (CoreBitDisplay.class.isAssignableFrom(type))
{
- ModelBitDisplay gbd = new ModelBitDisplay(viewModel, p.logicWidth);
+ ModelBitDisplay gbd = new ModelBitDisplay(logicModel, p.logicWidth);
modellingTool.connect(p, gbd.getInputPin());
idDisplayMap.put(p.name, gbd);
} else if (SwitchWithDisplay.class.isAssignableFrom(type))
{
- SwitchWithDisplay swd = new SwitchWithDisplay(viewModel, p);
+ SwitchWithDisplay swd = new SwitchWithDisplay(logicModel, p);
setField(f, swd);
} else
{
{
// Debug code
HashSet<ModelWire> wiresIncludingSubmodels = new HashSet<>();
- Queue<ViewModel> modelsToIterate = new LinkedList<>();
- modelsToIterate.add(viewModel);
+ Queue<LogicModel> modelsToIterate = new LinkedList<>();
+ modelsToIterate.add(logicModel);
while (modelsToIterate.size() > 0)
{
- ViewModel model = modelsToIterate.poll();
+ LogicModel model = modelsToIterate.poll();
wiresIncludingSubmodels.addAll(model.getWiresByName().values());
for (ModelComponent comp : model.getComponentsByName().values())
if (comp instanceof SubmodelComponent)
modelsToIterate.offer(((SubmodelComponent) comp).submodel);
}
System.out.println(wiresIncludingSubmodels.size());
- viewModel.setRedrawHandler(() -> wiresIncludingSubmodels.forEach(w ->
+ logicModel.setRedrawHandler(() -> wiresIncludingSubmodels.forEach(w ->
{
if (debugWires)
{
{
try
{
- new LogicUIStandaloneGUI(viewModel).run();
- viewModel.setRedrawHandler(null);
+ new LogicUIStandaloneGUI(logicModel).run();
+ logicModel.setRedrawHandler(null);
}
catch (Exception e)
{