Mograsim.git
4 years agoMerge branch 'development' of
Fabian Stemmler [Wed, 29 May 2019 16:12:22 +0000 (18:12 +0200)]
Merge branch 'development' of
https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019 into development

# Conflicts:
# LogicUI/oldsrc/RSLatchGUIExample.java

4 years agoMerge branch 'development' of
Fabian Stemmler [Wed, 29 May 2019 16:07:52 +0000 (18:07 +0200)]
Merge branch 'development' of
https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019 into development

# Conflicts:
# LogicUI/src/era/mi/gui/LogicUIStandalone.java

4 years agoRecreated RSLatchExample in Playground
Daniel Kirschten [Wed, 29 May 2019 15:56:29 +0000 (17:56 +0200)]
Recreated RSLatchExample in Playground

4 years agoCreated a working, usable example in Playground
Daniel Kirschten [Wed, 29 May 2019 15:45:28 +0000 (17:45 +0200)]
Created a working, usable example in Playground

4 years agoMade pin drawing optional
Daniel Kirschten [Wed, 29 May 2019 15:44:54 +0000 (17:44 +0200)]
Made pin drawing optional

4 years agoGUIManualSwitch now renders at the correct location
Daniel Kirschten [Wed, 29 May 2019 15:42:50 +0000 (17:42 +0200)]
GUIManualSwitch now renders at the correct location

4 years agoWireCrossPoint now renders at the correct location
Daniel Kirschten [Wed, 29 May 2019 15:40:05 +0000 (17:40 +0200)]
WireCrossPoint now renders at the correct location

4 years agoLogic model binding of WireCrossPoints is now being set
Daniel Kirschten [Wed, 29 May 2019 15:36:37 +0000 (17:36 +0200)]
Logic model binding of WireCrossPoints is now being set

4 years agoRestructured ComponentAdapter; added ManualSwitchAdapter
Daniel Kirschten [Wed, 29 May 2019 15:31:22 +0000 (17:31 +0200)]
Restructured ComponentAdapter; added ManualSwitchAdapter

4 years agoFixed redrawing bug
Daniel Kirschten [Wed, 29 May 2019 15:13:46 +0000 (17:13 +0200)]
Fixed redrawing bug

4 years agoFound the redrawing bug mentioned in the last commit
Daniel Kirschten [Wed, 29 May 2019 15:00:25 +0000 (17:00 +0200)]
Found the redrawing bug mentioned in the last commit

4 years agoActually use adapter. Somehow this introduced a rendering bug...
Daniel Kirschten [Wed, 29 May 2019 14:57:34 +0000 (16:57 +0200)]
Actually use adapter. Somehow this introduced a rendering bug...

4 years agoAdded adapters for OrGate and NotGate
Daniel Kirschten [Wed, 29 May 2019 14:57:19 +0000 (16:57 +0200)]
Added adapters for OrGate and NotGate

4 years agoCreated first version of ViewLogicModelAdapter
Daniel Kirschten [Wed, 29 May 2019 14:40:21 +0000 (16:40 +0200)]
Created first version of ViewLogicModelAdapter

4 years agoAdded getter for logicWidth in WireCrossPoint
Daniel Kirschten [Wed, 29 May 2019 14:24:27 +0000 (16:24 +0200)]
Added getter for logicWidth in WireCrossPoint

4 years agoAdded getters for pin1 and pin2 in GUIWire
Daniel Kirschten [Wed, 29 May 2019 14:24:10 +0000 (16:24 +0200)]
Added getters for pin1 and pin2 in GUIWire

4 years agoAdded concept of wire width to GUIComponents and GUIWires
Daniel Kirschten [Wed, 29 May 2019 13:24:49 +0000 (15:24 +0200)]
Added concept of wire width to GUIComponents and GUIWires

