Möglicher Fehler in der sblib

Fragen und Diskussionen zur Entwicklung von neuen Geräten. Sowohl Hardware als auch Software. English is welcome.
Antworten
jodamm
Beiträge: 2
Registriert: 2. Apr 2018, 22:43

Möglicher Fehler in der sblib

Beitrag von jodamm »

Hallo,
ich habe jetzt schon einige Geräte von euch am Laufen, jetzt wollte ich die Firmware von diesem Thread http://selfbus.forums3.com/geraete-dev- ... -t446.html ausprobieren. Das Programmieren der TS hat beim ersten Versuch geklappt, es wurden auch die Schaltbefehle ausgeführt. Jetzt wollte ich die TS richtig in Betrieb nehmen und ich konnte die physikalische Adresse nicht über die ETS Funktion physikalische Adresse überschreiben. TS war schon in der Schalterdose und schön mit Isolierband umwickelt, daher kam ich dann auch nicht mehr an die Pins für den Programmiermodus dran.
So jetzt zum eigentlichen Problem. Bei der Fehlersuche habe ich festgestellt das ETS ein Memory Read von der Adresse 0x60 macht (Status BCU) und die TS hat 0x4d zurückgeliefert. Bei 0x4d ist auch das Bit für ich bin im Programmiermodus gesetzt und so hat ETS versucht die Adresse zu ändern, was aber nicht gelang da die TS überhaupt nicht im Programmiermodus ist.
Die Adresse 0x60 liegt bei BCU1 im UserRAM, die neue Firmware ist jetzt aber BIM112 und da beginnt das UserRam erst bei 0x5FC.
In der bcu.cpp wird jetzt aber bei einem MemoryRead geschaut ob die Adresse im UserRAM liegt:

Code: Alles auswählen

            else if (address >= USER_RAM_START && address < USER_RAM_END)
                cpyFromUserRam(address - USER_RAM_START, sendTelegram + 10, count);
Da das jetzt nicht der Fall ist, wird auch nicht die Funktion cpyFromUserRam aufgerufen in der bei Adresse 0x60 der Status zurückgegeben wird.

Der gleiche Fehler ist dann auch bei MemoryWrite wenn ETS das Gerät in den Programmiermodus setzen will.

Ist das jetzt ein Fehler in ETS5 das es bei einem BIM112 Gerät die Adresse 0x60 abfragt oder ist das ein Fehler in der sblib?
Gruß
Joachim
Doumanix
Beiträge: 511
Registriert: 7. Nov 2017, 16:33

Re: Möglicher Fehler in der sblib

Beitrag von Doumanix »

Hi zusammen,

kann bestätigen, dass mit der in16-bim112 Firmware das Überschreiben der Adresse nicht funkt. Habe sicherheitshalber einen Vergleich mit der in8-bcu1 gemacht. Da geht das Überschreiben per ETS schon.

Jetzt ist natürlich die FRage, wo der Fehler liegt: in der SBLIB zur bim112 oder in16-bim112 selber? Ich verlinke mal zu Uwes Thread (und wieder zurück).

Christian
jodamm
Beiträge: 2
Registriert: 2. Apr 2018, 22:43

Re: Möglicher Fehler in der sblib

Beitrag von jodamm »

Ich denke das ist ein Fehler in der sblib, wenn es nicht an ETS liegt, aber das ist denke ich unwahrscheinlich. Ich teste gerade einen Patch für die sblib, aber da bräuchte ich auch noch mal Input von jemand der sich da besser auskennt. Ich vermute auch noch einen weiteren Fehler der damit zusammenhängt, ich weiß aber nicht ob das wirklich so ist.
Ich habe auch noch die Jalousie Aktoren, die sind ja auch BIM112 aber weil die ja den Prog Taster haben ist mir das wahrscheinlich nicht aufgefallen, das werde ich noch mal testen.

Edit:
Test durchgeführt, der Jalousie Aktor hat das gleiche Problem.
Antworten