markmegarry / avr8js-falstad Goto Github PK
View Code? Open in Web Editor NEWProject combining Wokwi's AVR8js Arduino simulator and Paul Falstad's CircuitJS1 circuit simulator
License: GNU General Public License v2.0
Project combining Wokwi's AVR8js Arduino simulator and Paul Falstad's CircuitJS1 circuit simulator
License: GNU General Public License v2.0
Currently, the user must manually add a ground element to the negative side of each Arduino pin element. It should be possible to add an internal ground to this element.
##To-do
The current method of copying/pasting hex code is a debug tool, however, it is very inconvenient for general use. As web dependencies won't be an issue for this stand-alone project, re-implementing Wokwi's Arduino compiler and the Monaco editor would be very beneficial.
Hi Mark. Do you think it would be difficult to implement interruptions?
For example , RISING, FALLING OR LOW.
Thanks
If a user starts the AVR8js simulation, edits the circuit and then hits ctrl+z to undo an action, this causes a matrix error. This is most likely caused by either a stamp or dump function within ArduinoPinElm.
When a circuit is saved, the position of Arduino pin elements is saved but their port and pin values are not. For example, if you create a circuit file, place an Arduino pin, set it to pin D5, save the file and load that file, the pin's number will revert back to B0. This is most likely related to AVR8js-Falstad/src/com/lushprojects/circuitjs1/client/ArduinoPinElm.java's dump() return or constructors.
Currently, CircuitJS blocks text from being entered into the AVR8js simulation unless it is pasted in. Text-blocking elements (most likely located in AVR8js-Falstad/src/com/lushprojects/circuitjs1/client/CirSim.java) should be removed.
If the user creates several elements for the same analog input pin, these pins will attempt to write their voltage values to the same location, causing a conflict. To prevent this, a 1-element limit should be placed on each analog input pin. Perhaps whenever a pin element is set to a pin on port C, it should check to see if there is another element representing that pin. If we do this, it may be convenient to have an array of port C pin flags in which a flag is set if the corresponding pin exists in the circuit simulation. If a port C pin already exists in a simulation, any further identical pin elements should not write to the voltage array.
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.