4 years agoRenamed ChangedListeners to LookChangedListeners
Daniel Kirschten [Wed, 29 May 2019 10:47:19 +0000 (12:47 +0200)]
Renamed ChangedListeners to LookChangedListeners

4 years agoMerge branch 'development' of
Fabian Stemmler [Wed, 29 May 2019 10:42:50 +0000 (12:42 +0200)]
Merge branch 'development' of
https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019 into development

# Conflicts:
# LogicUI/oldsrc/RSLatchGUIExample.java
# LogicUI/src/era/mi/gui/LogicUIStandalone.java
# LogicUI/src/era/mi/gui/components/GUIManualSwitch.java
# SampleERCP/src/sampleercp/parts/LogicUIPart.java

4 years agoTimeline updated (executeUntil, setTimeFunction)
Fabian Stemmler [Wed, 29 May 2019 06:22:04 +0000 (08:22 +0200)]
Timeline updated (executeUntil, setTimeFunction)

The timeline method executeUpto(timestamp, timeout), has been changed to
executeUntil(condition, timeout). The timeline method setTimeFunction
was added (e.g. to allow for real-time simulation). The timeFunction is
called whenever the timeline needs to find out the current simulation
time.

4 years agoImplemented GUIManualSwitch
Daniel Kirschten [Tue, 28 May 2019 21:40:31 +0000 (23:40 +0200)]
Implemented GUIManualSwitch

4 years agoImprovements in GUIWire and WireCrossPoint redrawing:
Daniel Kirschten [Tue, 28 May 2019 21:39:07 +0000 (23:39 +0200)]
Improvements in GUIWire and WireCrossPoint redrawing:

-GUIWire now supports ChangedListeners
-GUIWire and WireCrossPoint now call their ChangedListeners to request
redraws
-GUIWire and WireCrossPoint now use ColorHelper

4 years agoAdded BitVectorFormatter (as well as ColorDefinition)
Daniel Kirschten [Tue, 28 May 2019 21:29:28 +0000 (23:29 +0200)]
Added BitVectorFormatter (as well as ColorDefinition)

4 years agoAdded code for testing automatic redraws for model changes
Daniel Kirschten [Tue, 28 May 2019 12:56:25 +0000 (14:56 +0200)]
Added code for testing automatic redraws for model changes

4 years agoSmall changes; mainly in the listener system:
Daniel Kirschten [Tue, 28 May 2019 12:51:19 +0000 (14:51 +0200)]
Small changes; mainly in the listener system:

-Listeners now are Consumer<? super X> instead of Consumer<X>
-LogicUICanvas adds/removes listeners to not miss changes in the model
-Updated to new SWTHelper version

4 years agoFixed stupid bug causing NullPointerExceptions in GUIWire
Daniel Kirschten [Tue, 28 May 2019 09:58:57 +0000 (11:58 +0200)]
Fixed stupid bug causing NullPointerExceptions in GUIWire

4 years agoLogicUIPart: Removed old code now incompatible with LogicUI
Daniel Kirschten [Tue, 28 May 2019 09:52:33 +0000 (11:52 +0200)]
LogicUIPart: Removed old code now incompatible with LogicUI

4 years agoGUIWire now supports moving pins
Daniel Kirschten [Tue, 28 May 2019 09:51:33 +0000 (11:51 +0200)]
GUIWire now supports moving pins

4 years agoAdded destroy for GUIComponent and GUIWire
Daniel Kirschten [Tue, 28 May 2019 09:49:25 +0000 (11:49 +0200)]
Added destroy for GUIComponent and GUIWire

4 years agoLogicUICanvas now uses the new listener system; changes in clicked()
Daniel Kirschten [Tue, 28 May 2019 09:44:30 +0000 (11:44 +0200)]
LogicUICanvas now uses the new listener system; changes in clicked()

4 years agoImproved listener system
Daniel Kirschten [Tue, 28 May 2019 09:36:26 +0000 (11:36 +0200)]
Improved listener system

