Hallo Franz-Peter,
ich habe jetzt mal etwas probiert und folgende Erkenntnisse (oder eher Rätsel) gewonnen:
Zitat
Wie flasht Du denn? Beim Programmladen über IDE und Bootloader sollte der EEPROM Inhalt erhalten bleiben.
Das war natürlich mein Problem - ich hatte beim flashen die 'Grundbeschaltung' der Steuereingänge nicht dran - daher gabs dann einen Init-Mode ops:
An der Stromversorgung liegt das Probem nicht. Ich habe jetzt bei beiden den Debugmode aktiv und die Servos schlagen jetzt erst an, wenn die Wartezeit auf die serielle Schnittstelle vorbei ist. Nur einer zeigt ein ganz kleines Einschaltzucken, das kann ich ignorieren.
Auch habe ich jetzt die neueste Version von GitHub geladen, das ändert leider auch nichts.
Was ich aber jetzt festgestellt habe, ist das der Decoder beim Einschalten einige Weichen schalten will, obwohl sich seit dem Ausschalten nichts verändert hat. Hier ist das zu sehen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
>>>>>>>>>> Neustart: (SV45/47): 0xa0 0xa1
Betr:1023 -> Mode=Std
Init LocoNet: Node-Id = 60
setWadr: isOA=64, getAdr=100, wAdr=100
--------- Debug-Ausgabe CV-Werte ---------
Version: 60, ManufactId: 13
Initval (SV45/47) : 0xa0 0xa1
Konfig (SV29) : 0xC0
Adresse:(SV17/18) : 100
LoconetId(SV48/49): 60
Wadr | Typ | CV's | Mode | Par1 | Par2 | Par3 | Status |
100 | 1 | 50-54 | 11 | 72 | 107 | 30 | 1
101 | 1 | 55-59 | 11 | 80 | 59 | 30 | 1
102 | 1 | 60-64 | 11 | 37 | 58 | 30 | 1
103 | 1 | 65-69 | 11 | 58 | 75 | 30 | 1
104 | 1 | 70-74 | 11 | 79 | 66 | 30 | 1
105 | 1 | 75-79 | 11 | 74 | 95 | 30 | 1
106 | 1 | 80-84 | 11 | 87 | 67 | 30 | 1
107 | 1 | 85-89 | 11 | 113 | 91 | 30 | 1
108 | 1 | 90-94 | 11 | 57 | 100 | 30 | 0
109 | 1 | 95-99 | 11 | 95 | 59 | 30 | 1
>> Setup-Ende >> Heap: Start=0x2c0 (704), End=0x3d6 (982)
>>HEAP>> Start=0x3c2, End=0x4d4, Size=274
setCV: Ad= 54, Val= 1
setCV: Ad= 59, Val= 1
Weiche stellen, Ist=1,Soll=1
setCV: Ad= 69, Val= 1
setCV: Ad= 74, Val= 1
setCV: Ad= 79, Val= 1
Weiche stellen, Ist=1,Soll=1
setCV: Ad= 94, Val= 0
setCV: Ad= 64, Val= 1
setCV: Ad= 84, Val= 1
Das sind aber nicht immer die gleichen Weichen, das scheint willkürlich (oder von Faktoren abhängig, die ich noch nicht kenne).
Besonders auffällig: Es soll geschaltet werden, obwohl Ist und Soll schon 1 sind!?
Meine Versuche von gestern (mit älterer Version) ergaben das gleiche, nur sieht es etwas anders aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>HEAP>> Start=0x3c2, End=0x4d4, Size=274
setCV: Ad= 59, Val= 1
Weiche stellen, Ist=0,Soll=0
Weiche stellen, Ist=1,Soll=1
Weiche stellen, Ist=1,Soll=0
setCV: Ad= 94, Val= 0
setCV: Ad= 99, Val= 1
setCV: Ad= 64, Val= 0
setCV: Ad= 69, Val= 1
Weiche stellen, Ist=0,Soll=1
setCV: Ad= 89, Val= 0
neu: CV89=0
setCV: Ad= 74, Val= 1
neu: CV74=1
Und noch einen sehr unschönen Effekt habe ich beobachtet: Der Servo an D9 (adr 105) wird deutlich über die eingestellte Endlage gequält, dabei springt dann meist der Federdraht aus der Weiche.
Ich hänge nochmal meine Konfigdatei an, vielleicht (hoffentlich) kannst du etwas herausfinden.