spacha / circuitmod Goto Github PK
View Code? Open in Web Editor NEWA fork of CircuitMod with the aim to fix some critical issues. Circuitmod is an open source circuit simulator based on original Falstad's Java Circuit Simulator.
A fork of CircuitMod with the aim to fix some critical issues. Circuitmod is an open source circuit simulator based on original Falstad's Java Circuit Simulator.
When a component (e.g. wire) has either of those choices selected and the user selects another, the other one remains on but doesn't show up (radio button-like behaviour). The other field is reactivated only by deselecting both and reselecting the option.
Used by components such as PotElm
.
The layout is a bit janky, especially CircuitLayout
. The right panel, "sidepanel", should have padding, the side ppanel should have fixed size while the canvas fills the rest of the space etc.
Currently, using keyboard to write input to edit dialog or interacting with other dialogs, the keyboard commands are also sent to the canvas, which should not happen (e.g. pressing x in a dialog changes the current tool to "Add text" and arrow keys move the active element).
Use a proper layout to align the labels and inputs.
They should be created in similar manner with text elements, without dragging.
For example, with chip elements, such as VCO, the chip disappears if mouse is dragged to left. Also the posts are created according to the mouse release location (wrong!).
In Eclipse, one can use PackageExplorer
> (right click root package) > Properties
> Text file encoding
.
Something is not right with the edit dialog. It seems that these bugs were introduced recently with version 2.7 (before this fork).
Resistor, inductor etc.: federoggio: "EditDialog.java in problems, when you put 100 in ohms in resistor, it set 99.8 ohms."
This happens with inductor, resistor, capacitor etc. (10 -> 9.92, 1k -> 99,2, ...)
Voltage source: changing the DC value sets the voltage to 0V (or 20V in some cases). This has something to do with the adjustmentValueChanged
callback that sets the value after it has been already set in the text field.
This problem is not present in the released 2.7 version.
Currently undo and redo are very unreliable and unpredictable in their behavior. This should be fixed.
When a component or more are selected, they can be dragged using mouse. However, one would expect to be able to also move them using keys.
Benchmark (using circuit 555 Timer Chip/Internals):
Window size 860x640: 650 us
Window size 1920x1080: 3000 us
This could open in a separate window or (preferably) in the scope view.
JDK 9 has deprecated Applet API, which is used in CircuitMod. An alternative should be used.
Migration guide:
Steps to reproduce:
After this dragging, the schematic becomes totally unusable, since all the following schematic interactions will be based on the discrete grid coordinated, while the existing schematic live in totally different coordinates, making new connections impossible.
For example, Diode
class is a standalone prototype for diode elements (it has no parents). Inductor, on the other hand, extends CircuitElm
.
For example, using potentiometer shows an extra slider for changing the resistance.
Especially useful with "pulse" source type. A small figure in the edit dialog could visualize the waveform with some details.
Related to #16.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.