4 years agoStarted restructuring LogicUI
Daniel Kirschten [Tue, 28 May 2019 09:22:37 +0000 (11:22 +0200)]
Started restructuring LogicUI

4 years agoUpdated LogicUI to Java 10
Daniel Kirschten [Tue, 28 May 2019 09:22:09 +0000 (11:22 +0200)]
Updated LogicUI to Java 10

4 years agoMade LogicUIPart work again
Daniel Kirschten [Mon, 27 May 2019 21:27:57 +0000 (23:27 +0200)]
Made LogicUIPart work again

4 years agoTimeline now passed via constructor
Fabian Stemmler [Mon, 27 May 2019 18:06:29 +0000 (20:06 +0200)]
Timeline now passed via constructor

The Timeline is now passed into each Component and Wire via the
constructor. It is no longer statically accessed through the Simulation
class. Made SampleERCP and LogicUI compatible with this change.

4 years agoMade LogicUI compatible with ReadEnd and ReadWriteEnd
Fabian Stemmler [Sat, 25 May 2019 18:04:31 +0000 (20:04 +0200)]
Made LogicUI compatible with ReadEnd and ReadWriteEnd

4 years agoCompletion of ReadEnd and ReadWriteEnd addition
Fabian Stemmler [Fri, 24 May 2019 22:19:35 +0000 (00:19 +0200)]
Completion of ReadEnd and ReadWriteEnd addition

4 years agoWireEnd functionality split into ReadEnd and ReadWriteEnd
Fabian Stemmler [Fri, 24 May 2019 22:12:15 +0000 (00:12 +0200)]
WireEnd functionality split into ReadEnd and ReadWriteEnd

4 years agoNew Timeline events notify the simulation thread now
Daniel Kirschten [Thu, 23 May 2019 11:47:19 +0000 (13:47 +0200)]
New Timeline events notify the simulation thread now

4 years agoLogicUI now works as a ERCP part!
Daniel Kirschten [Thu, 23 May 2019 11:39:29 +0000 (13:39 +0200)]
LogicUI now works as a ERCP part!

4 years agoDowngraded LogicUI to Java 8; converted era.mi and LogicUI to plugins
Daniel Kirschten [Thu, 23 May 2019 11:38:01 +0000 (13:38 +0200)]
Downgraded LogicUI to Java 8; converted era.mi and LogicUI to plugins

4 years agoMade addComponentsAndwires public
Daniel Kirschten [Thu, 23 May 2019 10:57:41 +0000 (12:57 +0200)]
Made addComponentsAndwires public

4 years agoSplitted LogicUI into LogicUICanvas and LogicUIStandalone
Daniel Kirschten [Thu, 23 May 2019 10:48:54 +0000 (12:48 +0200)]
Splitted LogicUI into LogicUICanvas and LogicUIStandalone

4 years agoConfigured Java editor save actions: Format code, don't organize imports
Daniel Kirschten [Thu, 23 May 2019 10:41:47 +0000 (12:41 +0200)]
Configured Java editor save actions: Format code, don't organize imports

4 years agoSome minor style and declaration improvements
Christian Femers [Wed, 22 May 2019 17:29:58 +0000 (19:29 +0200)]
Some minor style and declaration improvements

4 years agoRemoved redundant timing in InnerEvent and made it Comparable
Christian Femers [Wed, 22 May 2019 16:43:23 +0000 (18:43 +0200)]
Removed redundant timing in InnerEvent and made it Comparable

4 years agoChanged executeNext; added comment about timeout
Daniel Kirschten [Wed, 22 May 2019 10:08:20 +0000 (12:08 +0200)]
Changed executeNext; added comment about timeout

4 years agoDelete REQUIREMENTS.MD because documentation and reports are now in the docs branch...
Christian Femers [Wed, 22 May 2019 18:21:09 +0000 (20:21 +0200)]
Delete REQUIREMENTS.MD because documentation and reports are now in the docs branch. This is not up to date anymore.

