EPiCS / soundgates

Project Group Soundgates
MIT License
1 stars 2 forks source link

Logikkomponenten #88

Closed gwue closed 10 years ago

gwue commented 10 years ago

Mux Demux UND ODER Schwellwerte Akkumulator Vergleiche > = <

posewsky commented 10 years ago

"and" macht aktuell folgndes:

bool out = (in0>0) && (in1>0);
if(out == last_out)
    return;

last_out = out;
m_Out_1_Port->push(out ? 1.0f : 0.0f);

Ist das, das gewünschte Verhalten?

vollkorn commented 10 years ago

Kannst du das nochmal kurz erläutern? @halemmerich Kannst du etwas dazu sagen?

halemmerich commented 10 years ago

Ich finds sinnvoll und hab das in der Simulation auch so umgesetzt.

On 23. Februar 2014 15:01:02 MEZ, Lukas notifications@github.com wrote:

Kannst du das nochmal kurz erläutern? @halemmerich Kannst du etwas dazu sagen?


Reply to this email directly or view it on GitHub: https://github.com/pc2/pg-soundgates/issues/88#issuecomment-35832246

posewsky commented 10 years ago

out ist der return value (true (==1.0f) wenn beide eingangswerte größer 0 sind) last_out ist das letzte out event. Der Ausgang wird nur verändert, wenn sich der wert unterscheidet. Das ist z.B. wichtig bei OR, wo ja 3 der 4 Eingangskombinationen wahr sind. Aber nach der aktuellen Implementierung gibt es nur ein Event, wenn sich die Ausgänge verändern, also bei Flanken, wie wir es mal besprochen hatten. Zudem hat das ganze Wahrheitswerte, wie sie in C oder C++ vorkommen (d.h. alles außer 0 ist true).

posewsky commented 10 years ago

@gwue @vollkorn @halemmerich Was genau war mit Schwellwert gemeint? Etwas was den Input weiterleitet, sobald er eine festgelegte Grenze überschreitet? (Das wäre jetzt schon mit > und mux machbar) Wie soll der Akkumulator aussehen?

vollkorn commented 10 years ago

Sobald eine eingestellter Schwellwert erreicht ist wird auf dem Ausgang ein Event ausgelöst. Lässt sich auch einfach mit ">" erschlagen denke ich.

Der Akkumulator soll den Eingangswert bei einem Event übernehmen und auf einen internen Speicher aufaddieren. Ein Rücksetzeingang wäre hier ebenfalls sinnvoll.

On 25.02.2014 18:02, posewsky wrote:

@gwue https://github.com/gwue @vollkorn https://github.com/vollkorn @halemmerich https://github.com/halemmerich Was genau war mit Schwellwert gemeint? Etwas was den Input weiterleitet, sobald er eine festgelegte Grenze überschreitet? (Das wäre jetzt schon mit > und mux machbar) Wie soll der Akkumulator aussehen?

— Reply to this email directly or view it on GitHub https://github.com/pc2/pg-soundgates/issues/88#issuecomment-36030473.

posewsky commented 10 years ago

Jap, dass ist genau das, was > aktuell macht. Also Schwellwert canceln?

So hatte ich mir den Akkumulator auch vorgestellt. Soll das Event über eine extra Leitung kommen oder einfach bei Werteänderungen reagieren (das hieße input und reset als Eingänge). Soll die process Methode nur bei Inputänderungen was ausgeben oder immer?

vollkorn commented 10 years ago

Schwellwert fällt damit m.E. raus, da man diesen mit anderen Komponenten nachbauen kann ( ">" und "const").

Die process Methode des Akkumulators sollte vielleicht gar nichts machen und nur bei Änderung des Inputwerts den Ausgang aktualisieren.

On 25.02.2014 18:38, posewsky wrote:

Jap, dass ist genau das, was > aktuell macht. Also Schwellwert canceln?

So hatte ich mir den Akkumulator auch vorgestellt. Soll das Event über eine extra Leitung kommen oder einfach bei Werteänderungen reagieren (das hieße input und reset als Eingänge). Soll die process Methode nur bei Inputänderungen was ausgeben oder immer?

— Reply to this email directly or view it on GitHub https://github.com/pc2/pg-soundgates/issues/88#issuecomment-36035424.

posewsky commented 10 years ago

OK, baue ich so und lad es später hoch.