From e9804d87799ab659de853e5061d3978207c2a43a Mon Sep 17 00:00:00 2001 From: Matei Adriel Date: Fri, 2 Aug 2019 11:21:42 +0300 Subject: [PATCH] fixed typos in usage guide --- docs/actual-docs.md | 2 +- docs/tutorials/sr-latch.md | 18 +++---- print/actual.html | 104 +++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 10 deletions(-) create mode 100644 print/actual.html diff --git a/docs/actual-docs.md b/docs/actual-docs.md index 8ffb883..26a940f 100644 --- a/docs/actual-docs.md +++ b/docs/actual-docs.md @@ -40,7 +40,7 @@ Exemplu: ``` Reprezentare grafica a fisierelor (fiecare cerc reprezinta un fisier): -![files](/docs/assets/files.png) +![files](../docs/assets/files.png) ### Module: diff --git a/docs/tutorials/sr-latch.md b/docs/tutorials/sr-latch.md index 3f3e40d..a6c887d 100644 --- a/docs/tutorials/sr-latch.md +++ b/docs/tutorials/sr-latch.md @@ -15,14 +15,14 @@ Pentru a explica utilizarea functilor de baza ale aplicatiei urmatoarea secventa - pentru a crea un cablue se apasa pe 2 pini (unul de input si unul de output) - pentru a sterge un cablu se apasa pe pinul de output al cablului - se conecteaza componentele in cunoscuta configuratie a latchului SR: -
- ![SR latch](../assets/SR.png) -
+ + ![SR latch](../assets/SR.png) + - prin apasarea butoanelor se poate testa latchul, care ar trebui sa respecte cunosctul tablel: -| S | R | Q | not Q | -| :-: | :-: | :---: | ----- | -| 0 | 0 | latch | latch | -| 0 | 1 | 0 | 1 | -| 1 | 0 | 1 | 0 | -| 1 | 1 | 0 | 0 | + | S | R | Q | not Q | + | :-: | :-: | :---: | ----- | + | 0 | 0 | latch | latch | + | 0 | 1 | 0 | 1 | + | 1 | 0 | 1 | 0 | + | 1 | 1 | 0 | 0 | diff --git a/print/actual.html b/print/actual.html new file mode 100644 index 0000000..b526a41 --- /dev/null +++ b/print/actual.html @@ -0,0 +1,104 @@ +

Simulator de porti logice

+

Programul este un simulator de porti logice care permite experimentarea, testarea si cunoasterea ansamblelor de porti logice. Simulatorul suporta circuite integrate, mai multi biti pe acelasi pin, salvarea simulatiilor si suport pentru mai multe limbii.

+

Arhitectura:

+

Aspecte generale:

+ +

Structora fisierelor:

+

In folderul src se afla urmatoarele fisiere si foldere:

+ +

Folderele modules si common

+

Am ales sa folosesc structura folosita de wavedistrict. Aceasta consta in 2 foldere: common si modules. Acestea contin subfoldere numite dupa functionalitatea pe care o implementeaza. La randul lor, acestea, contin foldere care sunt numite dupa tipul de fisiere continute.

+

Exemplu:

+
/modules
+    /simulationRenderer
+        /subjects
+            mySubject.ts
+        /components
+            Simulation.tsx
+/common
+    /dom
+        /helpers
+            safeQuerSelector.ts
+

Reprezentare grafica a fisierelor (fiecare cerc reprezinta un fisier): files

+

Module:

+

Proiectul este impartit in 18 module distincte:

+
    +
  1. Activation: se ocupa cu transformarea functiilor de activare in cod javascript
  2. +
  3. Colors: se ocupa de manipularea culorilor
  4. +
  5. Core: contine componentele vizuale de baza ale aplicatiei
  6. +
  7. Create-simulation: implementeaza procesul de creere a unei simulatii
  8. +
  9. Erros: se ocupa de prinsul si afisatul erorilor
  10. +
  11. Input: se ocupa de utilizarea textului ca input
  12. +
  13. Integrated-circuits: se ocupa de compilarea circuitelor integrate
  14. +
  15. Internalisation: se ocupa de afisarea textului in diferite limbii
  16. +
  17. Keybindings: se ocupa de utilizarea tastaturii ca input
  18. +
  19. Logic-gate-info: implementeaza pagina cu informatii despre porti logice
  20. +
  21. Logic-gates: implementeaza pagina de unde se pot adauga porti logice
  22. +
  23. Modals: implementeaza caracteristicile generale folosite de toate dialogurile
  24. +
  25. Saving: se ocupa de salvarea simulatiilor
  26. +
  27. Screen: se oucpua de adaptarea aplicatiei la orice rezolutie
  28. +
  29. Simulation: se ocupa de simularea circuitelor
  30. +
  31. Storage: se ocupa de salvarea datelor in localStorage
  32. +
  33. Toasts: se ocupa de stilizarea notificarilor oferite de react-toastify.
  34. +
  35. Vector2: functii de baza care permit folosirea arrayurilor pentru geometria vectoriala
  36. +
+

Performanta

+ +

Librarii, limbaje si unelte folosite:

+

Mentionez ca o mare parte din elementele acestei liste sunt libarii folosite in timpul developmentului, doar o mica parte ajungand in buildul final.

+ +

Testare

+

Aplicatia propriu zisa nu dispune de unit / integration tests. Aceasta a fost testata de aproximativ 30 de persoane.

+

Mentionez ca am scris teste pentru o mica librarie pe care am folosit-o numita eix-js.

+

De ce nu a fost nevoie de teste?

+

In afara de faptul ca mai multi oameni au testat manual proiectul, typescript m-a ajutat sa detecte aproximativ 75% din erori la compile-time.

+

Testimoniale

+ +

I have been testing the Logic Gate Simulator by Adriel. While testing it I found a few bugs, the first bug I found was a problem with the wires. If I started a wire at a component and didn’t connect the wire to another component and then deleted the component the wire was connected to it would make a floating wire that was still connected to my mouse that I couldn’t get rid of. Another bug I ran into was the IC in/out pins where they would overlap because the IC wouldn’t fit there size. The last major bug that I ran into dealt with the pasting and duplicating components. when you pasted in the components they would paste in right on top of what you copied/duplicated. so you wouldn’t be able to get the components that you pasted/duplicated without having to drag each component off. After finding these problems I and Adriel were able to talk about them and he was able to find the problem and fix them efficiently. After Adriel solved each bug it was very easy to go back into the Simulator and start making circuits/ICs again. I tested a variety of circuits like making half-adders and full adders. I also tested different types of flip flops and bit adding circuits. Everything I’ve made worked very well and if something didn’t work Adriel was able to fix it so it worked in the future. After using this Simulator I feel like it has a very good and working concept and I cant wait to see what’s done with it in the future.