5 years agoFixed GUITest: WireEnds used as outputs were created as input.
Daniel Kirschten [Mon, 20 May 2019 19:31:57 +0000 (21:31 +0200)]
Fixed GUITest: WireEnds used as outputs were created as input.

5 years agoAdjusted LogicUI to new Wire / WireEnd concept
Daniel Kirschten [Mon, 20 May 2019 19:21:26 +0000 (21:21 +0200)]
Adjusted LogicUI to new Wire / WireEnd concept

5 years agoRestored era.mi/.project
Daniel Kirschten [Mon, 20 May 2019 19:07:11 +0000 (21:07 +0200)]
Restored era.mi/.project

5 years agoRemoved SampleERCP submodule
Daniel Kirschten [Mon, 20 May 2019 17:35:07 +0000 (19:35 +0200)]
Removed SampleERCP submodule

5 years agoMerged SampleERCP into master
Daniel Kirschten [Mon, 20 May 2019 17:32:42 +0000 (19:32 +0200)]
Merged SampleERCP into master

5 years agoMerged logicui into master
Daniel Kirschten [Mon, 20 May 2019 17:31:07 +0000 (19:31 +0200)]
Merged logicui into master

5 years agoMerged logic into master
Daniel Kirschten [Mon, 20 May 2019 17:28:26 +0000 (19:28 +0200)]
Merged logic into master

5 years agoMerged master_old into master
Christian Femers [Mon, 20 May 2019 16:54:13 +0000 (18:54 +0200)]
Merged master_old into master

5 years agoExchanged all Bit[] by BitVector, tests work
Christian Femers [Mon, 20 May 2019 16:24:49 +0000 (18:24 +0200)]
Exchanged all Bit[] by BitVector, tests work

Some things can still be improved, but it should be way more readable
now.

5 years agoIntegrated new types, tests still work, not used yet
Christian Femers [Mon, 20 May 2019 15:11:13 +0000 (17:11 +0200)]
Integrated new types, tests still work, not used yet

most changes are just imports

5 years agonew WireEnds as in/outputs are now initialized with U again
Fabian Stemmler [Mon, 20 May 2019 14:31:09 +0000 (16:31 +0200)]
new WireEnds as in/outputs are now initialized with U again

added method createReadOnlyEnd() to Wire
updated ComponentTest accordingly

5 years agoCleanup
Fabian Stemmler [Mon, 20 May 2019 13:05:26 +0000 (15:05 +0200)]
Cleanup

5 years agoMerge logic of origin into logic
Fabian Stemmler [Mon, 20 May 2019 12:03:38 +0000 (14:03 +0200)]
Merge logic of origin into logic

Conflicts:
era.mi/src/era/mi/logic/components/BitDisplay.java
era.mi/src/era/mi/logic/components/Clock.java
era.mi/src/era/mi/logic/components/Demux.java
era.mi/src/era/mi/logic/components/Merger.java
era.mi/src/era/mi/logic/components/Mux.java
era.mi/src/era/mi/logic/components/TriStateBuffer.java
era.mi/src/era/mi/logic/components/gates/NotGate.java
era.mi/src/era/mi/logic/tests/Connector.java
era.mi/src/era/mi/logic/tests/GUITest.java
era.mi/src/era/mi/logic/wires/WireArray.java

5 years agoWireArray(Input) is now Wire(End); all in-/outputs are now WireEnds
Fabian Stemmler [Mon, 20 May 2019 10:44:43 +0000 (12:44 +0200)]
WireArray(Input) is now Wire(End); all in-/outputs are now WireEnds

5 years agoDid some clean up
Christian Femers [Sun, 19 May 2019 20:39:19 +0000 (22:39 +0200)]
Did some clean up

