Giter VIP home page Giter VIP logo

avr8js-falstad's People

Contributors

markmegarry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

avr8js-falstad's Issues

Text-blocking

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.

Add ground to ArduinoPinElm

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

  • Edit /src/com/lushprojects/circuitjs1/client/ArduinoPinElm.java to have a single node and internal ground. Look at how input pins are given an internal resistor for reference

Undo causes "Matrix error"

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.

Interrupts

Hi Mark. Do you think it would be difficult to implement interruptions?
For example , RISING, FALLING OR LOW.
Thanks

Add 1-element limit for analog input pins (port C pins)

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.

Saving pin values

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.

Integrate Wokwi's compiler/Monaco editor

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.

To-do

  • Edit index.html to use Monaco editor
  • Edit index.ts to use Wokwi's compiler

Potential difficulties:

  • CircuitJS1 may block typing. A solution for this will most likely involve src/com/lushprojects/circuitjs1/client/CirSim.java

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.