Hallo Pingon
vielen Dank erstmal für die Dateien samt ausführlichen Erläuterungen. Nicht schlecht!
Ich habe jetzt sowohl mit der Version 1.6 als auch mit deiner 2.0 experimentiert - wobei die 1.6 leichter verstehbar ist, hat einfach weniger Sourcecode.
Gerät haben wir offenbar fast das gleiche. Bei mir wird angezeigt ID = SD4B (Hardware-ID), Kettler-ID = SDCB RX1 (ID/Name), VE = 104,
CA = 32
1. Also nur eine geringfügig andere Version.
Mit beiden Programmen habe ich das Problem, dass der Zugriff auf die Schnittstelle nur partiell funktioniert. Das Schließen und wieder Öffnen des Ports scheint hierfür verantwortlich zu sein. Bei der V2.0 geht das schon reibungsloser als bei der 1.6, allerdings klappt auch hier der Upload modifizierter Profile nicht. Es kommt die Fehlermeldung "Keine Kommunikation".
So ganz verstanden und nachvollzogen habe ich das noch nicht, allerdings habe ich bei der V1.6 mittlerweile alles so modifiziert, dass für das Wesentliche - Auslesen von Daten und Upload von Profilen - keine Fehler mehr kommen.
Somit habe ich mich dann auch mal getraut, ein Profil zu modifizieren und hochzuladen. Und siehe da, es funktioniert.
Meiner Meinung nach muß man sich auch keine großen Sorgen machen, dass das Gerät nach dem Upload grundsätzlich nicht mehr funktioniert - außer die Profile taugen nicht - da ja offenbar nicht direkt in den Speicher des Geräts geschrieben wird und somit das Gerät in jedem Fall noch funktionieren wird. Hier ist das jedenfalls so. Beim Upload der Profile wird zunächst in den Modus "CP" (Change Program) geschaltet, dann werden die 6 Profile übertragen. Zunächst kommt für Profil 1 die Anzahl der nachfolgenden Werte (Minuten), dann als weitere Werte die Leistungsdaten. Nach dem letzten Wert von Profil 1 wird die Anzahl der Werte von Profil 2 übertragen etc.
Es wird dabei Wert für Wert übertragen und anschließend die neuen Werte aus dem Ergometer ausgelesen und mit den Werten aus dem Upload verglichen.
Das alles funktioniert zumindest mit der modifizierten V1.6.
Durch das Umschalten in den Modus "CP" kann man sich also höchstens Profile zerschießen, nicht jedoch das EEPROM des Ergometers an anderer Stelle überschreiben - zumindest nach meinem Verständnis.
Leider hatte ich noch keine Zeit mit der V2.0 weiter zu experimentieren. Auch die Modifikationen an der V1.6 sind "quick and dirty" und nur darauf ausgelegt, Profile hochladen zu können.
Fazit für den Moment: Upload geht, Ergometer funktioniert nachher noch