Dies ist eine alte Version des Dokuments!
Snaiks
Signals and Systems from KiCad to C**
{{ ::snaiks-logo.png?nolink&200 classes on one hand, and a collection of corresponding KiCad components on the other hand.
It's purpose is to create complex systems by drawing them in KiCad's schematic editor and generate out of the netlist a working C++ code, which also compiles for micro controllers without dynamic memory allocation.
It can be used to implement PLCs or digital signal processing like filtering.
The C++ classes are based heavily on templates, so most of the components can be used either for floating point or for integer calculations.
===== Mini-Demo =====
===== Source Code =====
* https://gitlab.com/KarlZeilhofer/Snaiks-cpp-lib
* https://gitlab.com/KarlZeilhofer/Snaiks-kicad-lib
* https://gitlab.com/KarlZeilhofer/Snaiks-manual-tests
===== Blue Prints =====
==== Properties ====
A Snaiks component can have properties. For example:
* monoflop period
* schmitt trigger limits
* saturation limits
* corner frequency or filter-type of a digital filter
* filter coefficients
* gain value
* value of constants
A property consists of
* a value
* a name
* a persistent initial value
* a setter method
* a getter method
==== Info-System ====
A system generated by Snaiks should be fully discoverable and manipulatable during runtime.
=== Use cases ===
* change filter characteristics
* change regulator parameters
* adjust offset or gain
* change system constants
* change enable/disable flags
* reset a component or the whole system
* start/stop recording
=== Needed Features ===
* list inputs and outputs of an object
* list properties of an object
* change property values permanently