├── .gitignore ├── resources ├── data │ ├── help │ │ ├── image.txt │ │ ├── line.txt │ │ ├── ellipse.txt │ │ ├── rectangle.txt │ │ ├── flipflopd.txt │ │ ├── flipflopjk.txt │ │ ├── flipflopt.txt │ │ ├── ground.txt │ │ ├── ky023.txt │ │ ├── mega324.txt │ │ ├── mega64.txt │ │ ├── mega644.txt │ │ ├── mega1284.txt │ │ ├── mega16m1.txt │ │ ├── mega324a.txt │ │ ├── resistor.txt │ │ ├── flipfloprs.txt │ │ ├── ili9341.txt │ │ ├── gateinputs.txt │ │ ├── frequencimeter.txt │ │ ├── ky40.txt │ │ ├── pcd8544.txt │ │ ├── sr04.txt │ │ ├── freqmeter.txt │ │ ├── dialed.txt │ │ ├── flipflopfull.txt │ │ ├── rail.txt │ │ ├── 7-segbcd.txt │ │ ├── voltreg.txt │ │ ├── fixedvoltage.txt │ │ ├── fulladder.txt │ │ ├── ds1307.txt │ │ ├── ws2812.txt │ │ ├── battery.txt │ │ ├── app.txt │ │ ├── amperimeter.txt │ │ ├── ks0108.txt │ │ ├── max72xxmatrix.txt │ │ ├── bus.txt │ │ ├── lamp.txt │ │ ├── voltimeter.txt │ │ ├── andgate.txt │ │ ├── orgate.txt │ │ ├── header.txt │ │ ├── i2ctoparallel.txt │ │ ├── muxanalog.txt │ │ ├── socket.txt │ │ ├── tunnel.txt │ │ ├── bjt.txt │ │ ├── gatedelay.txt │ │ ├── logicoutputs.txt │ │ ├── xorgate.txt │ │ ├── adc.txt │ │ ├── dac.txt │ │ ├── hd44780.txt │ │ ├── decto7s.txt │ │ ├── esp01.txt │ │ ├── gateoutputs.txt │ │ ├── potentiometer.txt │ │ ├── stepper.txt │ │ ├── audioout.txt │ │ ├── logicinputs.txt │ │ ├── dectobcd.txt │ │ ├── keypad.txt │ │ ├── bcdtodec.txt │ │ ├── clock.txt │ │ ├── scr.txt │ │ ├── triac.txt │ │ ├── switchdip.txt │ │ ├── push.txt │ │ ├── servo.txt │ │ ├── mux.txt │ │ ├── demux.txt │ │ ├── currentsource.txt │ │ ├── buffer.txt │ │ ├── diac.txt │ │ ├── dht22.txt │ │ ├── ds18b20.txt │ │ ├── flipflop.txt │ │ ├── hdt22.txt │ │ ├── logicedges.txt │ │ ├── subcircuit.txt │ │ ├── ds1621.txt │ │ ├── inductor.txt │ │ ├── capacitor.txt │ │ ├── switch.txt │ │ ├── probe.txt │ │ ├── elcapacitor.txt │ │ ├── aip31068i2c.txt │ │ ├── resistordip.txt │ │ ├── serialterm.txt │ │ ├── opamp.txt │ │ ├── mosfet.txt │ │ ├── shiftreg.txt │ │ ├── dcmotor.txt │ │ ├── touchpadr.txt │ │ ├── varresistor.txt │ │ ├── counter.txt │ │ ├── voltagesource.txt │ │ ├── circuit.txt │ │ ├── shape.txt │ │ ├── rtd.txt │ │ ├── thermistor.txt │ │ ├── serialport.txt │ │ ├── ssd1306.txt │ │ ├── strain.txt │ │ ├── ldr.txt │ │ ├── led.txt │ │ ├── simulation.txt │ │ ├── dial.txt │ │ ├── package.txt │ │ ├── latchd.txt │ │ ├── ledbar.txt │ │ ├── i2cram.txt │ │ ├── ledmatrix.txt │ │ ├── zener.txt │ │ ├── sevensegment.txt │ │ ├── diode.txt │ │ ├── function.txt │ │ ├── text.txt │ │ ├── relayspst.txt │ │ ├── tiny13.txt │ │ ├── transformer.txt │ │ ├── csource.txt │ │ ├── tiny25.txt │ │ ├── tiny45.txt │ │ └── tiny85.txt │ ├── images │ │ ├── ic2.png │ │ ├── image.png │ │ ├── null.png │ │ ├── subc2.png │ │ ├── arduino.png │ │ └── shield_uno.png │ ├── codeeditor │ │ ├── compilers │ │ │ ├── default.xml │ │ │ ├── compilers │ │ │ │ ├── arduino.xml │ │ │ │ ├── angelscript.xml │ │ │ │ ├── dummy_c.xml │ │ │ │ └── avrgcc.xml │ │ │ └── types.txt │ │ └── syntax │ │ │ ├── hex.syntax │ │ │ ├── xml.syntax │ │ │ ├── makef.syntax │ │ │ └── readme_syntax │ └── diodes.model ├── qm │ └── readme ├── fonts │ ├── Ubuntu-B.ttf │ ├── Ubuntu-R.ttf │ ├── UbuntuMono-B.ttf │ ├── UbuntuMono-BI.ttf │ ├── UbuntuMono-R.ttf │ └── UbuntuMono-RI.ttf ├── icons │ ├── simulide.ico │ ├── simulide.png │ └── simulide.icns ├── translations │ └── qt │ │ └── qt_en.ts ├── simulide.desktop ├── readme └── simulide-mime.xml ├── src ├── icons │ ├── font │ │ ├── font.png │ │ └── font2.png │ ├── components │ │ ├── bjt.png │ │ ├── bug.png │ │ ├── bus.png │ │ ├── giu.png │ │ ├── ic2.png │ │ ├── img.png │ │ ├── ldr.png │ │ ├── led.png │ │ ├── mux.png │ │ ├── rnd.png │ │ ├── rtd.png │ │ ├── saw.png │ │ ├── scr.png │ │ ├── sin.png │ │ ├── sqa.png │ │ ├── su.png │ │ ├── tri.png │ │ ├── up.png │ │ ├── wav.png │ │ ├── 1to1.png │ │ ├── 1to2.png │ │ ├── 1to3-c.png │ │ ├── 1to3.png │ │ ├── 2to1.png │ │ ├── 2to2.png │ │ ├── 2to3.png │ │ ├── 2to3g.png │ │ ├── 3to1.png │ │ ├── 3to2.png │ │ ├── 3to2g.png │ │ ├── blanc.png │ │ ├── board.png │ │ ├── buffer.png │ │ ├── bus_p.png │ │ ├── clock.png │ │ ├── demux.png │ │ ├── diac.png │ │ ├── dial.png │ │ ├── diode.png │ │ ├── down.png │ │ ├── dsxxx.png │ │ ├── esp01.png │ │ ├── gates.png │ │ ├── ground.png │ │ ├── header.png │ │ ├── jfet.png │ │ ├── keypad.png │ │ ├── ks0108.png │ │ ├── ky-023.png │ │ ├── ky-040.png │ │ ├── lamp.png │ │ ├── ledbar.png │ │ ├── ledrgb.png │ │ ├── leds.png │ │ ├── line.png │ │ ├── mosfet.png │ │ ├── motors.png │ │ ├── null-0.png │ │ ├── null.png │ │ ├── opamp.png │ │ ├── orgate.png │ │ ├── oscope.png │ │ ├── perif.png │ │ ├── probe.png │ │ ├── push.png │ │ ├── rail.png │ │ ├── sdcard.png │ │ ├── servo.png │ │ ├── sh1107.png │ │ ├── shield.png │ │ ├── socket.png │ │ ├── st7735.png │ │ ├── st7789.png │ │ ├── strain.png │ │ ├── subc.png │ │ ├── subc2.png │ │ ├── subcl.png │ │ ├── switch.png │ │ ├── text.png │ │ ├── touch.png │ │ ├── triac.png │ │ ├── tunnel.png │ │ ├── ws2812.png │ │ ├── zener.png │ │ ├── 7segbcd.png │ │ ├── aip31068.png │ │ ├── andgate.png │ │ ├── battery.png │ │ ├── csource.png │ │ ├── dcmotor.png │ │ ├── displays.png │ │ ├── ellipse.png │ │ ├── gc9a01a.png │ │ ├── hd44780.png │ │ ├── header_D.png │ │ ├── header_U.png │ │ ├── ic2_comp.png │ │ ├── ic_comp.png │ │ ├── ili9341.png │ │ ├── inductor.png │ │ ├── joystick.png │ │ ├── max72xx.png │ │ ├── null_ico.png │ │ ├── pcd8544.png │ │ ├── pcf8833.png │ │ ├── reactive.png │ │ ├── resistor.png │ │ ├── rotencod.png │ │ ├── socket-H.png │ │ ├── socket-V.png │ │ ├── socket_H.png │ │ ├── socket_V.png │ │ ├── socket_p.png │ │ ├── sr04_ico.png │ │ ├── ssd1306.png │ │ ├── steeper.png │ │ ├── subc_ico.png │ │ ├── voltage.png │ │ ├── voltreg.png │ │ ├── wavegen.png │ │ ├── xorgate.png │ │ ├── amperimeter.png │ │ ├── audio_out.png │ │ ├── capacitor.png │ │ ├── cursource.png │ │ ├── dht22_ico.png │ │ ├── dsxxx_ico.png │ │ ├── elcapacitor.png │ │ ├── esp01_ico.png │ │ ├── lanalizer.png │ │ ├── ledmatrix.png │ │ ├── rectangle.png │ │ ├── rectifiers.png │ │ ├── relay-spst.png │ │ ├── resistordip.png │ │ ├── resistors.png │ │ ├── script_ico.png │ │ ├── serialport.png │ │ ├── serialterm.png │ │ ├── subc_ico-0.png │ │ ├── subc_ico-1.png │ │ ├── switchdip.png │ │ ├── termistor.png │ │ ├── thermistor.png │ │ ├── transformer.png │ │ ├── transistors.png │ │ ├── varresistor.png │ │ ├── voltimeter.png │ │ ├── voltsource.png │ │ ├── hd44780_20x4.png │ │ ├── potentiometer.png │ │ ├── resistordip0.png │ │ ├── seven_segment.png │ │ ├── toggleswitch.png │ │ ├── frequencimeter.png │ │ └── resistorsensors.png │ └── mainwindow │ │ ├── attach.png │ │ ├── cdup.png │ │ ├── detach.png │ │ ├── expose.png │ │ ├── invert.png │ │ ├── link.png │ │ ├── unuse.png │ │ ├── verify.png │ │ ├── brkpoint.png │ │ ├── pausesim.png │ │ ├── powerdeb.png │ │ ├── poweroff.png │ │ ├── poweron.png │ │ ├── runtobk.png │ │ ├── breakpoint.png │ │ ├── simpaused.png │ │ ├── switchbut.png │ │ ├── closeterminal.png │ │ └── nobreakpoint.png ├── gui │ ├── circuitwidget │ │ ├── updatable.h │ │ └── updatable.cpp │ ├── appdialogs │ │ ├── about.h │ │ ├── about.cpp │ │ └── infowidget.h │ ├── editorwidget │ │ ├── debuggers │ │ │ ├── xc8debugger.cpp │ │ │ ├── xc8debugger.h │ │ │ ├── cdebugger.h │ │ │ ├── sdccdebugger.h │ │ │ ├── gputilsdebug.h │ │ │ ├── gcbdebugger.h │ │ │ ├── avrgccdebugger.h │ │ │ └── asdebugger.h │ │ └── scrollbar.h │ ├── sourcewidget.h │ ├── customslider.h │ ├── custombutton.h │ ├── properties │ │ ├── labelval.h │ │ ├── labelval.cpp │ │ ├── proputils.h │ │ ├── strval.h │ │ ├── boolval.h │ │ ├── numprop.h │ │ └── dspinbox.h │ ├── componentlist │ │ ├── installinfo.h │ │ └── installinfo.cpp │ ├── memory │ │ ├── watched.cpp │ │ └── headerwidget.h │ ├── updobutton.h │ ├── customdial.h │ └── dataplotwidget │ │ └── plotspinbox.h ├── microsim │ ├── cores │ │ ├── scripted │ │ │ └── scriptperif.cpp │ │ ├── pic │ │ │ ├── picsleep.h │ │ │ ├── picsleep.cpp │ │ │ ├── picinterrupt.h │ │ │ ├── picpin.h │ │ │ ├── pic14core.cpp │ │ │ ├── picicunit.h │ │ │ ├── pic12core.h │ │ │ └── picport.h │ │ ├── mcs65 │ │ │ └── mcs65interface.h │ │ ├── avr │ │ │ ├── avricunit.h │ │ │ ├── avrport.h │ │ │ ├── avrocm.h │ │ │ ├── avrpin.h │ │ │ ├── avrinterrupt.h │ │ │ ├── avrocm.cpp │ │ │ ├── avrintosc.h │ │ │ └── avrport.cpp │ │ ├── cpu8bits.cpp │ │ ├── qemu │ │ │ ├── qemumodule.cpp │ │ │ ├── esp32 │ │ │ │ └── esp32spi.h │ │ │ ├── stm32 │ │ │ │ ├── stm32spi.h │ │ │ │ └── stm32twi.h │ │ │ └── qemumodule.h │ │ └── i51 │ │ │ ├── i51port.h │ │ │ ├── i51port.cpp │ │ │ └── i51pin.h │ ├── mcutypes.h │ ├── mcuwdt.cpp │ ├── mcuprescaled.cpp │ ├── mcutwi.cpp │ ├── mcusleep.cpp │ ├── mcudac.cpp │ ├── mcuconfigword.h │ ├── mcuspi.cpp │ ├── modules │ │ └── usart │ │ │ └── usarttx.h │ └── mcusleep.h └── components │ ├── comp2pin.h │ ├── active │ ├── zener.h │ ├── bjt.h │ ├── jfet.h │ └── mosfet.h │ ├── outputs │ ├── displays │ │ ├── st7735.h │ │ ├── st7789.h │ │ ├── ili9341.h │ │ ├── sh1107.h │ │ ├── ssd1306.h │ │ └── gc9a01a.h │ └── leds │ │ └── ledsmd.h │ ├── switches │ ├── push_base.h │ └── push.h │ ├── meters │ ├── ampmeter.h │ └── voltmeter.h │ ├── logic │ ├── flipfloprs.h │ ├── flipflopd.h │ ├── flipflopt.h │ ├── flipflopjk.h │ ├── gate_and.h │ ├── gate_or.h │ ├── buffer.h │ ├── gate_xor.h │ └── bcdbase.h │ ├── graphical │ ├── rectangle.h │ ├── line.h │ └── ellipse.h │ ├── comp2pin.cpp │ ├── sources │ ├── ground.h │ ├── voltsource.h │ ├── currsource.h │ └── clock.h │ ├── subcircuits │ └── module.h │ ├── passive │ ├── reactive │ │ ├── capacitor.h │ │ ├── capacitorbase.h │ │ └── elcapacitor.h │ ├── resist_sensors │ │ └── thermistorbase.h │ └── resistors │ │ ├── varresistor.h │ │ └── resistor.h │ └── connectors │ ├── socket.h │ └── header.h ├── CONTRIBUTING.md ├── copyright.txt └── .github └── FUNDING.yml /.gitignore: -------------------------------------------------------------------------------- 1 | resources/qm/*.* 2 | -------------------------------------------------------------------------------- /resources/data/help/image.txt: -------------------------------------------------------------------------------- 1 | Embedded Image. 2 | 3 | #include shape 4 | -------------------------------------------------------------------------------- /resources/data/help/line.txt: -------------------------------------------------------------------------------- 1 | Configurable Line. 2 | 3 | #include shape 4 | -------------------------------------------------------------------------------- /resources/qm/readme: -------------------------------------------------------------------------------- 1 | All qm files for translations will be copied here. 2 | -------------------------------------------------------------------------------- /resources/data/help/ellipse.txt: -------------------------------------------------------------------------------- 1 | Configurable Ellipse. 2 | 3 | #include shape 4 | -------------------------------------------------------------------------------- /resources/data/help/rectangle.txt: -------------------------------------------------------------------------------- 1 | Configurable Rectangle. 2 | 3 | #include shape 4 | -------------------------------------------------------------------------------- /resources/data/help/flipflopd.txt: -------------------------------------------------------------------------------- 1 | Flipflop "D" type. 2 | 3 | #include flipflopfull 4 | -------------------------------------------------------------------------------- /resources/data/help/flipflopjk.txt: -------------------------------------------------------------------------------- 1 | Flipflop "JK" type. 2 | 3 | #include flipflopfull 4 | -------------------------------------------------------------------------------- /resources/data/help/flipflopt.txt: -------------------------------------------------------------------------------- 1 | Flipflop "T" type. 2 | 3 | #include flipflopfull 4 | -------------------------------------------------------------------------------- /resources/data/help/ground.txt: -------------------------------------------------------------------------------- 1 | Connection to Ground. 2 | 3 | This is a 0 V voltage source. 4 | 5 | -------------------------------------------------------------------------------- /resources/data/help/ky023.txt: -------------------------------------------------------------------------------- 1 | Resistive joystick. 2 | 3 | Click and move the circle in the midlle. 4 | -------------------------------------------------------------------------------- /src/icons/font/font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/font/font.png -------------------------------------------------------------------------------- /src/icons/font/font2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/font/font2.png -------------------------------------------------------------------------------- /resources/fonts/Ubuntu-B.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/fonts/Ubuntu-B.ttf -------------------------------------------------------------------------------- /resources/fonts/Ubuntu-R.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/fonts/Ubuntu-R.ttf -------------------------------------------------------------------------------- /resources/icons/simulide.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/icons/simulide.ico -------------------------------------------------------------------------------- /resources/icons/simulide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/icons/simulide.png -------------------------------------------------------------------------------- /src/icons/components/bjt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/bjt.png -------------------------------------------------------------------------------- /src/icons/components/bug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/bug.png -------------------------------------------------------------------------------- /src/icons/components/bus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/bus.png -------------------------------------------------------------------------------- /src/icons/components/giu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/giu.png -------------------------------------------------------------------------------- /src/icons/components/ic2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ic2.png -------------------------------------------------------------------------------- /src/icons/components/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/img.png -------------------------------------------------------------------------------- /src/icons/components/ldr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ldr.png -------------------------------------------------------------------------------- /src/icons/components/led.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/led.png -------------------------------------------------------------------------------- /src/icons/components/mux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/mux.png -------------------------------------------------------------------------------- /src/icons/components/rnd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/rnd.png -------------------------------------------------------------------------------- /src/icons/components/rtd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/rtd.png -------------------------------------------------------------------------------- /src/icons/components/saw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/saw.png -------------------------------------------------------------------------------- /src/icons/components/scr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/scr.png -------------------------------------------------------------------------------- /src/icons/components/sin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/sin.png -------------------------------------------------------------------------------- /src/icons/components/sqa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/sqa.png -------------------------------------------------------------------------------- /src/icons/components/su.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/su.png -------------------------------------------------------------------------------- /src/icons/components/tri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/tri.png -------------------------------------------------------------------------------- /src/icons/components/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/up.png -------------------------------------------------------------------------------- /src/icons/components/wav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/wav.png -------------------------------------------------------------------------------- /resources/data/help/mega324.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/help/mega324.txt -------------------------------------------------------------------------------- /resources/data/help/mega64.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/help/mega64.txt -------------------------------------------------------------------------------- /resources/data/help/mega644.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/help/mega644.txt -------------------------------------------------------------------------------- /resources/data/images/ic2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/images/ic2.png -------------------------------------------------------------------------------- /resources/data/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/images/image.png -------------------------------------------------------------------------------- /resources/data/images/null.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/images/null.png -------------------------------------------------------------------------------- /resources/data/images/subc2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/images/subc2.png -------------------------------------------------------------------------------- /resources/icons/simulide.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/icons/simulide.icns -------------------------------------------------------------------------------- /src/icons/components/1to1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/1to1.png -------------------------------------------------------------------------------- /src/icons/components/1to2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/1to2.png -------------------------------------------------------------------------------- /src/icons/components/1to3-c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/1to3-c.png -------------------------------------------------------------------------------- /src/icons/components/1to3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/1to3.png -------------------------------------------------------------------------------- /src/icons/components/2to1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/2to1.png -------------------------------------------------------------------------------- /src/icons/components/2to2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/2to2.png -------------------------------------------------------------------------------- /src/icons/components/2to3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/2to3.png -------------------------------------------------------------------------------- /src/icons/components/2to3g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/2to3g.png -------------------------------------------------------------------------------- /src/icons/components/3to1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/3to1.png -------------------------------------------------------------------------------- /src/icons/components/3to2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/3to2.png -------------------------------------------------------------------------------- /src/icons/components/3to2g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/3to2g.png -------------------------------------------------------------------------------- /src/icons/components/blanc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/blanc.png -------------------------------------------------------------------------------- /src/icons/components/board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/board.png -------------------------------------------------------------------------------- /src/icons/components/buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/buffer.png -------------------------------------------------------------------------------- /src/icons/components/bus_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/bus_p.png -------------------------------------------------------------------------------- /src/icons/components/clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/clock.png -------------------------------------------------------------------------------- /src/icons/components/demux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/demux.png -------------------------------------------------------------------------------- /src/icons/components/diac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/diac.png -------------------------------------------------------------------------------- /src/icons/components/dial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/dial.png -------------------------------------------------------------------------------- /src/icons/components/diode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/diode.png -------------------------------------------------------------------------------- /src/icons/components/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/down.png -------------------------------------------------------------------------------- /src/icons/components/dsxxx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/dsxxx.png -------------------------------------------------------------------------------- /src/icons/components/esp01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/esp01.png -------------------------------------------------------------------------------- /src/icons/components/gates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/gates.png -------------------------------------------------------------------------------- /src/icons/components/ground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ground.png -------------------------------------------------------------------------------- /src/icons/components/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/header.png -------------------------------------------------------------------------------- /src/icons/components/jfet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/jfet.png -------------------------------------------------------------------------------- /src/icons/components/keypad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/keypad.png -------------------------------------------------------------------------------- /src/icons/components/ks0108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ks0108.png -------------------------------------------------------------------------------- /src/icons/components/ky-023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ky-023.png -------------------------------------------------------------------------------- /src/icons/components/ky-040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ky-040.png -------------------------------------------------------------------------------- /src/icons/components/lamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/lamp.png -------------------------------------------------------------------------------- /src/icons/components/ledbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ledbar.png -------------------------------------------------------------------------------- /src/icons/components/ledrgb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ledrgb.png -------------------------------------------------------------------------------- /src/icons/components/leds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/leds.png -------------------------------------------------------------------------------- /src/icons/components/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/line.png -------------------------------------------------------------------------------- /src/icons/components/mosfet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/mosfet.png -------------------------------------------------------------------------------- /src/icons/components/motors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/motors.png -------------------------------------------------------------------------------- /src/icons/components/null-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/null-0.png -------------------------------------------------------------------------------- /src/icons/components/null.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/null.png -------------------------------------------------------------------------------- /src/icons/components/opamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/opamp.png -------------------------------------------------------------------------------- /src/icons/components/orgate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/orgate.png -------------------------------------------------------------------------------- /src/icons/components/oscope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/oscope.png -------------------------------------------------------------------------------- /src/icons/components/perif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/perif.png -------------------------------------------------------------------------------- /src/icons/components/probe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/probe.png -------------------------------------------------------------------------------- /src/icons/components/push.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/push.png -------------------------------------------------------------------------------- /src/icons/components/rail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/rail.png -------------------------------------------------------------------------------- /src/icons/components/sdcard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/sdcard.png -------------------------------------------------------------------------------- /src/icons/components/servo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/servo.png -------------------------------------------------------------------------------- /src/icons/components/sh1107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/sh1107.png -------------------------------------------------------------------------------- /src/icons/components/shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/shield.png -------------------------------------------------------------------------------- /src/icons/components/socket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/socket.png -------------------------------------------------------------------------------- /src/icons/components/st7735.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/st7735.png -------------------------------------------------------------------------------- /src/icons/components/st7789.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/st7789.png -------------------------------------------------------------------------------- /src/icons/components/strain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/strain.png -------------------------------------------------------------------------------- /src/icons/components/subc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/subc.png -------------------------------------------------------------------------------- /src/icons/components/subc2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/subc2.png -------------------------------------------------------------------------------- /src/icons/components/subcl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/subcl.png -------------------------------------------------------------------------------- /src/icons/components/switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/switch.png -------------------------------------------------------------------------------- /src/icons/components/text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/text.png -------------------------------------------------------------------------------- /src/icons/components/touch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/touch.png -------------------------------------------------------------------------------- /src/icons/components/triac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/triac.png -------------------------------------------------------------------------------- /src/icons/components/tunnel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/tunnel.png -------------------------------------------------------------------------------- /src/icons/components/ws2812.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ws2812.png -------------------------------------------------------------------------------- /src/icons/components/zener.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/zener.png -------------------------------------------------------------------------------- /src/icons/mainwindow/attach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/attach.png -------------------------------------------------------------------------------- /src/icons/mainwindow/cdup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/cdup.png -------------------------------------------------------------------------------- /src/icons/mainwindow/detach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/detach.png -------------------------------------------------------------------------------- /src/icons/mainwindow/expose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/expose.png -------------------------------------------------------------------------------- /src/icons/mainwindow/invert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/invert.png -------------------------------------------------------------------------------- /src/icons/mainwindow/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/link.png -------------------------------------------------------------------------------- /src/icons/mainwindow/unuse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/unuse.png -------------------------------------------------------------------------------- /src/icons/mainwindow/verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/verify.png -------------------------------------------------------------------------------- /resources/data/help/mega1284.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/help/mega1284.txt -------------------------------------------------------------------------------- /resources/data/help/mega16m1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/help/mega16m1.txt -------------------------------------------------------------------------------- /resources/data/help/mega324a.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/help/mega324a.txt -------------------------------------------------------------------------------- /resources/data/images/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/images/arduino.png -------------------------------------------------------------------------------- /resources/fonts/UbuntuMono-B.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/fonts/UbuntuMono-B.ttf -------------------------------------------------------------------------------- /resources/fonts/UbuntuMono-BI.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/fonts/UbuntuMono-BI.ttf -------------------------------------------------------------------------------- /resources/fonts/UbuntuMono-R.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/fonts/UbuntuMono-R.ttf -------------------------------------------------------------------------------- /resources/fonts/UbuntuMono-RI.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/fonts/UbuntuMono-RI.ttf -------------------------------------------------------------------------------- /src/icons/components/7segbcd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/7segbcd.png -------------------------------------------------------------------------------- /src/icons/components/aip31068.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/aip31068.png -------------------------------------------------------------------------------- /src/icons/components/andgate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/andgate.png -------------------------------------------------------------------------------- /src/icons/components/battery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/battery.png -------------------------------------------------------------------------------- /src/icons/components/csource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/csource.png -------------------------------------------------------------------------------- /src/icons/components/dcmotor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/dcmotor.png -------------------------------------------------------------------------------- /src/icons/components/displays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/displays.png -------------------------------------------------------------------------------- /src/icons/components/ellipse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ellipse.png -------------------------------------------------------------------------------- /src/icons/components/gc9a01a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/gc9a01a.png -------------------------------------------------------------------------------- /src/icons/components/hd44780.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/hd44780.png -------------------------------------------------------------------------------- /src/icons/components/header_D.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/header_D.png -------------------------------------------------------------------------------- /src/icons/components/header_U.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/header_U.png -------------------------------------------------------------------------------- /src/icons/components/ic2_comp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ic2_comp.png -------------------------------------------------------------------------------- /src/icons/components/ic_comp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ic_comp.png -------------------------------------------------------------------------------- /src/icons/components/ili9341.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ili9341.png -------------------------------------------------------------------------------- /src/icons/components/inductor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/inductor.png -------------------------------------------------------------------------------- /src/icons/components/joystick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/joystick.png -------------------------------------------------------------------------------- /src/icons/components/max72xx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/max72xx.png -------------------------------------------------------------------------------- /src/icons/components/null_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/null_ico.png -------------------------------------------------------------------------------- /src/icons/components/pcd8544.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/pcd8544.png -------------------------------------------------------------------------------- /src/icons/components/pcf8833.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/pcf8833.png -------------------------------------------------------------------------------- /src/icons/components/reactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/reactive.png -------------------------------------------------------------------------------- /src/icons/components/resistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/resistor.png -------------------------------------------------------------------------------- /src/icons/components/rotencod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/rotencod.png -------------------------------------------------------------------------------- /src/icons/components/socket-H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/socket-H.png -------------------------------------------------------------------------------- /src/icons/components/socket-V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/socket-V.png -------------------------------------------------------------------------------- /src/icons/components/socket_H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/socket_H.png -------------------------------------------------------------------------------- /src/icons/components/socket_V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/socket_V.png -------------------------------------------------------------------------------- /src/icons/components/socket_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/socket_p.png -------------------------------------------------------------------------------- /src/icons/components/sr04_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/sr04_ico.png -------------------------------------------------------------------------------- /src/icons/components/ssd1306.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ssd1306.png -------------------------------------------------------------------------------- /src/icons/components/steeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/steeper.png -------------------------------------------------------------------------------- /src/icons/components/subc_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/subc_ico.png -------------------------------------------------------------------------------- /src/icons/components/voltage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/voltage.png -------------------------------------------------------------------------------- /src/icons/components/voltreg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/voltreg.png -------------------------------------------------------------------------------- /src/icons/components/wavegen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/wavegen.png -------------------------------------------------------------------------------- /src/icons/components/xorgate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/xorgate.png -------------------------------------------------------------------------------- /src/icons/mainwindow/brkpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/brkpoint.png -------------------------------------------------------------------------------- /src/icons/mainwindow/pausesim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/pausesim.png -------------------------------------------------------------------------------- /src/icons/mainwindow/powerdeb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/powerdeb.png -------------------------------------------------------------------------------- /src/icons/mainwindow/poweroff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/poweroff.png -------------------------------------------------------------------------------- /src/icons/mainwindow/poweron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/poweron.png -------------------------------------------------------------------------------- /src/icons/mainwindow/runtobk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/runtobk.png -------------------------------------------------------------------------------- /resources/data/help/resistor.txt: -------------------------------------------------------------------------------- 1 | Simple resistance. 2 | 3 | Property: (default value) 4 | 5 | - Resistance: (100 Ω) 6 | 7 | -------------------------------------------------------------------------------- /resources/data/images/shield_uno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/resources/data/images/shield_uno.png -------------------------------------------------------------------------------- /src/icons/components/amperimeter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/amperimeter.png -------------------------------------------------------------------------------- /src/icons/components/audio_out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/audio_out.png -------------------------------------------------------------------------------- /src/icons/components/capacitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/capacitor.png -------------------------------------------------------------------------------- /src/icons/components/cursource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/cursource.png -------------------------------------------------------------------------------- /src/icons/components/dht22_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/dht22_ico.png -------------------------------------------------------------------------------- /src/icons/components/dsxxx_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/dsxxx_ico.png -------------------------------------------------------------------------------- /src/icons/components/elcapacitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/elcapacitor.png -------------------------------------------------------------------------------- /src/icons/components/esp01_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/esp01_ico.png -------------------------------------------------------------------------------- /src/icons/components/lanalizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/lanalizer.png -------------------------------------------------------------------------------- /src/icons/components/ledmatrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/ledmatrix.png -------------------------------------------------------------------------------- /src/icons/components/rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/rectangle.png -------------------------------------------------------------------------------- /src/icons/components/rectifiers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/rectifiers.png -------------------------------------------------------------------------------- /src/icons/components/relay-spst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/relay-spst.png -------------------------------------------------------------------------------- /src/icons/components/resistordip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/resistordip.png -------------------------------------------------------------------------------- /src/icons/components/resistors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/resistors.png -------------------------------------------------------------------------------- /src/icons/components/script_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/script_ico.png -------------------------------------------------------------------------------- /src/icons/components/serialport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/serialport.png -------------------------------------------------------------------------------- /src/icons/components/serialterm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/serialterm.png -------------------------------------------------------------------------------- /src/icons/components/subc_ico-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/subc_ico-0.png -------------------------------------------------------------------------------- /src/icons/components/subc_ico-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/subc_ico-1.png -------------------------------------------------------------------------------- /src/icons/components/switchdip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/switchdip.png -------------------------------------------------------------------------------- /src/icons/components/termistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/termistor.png -------------------------------------------------------------------------------- /src/icons/components/thermistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/thermistor.png -------------------------------------------------------------------------------- /src/icons/components/transformer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/transformer.png -------------------------------------------------------------------------------- /src/icons/components/transistors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/transistors.png -------------------------------------------------------------------------------- /src/icons/components/varresistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/varresistor.png -------------------------------------------------------------------------------- /src/icons/components/voltimeter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/voltimeter.png -------------------------------------------------------------------------------- /src/icons/components/voltsource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/voltsource.png -------------------------------------------------------------------------------- /src/icons/mainwindow/breakpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/breakpoint.png -------------------------------------------------------------------------------- /src/icons/mainwindow/simpaused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/simpaused.png -------------------------------------------------------------------------------- /src/icons/mainwindow/switchbut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/switchbut.png -------------------------------------------------------------------------------- /src/icons/components/hd44780_20x4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/hd44780_20x4.png -------------------------------------------------------------------------------- /src/icons/components/potentiometer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/potentiometer.png -------------------------------------------------------------------------------- /src/icons/components/resistordip0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/resistordip0.png -------------------------------------------------------------------------------- /src/icons/components/seven_segment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/seven_segment.png -------------------------------------------------------------------------------- /src/icons/components/toggleswitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/toggleswitch.png -------------------------------------------------------------------------------- /src/icons/mainwindow/closeterminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/closeterminal.png -------------------------------------------------------------------------------- /src/icons/mainwindow/nobreakpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/mainwindow/nobreakpoint.png -------------------------------------------------------------------------------- /resources/data/codeeditor/compilers/default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/data/help/flipfloprs.txt: -------------------------------------------------------------------------------- 1 | Flipflop "RS" type. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | #include flipflop 7 | -------------------------------------------------------------------------------- /resources/data/help/ili9341.txt: -------------------------------------------------------------------------------- 1 | 240x320 color liquid crystal display based on ILI9341 TFT LCD controller with SPI interface. 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/icons/components/frequencimeter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/frequencimeter.png -------------------------------------------------------------------------------- /src/icons/components/resistorsensors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eeTools/SimulIDE-dev/HEAD/src/icons/components/resistorsensors.png -------------------------------------------------------------------------------- /resources/data/help/gateinputs.txt: -------------------------------------------------------------------------------- 1 | - Input Size: (2) 2 | Number of input pins. 3 | 4 | - Invert Inputs: (no) 5 | Invert input pins. 6 | -------------------------------------------------------------------------------- /resources/translations/qt/qt_en.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/data/codeeditor/compilers/compilers/arduino.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/data/codeeditor/compilers/compilers/angelscript.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/data/help/frequencimeter.txt: -------------------------------------------------------------------------------- 1 | Frequencimeter: 2 | 3 | Connect left pin to a wire 4 | to see signal frequency. 5 | 6 | Minimum frequency: 2Hz. 7 | 8 | -------------------------------------------------------------------------------- /resources/data/help/ky40.txt: -------------------------------------------------------------------------------- 1 | Relative rotary encoder. 2 | 3 | Property: (default value) 4 | 5 | - Steps per Rotation: (20) 6 | Encoder steps per dial rotation. 7 | -------------------------------------------------------------------------------- /resources/data/help/pcd8544.txt: -------------------------------------------------------------------------------- 1 | 48x84 pixels matrix LCD based on PCD8544 controller. 2 | 3 | The PCD8544 interfaces to microcontrollers through a serial bus interface. 4 | -------------------------------------------------------------------------------- /resources/data/help/sr04.txt: -------------------------------------------------------------------------------- 1 | Ultrasonic distance sensor. 2 | 3 | Feed a voltage to Pin "In" (left side) to simulate distance. 4 | Volts equal to meters: 1.5 V = 1.5 m 5 | -------------------------------------------------------------------------------- /resources/data/help/freqmeter.txt: -------------------------------------------------------------------------------- 1 | Frequency meter. 2 | 3 | Property: (default value) 4 | 5 | - Filter: (0.1. V) 6 | Filter out any voltage change below this value. 7 | 8 | -------------------------------------------------------------------------------- /resources/data/help/dialed.txt: -------------------------------------------------------------------------------- 1 | Dial: 2 | - Slider: (false) 3 | true: Slider control. 4 | false: Knob control. 5 | 6 | - Scale: (1) 7 | Determines the size of the dial. 8 | -------------------------------------------------------------------------------- /resources/data/help/flipflopfull.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | Main: 4 | - Use Set/Reset Pin (no) 5 | Shows/hides Set and Reset pins. 6 | 7 | #include flipflop 8 | -------------------------------------------------------------------------------- /resources/data/help/rail.txt: -------------------------------------------------------------------------------- 1 | Connection to voltage rail. 2 | This is a simple voltage source. 3 | 4 | Property: (default value) 5 | 6 | - Voltage: (5 V) 7 | Rail voltage. 8 | -------------------------------------------------------------------------------- /resources/data/help/7-segbcd.txt: -------------------------------------------------------------------------------- 1 | 7seg with integrated BCD to 7seg. 2 | 3 | Bit 0 in right pin, bit 3 in left pin. 4 | 5 | Does not work with PWM or multiplexing. 6 | 7 | 8 | -------------------------------------------------------------------------------- /resources/data/help/voltreg.txt: -------------------------------------------------------------------------------- 1 | Configurable voltage regulator. 2 | 3 | Property: (default value) 4 | 5 | - Output Voltage: (1.2 V) 6 | Output voltage in reference to "R" pin. 7 | -------------------------------------------------------------------------------- /resources/data/help/fixedvoltage.txt: -------------------------------------------------------------------------------- 1 | Simple voltage source. 2 | 3 | Turn On/Off with the letf button. 4 | 5 | Property: (default value) 6 | 7 | - Voltage: (5 V) 8 | Output voltage. 9 | -------------------------------------------------------------------------------- /resources/data/help/fulladder.txt: -------------------------------------------------------------------------------- 1 | Configurable full adder. 2 | 3 | Property: (default value) 4 | 5 | Electric: 6 | #include logicinputs 7 | #include logicoutputs 8 | #include logicedges 9 | -------------------------------------------------------------------------------- /resources/data/help/ds1307.txt: -------------------------------------------------------------------------------- 1 | Serial I2C real time clock. 2 | 3 | Property: (default value) 4 | 5 | - Set current time at start: (yes) 6 | Start simulation at current time (time from your PC). 7 | -------------------------------------------------------------------------------- /resources/data/help/ws2812.txt: -------------------------------------------------------------------------------- 1 | WS2812 Led string. 2 | 3 | Property: (default value) 4 | 5 | - Rows: (1 Leds) 6 | Number of rows. 7 | 8 | - Columns: (1 Leds) 9 | Number of columns. 10 | -------------------------------------------------------------------------------- /resources/data/help/battery.txt: -------------------------------------------------------------------------------- 1 | Simple battery. 2 | 3 | Property: (default value) 4 | 5 | - Voltage: (5 V) 6 | Battery voltage. 7 | 8 | - Resistance: (1 mΩ) 9 | Internal resistance. 10 | -------------------------------------------------------------------------------- /resources/data/help/app.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | - Language: (English) 4 | Needs Restart. 5 | 6 | - Font Scale: (1) 7 | Scale interface font, for example 1,5 = 150%. 8 | Needs Restart. 9 | -------------------------------------------------------------------------------- /resources/data/help/amperimeter.txt: -------------------------------------------------------------------------------- 1 | Current meter with output pin. 2 | 3 | Pins: 4 | - Red Pin: Positive. 5 | - Black Pin: Negative. 6 | - Right Pin: Output reading as voltage 7 | Updates at Circuit FPS. 8 | 9 | -------------------------------------------------------------------------------- /resources/data/help/ks0108.txt: -------------------------------------------------------------------------------- 1 | 128x64 dot-matrix liquid crystal graphic display based on KS0108 LCD driver. 2 | 3 | Property: (default value) 4 | 5 | - CS Active Low: (no) 6 | Whether CS Pin is active low.. 7 | -------------------------------------------------------------------------------- /resources/data/help/max72xxmatrix.txt: -------------------------------------------------------------------------------- 1 | Max72xx Led matrix. 2 | 3 | Property: (default value) 4 | 5 | - Color: (Yellow) 6 | Led color. 7 | 8 | - Size: (4 8x8 Led) 9 | Number of 8x8 sections. 10 | -------------------------------------------------------------------------------- /resources/data/help/bus.txt: -------------------------------------------------------------------------------- 1 | Configurable Bus connector. 2 | 3 | Property: (default value) 4 | 5 | - Size: (8 Bits) 6 | Number of pins. 7 | 8 | - Start bit: (0) 9 | Bit number asigned to first pin.. 10 | 11 | -------------------------------------------------------------------------------- /resources/data/help/lamp.txt: -------------------------------------------------------------------------------- 1 | Simple incandescent lamp. 2 | 3 | Property: (default value) 4 | 5 | - Resistance: (5 Ω) 6 | Resistance of the filament. 7 | 8 | - Max Current: (0.2 A) 9 | Current at maximum bright. 10 | -------------------------------------------------------------------------------- /resources/data/help/voltimeter.txt: -------------------------------------------------------------------------------- 1 | Voltage meter with output pin. 2 | 3 | Pins: 4 | - Red Pin: Positive. 5 | - Black Pin: Negative. 6 | - Right Pin: Output reading as voltage 7 | Updates at Circuit FPS. 8 | 9 | 10 | -------------------------------------------------------------------------------- /resources/data/codeeditor/compilers/compilers/dummy_c.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /resources/data/help/andgate.txt: -------------------------------------------------------------------------------- 1 | Configurable AND Gate. 2 | 3 | Property: (default value) 4 | 5 | Electric: 6 | 7 | #include logicinputs 8 | #include gateinputs 9 | #include logicoutputs 10 | #include gateoutputs 11 | #include gatedelay 12 | -------------------------------------------------------------------------------- /resources/data/help/orgate.txt: -------------------------------------------------------------------------------- 1 | Configurable OR Gate 2 | 3 | Property: (default value) 4 | 5 | Electric: 6 | 7 | #include logicinputs 8 | #include gateinputs 9 | #include logicoutputs 10 | #include gateoutputs 11 | #include gatedelay 12 | -------------------------------------------------------------------------------- /resources/data/help/header.txt: -------------------------------------------------------------------------------- 1 | Configurable header connector. 2 | 3 | Property: (default value) 4 | 5 | - Size: (8 Bits) 6 | Number of pins. 7 | 8 | - Downwards: (false)
9 | Pins are pointing downwards to connect to boards behind. 10 | -------------------------------------------------------------------------------- /resources/data/help/i2ctoparallel.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | - Control Code: (80) 4 | Device base address. 5 | 6 | - I2C Frequency: (100 KHz) 7 | It is better to be similar to I2C Master frequency, but not critical in most cases. 8 | 9 | -------------------------------------------------------------------------------- /resources/data/help/muxanalog.txt: -------------------------------------------------------------------------------- 1 | Configurable analog multiplexer. 2 | 3 | Property: (default value) 4 | 5 | - Address Size: (3 bits) 6 | Determines number of channels: 7 | n = 2^Address_Size 8 | 9 | - Impedance: (1 mΩ) 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/data/help/socket.txt: -------------------------------------------------------------------------------- 1 | Configurable socket connector. 2 | 3 | Property: (default value) 4 | 5 | - Size: (8 Pins) 6 | Number of pins. 7 | 8 | --- 9 | 10 | Video: 11 | Sockets SimulIDE 1.0.0: https://www.youtube.com/watch?v=e58uivBgVrw 12 | -------------------------------------------------------------------------------- /resources/data/help/tunnel.txt: -------------------------------------------------------------------------------- 1 | Hidden connection. 2 | 3 | Property: (default value) 4 | 5 | - Id: () 6 | Identifier, all Tunnels with this Id will be connected togeter. 7 | 8 | - Bus: (no) 9 | Whether this tunnel connects to a Bus or not. 10 | 11 | -------------------------------------------------------------------------------- /resources/data/help/bjt.txt: -------------------------------------------------------------------------------- 1 | Bipolar Junction Transistor. 2 | 3 | Property: (default value) 4 | 5 | - PNP: (yes) 6 | PNP or NPN. 7 | 8 | - Gain: (100) 9 | Current gain. 10 | 11 | - Threshold: (0.670736 V) 12 | Base-Emitter diode threshold. 13 | -------------------------------------------------------------------------------- /resources/data/help/gatedelay.txt: -------------------------------------------------------------------------------- 1 | Timing: 2 | - Gate Delay: (10 ns) 3 | Time from input change to output change (1 gate). 4 | 5 | - Rise Time: (3 ns) 6 | Time from 0 V to output high V. 7 | 8 | - Fall Time: (4 ns) 9 | Time from output high V to 0 V. 10 | -------------------------------------------------------------------------------- /resources/data/help/logicoutputs.txt: -------------------------------------------------------------------------------- 1 | Outputs: 2 | - Output High Voltage: (5 V) 3 | Voltage of output High state. 4 | 5 | - Output Low Voltage: (0 V) 6 | Voltage of output Low state. 7 | 8 | - Output Impedance: (40 Ω) 9 | Impedance of digital output. 10 | -------------------------------------------------------------------------------- /resources/data/help/xorgate.txt: -------------------------------------------------------------------------------- 1 | Configurable XOR Gate 2 | 3 | Property: (default value) 4 | 5 | Electric: 6 | Configurable Buffer Gate 7 | #include logicinputs 8 | #include gateinputs 9 | #include logicoutputs 10 | #include gateoutputs 11 | #include gatedelay 12 | -------------------------------------------------------------------------------- /resources/data/help/adc.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | Main: 4 | - Size: (8 Bits) 5 | Number of output pins. 6 | 7 | - Reference Voltage: (5 V) 8 | Voltage asigned to the maximum value. 9 | 10 | Electric: 11 | #include logicoutputs 12 | #include logicedges 13 | -------------------------------------------------------------------------------- /resources/data/help/dac.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | Main: 4 | - Size: (8 Bits) 5 | Number of output pins. 6 | 7 | - Reference Voltage: (5 V) 8 | Voltage asigned to the maximum value. 9 | 10 | Electric: 11 | #include logicinputs 12 | #include logicedges 13 | -------------------------------------------------------------------------------- /resources/data/help/hd44780.txt: -------------------------------------------------------------------------------- 1 | 5x8 dot-matrix liquid crystal display based on Hitachi HD44780 LCD controller. 2 | 3 | Property: (default value) 4 | 5 | - Rows: (2 Rows) 6 | Number of rows of characters. 7 | 8 | - Columns: (16 Columns) 9 | Number of characters per row. 10 | -------------------------------------------------------------------------------- /resources/data/help/decto7s.txt: -------------------------------------------------------------------------------- 1 | Converts from binary to 7 segment display. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Invert Outputs: (no) 7 | Invert output pins. 8 | 9 | 10 | Electric: 11 | #include logicinputs 12 | #include logicoutputs 13 | #include logicedges 14 | -------------------------------------------------------------------------------- /resources/data/help/esp01.txt: -------------------------------------------------------------------------------- 1 | Wifi module. 2 | 3 | Partial implementation of TCP/IP AT Commands. 4 | 5 | 6 | Property: (default value) 7 | 8 | - Baudrate: (115200) 9 | Transmission speed. 10 | 11 | - Show Debug messages: (true) 12 | Show debug messages in bottom panel. 13 | -------------------------------------------------------------------------------- /resources/data/help/gateoutputs.txt: -------------------------------------------------------------------------------- 1 | - Initial High State: (no) 2 | Start simulation with High state output. 3 | 4 | - Invert Outputs: (no) 5 | Invert output pin. 6 | 7 | - Open Drain: (no) 8 | If yes, output act as an open drain: 9 | It can sink but not source current. 10 | -------------------------------------------------------------------------------- /resources/data/help/potentiometer.txt: -------------------------------------------------------------------------------- 1 | Interactive potentiometer. 2 | 3 | Use the dial to adjust the value. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Resistance: (1 kΩ) 9 | 10 | - Current Value: (0 Ω) 11 | Value determined by dial position. 12 | 13 | #include dialed 14 | -------------------------------------------------------------------------------- /resources/data/help/stepper.txt: -------------------------------------------------------------------------------- 1 | Step by step Motor. 2 | 3 | For simplicity and speed, Motor Coils are modelled as resistors. 4 | 5 | Property: (default value) 6 | 7 | - Bipolar: (no) 8 | 9 | - Steps per Rotation: (32) 10 | 11 | - Resistance: (100 Ω) 12 | Resistance of each winding. 13 | -------------------------------------------------------------------------------- /resources/data/help/audioout.txt: -------------------------------------------------------------------------------- 1 | Connection to default audio output in your machine. 2 | 3 | If no default audio device is found, you will se an "X" in the symbol. 4 | 5 | Property: (default value) 6 | 7 | - Buzzer: (no) 8 | Act as a buzzer instead of as a speaker. 9 | 10 | - Impedance: (8 Ω) 11 | -------------------------------------------------------------------------------- /resources/data/help/logicinputs.txt: -------------------------------------------------------------------------------- 1 | Inputs: 2 | - Low to High Threshold: (2.5 V) 3 | Voltage to change from Low to High logic state. 4 | 5 | - High to Low Threshold: (2.5 V) 6 | Voltage to change from High to Low logic state. 7 | 8 | - Input Impedance: (100 MΩ) 9 | Impedance of digital input. 10 | -------------------------------------------------------------------------------- /resources/simulide.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=SimulIDE 3 | GenericName=SimulIDE 4 | Comment=Electronic Circuit Simulator Software 5 | Exec=simulide %F 6 | Icon=simulide.png 7 | Terminal=false 8 | Type=Application 9 | Categories=Education;Electronics; 10 | MimeType=application/x-simulide-circuit; 11 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing: 2 | 3 | Any contribution is very welcome if it fits within the project plans. 4 | 5 | To ensure that we are in synchrony and don't waste any time in vain, I propose this approach: 6 | 7 | 1. Propose. 8 | 2. Discuss. 9 | 3. Make a decision. 10 | 4. Work. 11 | 5. PR. 12 | 13 | -------------------------------------------------------------------------------- /resources/data/help/dectobcd.txt: -------------------------------------------------------------------------------- 1 | Converts from decimal to binary. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - 16 Bits: (no) 7 | 8 or 16 inputs. 8 | 9 | Electric: 10 | #include logicinputs 11 | - Invert Inputs: (no) 12 | Invert input pins. 13 | 14 | #include logicoutputs 15 | #include logicedges 16 | -------------------------------------------------------------------------------- /resources/data/help/keypad.txt: -------------------------------------------------------------------------------- 1 | Configurable keypad. 2 | 3 | Property: (default value) 4 | 5 | - Rows: (4) 6 | Number of key rows. 7 | 8 | - Columns: (3) 9 | Number of key columns. 10 | 11 | - Key Labels: (123456789*0#) 12 | List of characters corresponding to each key. 13 | Left to right and top to bottom. 14 | -------------------------------------------------------------------------------- /resources/data/help/bcdtodec.txt: -------------------------------------------------------------------------------- 1 | Converts from binary to decimal. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - 16 Bits: (no) 7 | 8 or 16 outputs. 8 | 9 | 10 | Electric: 11 | #include logicinputs 12 | #include logicoutputs 13 | - Invert Outputs: (no) 14 | Invert output pins. 15 | 16 | #include logicedges 17 | -------------------------------------------------------------------------------- /resources/data/help/clock.txt: -------------------------------------------------------------------------------- 1 | Simple Clock source. 2 | 3 | Turn On/Off with the letf button. 4 | 5 | 6 | Property: (default value) 7 | 8 | - Voltage: (5 V) 9 | Set output voltage. 10 | 11 | - Frequency: (1 kHz) 12 | Set output frequency. 13 | 14 | - Always On: (yes) 15 | Removes the button and keeps always active. 16 | -------------------------------------------------------------------------------- /resources/data/help/scr.txt: -------------------------------------------------------------------------------- 1 | Silicon controlled rectifier. 2 | 3 | Property: (default value) 4 | 5 | - Gate Resistance: (100 Ω) 6 | Gate to to Cathode Resistance. 7 | 8 | - Holding Current: (10 mA) 9 | Minimum current to start conducing. 10 | 11 | - Holding Current: (8.2 mA) 12 | Minimum current to keep conducing. 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/data/help/triac.txt: -------------------------------------------------------------------------------- 1 | Triode for Alternating Current. 2 | 3 | Property: (default value) 4 | 5 | - Gate Resistance: (500 Ω) 6 | Gate to to MT1 Resistance. 7 | 8 | - Holding Current: (10 mA) 9 | Minimum current to start conducing. 10 | 11 | - Holding Current: (8.2 mA) 12 | Minimum current to keep conducing. 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/data/help/switchdip.txt: -------------------------------------------------------------------------------- 1 | Resizable set of switches. 2 | Click on individual "buttons" to turn ON/OFF: 3 | 4 | 5 | Property: (default value) 6 | 7 | - Size: (8) 8 | Number of switches. 9 | 10 | - Exclusive: (false) 11 | Only onew Switch can be closed at a time. 12 | 13 | - Common Pin: (false) 14 | Connect all Switches to a common Pin. 15 | -------------------------------------------------------------------------------- /resources/data/help/push.txt: -------------------------------------------------------------------------------- 1 | Configurable push button switch. 2 | 3 | Property: (default value) 4 | 5 | - Normally Closed: (no) 6 | Push to open (yes) or push to close (no). 7 | 8 | - Poles: (1) 9 | Number of poles controlled by this push button. 10 | 11 | - Key: () 12 | Character shown in the button. 13 | Can be activated by keyboard in your PC. 14 | -------------------------------------------------------------------------------- /resources/data/help/servo.txt: -------------------------------------------------------------------------------- 1 | Configurable servo motor. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Speed: (0.2 sec/60º) 7 | Time to rotate 60º. 8 | 9 | - Min Pulse Width: (1000 us) 10 | Pulse width for rotation = 0º 11 | 12 | - Max Pulse Width: (2000 us) 13 | Pulse width for rotation = 180º 14 | 15 | Electric: 16 | #include logicinputs 17 | -------------------------------------------------------------------------------- /resources/data/help/mux.txt: -------------------------------------------------------------------------------- 1 | Digital Multiplexer. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Address Size: (3 Bits) 7 | Number of select pins. 8 | Determines number of channels: n = 2^Address_Size 9 | 10 | Electric: 11 | #include logicinputs 12 | - Invert Inputs: (no) 13 | Invert input pins. 14 | 15 | #include logicoutputs 16 | #include logicedges 17 | -------------------------------------------------------------------------------- /resources/data/help/demux.txt: -------------------------------------------------------------------------------- 1 | Digital Demultiplexer. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Address Size: (3 Bits) 7 | Number of select pins. 8 | Determines number of channels: n = 2^Address_Size 9 | 10 | Electric: 11 | #include logicinputs 12 | #include logicoutputs 13 | - Invert Outputs: (no) 14 | Invert output pins. 15 | 16 | #include logicedges 17 | -------------------------------------------------------------------------------- /resources/data/help/currentsource.txt: -------------------------------------------------------------------------------- 1 | Variable Current Source. 2 | 3 | Turn On/Off with the letf button. 4 | Adjust current using the dial (0 to max current). 5 | Button shows current voltage output. 6 | 7 | Property: (default value) 8 | 9 | - Current value: (0 A) 10 | Current output at this moment. 11 | 12 | - Maximum Current: (1 A) 13 | Maximum current (must be a positive value). 14 | -------------------------------------------------------------------------------- /resources/data/help/buffer.txt: -------------------------------------------------------------------------------- 1 | Configurable Buffer. 2 | 3 | Property: (default value) 4 | 5 | Electric: 6 | 7 | #include logicinputs 8 | - Invert Inputs: (no) 9 | Invert input pins. 10 | 11 | #include logicoutputs 12 | #include gateoutputs 13 | - Tristate: (no) 14 | If yes, creates an enable pin (active Low). 15 | When disabled, output is high impedance. 16 | 17 | #include gatedelay 18 | -------------------------------------------------------------------------------- /resources/data/help/diac.txt: -------------------------------------------------------------------------------- 1 | Diode for Alternating Current. 2 | 3 | Property: (default value) 4 | 5 | - On Resistance: (500 Ω) 6 | Resistance when conducing. 7 | 8 | - Off Resistance: (100 MΩ) 9 | Resistance when not conducing. 10 | 11 | - Breakdwn Voltage (30 V) 12 | Voltage to start conducing. 13 | 14 | - Holding Current: (10 mA) 15 | Minimum current to keep conducing. 16 | 17 | 18 | -------------------------------------------------------------------------------- /resources/data/help/dht22.txt: -------------------------------------------------------------------------------- 1 | Temperature and humidity sensor. 2 | 3 | Property: (default value) 4 | 5 | - Model: (HDT22) 6 | Choose model: HDT22 or HDT11. 7 | 8 | - Temp. increment: (0.5 ºC) 9 | Temperature will increment by this value when + or - buttons are pushed. 10 | 11 | - Humid. increment: (0.5 ºC) 12 | Humidity will increment by this value when + or - buttons are pushed. 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/data/help/ds18b20.txt: -------------------------------------------------------------------------------- 1 | Temperature sensor with One Wire interface. 2 | 3 | To change temperature use "+" and "-" buttons. 4 | 5 | Property: (default value) 6 | 7 | - ROM: (random) 8 | ROM address. 9 | 10 | - Temperature: (22 ºC) 11 | Current temperature. 12 | 13 | - Temp. increment: (0.5 ºC) 14 | Temperature will increment by this value when + or - buttons are pushed. 15 | 16 | 17 | -------------------------------------------------------------------------------- /resources/data/help/flipflop.txt: -------------------------------------------------------------------------------- 1 | - Set/Reset Inverted: (yes) 2 | Invert Set and Reset pins. 3 | 4 | - Clock Inverted: (no) 5 | Invert Clock pin. 6 | 7 | - Trigger Type: (Clock) 8 | "Clock" triggers every active edge. 9 | "enable" any change during active state. 10 | "None" hides Clock pin. 11 | 12 | Electric: 13 | #include logicinputs 14 | #include logicoutputs 15 | #include logicedges 16 | -------------------------------------------------------------------------------- /resources/data/help/hdt22.txt: -------------------------------------------------------------------------------- 1 | Temperature and humidity sensor. 2 | 3 | Property: (default value) 4 | 5 | - Model: (HDT22) 6 | Choose model: HDT22 or HDT11. 7 | 8 | - Temp. increment: (0.5 ºC) 9 | Temperature will increment by this value when + or - buttons are pushed. 10 | 11 | - Humid. increment: (0.5 ºC) 12 | Humidity will increment by this value when + or - buttons are pushed. 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/data/help/logicedges.txt: -------------------------------------------------------------------------------- 1 | Timing: 2 | - Propagation delay: (1 Gate) 3 | Total propagation delay in number of gates. 4 | Total delay = Gate delay x number of gates. 5 | 6 | - Gate Delay: (10 ns) 7 | Time from input change to output change (1 gate). 8 | 9 | - Rise Time: (3 ns) 10 | Time from 0 V to output high V. 11 | 12 | - Fall Time: (4 ns) 13 | Time from output high V to 0 V. 14 | -------------------------------------------------------------------------------- /resources/data/help/subcircuit.txt: -------------------------------------------------------------------------------- 1 | Subcircuit: 2 | 3 | This a component made out of several parts. 4 | 5 | It contains a circuit inside in a similar way a chip does. 6 | 7 | Each Subcircuit component is described in 2 files: one for the circuit and other for the package. 8 | 9 | There is an option to use a Chip like package or a Logic Symbol. 10 | To change betwen them use "Logic Symbol" propery above. 11 | -------------------------------------------------------------------------------- /resources/data/help/ds1621.txt: -------------------------------------------------------------------------------- 1 | Temperature sensor with I2C interface. 2 | 3 | Pins A0, A1, A2 are used to set the 3 lower bits of the address. 4 | To change temperature use "+" and "-" buttons. 5 | 6 | Property: (default value) 7 | 8 | - Temperature: (22.5 ºC) 9 | Current temperature. 10 | 11 | - Temp. increment: (0.5 ºC) 12 | Temperature will increment by this value when + or - buttons are pushed. 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/data/help/inductor.txt: -------------------------------------------------------------------------------- 1 | Simple inductor. 2 | 3 | Property: (default value) 4 | 5 | - Inductance: (1 H) 6 | 7 | - Resistance: (1 µΩ) 8 | 9 | - Initial Current: (0 A) 10 | Current at simulation start (initial charge). 11 | 12 | - Reactive Step: (0 ns) 13 | Set custom Reactive step for this component. 14 | This value overrides general Simulation Settings. 15 | 0 to use value set in Simulation Settings. 16 | -------------------------------------------------------------------------------- /resources/readme: -------------------------------------------------------------------------------- 1 | 2 | Edit SimulIDE.desktop in this folder. 3 | 4 | Set the proper path to SimulIDE folder. 5 | 6 | Then you can copy it to your desktop or any other place to lauch SimulIDE. 7 | 8 | To allow opening circuits from your file manager put simulide-mime.xml file into 9 | ~/.local/share/mime/packages/ folder and then launch 10 | 11 | update-mime-database ~/.local/share/mime/ 12 | 13 | in your command line. 14 | -------------------------------------------------------------------------------- /resources/simulide-mime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | SimulIDE Circuit 9 | 10 | 11 | -------------------------------------------------------------------------------- /resources/data/help/capacitor.txt: -------------------------------------------------------------------------------- 1 | Simple capacitor. 2 | 3 | Property: (default value) 4 | 5 | - Capacitance: (10 µF) 6 | 7 | - Resistance: (1 µΩ) 8 | 9 | - Initial Voltage: (0 V) 10 | Voltage at simulation start (initial charge). 11 | 12 | - Reactive Step: (0 µs) 13 | Set custom Reactive step for this component. 14 | This value overrides general Simulation Settings. 15 | 0 to use value set in Simulation Settings. 16 | -------------------------------------------------------------------------------- /resources/data/codeeditor/syntax/hex.syntax: -------------------------------------------------------------------------------- 1 | rules: ByteCount Address Type Checksum 2 | 3 | Checksum-style: default #F0F0F0 true false 4 | Checksum: "[0-9a-fA-F]{2}$" 5 | 6 | Type-style: #AA0000 default false false 7 | Type: "^:.{6}([0-9a-fA-F]{2})" 8 | 9 | Address-style: #0000AA default true false 10 | Address: "^:.{3}([0-9a-fA-F]{3})" 11 | 12 | ByteCount-style: default #FFFFCC false false 13 | ByteCount: "^:[0-9a-fA-F]{2}" 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/data/help/switch.txt: -------------------------------------------------------------------------------- 1 | Configurable 2 position switch. 2 | 3 | Property: (default value) 4 | 5 | - Normally Closed: (no) 6 | State with button not pushed. 7 | 8 | - Double Throw: (no) 9 | Yes: 2 throws per pole. 10 | No: 1 throw per pole. 11 | 12 | - Poles: (1) 13 | Number of poles controlled by this switch. 14 | 15 | - Key: () 16 | Character shown in the button. 17 | Can be activated by keyboard in your PC. 18 | -------------------------------------------------------------------------------- /resources/data/help/probe.txt: -------------------------------------------------------------------------------- 1 | Logic and voltage probe.
2 | Hover or connect to Wires or Pins to get voltage. 3 | 4 | **As logic probe:** 5 | - Orange = High State. 6 | - Blue = Low State 7 | 8 | --- 9 | 10 | ## Properties: 11 | Property: (default value)
12 | 13 | - **Show Voltage:** (yes)
14 | Show voltage label.
15 | 16 | - **Threshold:** (2.5 V)
17 | Digital threshold to determine High/Low states.
18 | 19 | --- 20 | -------------------------------------------------------------------------------- /resources/data/help/elcapacitor.txt: -------------------------------------------------------------------------------- 1 | Simple polarized capacitor. 2 | Blinks if polarity is wrong. 3 | 4 | Property: (default value) 5 | 6 | - Capacitance: (10 µF) 7 | 8 | - Resistance: (1 µΩ) 9 | 10 | - Initial Voltage: (0 V) 11 | Voltage at simulation start (initial charge). 12 | 13 | - Reactive Step: (0 ns) 14 | Set custom Reactive step for this component. 15 | This value overrides general Simulation Settings. 16 | 0 to use value set in Simulation Settings. 17 | -------------------------------------------------------------------------------- /resources/data/help/aip31068i2c.txt: -------------------------------------------------------------------------------- 1 | 5x8 dot-matrix liquid crystal display based on AiP31068 LCD controller, with I2C interface. 2 | 3 | Property: (default value) 4 | 5 | - Rows: (2 Rows) 6 | Number of rows of characters. 7 | 8 | - Columns: (16 Columns) 9 | Number of characters per row. 10 | 11 | - I2C Address: (62) 12 | Device address. 13 | 14 | - I2C Frequency: (100 KHz) 15 | It is better to be similar to I2C Master frequency, but not critical in most cases. 16 | -------------------------------------------------------------------------------- /resources/data/help/resistordip.txt: -------------------------------------------------------------------------------- 1 | Set of resistors in a DIP configuration. 2 | 3 | Property: (default value) 4 | 5 | - Resistance: (100 Ω) 6 | 7 | - Size: (8) 8 | Number of resistors. 9 | 10 | - Pullup: (no) 11 | Configure resistor Dip as pullups connecting directly to a voltage source. 12 | If true, it will disconnect and hide pins at the top. 13 | 14 | - Pullup Voltage: (5 V) 15 | Voltage to connect the resistors. 16 | Shown only if "Pullup" property is set. 17 | -------------------------------------------------------------------------------- /resources/data/help/serialterm.txt: -------------------------------------------------------------------------------- 1 | Serial terminal to communicate with devices in the simulation. 2 | 3 | Connect Rx and Tx Pins to Tx and Rx from a device. 4 | Click "Open" button to open terminal. 5 | 6 | Property: (default value) 7 | 8 | - Baudrate: (9600) 9 | Transmission speed. 10 | 11 | - Data Bits: (8) 12 | Number of data bits. 13 | 14 | - Stop Bits: (1) 15 | Number of stop bits. 16 | 17 | --- 18 | 19 | Full tutorial: 20 | https://simulide.com/p/serial-terminal 21 | -------------------------------------------------------------------------------- /resources/data/help/opamp.txt: -------------------------------------------------------------------------------- 1 | Configurable differential amplifier. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Gain: (100) 7 | Voltage gain. 8 | 9 | - Output Impedance: (0 Ω) 10 | Impedance of the output stage. 11 | 12 | Supply: 13 | - V+ (5 V) 14 | Positive supply voltage if supply pins not used. 15 | 16 | - V- (0 V) 17 | Negative supply voltage if supply pins not used. 18 | 19 | - Use Supply Pins: (no) 20 | Use supply pins instead of values above. 21 | 22 | -------------------------------------------------------------------------------- /resources/data/help/mosfet.txt: -------------------------------------------------------------------------------- 1 | Metal-Oxide-Semiconductor Field-effect Transistor. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - P Channel: (no) 7 | P channel or N channel. 8 | 9 | - Depletion: (no) 10 | Depletion mode or enhancement mode. 11 | 12 | Electric: 13 | - RDSon: (1 Ω) 14 | DS Resistance in the lower part of the linear region when conducing: 15 | VGS > Vth and VDS < ( VGS – Vth ) 16 | 17 | - Threshold: (3 V) 18 | Gate-Source Voltage to start conducing. 19 | -------------------------------------------------------------------------------- /resources/data/help/shiftreg.txt: -------------------------------------------------------------------------------- 1 | 8 bit shift register. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Clock Inverted: (no) 7 | Invert Clock pin. 8 | 9 | - Reset Inverted: (yes) 10 | Invert Reset pin. 11 | 12 | 13 | Electric: 14 | #include logicinputs 15 | #include logicoutputs 16 | - Invert Outputs: (no) 17 | Invert output pin. 18 | 19 | - Open Drain: (no) 20 | If yes, output act as an open drain: 21 | It can sink but not source current. 22 | 23 | #include logicedges 24 | -------------------------------------------------------------------------------- /resources/data/codeeditor/syntax/xml.syntax: -------------------------------------------------------------------------------- 1 | rules: elEnd elName element comment quotation 2 | 3 | elEnd-style: #101080 default true false 4 | elEnd: ">" 5 | 6 | elName-style: #801010 default true false 7 | elName: "\b[A-Za-z0-9_]+[ *](?=\=)" 8 | 9 | element-style: #101080 default true false 10 | element: "<[/!A-Za-z0-9_]+\b" 11 | 12 | quotation-style: #108010 default false false 13 | quotation: "\"(\\.|[^\"])*\"" 14 | 15 | comment-style: #505050 default false false 16 | comment: "" 17 | 18 | -------------------------------------------------------------------------------- /resources/data/codeeditor/syntax/makef.syntax: -------------------------------------------------------------------------------- 1 | rules: directives number target quotation lineComment 2 | 3 | directives-style: #505080 default true false 4 | directives: endif ifeq include 5 | 6 | number-style: #3030B8 default false false 7 | number: "\b[0-9]+\b" 8 | 9 | target-style: #151570 default true true 10 | target: "(?!.*:=).*:" 11 | 12 | quotation-style: #205010 default false false 13 | quotation: "\"(\\.|[^\"])*\"" 14 | 15 | lineComment-style: #646464 default false true 16 | lineComment: "#[^\n]*" 17 | -------------------------------------------------------------------------------- /resources/data/help/dcmotor.txt: -------------------------------------------------------------------------------- 1 | Configurable DC motor. 2 | 3 | It shows graphic indication or rotation speed and direction: 4 | Green: below nominal speed. 5 | Red: nominal speed is exeeded. 6 | 7 | For simplicity and speed, Motor Coil is modelled as a resistor. 8 | 9 | Property: (default value) 10 | 11 | - Nominal Speed: (60 RPM) 12 | Speed at nominal voltage. 13 | 14 | - Nominal Voltage: (5 V) 15 | Voltage to reach nominal speed. 16 | 17 | - Resistance: (100 Ω) 18 | Resistance of the winding. 19 | -------------------------------------------------------------------------------- /resources/data/help/touchpadr.txt: -------------------------------------------------------------------------------- 1 | Resistive touchpad. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Width (240 pixels) 7 | 8 | - Height: (320 pixels) 9 | 10 | - Transparent (no) 11 | 12 | Electric: 13 | - RxMin: (100 Ω) 14 | Minimum resistance in X axis (right side). 15 | 16 | - RxMax: (100 Ω) 17 | Maximum resistance in X axis (left side). 18 | 19 | - RyMin: (100 Ω) 20 | Minimum resistance in Y axis (top side). 21 | 22 | - RyMax: (100 Ω) 23 | Maximum resistance in Y axis (bottom side). 24 | -------------------------------------------------------------------------------- /resources/data/help/varresistor.txt: -------------------------------------------------------------------------------- 1 | Interactive variable resistor. 2 | 3 | Use the dial to adjust resistance. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Minimum Resistance: (0 Ω) 9 | Resistance with dial at the left end. 10 | 11 | - Maximum Resistance: (1 kΩ) 12 | Resistance with dial at the right end. 13 | 14 | - Current Value: (0 Ω) 15 | Value determined by dial position. 16 | 17 | - Dial Step: (0 Ω) 18 | Minimum step when rotating the dial. 19 | 0 to use default. 20 | 21 | #include dialed 22 | -------------------------------------------------------------------------------- /src/gui/circuitwidget/updatable.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | class Updatable 9 | { 10 | public: 11 | Updatable(); 12 | ~Updatable(); 13 | 14 | virtual void updateStep(){;} 15 | }; 16 | -------------------------------------------------------------------------------- /src/microsim/cores/scripted/scriptperif.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "scriptperif.h" 7 | 8 | ScriptPerif::ScriptPerif( QString name ) 9 | { 10 | m_perifName = name; 11 | } 12 | ScriptPerif::~ScriptPerif(){} 13 | 14 | -------------------------------------------------------------------------------- /resources/data/help/counter.txt: -------------------------------------------------------------------------------- 1 | Binary counter. 2 | Sets the output High after a number of clock pulses. 3 | 4 | Property: (default value) 5 | 6 | Main: 7 | - Use Set Pin (no) 8 | Shows/hides "Set" pin. 9 | 10 | - Clock Inverted: (no) 11 | Invert Clock pin. 12 | 13 | - Set/Reset Inverted: (yes) 14 | Invert Set and Reset pins. 15 | 16 | - Count to: (1) 17 | Number of Clock pulses to set output High. 18 | 19 | Electric: 20 | #include logicinputs 21 | #include logicoutputs 22 | #include propdelay 23 | #include logicedges 24 | -------------------------------------------------------------------------------- /resources/data/help/voltagesource.txt: -------------------------------------------------------------------------------- 1 | Variable Voltage Source. 2 | 3 | Turn On/Off with the letf button. 4 | Adjust voltage using the dial (0 to max voltage). 5 | Button shows current voltage output. 6 | 7 | Property: (default value) 8 | 9 | - Current value: (0 V) 10 | Current voltage output. 11 | 12 | - Maximum Voltage: (5 V) 13 | Maximum voltage (positive or negative value). 14 | Must be > Minimum Voltage. 15 | 16 | - Minimum Voltage: (0 V) 17 | Minimum voltage (positive or negative value). 18 | Must be < Maximum Voltage. 19 | -------------------------------------------------------------------------------- /src/components/comp2pin.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "component.h" 9 | 10 | class Comp2Pin : public Component 11 | { 12 | public: 13 | Comp2Pin( QString type, QString id ); 14 | ~Comp2Pin(){} 15 | }; 16 | -------------------------------------------------------------------------------- /src/gui/circuitwidget/updatable.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "updatable.h" 7 | #include "simulator.h" 8 | 9 | Updatable::Updatable(){} 10 | Updatable::~Updatable() 11 | { 12 | Simulator::self()->remFromUpdateList( this ); 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/microsim/cores/pic/picsleep.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcusleep.h" 9 | 10 | class PicSleep : public McuSleep 11 | { 12 | public: 13 | PicSleep( eMcu* mcu, QString name ); 14 | ~PicSleep(); 15 | }; 16 | -------------------------------------------------------------------------------- /resources/data/help/circuit.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | Circuit Canvas 4 | - Draw Grid: (true) 5 | 6 | - Show Scrollbar: (false) 7 | 8 | - Animate: (false) 9 | Wires will get Red if Volts>2.5, Blue otherwise. 10 | Login Pins will show type and logic state. 11 | 12 | - Canvas Refresh: (20) 13 | Number of Circuit updates/redraws per second. 14 | 15 | Other 16 | - Auto Backup Secs: (15) 17 | Time interval in seconds for Circuit to Circuit backup. 18 | Save Circuit backup if there are changes. 19 | 0 disables Auto Backup. 20 | 21 | -------------------------------------------------------------------------------- /resources/data/codeeditor/compilers/compilers/avrgcc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /src/microsim/cores/pic/picsleep.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "picsleep.h" 7 | 8 | PicSleep::PicSleep( eMcu* mcu, QString name ) 9 | : McuSleep( mcu, name ) 10 | { 11 | m_enabled = true; 12 | m_sleepMode = 1; 13 | } 14 | PicSleep::~PicSleep(){} 15 | -------------------------------------------------------------------------------- /resources/data/help/shape.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | Main: 4 | - Size X: (50 Pixels) 5 | Horizontal size in pixels. 6 | 7 | - Size Y: (30 Pixels) 8 | Vertical size in pixels. 9 | 10 | - Border: (2 Pixels) 11 | Width of border line. 12 | 13 | - Z Value: (-1) 14 | Negative values stack behind other components 15 | Higher values stack on top of lower ones. 16 | 17 | Color: 18 | - Color: (#a0a0a4) 19 | Click on the color box to choose a new color. 20 | 21 | - Opacity: (1) 22 | Value from 0 to 1: 23 | 0 for transparent to 1 for 100% opaque. 24 | -------------------------------------------------------------------------------- /resources/data/codeeditor/compilers/types.txt: -------------------------------------------------------------------------------- 1 | Compiler types: 2 | 3 | For generic compilers, the field "type" defines certain characteristics ( for example type="asm01" ) . 4 | The key is in the last 2 numeric digits: "01". 5 | From left to right: 6 | 7 | - First digit "0*" language level: 8 | Value can be 0 or 1: 0 for asm, 1 for high level 9 | 10 | - Second digit "*1" lst file type: 11 | Value can be from 0 to 3: 12 | Bit0: use ":" ? 13 | 0 doesn't use ":" (gpasm ). 14 | 1 uses ":" (avra, gavrasm) 15 | 16 | Bit1: position of flash address (0 or 1) 17 | -------------------------------------------------------------------------------- /resources/data/help/rtd.txt: -------------------------------------------------------------------------------- 1 | Resistance Temperature Detector. 2 | 3 | Use the dial to adjust temperature. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Minimum Value: (0 ºC) 9 | Temperature with dial at the left end. 10 | 11 | - Maximum Value: (200 ºC) 12 | Temperature with dial at the right end. 13 | 14 | - Current Value: (25 ºC) 15 | Value determined by dial position. 16 | 17 | - Dial Step: (0 ºC) 18 | Minimum step when rotating the dial. 19 | 0 to use default. 20 | 21 | 22 | Parameters: 23 | - R0: (100 Ω) 24 | Resistance at 0 ºC 25 | 26 | #include dialed 27 | -------------------------------------------------------------------------------- /src/gui/appdialogs/about.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | #include "ui_about.h" 11 | 12 | class AboutDialog : public QDialog, private Ui::AboutDialog 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | AboutDialog( QWidget* parent=0 ); 18 | }; 19 | -------------------------------------------------------------------------------- /src/gui/editorwidget/debuggers/xc8debugger.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "xc8debugger.h" 7 | 8 | Xc8Debugger::Xc8Debugger( CodeEditor* parent, OutPanelText* outPane ) 9 | : AvrGccDebugger( parent, outPane ) 10 | { 11 | m_addrBytes = 2; 12 | } 13 | Xc8Debugger::~Xc8Debugger(){} 14 | -------------------------------------------------------------------------------- /src/gui/editorwidget/debuggers/xc8debugger.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "avrgccdebugger.h" 9 | 10 | class Xc8Debugger : public AvrGccDebugger 11 | { 12 | public: 13 | Xc8Debugger( CodeEditor* parent, OutPanelText* outPane ); 14 | ~Xc8Debugger(); 15 | }; 16 | -------------------------------------------------------------------------------- /src/gui/sourcewidget.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "dialwidget.h" 9 | 10 | class CustomButton; 11 | 12 | class SourceWidget : public DialWidget 13 | { 14 | public: 15 | SourceWidget(); 16 | ~SourceWidget(); 17 | 18 | CustomButton* pushButton; 19 | }; 20 | -------------------------------------------------------------------------------- /src/gui/customslider.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | class CustomSlider : public QSlider 11 | { 12 | Q_OBJECT 13 | public: 14 | CustomSlider( QWidget* parent=nullptr ); 15 | 16 | private: 17 | virtual void paintEvent( QPaintEvent* ) override; 18 | }; 19 | -------------------------------------------------------------------------------- /resources/data/help/thermistor.txt: -------------------------------------------------------------------------------- 1 | NTC thermistor. 2 | 3 | Use the dial to adjust temperature. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Minimum Value: (0 ºC) 9 | Temperature with dial at the left end. 10 | 11 | - Maximum Value: (200 ºC) 12 | Temperature with dial at the right end. 13 | 14 | - Current Value: (25 ºC) 15 | Value determined by dial position. 16 | 17 | - Dial Step: (0 ºC) 18 | Minimum step when rotating the dial. 19 | 0 to use default. 20 | 21 | 22 | Parameters: 23 | - B: (3455) 24 | β parameter. 25 | 26 | - R25: (10000 Ω) 27 | Resistance at 25 ºC. 28 | 29 | #include dialed 30 | -------------------------------------------------------------------------------- /src/gui/custombutton.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | class CustomButton : public QToolButton 11 | { 12 | Q_OBJECT 13 | public: 14 | CustomButton( QWidget* parent=nullptr ); 15 | 16 | private: 17 | virtual void paintEvent( QPaintEvent* ) override; 18 | }; 19 | -------------------------------------------------------------------------------- /resources/data/help/serialport.txt: -------------------------------------------------------------------------------- 1 | Connection to a real or virtual Serial Port in your PC. 2 | 3 | Configure Port Name and click "Open" button to connect to that serial port. 4 | "Port Name" must be an existing port in your PC with read/write permissions. 5 | 6 | Property: (default value) 7 | 8 | Main: 9 | - Auto Open: (no) 10 | Open port automatically at Simulation start. 11 | 12 | - Port Name: () 13 | Name of the Serial Port to connect to. 14 | 15 | Config: 16 | - Baudrate: (9600) 17 | Transmission speed. 18 | 19 | - Data Bits: (8) 20 | Number of data bits. 21 | 22 | - Stop Bits: (1) 23 | Number of stop bits. 24 | 25 | -------------------------------------------------------------------------------- /resources/data/help/ssd1306.txt: -------------------------------------------------------------------------------- 1 | 128x64 OLED monochrome graphic display. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Color: (white) 7 | Pixel color. 8 | 9 | - Width: (128) 10 | Screen width in pixels 11 | 12 | - Height: (64) 13 | Screen height in pixels 14 | 15 | - Rotate: (yes) 16 | Rotate screen 180º. 17 | Some libraries use screen rotation, others don't use it. 18 | Using this you can keep the display in same position. 19 | 20 | I2C: 21 | - I2C Address: (62) 22 | Device address. 23 | 24 | - I2C Frequency: (100 KHz) 25 | It is better to be similar to I2C Master frequency, but not critical in most cases. 26 | -------------------------------------------------------------------------------- /src/gui/properties/labelval.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | #include "ui_labelval.h" 11 | 12 | class LabelVal : public QWidget, private Ui::LabelVal 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | LabelVal( QWidget* parent ); 18 | 19 | void setLabelVal( QString caption ); 20 | }; 21 | -------------------------------------------------------------------------------- /src/microsim/mcutypes.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | #include "mcusignal.h" 10 | 11 | struct regInfo_t{ 12 | uint16_t address; 13 | uint8_t resetVal; 14 | }; 15 | 16 | struct regBits_t{ 17 | uint8_t bit0=0; 18 | uint8_t mask=0; 19 | uint8_t* reg=0; 20 | uint16_t regAddr=0; 21 | }; 22 | -------------------------------------------------------------------------------- /resources/data/diodes.model: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/data/help/strain.txt: -------------------------------------------------------------------------------- 1 | Force Sensor. 2 | 3 | Use the dial to adjust force. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Minimum Value: (0 N) 9 | Force in Newtons with dial at the left end. 10 | 11 | - Maximum Value: (1000 N) 12 | Force in Newtons with dial at the right end. 13 | 14 | - Current Value: (0 N) 15 | Value determined by dial position. 16 | 17 | - Dial Step: (0 N) 18 | Minimum step when rotating the dial. 19 | 0 to use default. 20 | 21 | 22 | Parameters: 23 | - Ref. Temperature: (20 ºC) 24 | Reference Temperature. 25 | 26 | - Temperature: (20 ºC) 27 | Current Temperature. 28 | 29 | #include dialed 30 | -------------------------------------------------------------------------------- /resources/data/help/ldr.txt: -------------------------------------------------------------------------------- 1 | Light Dependet Resistor. 2 | 3 | Use the dial to adjust luminance. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Minimum Value: (0 Lux) 9 | Luminance with dial at the left end. 10 | 11 | - Maximum Value: (1000 Lux) 12 | Luminance with dial at the right end. 13 | 14 | - Current Value: (0 Lux) 15 | Value determined by dial position. 16 | 17 | - Dial Step: (0 Lux) 18 | Minimum step when rotating the dial. 19 | 0 to use default. 20 | 21 | 22 | Parameters: 23 | - Gamma: (0.8582) 24 | Determines resistance vs Lux slope. 25 | 26 | - R1: (127410 Ω) 27 | Resistance at 1 Lux. 28 | 29 | #include dialed 30 | -------------------------------------------------------------------------------- /resources/data/help/led.txt: -------------------------------------------------------------------------------- 1 | Simple configurable light emitting diode. 2 | 3 | Blinks if maximum current is exceeded. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Color: (Yellow) 9 | Led color. 10 | 11 | - Grounded (no) 12 | If yes, connect cathode to ground internally and hide cathode pin. 13 | Any wire already connected to cathode will be deleted. 14 | 15 | Electric: 16 | - Fordward Voltage: (2.4 V) 17 | Voltage drop when fordward biased. 18 | 19 | - Max Current: (30 mA) 20 | Maximum current (it will blink if exeeded). 21 | Maximum brightness is reached at this current. 22 | 23 | - Resistance: (0.6 Ω) 24 | Series resistance. 25 | -------------------------------------------------------------------------------- /resources/data/help/simulation.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | - Simulation Speed %: (100%) 4 | Target simulation speed in percentage of real time. 5 | 6 | - Steps per Second: (1e6 us) 7 | Another way to set simulation speed. 8 | 9 | NonLinear 10 | - Max Iterations: (1e5) 11 | Number of maximum iteations for Non Linear simulation. 12 | 0 for no limit. 13 | 14 | Reactive 15 | - Reactive Step (1 us) 16 | Update step for reactive components. 17 | Icrease: better simulation speed but less accuracy. 18 | 19 | Logic Output Edges 20 | - Slope Steps: (0) 21 | Number of steps for Output Pins rising/falling edges. 22 | 0 for disabled. 23 | 24 | -------------------------------------------------------------------------------- /src/gui/editorwidget/debuggers/cdebugger.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "basedebugger.h" 9 | 10 | class cDebugger : public BaseDebugger 11 | { 12 | public: 13 | cDebugger( CodeEditor* parent, OutPanelText* outPane ); 14 | ~cDebugger(); 15 | 16 | protected: 17 | virtual void preProcess() override; 18 | }; 19 | -------------------------------------------------------------------------------- /src/components/active/zener.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "diode.h" 9 | 10 | class LibraryItem; 11 | 12 | class Zener : public Diode 13 | { 14 | public: 15 | Zener( QString type, QString id ); 16 | ~Zener(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | }; 21 | -------------------------------------------------------------------------------- /src/microsim/cores/mcs65/mcs65interface.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "cpu8bits.h" 9 | #include "e-element.h" 10 | 11 | class Mcs65Interface : public Cpu8bits, public eElement 12 | { 13 | public: 14 | Mcs65Interface( eMcu* mcu ); 15 | ~Mcs65Interface(); 16 | 17 | protected: 18 | QString getStrInst( uint8_t IR ); 19 | }; 20 | -------------------------------------------------------------------------------- /src/microsim/mcuwdt.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "mcuwdt.h" 7 | #include "e_mcu.h" 8 | //#include "cpu8bits.h" 9 | #include "mcuinterrupts.h" 10 | #include "simulator.h" 11 | 12 | McuWdt::McuWdt( eMcu* mcu, QString name ) 13 | : McuPrescaled( mcu, name ) 14 | , eElement( mcu->getId()+"-"+name ) 15 | { 16 | m_wdtFuse = false; 17 | } 18 | McuWdt::~McuWdt(){} 19 | -------------------------------------------------------------------------------- /resources/data/help/dial.txt: -------------------------------------------------------------------------------- 1 | This is a standalone dial ment to be linked to other Dialed components like Potentiometer, Variable Resistor or Resistive Sensors. 2 | 3 | This is useful in several cases like dual potentiometers or using sliders in combination with screens, but also to create different components with scripts. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Minimum Value: (0) 9 | Value with dial at the left end. 10 | 11 | - Maximum Value: (1000) 12 | Value with dial at the right end. 13 | 14 | - Steps: (1000) 15 | Number of steps of the movement. 16 | 17 | #include dialed 18 | 19 | --- 20 | 21 | Video: 22 | Dial Component: https://youtu.be/mUXfwsjyRZ4 23 | -------------------------------------------------------------------------------- /src/components/outputs/displays/st7735.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "st77xx.h" 9 | 10 | class LibraryItem; 11 | 12 | class St7735 : public St77xx 13 | { 14 | public: 15 | St7735( QString type, QString id ); 16 | ~St7735(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | }; 21 | -------------------------------------------------------------------------------- /src/components/outputs/displays/st7789.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "st77xx.h" 9 | 10 | class LibraryItem; 11 | 12 | class St7789 : public St77xx 13 | { 14 | public: 15 | St7789( QString type, QString id ); 16 | ~St7789(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | }; 21 | -------------------------------------------------------------------------------- /src/microsim/mcuprescaled.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2022 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "mcuprescaled.h" 7 | 8 | McuPrescaled::McuPrescaled( eMcu* mcu, QString name ) 9 | : McuModule( mcu, name ) 10 | { 11 | 12 | } 13 | McuPrescaled::~McuPrescaled( ){} 14 | 15 | void McuPrescaled::setPrescIndex( uint16_t p ) 16 | { 17 | m_prIndex = p; 18 | m_prescaler = m_prescList.at( m_prIndex ); 19 | } 20 | -------------------------------------------------------------------------------- /src/gui/componentlist/installinfo.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | #include "ui_installinfo.h" 11 | 12 | class InstallItem; 13 | 14 | class InstallInfo : public QDialog, private Ui::installInfo 15 | { 16 | //Q_OBJECT 17 | 18 | public: 19 | InstallInfo( InstallItem* parent , QString tittle, QString author, QStringList items ); 20 | }; 21 | -------------------------------------------------------------------------------- /resources/data/help/package.txt: -------------------------------------------------------------------------------- 1 | Property: (default value) 2 | 3 | - Type: (None) 4 | Package type. 5 | 6 | - Width: (4 Cells) 7 | WIdth in grid cells. 8 | 9 | - Height: (8 Cells) 10 | Height in grid cells. 11 | 12 | - Name: (Package) 13 | Name shown at the center of the component. 14 | Leave empty to show nothing. 15 | use "Package" to use package file name. 16 | 17 | - Package File: () 18 | Path to package file. 19 | 20 | - Background: () 21 | File for background image. 22 | 23 | - Logic Symbol (yes) 24 | If yes, use A logic symbol representation. 25 | If no, use a "Chip" representation. 26 | 27 | --- 28 | 29 | Full tutorial: 30 | https://simulide.com/p/package/ 31 | -------------------------------------------------------------------------------- /src/microsim/cores/avr/avricunit.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuicunit.h" 9 | 10 | class AvrIcUnit : public McuIcUnit 11 | { 12 | public: 13 | AvrIcUnit( eMcu* mcu, QString name ); 14 | virtual ~AvrIcUnit(); 15 | 16 | virtual void configure( uint8_t val ) override; 17 | 18 | protected: 19 | 20 | regBits_t m_ICbits; 21 | }; 22 | 23 | -------------------------------------------------------------------------------- /src/components/outputs/leds/ledsmd.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "ledbase.h" 9 | 10 | class LedSmd : public LedBase 11 | { 12 | public: 13 | LedSmd( QString type, QString id, QRectF area, ePin* pin0=NULL, ePin* pin1=NULL ); 14 | ~LedSmd(); 15 | 16 | protected: 17 | void drawBackground( QPainter* p ); 18 | void drawForeground( QPainter* p ); 19 | }; 20 | -------------------------------------------------------------------------------- /src/microsim/cores/avr/avrport.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuport.h" 9 | 10 | 11 | class AvrPort : public McuPort 12 | { 13 | public: 14 | AvrPort( eMcu* mcu, QString name ); 15 | ~AvrPort(); 16 | 17 | void pinRegChanged( uint8_t newPIN ); 18 | 19 | protected: 20 | virtual McuPin* createPin( int i, QString id , Component* mcu ) override; 21 | }; 22 | -------------------------------------------------------------------------------- /src/microsim/cores/cpu8bits.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "cpu8bits.h" 7 | 8 | Cpu8bits::Cpu8bits( eMcu* mcu ) 9 | : Watched() 10 | { 11 | m_mcu = mcu; 12 | 13 | m_retCycles = 2; 14 | 15 | m_spl = nullptr; 16 | m_sph = nullptr; 17 | m_STATUS = nullptr; 18 | } 19 | Cpu8bits::~Cpu8bits() {} 20 | 21 | void Cpu8bits::reset() 22 | { 23 | m_PC = 0; 24 | m_RET_ADDR = 0; 25 | } 26 | -------------------------------------------------------------------------------- /resources/data/help/latchd.txt: -------------------------------------------------------------------------------- 1 | Configurable latch. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Input Size: (8 Channels) 7 | Number of channels. 8 | 9 | - Trigger Type: (Enable) 10 | "Clock" triggers every active edge. 11 | "enable" any change during active state. 12 | "None" hides Clock pin. 13 | 14 | - Tristate: (yes) 15 | If yes, creates an enable pin (active Low). 16 | When disabled, output is high impedance. 17 | 18 | Electric: 19 | #include logicinputs 20 | #include logicoutputs 21 | - Invert Outputs: (no) 22 | Invert output pins. 23 | 24 | - Open Drain: (no) 25 | If yes, output act as an open drain: 26 | It can sink but not source current. 27 | 28 | #include logicedges 29 | -------------------------------------------------------------------------------- /resources/data/help/ledbar.txt: -------------------------------------------------------------------------------- 1 | Array of LEDs. 2 | 3 | Individual leds blink if maximum current is exceeded. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Color: (Yellow) 9 | Led color. 10 | 11 | - Size: (8 Leds) 12 | Number of leds in the bar. 13 | 14 | - Grounded (no) 15 | If yes, connect all cathodes to ground internally and hide cathode pins. 16 | Any wire already connected to cathodes will be deleted. 17 | 18 | Electric: 19 | - Fordward Voltage: (2.4 V) 20 | Voltage drop when fordward biased. 21 | 22 | - Max Current: (30 mA) 23 | Maximum current (it will blink if exeeded). 24 | Maximum brightness is reached at this current. 25 | 26 | - Resistance: (0.6 Ω) 27 | Series resistance. 28 | -------------------------------------------------------------------------------- /src/microsim/cores/avr/avrocm.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuocm.h" 9 | 10 | class AvrOcm : public McuOcm 11 | { 12 | friend class McuCreator; 13 | 14 | public: 15 | AvrOcm( eMcu* mcu, QString name); 16 | ~AvrOcm(); 17 | 18 | virtual void configureA( uint8_t newVal ) override; 19 | 20 | protected: 21 | virtual void OutputOcm() override; 22 | }; 23 | -------------------------------------------------------------------------------- /src/components/switches/push_base.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2016 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "switch_base.h" 9 | 10 | class PushBase : public SwitchBase 11 | { 12 | public: 13 | PushBase( QString type, QString id ); 14 | ~PushBase(); 15 | 16 | public slots: 17 | void onbuttonPressed(); 18 | void onbuttonReleased(); 19 | virtual void keyEvent( QString key, bool pressed ); 20 | }; 21 | -------------------------------------------------------------------------------- /src/gui/memory/watched.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "watched.h" 7 | #include "watcher.h" 8 | 9 | Watched::Watched() 10 | { 11 | m_display = nullptr; 12 | m_watcher = nullptr; 13 | } 14 | Watched::~Watched() 15 | { 16 | if( m_watcher ) m_watcher->deleteLater(); 17 | } 18 | 19 | void Watched::createWatcher( bool proxy ) 20 | { 21 | if( !m_watcher ) m_watcher = new Watcher( nullptr, this, proxy ); 22 | } 23 | -------------------------------------------------------------------------------- /src/gui/updobutton.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | class UpDoButton : public QToolButton 12 | { 13 | Q_OBJECT 14 | public: 15 | UpDoButton( bool up, QWidget* parent=nullptr ); 16 | 17 | private: 18 | virtual void paintEvent( QPaintEvent* ) override; 19 | 20 | QPainterPath m_path; 21 | QColor m_color; 22 | }; 23 | -------------------------------------------------------------------------------- /resources/data/help/i2cram.txt: -------------------------------------------------------------------------------- 1 | I2C RAM/ROM. 2 | 3 | This component can be configured as Ram or Rom. 4 | You must save the circuit to get data persistance. 5 | 6 | To watch Memory content: 7 | Right-Click and select "Show Memory Table". 8 | 9 | You can also save memory data to a file and load from file: 10 | Right-Click and select "Load data" or "Save data". 11 | 12 | Property: (default value) 13 | 14 | - Size: (65536 bytes) 15 | Size in bytes. 16 | 17 | - Control Code: (80) 18 | Device address. 19 | 20 | - I2C Frequency: (100 KHz) 21 | It is better to be similar to I2C Master frequency, but not critical in most cases. 22 | 23 | - Persistent: (no) 24 | Save data to circuit file. 25 | If yes it acts as a ROM. 26 | -------------------------------------------------------------------------------- /resources/data/help/ledmatrix.txt: -------------------------------------------------------------------------------- 1 | Configurable LED matrix display. 2 | 3 | Individual leds blink if maximum current is exceeded. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Color: (Yellow) 9 | Led color. 10 | 11 | - Rows: (8 Leds) 12 | Number of rows. 13 | 14 | - Columns: (8 Leds) 15 | Number of columns. 16 | 17 | - Vertical Pins: (no) 18 | If yes, All pins will be positioned at the top and bottom of the display. 19 | 20 | Electric: 21 | - Fordward Voltage: (2.4 V) 22 | Voltage drop when fordward biased. 23 | 24 | - Max Current: (20 mA) 25 | Maximum current (it will blink if exeeded). 26 | Maximum brightness is reached at this current. 27 | 28 | - Resistance: (0.6 Ω) 29 | Series resistance. 30 | -------------------------------------------------------------------------------- /src/gui/editorwidget/scrollbar.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2022 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | class CodeEditor; 11 | 12 | class scrollWidget : public QScrollBar 13 | { 14 | public: 15 | scrollWidget( CodeEditor* editor, Qt::Orientation o, QWidget* parent=0 ); 16 | ~scrollWidget(); 17 | 18 | void paintEvent( QPaintEvent* event ) override; 19 | 20 | CodeEditor* m_editor; 21 | }; 22 | -------------------------------------------------------------------------------- /src/microsim/cores/qemu/qemumodule.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "qemumodule.h" 7 | 8 | QemuModule::QemuModule( QemuDevice* mcu, int number ) 9 | { 10 | m_device = mcu; 11 | m_number = number; 12 | m_arena = m_device->getArena(); 13 | 14 | m_device->addModule( this ); 15 | } 16 | QemuModule::~QemuModule(){} 17 | 18 | void QemuModule::reset() 19 | { 20 | nextEvent = nullptr; 21 | eventTime = 0; 22 | } 23 | -------------------------------------------------------------------------------- /src/components/meters/ampmeter.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "meter.h" 9 | 10 | class LibraryItem; 11 | 12 | class Amperimeter : public Meter 13 | { 14 | public: 15 | Amperimeter( QString type, QString id ); 16 | ~Amperimeter(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | void updateStep() override; 22 | }; 23 | -------------------------------------------------------------------------------- /src/components/meters/voltmeter.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "meter.h" 9 | 10 | class LibraryItem; 11 | 12 | class Voltimeter : public Meter 13 | { 14 | public: 15 | Voltimeter( QString type, QString id ); 16 | ~Voltimeter(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem *libraryItem(); 20 | 21 | void updateStep() override; 22 | }; 23 | -------------------------------------------------------------------------------- /src/components/logic/flipfloprs.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2016 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "flipflopbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class FlipFlopRS : public FlipFlopBase 13 | { 14 | public: 15 | FlipFlopRS( QString type, QString id ); 16 | ~FlipFlopRS(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem *libraryItem(); 20 | 21 | void voltChanged() override; 22 | }; 23 | -------------------------------------------------------------------------------- /src/gui/customdial.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | class CustomDial : public QDial 11 | { 12 | Q_OBJECT 13 | public: 14 | CustomDial( QWidget* parent=nullptr ); 15 | 16 | private: 17 | virtual void paintEvent( QPaintEvent* e ) override; 18 | bool eventFilter(QObject *object, QEvent *event) override; 19 | 20 | double m_arrowX; 21 | double m_arrowY; 22 | }; 23 | -------------------------------------------------------------------------------- /resources/data/help/zener.txt: -------------------------------------------------------------------------------- 1 | Blinks if maximum current is exceeded. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Model: (Diode Default) 7 | Diode model determined by set of parameters. 8 | Add new models at file: data/diodes.model 9 | 10 | Electric: 11 | - Fordward Voltage: (0.634767 V) 12 | Voltage drop when fordward biased. 13 | 14 | - Max Current: (1 A) 15 | Maximum current (it will blink if exeeded). 16 | 17 | - Resistance: (0.05 Ω) 18 | Series resistance. 19 | 20 | Advanced: 21 | - Breakdwn Voltage (5.6 V) 22 | Breakdown voltage when reverse biased. 23 | 24 | - Saturation Surrent: (171.435 nA) 25 | Minority charge carriers current when reverse biased. 26 | 27 | - Emission Coefficient: (2) 28 | Ideality factor. 29 | -------------------------------------------------------------------------------- /src/components/logic/flipflopd.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2016 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "flipflopbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class FlipFlopD : public FlipFlopBase 13 | { 14 | public: 15 | FlipFlopD( QString type, QString id ); 16 | ~FlipFlopD(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem *libraryItem(); 20 | 21 | protected: 22 | void calcOutput() override; 23 | }; 24 | -------------------------------------------------------------------------------- /src/components/logic/flipflopt.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2016 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "flipflopbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class FlipFlopT : public FlipFlopBase 13 | { 14 | public: 15 | FlipFlopT( QString type, QString id ); 16 | ~FlipFlopT(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem *libraryItem(); 20 | 21 | protected: 22 | void calcOutput() override; 23 | }; 24 | -------------------------------------------------------------------------------- /src/gui/editorwidget/debuggers/sdccdebugger.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "cdebugger.h" 9 | 10 | class SdccDebugger : public cDebugger 11 | { 12 | public: 13 | SdccDebugger( CodeEditor* parent, OutPanelText* outPane ); 14 | ~SdccDebugger(); 15 | 16 | virtual int compile( bool debug ) override; 17 | 18 | protected: 19 | virtual bool postProcess() override; 20 | 21 | bool findCSEG(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/microsim/cores/i51/i51port.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuport.h" 9 | 10 | class I51Port : public McuPort 11 | { 12 | public: 13 | I51Port( eMcu* mcu, QString name ); 14 | ~I51Port(); 15 | 16 | virtual void reset() override; 17 | 18 | virtual void readPort( uint8_t ) override; 19 | 20 | protected: 21 | virtual McuPin* createPin( int i, QString id , Component* mcu ) override; 22 | }; 23 | -------------------------------------------------------------------------------- /resources/data/help/sevensegment.txt: -------------------------------------------------------------------------------- 1 | Configurable seven segment display. 2 | 3 | Individual leds blink if maximum current is exceeded. 4 | 5 | Property: (default value) 6 | 7 | Main: 8 | - Color: (Yellow) 9 | Led color. 10 | 11 | - Size: (8 Leds) 12 | Number of displays. 13 | 14 | - Vertical Pins: (no) 15 | If yes, All pins will be positioned at the top and bottom of the display. 16 | 17 | Electric: 18 | - Common Cathode: (yes) 19 | Determines if common cathode or common anode. 20 | 21 | - Fordward Voltage: (2.4 V) 22 | Voltage drop when fordward biased. 23 | 24 | - Max Current: (20 mA) 25 | Maximum current (it will blink if exeeded). 26 | Maximum brightness is reached at this current. 27 | 28 | - Resistance: (1 Ω) 29 | Series resistance. 30 | -------------------------------------------------------------------------------- /src/components/logic/flipflopjk.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2016 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "flipflopbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class FlipFlopJK : public FlipFlopBase 13 | { 14 | public: 15 | FlipFlopJK( QString type, QString id ); 16 | ~FlipFlopJK(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem *libraryItem(); 20 | 21 | protected: 22 | void calcOutput() override; 23 | }; 24 | -------------------------------------------------------------------------------- /src/microsim/cores/pic/picinterrupt.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuinterrupts.h" 9 | #include "mcutypes.h" 10 | 11 | class PicInterrupt : public Interrupt 12 | { 13 | public: 14 | PicInterrupt( QString name, uint16_t vector, eMcu* mcu ); 15 | ~PicInterrupt(); 16 | 17 | //virtual void execute() override; 18 | //virtual void exitInt() override; 19 | 20 | private: 21 | //regBits_t m_GIE; 22 | }; 23 | -------------------------------------------------------------------------------- /src/components/logic/gate_and.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "gate.h" 9 | #include "component.h" 10 | 11 | class LibraryItem; 12 | 13 | class AndGate : public Gate 14 | { 15 | public: 16 | AndGate( QString type, QString id ); 17 | ~AndGate(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem* libraryItem(); 21 | 22 | protected: 23 | void updatePath() override; 24 | }; 25 | -------------------------------------------------------------------------------- /resources/data/help/diode.txt: -------------------------------------------------------------------------------- 1 | Configurable diode. 2 | Blinks if maximum current is exceeded. 3 | 4 | Property: (default value) 5 | 6 | Main: 7 | - Model: (Diode Default) 8 | Diode model determined by set of parameters. 9 | Add new models at file: data/diodes.model 10 | 11 | Electric: 12 | - Fordward Voltage: (0.634767 V) 13 | Voltage drop when fordward biased. 14 | 15 | - Max Current: (1 A) 16 | Maximum current (it will blink if exeeded). 17 | 18 | - Resistance: (0.05 Ω) 19 | Series resistance. 20 | 21 | Advanced: 22 | - Breakdwn Voltage (0 V) 23 | Breakdown voltage when reverse biased. 24 | 25 | - Saturation Current: (171.435 nA) 26 | Minority charge carriers current when reverse biased. 27 | 28 | - Emission Coefficient: (2) 29 | Ideality factor. 30 | -------------------------------------------------------------------------------- /resources/data/help/function.txt: -------------------------------------------------------------------------------- 1 | Combinational Logic device. 2 | Set a function for each output clicking in it's button. 3 | 4 | Property: (default value) 5 | 6 | Main: 7 | - Functions: (i0 | i1) 8 | List of functions (separated by comma). 9 | 10 | Electric: 11 | #include logicinputs 12 | - Input size: (2 Pins) 13 | Number of input pins. 14 | 15 | - Invert Inputs: (no) 16 | Invert input pins. 17 | 18 | #include logicoutputs 19 | - Output size: (1 Pins) 20 | Number of output pins. 21 | 22 | - Invert Outputs: (no) 23 | Invert output pins. 24 | 25 | - Open Drain: (no) 26 | If yes, output act as an open drain: 27 | It can sink but not source current. 28 | 29 | #include logicedges 30 | 31 | --- 32 | 33 | Full tutorial: 34 | https://simulide.com/p/function 35 | -------------------------------------------------------------------------------- /resources/data/help/text.txt: -------------------------------------------------------------------------------- 1 | Configurable Text Box. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Margin: (5 Pixels) 7 | Space betwen text and border. 8 | 9 | - Border: (1 Pixels) 10 | Width of border line. 11 | 12 | - Background Color: (ffffdc) 13 | Click on the color box to choose a new background color. 14 | 15 | - Opacity: (1) 16 | Value from 0 to 1: 17 | 0 for transparent to 1 for 100% opaque. 18 | 19 | Text: 20 | - Font: (Helvetica [Cronyx]) 21 | Font family 22 | 23 | - Font Color: (000080) 24 | Click on the color box to choose a new font color. 25 | 26 | - Font Size (10 Pixels) 27 | Font size in pixels. 28 | 29 | - Fixed Width: (yes) 30 | Charcters have constant width. 31 | 32 | - Text Box: 33 | Edit the text here. 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/gui/editorwidget/debuggers/gputilsdebug.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | class BaseDebugger; 9 | 10 | class GputilsDebug 11 | { 12 | public: 13 | GputilsDebug(); 14 | ~GputilsDebug(); 15 | 16 | //int compile( bool debug ); 17 | 18 | static bool getVariables( BaseDebugger* debugger ); 19 | static bool mapFlashToSource( BaseDebugger* debugger ); 20 | //static bool mapFlashToAsm( BaseDebugger* debugger ); 21 | }; 22 | -------------------------------------------------------------------------------- /src/components/switches/push.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2016 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "push_base.h" 9 | 10 | class LibraryItem; 11 | 12 | class Push : public PushBase 13 | { 14 | public: 15 | Push( QString type, QString id ); 16 | ~Push(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | void paint( QPainter* p, const QStyleOptionGraphicsItem* option, QWidget* widget ) override; 22 | }; 23 | -------------------------------------------------------------------------------- /src/components/graphical/rectangle.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "shape.h" 9 | 10 | class LibraryItem; 11 | 12 | class Rectangle : public Shape 13 | { 14 | public: 15 | Rectangle( QString type, QString id ); 16 | ~Rectangle(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 22 | }; 23 | -------------------------------------------------------------------------------- /resources/data/codeeditor/syntax/readme_syntax: -------------------------------------------------------------------------------- 1 | First line must be a list of rules. 2 | Then a rule-style and a rule RegExp or Word List for each rule. 3 | 4 | rules: list of rules 5 | 6 | rule-style: foregroundColor backgroundColor bold italic 7 | rule: in a single line 8 | 9 | ____________________________________________________________ 10 | 11 | Special case is "multiLineComment" rule. 12 | It needs start and end RegExps, for example: 13 | 14 | multiLineComment-style: #00a651 default false true 15 | multiLineComment: "/\\*" "\\*/" 16 | 17 | 18 | 19 | ############## AVAILABLE OPTIONS: ################################ 20 | 21 | Colors: { default | #RRGGBB } 22 | Bold: { true | false } 23 | Italic: { true | false } 24 | 25 | RegExp: must be quotated, example: "#[a-zA-Z]+\b" 26 | 27 | -------------------------------------------------------------------------------- /src/microsim/cores/pic/picpin.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcupin.h" 9 | 10 | class Component; 11 | class McuPort; 12 | class eMcu; 13 | 14 | class PicPin : public McuPin 15 | { 16 | friend class McuPort; 17 | 18 | public: 19 | PicPin( McuPort* port, int i, QString id , Component* mcu ); 20 | ~PicPin(); 21 | 22 | virtual void ConfExtInt( uint8_t bits ) override; 23 | 24 | virtual void setAnalog( bool an ) override; 25 | }; 26 | -------------------------------------------------------------------------------- /src/components/comp2pin.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "comp2pin.h" 7 | #include "pin.h" 8 | 9 | Comp2Pin::Comp2Pin( QString type, QString id ) 10 | : Component( type, id ) 11 | { 12 | m_area = QRectF(-11,-4.5, 22, 9 ); 13 | 14 | m_pin.resize(2); 15 | m_pin[0] = new Pin( 180, QPoint(-16, 0 ), id+"-lPin", 0, this); 16 | m_pin[1] = new Pin( 0, QPoint( 16, 0 ), id+"-rPin", 1, this); 17 | 18 | setValLabelPos(-16, 6, 0 ); 19 | setLabelPos(-16,-24, 0 ); 20 | } 21 | -------------------------------------------------------------------------------- /src/components/outputs/displays/ili9341.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2019 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "st77xx.h" 9 | 10 | class LibraryItem; 11 | 12 | class Ili9341 : public St77xx 13 | { 14 | public: 15 | Ili9341( QString type, QString id ); 16 | ~Ili9341(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | protected: 22 | void setPixelMode() override; 23 | void writeRam() override; 24 | }; 25 | -------------------------------------------------------------------------------- /src/components/sources/ground.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "component.h" 9 | 10 | class LibraryItem; 11 | 12 | class Ground : public Component 13 | { 14 | public: 15 | Ground( QString type, QString id ); 16 | ~Ground(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | protected: 22 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 23 | }; 24 | -------------------------------------------------------------------------------- /src/components/subcircuits/module.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2022 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "shield.h" 9 | 10 | class ModuleSubc : public ShieldSubc 11 | { 12 | public: 13 | ModuleSubc( QString type, QString id, QString device ); 14 | ~ModuleSubc(); 15 | 16 | double zVal() { return zValue(); } 17 | void setZVal( double v); 18 | 19 | virtual void slotAttach() override; 20 | 21 | protected: 22 | virtual void renameTunnels() override; 23 | }; 24 | -------------------------------------------------------------------------------- /src/gui/dataplotwidget/plotspinbox.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | class PlotSpinBox : public QDoubleSpinBox 11 | { 12 | public: 13 | PlotSpinBox( QWidget* parent ); 14 | ~PlotSpinBox(); 15 | 16 | void setUnitStr( QString u ) { m_unit = u; } 17 | 18 | QValidator::State validate( QString& text, int& n ) const override; 19 | 20 | private: 21 | QDoubleSpinBox* m_this; 22 | 23 | QString m_unit; 24 | }; 25 | -------------------------------------------------------------------------------- /src/gui/memory/headerwidget.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | #include "ui_headerwidget.h" 11 | 12 | class HeaderWidget : public QWidget, private Ui::HeaderWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | HeaderWidget( QString name, QString type, QWidget* parent=0 ); 18 | 19 | void setValueStr( QString str ); 20 | 21 | private: 22 | QString m_name; 23 | QString m_type; 24 | 25 | QString m_strVal; 26 | }; 27 | -------------------------------------------------------------------------------- /src/components/sources/voltsource.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "varsource.h" 9 | 10 | class LibraryItem; 11 | class IoPin; 12 | 13 | class VoltSource : public VarSource 14 | { 15 | public: 16 | VoltSource( QString type, QString id ); 17 | ~VoltSource(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem* libraryItem(); 21 | 22 | void updateStep() override; 23 | 24 | private: 25 | IoPin* m_outPin; 26 | }; 27 | -------------------------------------------------------------------------------- /src/gui/properties/labelval.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "labelval.h" 7 | #include "mainwindow.h" 8 | 9 | LabelVal::LabelVal( QWidget* parent ) 10 | : QWidget( parent ) 11 | { 12 | setupUi( this ); 13 | 14 | //float scale = MainWindow::self()->fontScale(); 15 | //QFont font = label->font(); 16 | //font.setPixelSize( 11.0*scale ); 17 | //label->setFont( font ); 18 | } 19 | 20 | void LabelVal::setLabelVal( QString caption ) 21 | { 22 | label->setText( caption ); 23 | } 24 | 25 | -------------------------------------------------------------------------------- /src/microsim/mcutwi.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "mcutwi.h" 7 | #include "e_mcu.h" 8 | 9 | McuTwi::McuTwi( eMcu* mcu, QString name ) 10 | : McuPrescaled( mcu, name ) 11 | , TwiModule( mcu->getId()+"-"+name ) 12 | { 13 | m_dataReg = nullptr; 14 | m_addrReg = nullptr; 15 | m_statReg = nullptr; 16 | } 17 | 18 | McuTwi::~McuTwi() 19 | { 20 | } 21 | 22 | void McuTwi::initialize() 23 | { 24 | TwiModule::initialize(); 25 | 26 | m_prescaler = 1; 27 | updateFreq(); 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/components/graphical/line.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "shape.h" 9 | 10 | class LibraryItem; 11 | 12 | class Line : public Shape 13 | { 14 | public: 15 | Line( QString type, QString id ); 16 | ~Line(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem *libraryItem(); 20 | 21 | QPainterPath shape() const override; 22 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 23 | }; 24 | -------------------------------------------------------------------------------- /src/components/logic/gate_or.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "gate.h" 9 | #include "component.h" 10 | 11 | class LibraryItem; 12 | 13 | class OrGate : public Gate 14 | { 15 | public: 16 | OrGate( QString type, QString id ); 17 | ~OrGate(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem* libraryItem(); 21 | 22 | protected: 23 | bool calcOutput( int inputs ) override; 24 | void updatePath() override; 25 | }; 26 | -------------------------------------------------------------------------------- /src/components/outputs/displays/sh1107.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "oledcontroller.h" 9 | 10 | class LibraryItem; 11 | 12 | class Sh1107 : public OledController 13 | { 14 | public: 15 | Sh1107( QString type, QString id ); 16 | ~Sh1107(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | 22 | protected: 23 | void proccessCommand() override; 24 | void parameter() override; 25 | }; 26 | -------------------------------------------------------------------------------- /src/components/outputs/displays/ssd1306.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2019 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "oledcontroller.h" 9 | 10 | class LibraryItem; 11 | 12 | class Ssd1306 : public OledController 13 | { 14 | public: 15 | Ssd1306( QString type, QString id ); 16 | ~Ssd1306(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | 22 | protected: 23 | void proccessCommand() override; 24 | void parameter() override; 25 | }; 26 | -------------------------------------------------------------------------------- /src/components/passive/reactive/capacitor.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "capacitorbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class Capacitor : public CapacitorBase 13 | { 14 | public: 15 | Capacitor( QString type, QString id ); 16 | ~Capacitor(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | virtual void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 22 | }; 23 | -------------------------------------------------------------------------------- /copyright.txt: -------------------------------------------------------------------------------- 1 | 2 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License and GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. 3 | 4 | Files authored by Santiago González are released under GNU Affero General Public License v3. 5 | Any code contributed by any other authors is released under GNU General Public License v3. 6 | 7 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 8 | 9 | You should have received a copy of the GNU General Public License along with this program; 10 | if not, see . 11 | 12 | -------------------------------------------------------------------------------- /src/microsim/cores/avr/avrpin.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcupin.h" 9 | 10 | class Component; 11 | class McuPort; 12 | class eMcu; 13 | 14 | class AvrPin : public McuPin 15 | { 16 | friend class McuPort; 17 | 18 | public: 19 | AvrPin( McuPort* port, int i, QString id , Component* mcu ); 20 | ~AvrPin(); 21 | 22 | virtual void setPortState( bool state ) override; 23 | virtual void ConfExtInt( uint8_t bits ) override; 24 | 25 | protected: 26 | 27 | }; 28 | -------------------------------------------------------------------------------- /src/gui/editorwidget/debuggers/gcbdebugger.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "basedebugger.h" 9 | 10 | class GcbDebugger : public BaseDebugger 11 | { 12 | public: 13 | GcbDebugger( CodeEditor* parent, OutPanelText* outPane ); 14 | ~GcbDebugger(); 15 | 16 | protected: 17 | virtual int getErrorLine( QString txt ) override; 18 | virtual bool postProcess() override; 19 | 20 | 21 | private: 22 | bool mapFlashToSource(); 23 | void getSubs(); 24 | }; 25 | -------------------------------------------------------------------------------- /src/gui/properties/proputils.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | QPointF getPointF( QString p ); 12 | 13 | QString getStrPointF( QPointF p ); 14 | 15 | 16 | //--------------------------------------------------- 17 | 18 | struct propStr_t{ 19 | QStringRef name; 20 | QStringRef value; 21 | }; 22 | 23 | QVector parseXmlProps( QStringRef line ); 24 | QVector parseProps( QStringRef line ); 25 | propStr_t parseProp( QStringRef token ); 26 | 27 | -------------------------------------------------------------------------------- /src/microsim/mcusleep.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2022 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include 7 | 8 | #include "mcusleep.h" 9 | #include "e_mcu.h" 10 | 11 | McuSleep::McuSleep( eMcu* mcu, QString name ) 12 | : McuModule( mcu, name ) 13 | , eElement( mcu->getId()+"-"+name ) 14 | { 15 | } 16 | McuSleep::~McuSleep(){} 17 | 18 | 19 | /*void McuSleep::sleep() 20 | { 21 | qDebug() << "McuSleep Enter Sleep\n"; 22 | }*/ 23 | 24 | void McuSleep::callBack() 25 | { 26 | qDebug() << "McuSleep Exit Sleep\n"; 27 | m_mcu->sleep( false ); 28 | } 29 | -------------------------------------------------------------------------------- /src/components/graphical/ellipse.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "shape.h" 9 | 10 | class LibraryItem; 11 | 12 | class Ellipse : public Shape 13 | { 14 | public: 15 | Ellipse( QString type, QString id ); 16 | ~Ellipse(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | QPainterPath shape() const override; 22 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 23 | }; 24 | -------------------------------------------------------------------------------- /resources/data/help/relayspst.txt: -------------------------------------------------------------------------------- 1 | Configurable electromagnetic relay. 2 | 3 | Property: (default value) 4 | 5 | Main: 6 | - Normally Closed: (no) 7 | State with relay not active. 8 | 9 | - Double Throw: (no) 10 | Yes: 2 throws per pole. 11 | No: 1 throw per pole. 12 | 13 | - Poles: (1) 14 | Number of poles controlled by this relay. 15 | 16 | 17 | Electric: 18 | - IOn: (20 mA) 19 | Minimun current that activates the relay. 20 | 21 | - IOff: (10 mA) 22 | Minimun current that holds the relay active. 23 | 24 | Coil: 25 | - Inductance: (100 mH) 26 | Coil inductance. 27 | 28 | - Resistance: (100 Ω) 29 | Coil resistance. 30 | 31 | - Reactive Step: (0 s) 32 | Use a custom Reactive Step for this component. 33 | This value overrides general Simulation Setings. 34 | 0 to use value set in Simulation Settings. 35 | 36 | -------------------------------------------------------------------------------- /src/components/passive/reactive/capacitorbase.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "reactive.h" 9 | 10 | class CapacitorBase : public Reactive 11 | { 12 | public: 13 | CapacitorBase( QString type, QString id ); 14 | ~CapacitorBase(); 15 | 16 | void setCurrentValue( double c ) override; 17 | 18 | protected: 19 | double updtRes() override { return m_tStep/m_capacitance; } 20 | double updtCurr() override { return m_volt*m_admit; } 21 | 22 | double m_capacitance; 23 | }; 24 | -------------------------------------------------------------------------------- /src/components/sources/currsource.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "varsource.h" 9 | 10 | class LibraryItem; 11 | class Pin; 12 | 13 | class CurrSource : public VarSource 14 | { 15 | public: 16 | CurrSource( QString type, QString id ); 17 | ~CurrSource(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem* libraryItem(); 21 | 22 | void stamp() override; 23 | void updateStep() override; 24 | 25 | private: 26 | Pin* m_outPin; 27 | }; 28 | -------------------------------------------------------------------------------- /src/components/passive/resist_sensors/thermistorbase.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "varresbase.h" 9 | 10 | class ThermistorBase : public VarResBase 11 | { 12 | public: 13 | ThermistorBase( QString type, QString id ); 14 | ~ThermistorBase(); 15 | 16 | bool ptc() { return m_ptc; } 17 | void setPtc( bool ptc ); 18 | 19 | virtual void setMaxVal( double max ) override; 20 | virtual void setMinVal( double min ) override; 21 | 22 | protected: 23 | bool m_ptc; 24 | }; 25 | -------------------------------------------------------------------------------- /src/microsim/cores/avr/avrinterrupt.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuinterrupts.h" 9 | #include "mcutypes.h" 10 | 11 | class AVRInterrupt : public Interrupt 12 | { 13 | public: 14 | AVRInterrupt( QString name, uint16_t vector, eMcu* mcu ); 15 | ~AVRInterrupt(); 16 | 17 | static Interrupt* getInterrupt( QString name, uint16_t vector, eMcu* mcu ); 18 | 19 | //virtual void execute() override; 20 | //virtual void exitInt() override; 21 | 22 | private: 23 | //regBits_t m_I; 24 | }; 25 | -------------------------------------------------------------------------------- /src/microsim/cores/pic/pic14core.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "pic14core.h" 7 | #include "datautils.h" 8 | #include "regwatcher.h" 9 | 10 | Pic14Core::Pic14Core( eMcu* mcu ) 11 | : PicMrCore( mcu ) 12 | { 13 | m_stackSize = 8; 14 | 15 | m_Wreg = &m_WregHidden; 16 | 17 | m_FSR = m_mcu->getReg( "FSR" ); 18 | m_OPTION = m_mcu->getReg( "OPTION" ); 19 | 20 | m_bankBits = getRegBits( "R0,R1", mcu ); 21 | watchBitNames( "R0,R1", R_WRITE, this, &Pic14Core::setBank, mcu ); 22 | } 23 | Pic14Core::~Pic14Core() {} 24 | 25 | -------------------------------------------------------------------------------- /src/components/active/bjt.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "e-bjt.h" 9 | #include "component.h" 10 | 11 | class LibraryItem; 12 | 13 | class BJT : public Component, public eBJT 14 | { 15 | public: 16 | BJT( QString type, QString id ); 17 | ~BJT(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem* libraryItem(); 21 | 22 | void updateStep() override; 23 | 24 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 25 | }; 26 | -------------------------------------------------------------------------------- /src/gui/componentlist/installinfo.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "installinfo.h" 7 | 8 | #include 9 | InstallInfo::InstallInfo( InstallItem* parent , QString tittle, QString author, QStringList items ) 10 | : QDialog( (QWidget*)parent ) 11 | { 12 | setupUi( this ); 13 | 14 | tittleLabel->setText("**"+tittle+"**"); 15 | authorLabel->setText("**By:** "+author); 16 | 17 | QString list; 18 | for( QString item : items ) 19 | { 20 | list += item + "\n"; 21 | } 22 | listEdit->setText( list ); 23 | } 24 | -------------------------------------------------------------------------------- /src/gui/editorwidget/debuggers/avrgccdebugger.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "cdebugger.h" 9 | 10 | class AvrGccDebugger : public cDebugger 11 | { 12 | public: 13 | AvrGccDebugger( CodeEditor* parent, OutPanelText* outPane ); 14 | ~AvrGccDebugger(); 15 | 16 | protected: 17 | virtual bool postProcess() override; 18 | 19 | bool getVariables(); 20 | bool getFunctions(); 21 | bool mapFlashToSource(); 22 | 23 | int m_addrBytes; 24 | 25 | QString m_elfPath; 26 | }; 27 | -------------------------------------------------------------------------------- /src/microsim/cores/avr/avrocm.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "avrocm.h" 7 | #include "mcupin.h" 8 | #include "e_mcu.h" 9 | 10 | AvrOcm::AvrOcm( eMcu* mcu, QString name ) 11 | : McuOcm( mcu, name ) 12 | { 13 | } 14 | AvrOcm::~AvrOcm(){} 15 | 16 | void AvrOcm::configureA( uint8_t newVal ) 17 | { 18 | m_mode = newVal; 19 | } 20 | 21 | void AvrOcm::OutputOcm() //Set Ocm output from OCnB1 & OCnB2 22 | { 23 | if( m_mode ) m_oPin->scheduleState( m_state1 || m_state2, 0 ); 24 | else m_oPin->scheduleState( m_state1 && m_state2, 0 ); 25 | } 26 | -------------------------------------------------------------------------------- /src/microsim/cores/pic/picicunit.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuicunit.h" 9 | 10 | class PicIcUnit : public McuIcUnit 11 | { 12 | friend class PicCcpUnit; 13 | 14 | public: 15 | PicIcUnit( eMcu* mcu, QString name ); 16 | virtual ~PicIcUnit(); 17 | 18 | virtual void initialize() override; 19 | virtual void voltChanged() override; 20 | 21 | virtual void configure( uint8_t CCPxM ) override; 22 | 23 | private: 24 | uint64_t m_prescaler; 25 | uint64_t m_counter; 26 | }; 27 | -------------------------------------------------------------------------------- /src/microsim/mcudac.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "mcudac.h" 7 | #include "e_mcu.h" 8 | 9 | McuDac::McuDac( eMcu* mcu, QString name ) 10 | : McuModule( mcu, name ) 11 | , eElement( mcu->getId()+"-"+name ) 12 | { 13 | m_dacReg = nullptr; 14 | 15 | m_pRefPin = nullptr; 16 | m_nRefPin = nullptr; 17 | m_outPin = nullptr; 18 | } 19 | McuDac::~McuDac(){} 20 | 21 | void McuDac::initialize() 22 | { 23 | m_enabled = false; 24 | m_outVoltEn = false; 25 | 26 | m_outVal = 0; 27 | m_vRefP = 0; 28 | m_vRefN = 0; 29 | } 30 | -------------------------------------------------------------------------------- /src/gui/properties/strval.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "ui_strval.h" 9 | #include "propval.h" 10 | 11 | class Component; 12 | class PropDialog; 13 | 14 | class StrVal : public PropVal, private Ui::StrVal 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | StrVal( PropDialog* parent, CompBase* comp, ComProperty* prop ); 20 | ~StrVal(); 21 | 22 | virtual void setup( bool ) override; 23 | virtual void updtValues() override; 24 | 25 | public slots: 26 | void on_value_editingFinished(); 27 | }; 28 | -------------------------------------------------------------------------------- /src/microsim/mcuconfigword.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | class eMcu; 11 | 12 | class ConfigWord 13 | { 14 | friend class McuCreator; 15 | public: 16 | ConfigWord( eMcu* mcu, QString name ); 17 | ~ConfigWord(); 18 | 19 | virtual bool setCfgWord( uint16_t addr, uint16_t data ); 20 | uint16_t getCfgWord( uint16_t addr=0 ); 21 | 22 | protected: 23 | QString m_name; 24 | eMcu* m_mcu; 25 | 26 | QHash m_cfgWords; // Config words 27 | }; 28 | -------------------------------------------------------------------------------- /resources/data/help/tiny13.txt: -------------------------------------------------------------------------------- 1 | MCU: attiny13 2 | Package: 8-pin PDIP 3 | 4 | 1: PB5 ADC0 !Reset dW PCINT5 5 | 2: PB3 ADC3 CLKI PCINT3 6 | 3: PB4 ADC2 PCINT4 7 | 4: Gnd 8 | 5: PB0 MOSI AIN0 OC0A TXD PCINT0 9 | 6: PB1 MISO INT0 AIN1 OC0B RXD PCINT1 10 | 7: PB2 SCK ADC1 T0 PCINT2 11 | 8: Vcc 12 | 13 | Summary: 14 | The high-performance Microchip picoPower 8-bit AVR RISC-based microcontroller 15 | 1 KB ISP flash memory with read-while-write capabilities, 16 | 64 Byte EEPROM, 17 | 64 Byte SRAM, 18 | 6 general purpose I/O lines, 19 | 32 general purpose working registers, 20 | 1 x 8-bit timer/counters, 21 | 2-channel PWM, 22 | 1 comparators, 23 | internal and external interrupts, 24 | In-System Programmable via SPI Port, 25 | 4-channel 10-bit A/D converter, 26 | programmable watchdog timer with internal oscillator, 27 | The device operates between 1.8-5.5 volts. 28 | -------------------------------------------------------------------------------- /src/components/active/jfet.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2016 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "e-jfet.h" 9 | #include "component.h" 10 | 11 | class LibraryItem; 12 | 13 | class Jfet : public Component, public eJfet 14 | { 15 | public: 16 | Jfet( QString type, QString id ); 17 | ~Jfet(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem* libraryItem(); 21 | 22 | virtual void updateStep() override; 23 | 24 | virtual void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 25 | }; 26 | -------------------------------------------------------------------------------- /src/microsim/cores/avr/avrintosc.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2024 by Coethium * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuintosc.h" 9 | 10 | class AvrIntOsc : public McuIntOsc 11 | { 12 | public: 13 | AvrIntOsc(eMcu* mcu, QString name ); 14 | virtual ~AvrIntOsc(); 15 | 16 | virtual void setup() override; 17 | virtual void reset() override; 18 | 19 | virtual void configureA(uint8_t newCLKPR) override; 20 | 21 | virtual bool freqChanged() override; 22 | 23 | private: 24 | uint8_t m_prIndex; 25 | 26 | regBits_t m_CLKPS; 27 | }; 28 | -------------------------------------------------------------------------------- /src/components/passive/resistors/varresistor.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "varresbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class VarResistor : public VarResBase 13 | { 14 | public: 15 | VarResistor( QString type, QString id ); 16 | ~VarResistor(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | virtual void updateStep() override; 22 | 23 | virtual void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 24 | }; 25 | -------------------------------------------------------------------------------- /src/components/passive/reactive/elcapacitor.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "capacitorbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class elCapacitor : public CapacitorBase 13 | { 14 | public: 15 | elCapacitor( QString type, QString id ); 16 | ~elCapacitor(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | virtual void updateStep() override; 22 | 23 | virtual void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 24 | }; 25 | -------------------------------------------------------------------------------- /src/gui/properties/boolval.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "ui_boolval.h" 9 | #include "propval.h" 10 | 11 | class Component; 12 | class PropDialog; 13 | 14 | class BoolVal : public PropVal, private Ui::BoolVal 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | BoolVal( PropDialog* parent, CompBase* comp, ComProperty* prop ); 20 | ~BoolVal(); 21 | 22 | virtual void setup( bool ) override; 23 | virtual void updtValues() override; 24 | 25 | public slots: 26 | void on_trueVal_toggled( bool checked ); 27 | }; 28 | -------------------------------------------------------------------------------- /src/gui/properties/numprop.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2024 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "comproperty.h" 9 | 10 | class NumProp : public ComProperty 11 | { 12 | public: 13 | NumProp( QString name, QString caption, QString unit, QString type, uint8_t flags ); 14 | virtual ~NumProp(){;} 15 | 16 | virtual QString getValStr() override; 17 | virtual void setValStr( QString ) override; 18 | 19 | protected: 20 | double getVal( const QString &val ); 21 | virtual void setVal( double v )=0; 22 | 23 | QString getStr( double val ); 24 | }; 25 | -------------------------------------------------------------------------------- /src/microsim/cores/pic/pic12core.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #ifndef PIC12CORE_H 7 | #define PIC12CORE_H 8 | 9 | #include "picmrcore.h" 10 | 11 | class Pic12Core : public PicMrCore 12 | { 13 | public: 14 | Pic12Core( eMcu* mcu ); 15 | ~Pic12Core(); 16 | 17 | virtual void runStep() override; 18 | 19 | protected: 20 | virtual void setBank( uint8_t bank ) override { PicMrCore::setBank( bank ); } 21 | virtual void decode( uint16_t instr ) override; 22 | 23 | void TRIS(); 24 | 25 | uint16_t m_TRISaddr; 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/gui/properties/dspinbox.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | #include "scripthelper.h" 11 | 12 | class DSpinBox : public QDoubleSpinBox 13 | { 14 | public: 15 | DSpinBox( QWidget* parent ); 16 | ~DSpinBox(); 17 | 18 | double valueFromText(const QString& text) const; 19 | QString textFromValue( double value ) const; 20 | 21 | QValidator::State validate( QString& text, int& ) const; 22 | 23 | private: 24 | static double evaluate( QString exp ); 25 | static asIScriptEngine* m_aEngine; 26 | }; 27 | -------------------------------------------------------------------------------- /src/microsim/cores/i51/i51port.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "i51port.h" 7 | #include "i51pin.h" 8 | #include "mcu.h" 9 | #include "e_mcu.h" 10 | 11 | I51Port::I51Port( eMcu* mcu, QString name ) 12 | : McuPort( mcu, name ) 13 | { 14 | } 15 | I51Port::~I51Port(){} 16 | 17 | void I51Port::reset() 18 | { 19 | //m_pinState = 255; 20 | } 21 | 22 | void I51Port::readPort( uint8_t ) 23 | { 24 | m_mcu->m_regOverride = m_pinState; 25 | } 26 | 27 | McuPin* I51Port::createPin( int i, QString id , Component* mcu ) 28 | { 29 | return new I51Pin( this, i, id, mcu ); 30 | } 31 | 32 | -------------------------------------------------------------------------------- /src/microsim/cores/qemu/esp32/esp32spi.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "qemuspi.h" 9 | 10 | 11 | class Esp32Spi : public QemuSpi 12 | { 13 | public: 14 | Esp32Spi( QemuDevice* mcu, QString name, int number ); 15 | ~Esp32Spi(); 16 | 17 | enum stm32_spi_action_t { 18 | STM32_SPI_CR1=1, 19 | STM32_SPI_CR2, 20 | STM32_SPI_READ, 21 | STM32_SPI_WRITE 22 | }; 23 | 24 | void doAction() override; 25 | 26 | void endTransaction() override; 27 | 28 | private: 29 | }; 30 | 31 | -------------------------------------------------------------------------------- /src/microsim/cores/qemu/stm32/stm32spi.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "qemuspi.h" 9 | 10 | 11 | class Stm32Spi : public QemuSpi 12 | { 13 | public: 14 | Stm32Spi( QemuDevice* mcu, QString name, int number ); 15 | ~Stm32Spi(); 16 | 17 | enum stm32_spi_action_t { 18 | STM32_SPI_CR1=1, 19 | STM32_SPI_CR2, 20 | STM32_SPI_READ, 21 | STM32_SPI_WRITE 22 | }; 23 | 24 | void doAction() override; 25 | 26 | void endTransaction() override; 27 | 28 | private: 29 | }; 30 | 31 | -------------------------------------------------------------------------------- /src/microsim/mcuspi.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "mcuspi.h" 7 | #include "iopin.h" 8 | #include "e_mcu.h" 9 | 10 | McuSpi::McuSpi( eMcu* mcu, QString name ) 11 | : McuPrescaled( mcu, name ) 12 | , SpiModule( mcu->getId()+"-"+name ) 13 | { 14 | m_dataReg = nullptr; 15 | m_statReg = nullptr; 16 | } 17 | 18 | McuSpi::~McuSpi() 19 | { 20 | } 21 | 22 | void McuSpi::initialize() 23 | { 24 | SpiModule::initialize(); 25 | if( m_statReg ) *m_statReg = 0; 26 | } 27 | 28 | /*void McuSpi::setMode( spiMode_t mode ) 29 | { 30 | SpiModule::setMode( mode ); 31 | }*/ 32 | -------------------------------------------------------------------------------- /src/microsim/modules/usart/usarttx.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "usartmodule.h" 9 | 10 | class UartTx : public UartTR 11 | { 12 | public: 13 | UartTx( UsartModule* usart, eMcu* mcu, QString name ); 14 | ~UartTx(); 15 | 16 | virtual void enable( uint8_t en ) override; 17 | virtual void runEvent() override; 18 | 19 | void processData( uint8_t data ); 20 | void startTransmission(); 21 | 22 | uint64_t getFrameTime() { return m_framesize*m_period; } 23 | 24 | protected: 25 | void sendBit(); 26 | }; 27 | -------------------------------------------------------------------------------- /resources/data/help/transformer.txt: -------------------------------------------------------------------------------- 1 | Configurable transformer. 2 | 3 | This transformer is highly configurable, allowing users to set up as many coils as needed on each side. 4 | It's even possible to use coils exclusively on one side. 5 | 6 | The term "Primary" refers to the left side, while "Secondary" refers to the right side. 7 | However, any coil can function as the primary coil within the transformer. 8 | 9 | Property: (default value) 10 | 11 | - Coupling Coefficient: (0.99) 12 | 13 | - Base Inductance: (1 H) 14 | Base inductance for all coils (refer to the coil descriptions below) 15 | 16 | - Primary: (1) 17 | Description of coils in the left side (refer to the coil descriptions below). 18 | 19 | - Secondary: (1) 20 | Description of coils at the right side (refer to the coil descriptions below). 21 | 22 | --- 23 | 24 | Full tutorial: 25 | https://simulide.com/p/component-list/#reactive 26 | -------------------------------------------------------------------------------- /resources/data/help/csource.txt: -------------------------------------------------------------------------------- 1 | Configurable controlled source. 2 | 3 | Feasible to make: VCVS, CCVS, VCCS, CCCS. 4 | 5 | Property: (default value) 6 | 7 | - Use Control Pins: (true) 8 | true: Variable Source controlled by Pins. 9 | false: Fixed value Source or controlled by linker. 10 | 11 | - Current Source: (true) 12 | true: Current source. 13 | false: Voltage source. 14 | 15 | - Current Controlled: (false) 16 | true: Current controlled. 17 | false: Voltage controlled. 18 | Only active when controlled by Pins. 19 | 20 | - Gain: (1) 21 | Gain respect to controlling value( current or voltage). 22 | Only active when controlled by Pins. 23 | 24 | - Current: (1 A) 25 | Fixed current value for current source. 26 | Only active when not controlled by Pins. 27 | 28 | - Voltage: (5 V) 29 | Fixed voltage value for voltage source. 30 | Only active when not controlled by Pins. 31 | -------------------------------------------------------------------------------- /src/components/connectors/socket.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2022 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "connbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class Socket : public ConnBase 13 | { 14 | public: 15 | Socket( QString type, QString id ); 16 | ~Socket(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | void updateStep() override; 22 | 23 | void updatePins() override { connectPins( false ); } 24 | void connectPins( bool connect ); 25 | 26 | private: 27 | void updatePixmap() override; 28 | }; 29 | -------------------------------------------------------------------------------- /src/components/logic/buffer.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2010 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "gate.h" 9 | 10 | class LibraryItem; 11 | 12 | class Buffer : public Gate 13 | { 14 | public: 15 | Buffer( QString type, QString id ); 16 | ~Buffer(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem *libraryItem(); 20 | 21 | void setSmall( bool s ); 22 | bool isSmall() { return m_small; } 23 | 24 | void setTristate( bool t ) override; 25 | 26 | protected: 27 | void updatePath() override; 28 | 29 | bool m_small; 30 | }; 31 | -------------------------------------------------------------------------------- /src/components/sources/clock.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "clock-base.h" 9 | 10 | class LibraryItem; 11 | 12 | class Clock : public ClockBase 13 | { 14 | public: 15 | Clock( QString type, QString id ); 16 | ~Clock(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | void updateStep() override; 22 | void runEvent() override; 23 | 24 | protected: 25 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 26 | 27 | bool m_state; 28 | }; 29 | -------------------------------------------------------------------------------- /src/gui/appdialogs/about.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include 7 | #include 8 | 9 | #include "about.h" 10 | 11 | AboutDialog::AboutDialog( QWidget* parent ) 12 | : QDialog( parent ) 13 | { 14 | setupUi(this); 15 | 16 | setWindowFlags( Qt::Window | Qt::WindowTitleHint | Qt::Tool 17 | | Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint ); 18 | 19 | version->setText( QString( APP_VERSION )+" at Rev "+QString( REVNO ) ); 20 | compiled->setText( QString( BUILDDATE )+" (dd-MM-yy)" ); 21 | icon->setPixmap( QPixmap(":/simulide.png") ); 22 | } 23 | -------------------------------------------------------------------------------- /src/microsim/cores/qemu/qemumodule.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "qemudevice.h" 9 | 10 | class QemuModule 11 | { 12 | public: 13 | QemuModule( QemuDevice* mcu, int number ); 14 | ~QemuModule(); 15 | 16 | virtual void reset(); 17 | 18 | virtual void doAction() {;} 19 | 20 | virtual void connected( bool c ) {;} 21 | 22 | QemuModule* nextEvent; 23 | uint64_t eventTime; 24 | 25 | protected: 26 | 27 | int m_number; 28 | 29 | QemuDevice* m_device; 30 | 31 | volatile qemuArena_t* m_arena; 32 | }; 33 | 34 | -------------------------------------------------------------------------------- /src/components/logic/gate_xor.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "gate.h" 9 | #include "component.h" 10 | 11 | class LibraryItem; 12 | 13 | class XorGate : public Gate 14 | { 15 | public: 16 | XorGate( QString type, QString id ); 17 | ~XorGate(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem *libraryItem(); 21 | 22 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 23 | 24 | protected: 25 | bool calcOutput( int inputs ) override; 26 | void updatePath() override; 27 | }; 28 | -------------------------------------------------------------------------------- /src/microsim/cores/avr/avrport.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #include "avrport.h" 7 | #include "avrpin.h" 8 | #include "mcu.h" 9 | #include "e_mcu.h" 10 | 11 | AvrPort::AvrPort( eMcu* mcu, QString name ) 12 | : McuPort( mcu, name ) 13 | { 14 | } 15 | AvrPort::~AvrPort(){} 16 | 17 | void AvrPort::pinRegChanged( uint8_t newPIN ) 18 | { 19 | if( newPIN == 0 ) return; 20 | McuPort::outChanged( *m_outReg ^ newPIN ); // Toggle bits = 1 21 | m_mcu->m_regOverride = *m_inReg; 22 | } 23 | 24 | McuPin* AvrPort::createPin( int i, QString id , Component* mcu ) 25 | { 26 | return new AvrPin( this, i, id, mcu ); 27 | } 28 | -------------------------------------------------------------------------------- /src/microsim/cores/pic/picport.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2021 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcuport.h" 9 | 10 | class Mcu; 11 | class eMcu; 12 | class McuPin; 13 | class Component; 14 | 15 | class PicPort : public McuPort 16 | { 17 | public: 18 | PicPort( eMcu* mcu, QString name ); 19 | ~PicPort(); 20 | 21 | virtual void configureA( uint8_t newANSEL ) override; 22 | 23 | virtual void outChanged( uint8_t val ) override; 24 | virtual void readPort( uint8_t ) override; 25 | 26 | protected: 27 | virtual McuPin* createPin( int i, QString id , Component* mcu ) override; 28 | }; 29 | -------------------------------------------------------------------------------- /src/components/logic/bcdbase.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "logiccomponent.h" 9 | 10 | class BcdBase : public LogicComponent 11 | { 12 | public: 13 | BcdBase( QString type, QString id ); 14 | ~BcdBase(); 15 | 16 | void initialize() override; 17 | void stamp() override; 18 | void voltChanged() override; 19 | 20 | QString customChars() { return m_customChars; } 21 | void setCustomChars( QString chars ); 22 | 23 | protected: 24 | uint8_t m_segments[17]; 25 | 26 | uint8_t m_digit; 27 | 28 | QString m_customChars; 29 | }; 30 | -------------------------------------------------------------------------------- /src/components/passive/resistors/resistor.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2012 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "e-resistor.h" 9 | #include "comp2pin.h" 10 | 11 | class LibraryItem; 12 | 13 | class Resistor : public Comp2Pin, public eResistor 14 | { 15 | public: 16 | Resistor( QString type, QString id ); 17 | ~Resistor(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem* libraryItem(); 21 | 22 | static void drawAnsi( QPainter* p, int x, int y, double sX=1, double sY=1 ); 23 | 24 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 25 | }; 26 | -------------------------------------------------------------------------------- /src/components/connectors/header.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2022 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "connbase.h" 9 | 10 | class LibraryItem; 11 | 12 | class Header : public ConnBase 13 | { 14 | public: 15 | Header( QString type, QString id ); 16 | ~Header(); 17 | 18 | static Component* construct( QString type, QString id ); 19 | static LibraryItem* libraryItem(); 20 | 21 | bool pointDown() { return m_pointDown; } 22 | void setPointDown( bool down ); 23 | 24 | void updatePins() override; 25 | 26 | private: 27 | void updatePixmap() override; 28 | 29 | bool m_pointDown; 30 | }; 31 | -------------------------------------------------------------------------------- /src/gui/appdialogs/infowidget.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | #include "ui_infowidget.h" 11 | 12 | class InfoWidget : public QWidget, private Ui::infoWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | InfoWidget( QWidget* parent=0 ); 18 | 19 | static InfoWidget* self() { return m_pSelf; } 20 | 21 | void setRate( double rate=0, double simLoad=0, double guiLoad=0, int fps=0 ); 22 | void setCircTime( uint64_t tStep ); 23 | void setTargetSpeed( double s ); 24 | void updtMcu(); 25 | 26 | private: 27 | 28 | static InfoWidget* m_pSelf; 29 | }; 30 | -------------------------------------------------------------------------------- /src/microsim/cores/qemu/stm32/stm32twi.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "qemutwi.h" 9 | 10 | class Stm32Twi : public QemuTwi 11 | { 12 | friend class I2cRunner; 13 | 14 | public: 15 | Stm32Twi( QemuDevice* mcu, QString name, int number ); 16 | ~Stm32Twi(); 17 | 18 | enum stm32TwiAction_t { 19 | STM32_TWI_CR1=100, 20 | STM32_TWI_CR2, 21 | }; 22 | 23 | void reset(); 24 | 25 | void doAction() override; 26 | 27 | protected: 28 | void writeCR1( uint16_t data ); 29 | void writeCR2( uint16_t data ); 30 | 31 | }; 32 | 33 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: simulide 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 12 | polar: # Replace with a single Polar username 13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username 14 | thanks_dev: # Replace with a single thanks.dev username 15 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 16 | -------------------------------------------------------------------------------- /src/microsim/mcusleep.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2022 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcumodule.h" 9 | #include "e-element.h" 10 | 11 | class McuSleep : public McuModule, public eElement 12 | { 13 | friend class McuCreator; 14 | 15 | public: 16 | McuSleep( eMcu* mcu, QString name ); 17 | ~McuSleep(); 18 | 19 | inline uint8_t mode() { return m_sleepMode; } 20 | 21 | bool enabled() { return m_enabled; } 22 | //virtual void sleep(){;} 23 | virtual void callBack() override; 24 | 25 | protected: 26 | bool m_enabled; 27 | 28 | //uint8_t m_sleepMode; /// in McuModule 29 | }; 30 | -------------------------------------------------------------------------------- /resources/data/help/tiny25.txt: -------------------------------------------------------------------------------- 1 | MCU: attiny25 2 | Package: 8-pin PDIP 3 | 4 | 1: PB5 ADC0 !Reset dW PCINT5 5 | 2: PB3 ADC3 !OC1B CLKI XTAL1 PCINT3 6 | 3: PB4 ADC2 OC1B CLKO XTAL2 PCINT4 7 | 4: Gnd 8 | 5: PB0 MOSI DI SDA AIN0 OC0A !OC1A AREF PCINT0 9 | 6: PB1 MISO DO AIN1 OC0B OC1A PCINT1 10 | 7: PB2 SCK USCK SCL ADC1 T0 INT0 PCINT2 11 | 8: Vcc 12 | 13 | Summary: 14 | The high-performance Microchip picoPower 8-bit AVR RISC-based microcontroller 15 | 2 KB ISP flash memory with read-while-write capabilities, 16 | 128 Byte EEPROM, 17 | 128 Byte SRAM, 18 | 6 general purpose I/O lines, 19 | 32 general purpose working registers, 20 | 2 x 8-bit timer/counters, 21 | 4-channel PWM (2 per Timer), 22 | 1 comparators, 23 | internal and external interrupts, 24 | In-System Programmable via SPI Port, 25 | 4-channel 10-bit A/D converter, 26 | programmable watchdog timer with internal oscillator, 27 | The device operates between 1.8-5.5 volts. 28 | -------------------------------------------------------------------------------- /resources/data/help/tiny45.txt: -------------------------------------------------------------------------------- 1 | MCU: attiny45 2 | Package: 8-pin PDIP 3 | 4 | 1: PB5 ADC0 !Reset dW PCINT5 5 | 2: PB3 ADC3 !OC1B CLKI XTAL1 PCINT3 6 | 3: PB4 ADC2 OC1B CLKO XTAL2 PCINT4 7 | 4: Gnd 8 | 5: PB0 MOSI DI SDA AIN0 OC0A !OC1A AREF PCINT0 9 | 6: PB1 MISO DO AIN1 OC0B OC1A PCINT1 10 | 7: PB2 SCK USCK SCL ADC1 T0 INT0 PCINT2 11 | 8: Vcc 12 | 13 | Summary: 14 | The high-performance Microchip picoPower 8-bit AVR RISC-based microcontroller 15 | 4 KB ISP flash memory with read-while-write capabilities, 16 | 256 Byte EEPROM, 17 | 256 Byte SRAM, 18 | 6 general purpose I/O lines, 19 | 32 general purpose working registers, 20 | 2 x 8-bit timer/counters, 21 | 4-channel PWM (2 per Timer), 22 | 1 comparators, 23 | internal and external interrupts, 24 | In-System Programmable via SPI Port, 25 | 4-channel 10-bit A/D converter, 26 | programmable watchdog timer with internal oscillator, 27 | The device operates between 1.8-5.5 volts. 28 | -------------------------------------------------------------------------------- /resources/data/help/tiny85.txt: -------------------------------------------------------------------------------- 1 | MCU: attiny85 2 | Package: 8-pin PDIP 3 | 4 | 1: PB5 ADC0 !Reset dW PCINT5 5 | 2: PB3 ADC3 !OC1B CLKI XTAL1 PCINT3 6 | 3: PB4 ADC2 OC1B CLKO XTAL2 PCINT4 7 | 4: Gnd 8 | 5: PB0 MOSI DI SDA AIN0 OC0A !OC1A AREF PCINT0 9 | 6: PB1 MISO DO AIN1 OC0B OC1A PCINT1 10 | 7: PB2 SCK USCK SCL ADC1 T0 INT0 PCINT2 11 | 8: Vcc 12 | 13 | Summary: 14 | The high-performance Microchip picoPower 8-bit AVR RISC-based microcontroller 15 | 4 KB ISP flash memory with read-while-write capabilities, 16 | 512 Byte EEPROM, 17 | 512 Byte SRAM, 18 | 6 general purpose I/O lines, 19 | 32 general purpose working registers, 20 | 2 x 8-bit timer/counters, 21 | 4-channel PWM (2 per Timer), 22 | 1 comparators, 23 | internal and external interrupts, 24 | In-System Programmable via SPI Port, 25 | 4-channel 10-bit A/D converter, 26 | programmable watchdog timer with internal oscillator, 27 | The device operates between 1.8-5.5 volts. 28 | -------------------------------------------------------------------------------- /src/gui/editorwidget/debuggers/asdebugger.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2023 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "basedebugger.h" 9 | 10 | class ScriptCpu; 11 | 12 | class asDebugger : public BaseDebugger 13 | { 14 | public: 15 | asDebugger( CodeEditor* parent, OutPanelText* outPane ); 16 | ~asDebugger(); 17 | 18 | virtual bool upload() override; 19 | virtual int compile( bool debug ) override; 20 | 21 | void scriptError( int line ); 22 | void scriptWarning( int line ); 23 | 24 | protected: 25 | //virtual bool postProcess() override; 26 | 27 | private: 28 | ScriptCpu* m_device; 29 | }; 30 | -------------------------------------------------------------------------------- /src/components/outputs/displays/gc9a01a.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2025 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "st77xx.h" 9 | 10 | class LibraryItem; 11 | 12 | class GC9A01A : public St77xx 13 | { 14 | public: 15 | GC9A01A( QString type, QString id ); 16 | ~GC9A01A(); 17 | 18 | void setHeight( int h ) override; 19 | 20 | void endTransaction() override; 21 | 22 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 23 | 24 | static Component* construct( QString type, QString id ); 25 | static LibraryItem* libraryItem(); 26 | 27 | protected: 28 | void displayReset() override; 29 | }; 30 | -------------------------------------------------------------------------------- /src/microsim/cores/i51/i51pin.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2020 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "mcupin.h" 9 | 10 | class Component; 11 | class McuPort; 12 | class eMcu; 13 | 14 | class I51Pin : public McuPin 15 | { 16 | friend class McuPort; 17 | 18 | public: 19 | I51Pin( McuPort* port, int i, QString id , Component* mcu ); 20 | ~I51Pin(); 21 | 22 | //virtual void initialize() override; 23 | 24 | virtual void setOutState( bool state ) override; 25 | virtual void scheduleState( bool state, uint64_t time ) override; 26 | 27 | virtual void ConfExtInt( uint8_t bits ) override; 28 | 29 | protected: 30 | 31 | }; 32 | -------------------------------------------------------------------------------- /src/components/active/mosfet.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2016 by Santiago González * 3 | * * 4 | ***( see copyright.txt file at root folder )*******************************/ 5 | 6 | #pragma once 7 | 8 | #include "e-mosfet.h" 9 | #include "component.h" 10 | 11 | class LibraryItem; 12 | 13 | class Mosfet : public Component, public eMosfet 14 | { 15 | public: 16 | Mosfet( QString type, QString id ); 17 | ~Mosfet(); 18 | 19 | static Component* construct( QString type, QString id ); 20 | static LibraryItem* libraryItem(); 21 | 22 | void updateStep() override; 23 | 24 | void setPchannel( bool p ) override; 25 | void setDepletion( bool d ) override; 26 | 27 | void paint( QPainter* p, const QStyleOptionGraphicsItem* o, QWidget* w ) override; 28 | }; 29 | --------------------------------------------------------------------------------