Added @Override, replaced
Collections.unmodifiableList(Arrays.asList(...)) by List.of(...),
corrected documentation of Demux, deleted unused main(String[]) in
Simulation, made some variables package private (timeline and wires do
have their own packages anyway) to prevent synthetic accessors and other
small simplifications

5 years agoFixed calculations concerning U, tests work now just like before
Christian Femers [Sun, 19 May 2019 20:27:43 +0000 (22:27 +0200)]
Fixed calculations concerning U, tests work now just like before

5 years agoMade Connector an Component and more useful
Christian Femers [Sun, 19 May 2019 20:26:09 +0000 (22:26 +0200)]
Made Connector an Component and more useful

5 years agoBetter support for U; applied uniform formatting
Daniel Kirschten [Sun, 19 May 2019 18:00:27 +0000 (20:00 +0200)]
Better support for U; applied uniform formatting

5 years agoMade formatting uniform - commit for SampleERCP
Daniel Kirschten [Sun, 19 May 2019 17:59:20 +0000 (19:59 +0200)]
Made formatting uniform - commit for SampleERCP

5 years agoMade formatting uniform - commit for logic
Daniel Kirschten [Sun, 19 May 2019 17:58:55 +0000 (19:58 +0200)]
Made formatting uniform - commit for logic

5 years agoMade formatting uniform - commit for logicui
Daniel Kirschten [Sun, 19 May 2019 17:58:26 +0000 (19:58 +0200)]
Made formatting uniform - commit for logicui

5 years agoWireArrayEnd now created with U and GUITest supports U
Christian Femers [Sat, 18 May 2019 16:18:48 +0000 (18:18 +0200)]
WireArrayEnd now created with U and GUITest supports U

5 years agoSet formatting save action
Christian Femers [Sat, 18 May 2019 13:48:00 +0000 (15:48 +0200)]
Set formatting save action

5 years agoAdded project specific format; Default values in WireArray are now U
Fabian Stemmler [Sat, 18 May 2019 13:13:45 +0000 (15:13 +0200)]
Added project specific format; Default values in WireArray are now U

5 years agoReformatted everything. Eclipse built-in Linewrapping/Comments 140 chars
Fabian Stemmler [Sat, 18 May 2019 07:58:38 +0000 (09:58 +0200)]
Reformatted everything. Eclipse built-in Linewrapping/Comments 140 chars

5 years agoAdjusted delays in RSLatchGUIExample
Daniel Kirschten [Thu, 16 May 2019 11:57:57 +0000 (13:57 +0200)]
Adjusted delays in RSLatchGUIExample

5 years agoFixed a bug causing new timeline events to not be processed
Daniel Kirschten [Thu, 16 May 2019 11:57:38 +0000 (13:57 +0200)]
Fixed a bug causing new timeline events to not be processed

5 years agoAdded comments for LogicUI
Daniel Kirschten [Thu, 16 May 2019 11:53:54 +0000 (13:53 +0200)]
Added comments for LogicUI

5 years agoLogicUI improvements
Daniel Kirschten [Thu, 16 May 2019 09:17:54 +0000 (11:17 +0200)]
LogicUI improvements

5 years agoGUIManualSwitch now shows the actual value of the output WireArray
Daniel Kirschten [Thu, 16 May 2019 09:16:08 +0000 (11:16 +0200)]
GUIManualSwitch now shows the actual value of the output WireArray

5 years agoMade RS latch example more similar to GUITest
Daniel Kirschten [Thu, 16 May 2019 09:07:18 +0000 (11:07 +0200)]
Made RS latch example more similar to GUITest

5 years agoWireConnectionPoints are now smaller
Daniel Kirschten [Thu, 16 May 2019 09:06:33 +0000 (11:06 +0200)]
WireConnectionPoints are now smaller

5 years agoWireConnectionPoints now have the same color as the wire they belong to
Daniel Kirschten [Thu, 16 May 2019 09:06:26 +0000 (11:06 +0200)]
WireConnectionPoints now have the same color as the wire they belong to

