Benutzer-Werkzeuge

Webseiten-Werkzeuge


snaiks

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
snaiks [2017/03/17 09:38]
dokuwikiadmin [Implemented]
snaiks [2017/04/30 09:32] (aktuell)
karl [Installer]
Zeile 41: Zeile 41:
 ==== Open Tasks ==== ==== Open Tasks ====
   * communication with the system in runtime   * communication with the system in runtime
 +  * unit tests of all Snaiks Objects
  
 ===== Mini-Demo ===== ===== Mini-Demo =====
-{{ ::2016-04-07_001.png?direct&900 |}} \\ +[[https://gitlab.com/KarlZeilhofer/snaiks-demo-2|This demo project on GitLab.com]] shows the usage of snaiks in a simple console application, a Qt app with GUI and a realtime-application running on the [[RevolutionPi]] 
-{{::2016-04-07_002.png?direct&400 |}} \\ + 
-{{::2016-04-07_003.png?direct&400 |}} \\ + 
-{{::2016-04-07_005.png?direct&500 |}} \\ +===== Installer ===== 
-{{::2016-04-07_006.png?direct&700 |}} \\+TODOmake an installer repo, which clones all the sub-repos, compiles and installs the snaiks compiler, installs kicad and a demo project
  
 +  # using git clone --recursive to check out all submodules
 +  git clone --recursive https://github.com/chaconinc/MainProject
 ===== Source Code ===== ===== Source Code =====
-  * https://gitlab.com/KarlZeilhofer/Snaiks-cpp-lib +  * https://gitlab.com/KarlZeilhofer/snaiks-cpp-lib 
-  * https://gitlab.com/KarlZeilhofer/Snaiks-kicad-lib +  * https://gitlab.com/KarlZeilhofer/snaiks-kicad-lib 
-  * https://gitlab.com/KarlZeilhofer/Snaiks-manual-tests+  * https://gitlab.com/KarlZeilhofer/snaiks-compiler
  
 +===== Library Presentation =====
 +  * https://gitlab.com/KarlZeilhofer/snaiks-kicad-lib-presentation
 +  * {{ ::snaiks-lib-presentation.pdf |Presentation as PDF}} (perhaps outdated)
 ===== Blue Prints ===== ===== Blue Prints =====
-==== Sampled vs. Transparent Systems ==== 
-=== The Problem === 
-For some systems it would be handy, if they are transparent from input to output. \\ 
-This means, that they do not consume a whole clock cycle. An example could be a simple And-gate. Perhaps one do not want this gate to introduce an extra clock-cycle, until the combined signal is visible on the output. \\ 
-The drawback of this method is, that the update-order of all the systems is very important. If the user is aware of this problem, he can shorten latencies of complex systems.  
  
-In Snaiks example test1 we had a undesired behaveour, because the And-gate befor the middle output indroduced a delay of one clock. In transitions from "within range" to "too high" and to "too low" undesired states were produced, were either 2 outputs were true at the same time, or where no output was true for one clock cycle. \\ 
-This made the antiGlitchDelays necessary.  
- 
-=== The Proposal === 
-Every System has a flag **transparent** which is by default false. \\ 
-If it is true and sample() is called, update() is called from the sample() function: 
-<code C> 
-class MySystem 
-{ 
- ... 
- bool transparent; 
- bool sampled=false; 
- ... 
- void sample() 
- { 
- sInput = *input; 
- sampled = true; 
- if(transparent) 
- { 
- update(); 
- } 
- } 
- 
- void update() 
- { 
- if(sampled)  // avoid double update 
- { 
- sampled = false; 
- output = ... 
- } 
- } 
- ... 
-} 
-</code> 
- 
-This also makes the flag sampled necessary. Becaus the normal clock master calls every sample() and then every update(). A second update-run shouldn't change anything, but consumes perhaps unnecessay processing time.  
  
 ==== Properties ==== ==== Properties ====
Zeile 132: Zeile 96:
   * list properties of an object   * list properties of an object
   * change property values permanently   * change property values permanently
- 
-==== Hierarchical Systems ==== 
-It should be possible to combine a set of systems to a sub-system, where new inputs and outputs are defined.  
- 
-KiCads hierarchical schematic structure could be used out of the box, but in C++ we do not see anything from this. Similar to the KiCad PCB layout, which also doesn't know anything about a hierarchical sheets. Altium Designer has the so called rooms, which group and synchronize footprint arrangement and traces between multiple instances of one hierarchical sheet.  
- 
-For the systems we should make something similar to the properties, which live in a SnsPropertyContainer. We should make a SnsSystemContainer, which provides on one hand memory for the different objects of a sub-system and on the other hand new inputs and outputs.  
  
  
Zeile 149: Zeile 106:
 Cons: Cons:
   * every pin must have a type specified in KiCad (could be done with net-annotators, similar to PWR_FLAG).    * every pin must have a type specified in KiCad (could be done with net-annotators, similar to PWR_FLAG). 
-  * we cannot use a simple template-interface class any more, such as the SnsHybrid or SnsNumeric. +  * we cannot use a simple template-interface class any more
  
 === Proposal === === Proposal ===
Zeile 155: Zeile 112:
   * mixture of numbers and bool shouldn't be any problem   * mixture of numbers and bool shouldn't be any problem
  
-{{tag>english software signals kicad snaiks}}+{{tag>english software signals kicad snaiks technical}}
snaiks.1489739908.txt.gz · Zuletzt geändert: 2017/03/17 09:38 von dokuwikiadmin