Hallo Fabian,
die Umbenennungen dürften nur I2CTWI_readRegisters und I2CTWI_readableRegisters betreffen, und dazu kann ich wenig. Wenn Du andere Umbenennungen hattest, sag mir bitte welche. Siehe auch:

* fix: I2CTWI_readRegisters -> I2CTWI_readableRegisters / double use of name

Ich hatte nur die Möglichkeit, das Array von I2CTWI_readRegisters im Slavecode in I2CTWI_readableRegisters umzutaufen oder ich hätte der Mastercode Funktion I2CTWI_readRegisters einen anderen Namen geben müssen... ich hab mich für erstes entschieden... müsst ihr nun mit leben
Natürlich muss man im eigenen Slave code auch die Registers umbenennen aber das macht der PN mit 3 Tasten ... quasi... allerdings sollte das besser dokumentiert sein, geb ich zu. Ich hatte es aber weiter oben auch schon mal gesagt...

Das mit dem Ringbuffer... nun die Register im Slavemode sind quasi ein Ringbuffer nur das der Pointer eben nicht im Kreis läuft sondern bei Verbindungsbegin üblicher Weise gesetzt wird (wie der Adresspointer im EEPROM). Wird über die Register hinaus gelesen, schickt der Slave bisher ein Nack zum Master. Allerdings hab ich das noch nicht 100% debugt ob das aufs Byte genau stimmt. Ich kann natürlich auch bei Ende der Register den Zähler einfach zurück auf Anfang stellen was einem Ringbuffer gleich komt. Die Frage ist nur: Nutzt das was? Das überlesen/überschreiben hinter die Registergrenzen ist in jedem Fall ein klarer Verstoß gegen Konventionen und vor allem ein Fehler in der Nutzung des Treibers.. nicht des Treibers selbst, daher bisher NACK. Der alte Treiber hat gnadenlos Zugriffe hinter die Registergrenzen zugelassen... was der z.B. mit dem Stackheap dann anstellt... das möcht ich garnicht mehr so genau wissen Der Master sollte allerdings auch mitkriegen wenn die Registergrenze erreicht ist und entsprechend reagieren (Fehlermeldung). Siehe auch:

* fix: Register/Buffer overruns

Das Problem mit dem Stresstest kann ich nicht beurteilen so lange ich den Quellcode dazu nicht habe. Würd mich aber wie Dirks Programm interssieren.

Zum Problem mit den verzögerten Übertragungen, ich werde die Lib die Tage umfangreich testen, ich halte es auch hier für möglich das der Fehler nicht im TWI Treiber zu suchen ist. Aber auch hier muss ich sagen: Abwarten... ich werde mich um alles kümmern was hier an Problemen aufschlägt.

Bevor Du an der Remotrol Software Anpassungen machst, sollten wir also zunächst dein Stesstest ans rennen kriegen, das ist ggf. auch übersichtlicher. Wenn Dein Stresstest jedes mal systematisch gegen die Registergrenze klatscht, wäre es z.B. kein Wunder wenn der 2400 Fehler ausgibt. Vielleicht gebe ich das NACK aber auch ein Byte zu früh. Zeig mir am besten mal die Quellen für den Stresstest.
LG Rolf