Hallo Klaus,
Zitat
Wäre es nicht praktischer, wenn die Stellung bei Programmierung der entsprechenden CV angepasst würde?
Mmh - auf die Idee bin ich noch gar nicht gekommen . Das Servo ist dann zwar nicht mehr in der Stellung, die die Zentrale annimmt, aber für den Einstellvorgang dürfte das nicht von Belang sein. Eins könnte dabei aber zur Verwirrung führen: Wenn sich diese 'neue' CV nicht wirklich ändert, sondern der schon gespeichert Wert erneut gesetzt wird, wird sich das Servo nicht dorthin bewegen. Das liegt daran, dass die gesamte CV-Programmierung in der DCC-Lib stattfindet, und die prüft auch, ob sich der Wert tatsächlich ändert. Wenn nicht, bekomme ich im Sketch von dem ganzen Vorgang gar nichts mit.
Zitat
Funktioniert der Taster nur in einem bestimmten über A5 eingestellten Modus?
Nein. Damit der Taster funktioniert, muss vor allem die Drehencodereinstellung aktiviert sein, indem die Kommentarzeichen vor dem #define entfernt werden. Sonst werden die ganzen dazugehörigen Softwarefunktionen gar nicht erzeugt:
1
2
3
4
5
6
//#define ENCODER_AKTIV // Wird diese Zeile auskommentiert, wird der Encoder nicht verwendet.
// Die Encoder-Ports werden dann ignoriert, und können anderweitig
// verwendet werden.
const byte encode1P = A3; // Eingang Drehencoder zur Justierung.
const byte encode2P = A2;
Standardmäßig ist das ausgeschaltet, damit die Ports für andere Aufgaben frei bleiben. Ist die Encoderjustierung aktiviert, sind die Ports fest für den Drehencoder reserviert.
Du kannst die Mittelstellung aber auch erreichen, indem Du den CV mal kurz auf '90' setzt - der Taster macht auch nichts anderes, als das Servo in diese Stellung zu fahren.