5 years agoFixed incorrect symbol for OR and AND gates
Daniel Kirschten [Thu, 16 May 2019 08:58:43 +0000 (10:58 +0200)]
Fixed incorrect symbol for OR and AND gates

5 years agoSplitted LogicUI from hardcoded example code
Daniel Kirschten [Thu, 16 May 2019 08:57:36 +0000 (10:57 +0200)]
Splitted LogicUI from hardcoded example code

5 years agoRemoved drawing of connection points
Daniel Kirschten [Thu, 16 May 2019 08:55:56 +0000 (10:55 +0200)]
Removed drawing of connection points

5 years agoRestructured packages
Daniel Kirschten [Thu, 16 May 2019 08:47:03 +0000 (10:47 +0200)]
Restructured packages

5 years agoLogicUI now is able to interactively run a RS latch
Daniel Kirschten [Wed, 15 May 2019 22:59:14 +0000 (00:59 +0200)]
LogicUI now is able to interactively run a RS latch

5 years agoMade GUIWires more colorful
Daniel Kirschten [Wed, 15 May 2019 22:55:36 +0000 (00:55 +0200)]
Made GUIWires more colorful

5 years agoA GUIWire now can trigger a redraw
Daniel Kirschten [Wed, 15 May 2019 22:55:01 +0000 (00:55 +0200)]
A GUIWire now can trigger a redraw

5 years agoLogicUI actually runs the simulation
Daniel Kirschten [Wed, 15 May 2019 22:54:24 +0000 (00:54 +0200)]
LogicUI actually runs the simulation

5 years agoAdded nextEventTime(); added NewEventListeners
Daniel Kirschten [Wed, 15 May 2019 22:53:29 +0000 (00:53 +0200)]
Added nextEventTime(); added NewEventListeners

5 years agoImplemented the RS-Latch-Example
Daniel Kirschten [Wed, 15 May 2019 22:11:56 +0000 (00:11 +0200)]
Implemented the RS-Latch-Example

5 years agoImplemented GUIOrGate
Daniel Kirschten [Wed, 15 May 2019 22:09:53 +0000 (00:09 +0200)]
Implemented GUIOrGate

5 years agoMade ManualSwitch non-final to make GUIManualSwitch possible
Daniel Kirschten [Wed, 15 May 2019 21:14:55 +0000 (23:14 +0200)]
Made ManualSwitch non-final to make GUIManualSwitch possible

5 years agoMoved LogicUI
Daniel Kirschten [Wed, 15 May 2019 20:20:14 +0000 (22:20 +0200)]
Moved LogicUI

5 years agoAdded 'U' to Bit and made code IEEE 1164 compliant (w.o. W,H,L,-)
Christian Femers [Wed, 15 May 2019 18:52:24 +0000 (20:52 +0200)]
Added 'U' to Bit and made code IEEE 1164 compliant (w.o. W,H,L,-)

5 years agoImproved comment for clicked() in BasicGUIComponent
Daniel Kirschten [Wed, 15 May 2019 09:57:39 +0000 (11:57 +0200)]
Improved comment for clicked() in BasicGUIComponent

5 years agoMore GUIComponents implemented; components can be clicked
Daniel Kirschten [Wed, 15 May 2019 09:50:17 +0000 (11:50 +0200)]
More GUIComponents implemented; components can be clicked

5 years agoComponents now can be clicked
Daniel Kirschten [Wed, 15 May 2019 09:48:47 +0000 (11:48 +0200)]
Components now can be clicked

5 years agoAdded getBounds() in BasicGUIComponent
Daniel Kirschten [Wed, 15 May 2019 09:48:24 +0000 (11:48 +0200)]
Added getBounds() in BasicGUIComponent

5 years agoAdded comments in BasicGUIComponent
Daniel Kirschten [Wed, 15 May 2019 09:47:31 +0000 (11:47 +0200)]
Added comments in BasicGUIComponent