Modul für I2C 16Kanal 12bit PWM Controller PCA9685

Begonnen von klausw, 15 Dezember 2015, 23:48:17

Vorheriges Thema - Nächstes Thema

klausw

Zitat von: thymjan am 09 Januar 2016, 12:50:27
Mache mich momentan mit dem PCA9685-Modul vertraut. Habe es direkt am I2C vom Raspi hängen. Die default-Adresse habe ich von 0x40 per Lötpunkt auf 0x41 eingestellt, der HTU21D-F hat die 0x40 für sich beansprucht.
kannst du es auch mal am FRM testen?  Ich bin noch nicht soweit. 8)
Zitat von: thymjan am 09 Januar 2016, 12:50:27
Muss gestehen, mir fehlen im folgenden etwas die Grundlagen. LEDs habe ich zum testen zwischen PWM und V+ angeschlossen (gibt es einen besseren Weg?).
Die kann ich jetzt je nach Einstellung dimmen bzw. ein- und ausschalten.
Es gibt andere Wege, besser/schlechter ist relativ. Bei größeren Strömen würde ich einen FET dazwischenschalten.
Zum Testen ist es aber genau richtig.
Die Pins können als OpenCollector oder PushPull konfiguriert werden. Im Datenblatt ist es ganz zu beschrieben.

Zitat von: thymjan am 09 Januar 2016, 12:50:27
Wenn ich mit prescale die Frequenz verändere, zeigen die LEDs vorübergehend nicht den zuvor eingestellte Wert an. Erst wenn eine weitere Konfiguration eines Eingangs erfolgt ist die Helligkeit wieder so wie eingestellt. Ist das so gewollt?
nein, das liegt aber am Ic selbst. Zum umstellen wird der Ic vorher in den Sleepmodus versetzt. Dabei wird die PWM deaktiviert.
Das lässt sich sicher abstellen, die Frage ist eher, ob es notwendig ist. Die Frequenz wird ja nicht dauernd umgestellt.
Zitat von: thymjan am 09 Januar 2016, 12:50:27
Bei den Internals ist auch vor dem Frequenzwert noch ein 0x davor.
Oh, stimmt..thx
Zitat von: thymjan am 09 Januar 2016, 12:50:27
Mal abgesehen von der Sinnfrage - wollte ich zum Spielen noch einen Servo dranhängen. Hast Du mir da nen Tip wie ich da anfangen kann?
leider nein, mit servos habe ich noch nix gemacht.
Aber die haben glaube ich Spannungsversorgung und einen Eingang, Die Servoaussteuerung ist linear zur Spannung am Eingang/Dutycycle.

Aber erst mal Danke für Deine Arbeit!

Grüße,
Stefan
[/quote]
Zitat von: thymjan am 09 Januar 2016, 12:50:27
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

thymjan

Habe mir mal Wikipedia wegen der Servos zu Gemüte geführt. Wenn ich's richtig verstehe, geht das so mit dem Modul erst mal nicht.
ZitatModellbauservos werden über eine Pulsweitenmodulation (PWM) angesteuert. Über die Breite der Pulse wird der Winkel, auf den der Servoarm gestellt werden soll, gesteuert. Gängig ist ein 50-Hz-Signal (20 ms Periodenlänge), welches zwischen 500 Mikrosekunden (linker Anschlag, 0 Grad) und 2500 Mikrosekunden (rechter Anschlag, 180 Grad) auf High-Pegel und den Rest der Periodenlänge auf Low-Pegel ist.
Wobei...
50 Hz lässt sich einstellen.
20ms/4096 ist eine Auflösung von ca. 5 µs
500 µs sind 100 Auflösungseinheiten
2500 µs sind 500 Auflösungseinheiten

denke ich richtig?

... muss ich mal Testen

thymjan

Hallo Klaus,

mit den Servos und dem Modul und fhem bin ich nicht viel weiter gekommen. Am Arduino angeschlossen mit den Adafruit Testsketches ist es mir gelungen im möglichen Bereich der Servos bestimmte Gradwinkel einzustellen und Fahrten mit unterschiedlichen Geschwindigkeiten zu machen.
Die Gedanken aus dem vorigen Post sind gar nicht so abwegig. Sollte also eigentlich möglich sein den Servo mit PWM-Stellung zwischen 150-650 bei 50/60Hz in einem Winkel von 0-180 zu stellen.
Die Servos sind ziemlich stark, obwohl ich hier nur Mikroservos habe. Ob sich damit auch eine Fensteröffnung realisieren liese? Aber das Haltemoment lässt wohl nach, wenn der Strom abgeschalten wird. Bzw. verbrauchen die Servos Strom zum Nachregeln wenn sie in "Ruhe" sind.
Habe aber irgendwo schon Servos mit Schneckengetriebe gesehen.

Zu Deiner Frage:
habe das Modul mal an den Ethernet-ConfigurableFirmata-Arduino gehängt. Sieht gar nicht so schlecht aus!
Modul wird erkannt. Initialisiert sich. Register werden sauber ausgelesen. Das Stellen eines PWM-Wertes funktioniert bei mir dann allerdings nicht mehr. Da kommen dann exponentiell im knappen Sekundenrhythmus leere FRM-Nachrichten an. Kann nur noch durch einen Reset des FRM-Moduls gestoppt werden. Muss das log noch etwas studieren... Vielleicht ist es auch sinnvoll das ganze zunächst am usb-port zu testen.

Gruß,
Stefan

thymjan

Komme auf keinen grünen Zweig... steht einfach zu viel im log.

Im folgenden habe ich fhem neu gestartet und dann im Modul für einen Kanal einen Schreibvorgang mit Wert "0" ausgelöst.

2016.01.10 20:34:33 1: I2C_TSL2561_Define start: 3/Lichtsensor I2C_TSL2561 0x39
Use of uninitialized value $modereg1 in bitwise and (&) at ./FHEM/52_I2C_PCA9685.pm line 182, <$fh> line 310.
Use of uninitialized value in concatenation (.) or string at ./FHEM/52_I2C_PCA9685.pm line 383, <$fh> line 310.
Use of uninitialized value in concatenation (.) or string at ./FHEM/52_I2C_PCA9685.pm line 383, <$fh> line 310.
Use of uninitialized value in concatenation (.) or string at ./FHEM/52_I2C_PCA9685.pm line 383, <$fh> line 310.
Use of uninitialized value $data[0] in join or string at ./FHEM/52_I2C_PCA9685.pm line 383, <$fh> line 310.
Use of uninitialized value $data[0] in join or string at ./FHEM/52_I2C_PCA9685.pm line 384, <$fh> line 310.
2016.01.10 20:34:36 1: Including ./log/fhem.save
2016.01.10 20:34:38 3: FRM_1: port 3031 opened
2016.01.10 20:34:38 0: Featurelevel: 5.7
2016.01.10 20:34:38 0: Server started with 81 defined entities (fhem.pl:10397/2016-01-07 perl:5.014002 os:linux user:fhem pid:6413)
2016.01.10 20:34:39 4: Connection accepted from FRM_1_192.168.1.25_1039
2016.01.10 20:34:40 5: FRM:>ff
2016.01.10 20:34:43 3: querying Firmata Firmware Version
2016.01.10 20:34:43 5: FRM:>f079f7
2016.01.10 20:34:43 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100f7
2016.01.10 20:34:43 3: Firmata Firmware Version: ConfigurableFirmata V_2_06
2016.01.10 20:34:43 5: FRM:>f069f7
2016.01.10 20:34:43 5: FRM:>f06bf7
2016.01.10 20:34:43 5: FRM:<f06a7f7f7f7f7f7f7f7f7f7f7f7f7f7f0001020304050607f7
2016.01.10 20:34:43 5: FRM:<f06c7f7f0101091c7f01010308091c7f7f010103087f010103087f01017f01017f010103087f7f7f7f7f01017f01017f01017f01017f010106017f010106017f7f7ff7
2016.01.10 20:34:43 5: FRM:>f07a6807f7
2016.01.10 20:34:43 5: FRM:>f41206
2016.01.10 20:34:43 5: FRM:>f41306
2016.01.10 20:34:43 5: FRM:>f07830eaf7
2016.01.10 20:34:43 5: FRM:>f07677082a011600f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',32) to Register 0
2016.01.10 20:34:43 5: FRM:>f076410000002000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0) to Register 1
2016.01.10 20:34:43 5: FRM:>f076410001000000f7
2016.01.10 20:34:43 1: PERL WARNING: Use of uninitialized value $modereg1 in bitwise and (&) at ./FHEM/52_I2C_PCA9685.pm line 182.
2016.01.10 20:34:43 5: PWM: 65 write join (' ',16) to Register 0
2016.01.10 20:34:43 5: FRM:>f076410000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',106) to Register 254
2016.01.10 20:34:43 5: FRM:>f07641007e016a00f7
2016.01.10 20:34:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/52_I2C_PCA9685.pm line 184.
2016.01.10 20:34:43 1: PERL WARNING: Use of uninitialized value $data[0] in join or string at ./FHEM/52_I2C_PCA9685.pm line 383.
2016.01.10 20:34:43 5: PWM: 65 write join (' ',) to Register 0
2016.01.10 20:34:43 1: PERL WARNING: Use of uninitialized value $data[0] in join or string at ./FHEM/52_I2C_PCA9685.pm line 384.
2016.01.10 20:34:43 5: FRM:>f07641000000f7
2016.01.10 20:34:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/52_I2C_PCA9685.pm line 185.
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 6
2016.01.10 20:34:43 5: FRM:>f076410006000000000000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 10
2016.01.10 20:34:43 5: FRM:>f07641000a000000000000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 14
2016.01.10 20:34:43 5: FRM:>f07641000e000000000000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 18
2016.01.10 20:34:43 5: FRM:>f076410012000000000000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 22
2016.01.10 20:34:43 5: FRM:>f076410016000000000000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 26
2016.01.10 20:34:43 5: FRM:>f07641001a000000000000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 30
2016.01.10 20:34:43 5: FRM:>f07641001e000000000000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 34
2016.01.10 20:34:43 5: FRM:>f076410022000000000000001000f7
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 38
2016.01.10 20:34:44 5: FRM:>f076410026000000000000001000f7
2016.01.10 20:34:44 5: PWM: 65 write join (' ',0 0 0 16) to Register 42
2016.01.10 20:34:44 5: FRM:>f07641002a000000000000001000f7
2016.01.10 20:34:44 5: PWM: 65 write join (' ',0 0 0 16) to Register 46
2016.01.10 20:34:44 5: FRM:>f07641002e000000000000001000f7
2016.01.10 20:34:44 5: PWM: 65 write join (' ',0 0 0 16) to Register 50
2016.01.10 20:34:44 5: FRM:>f076410032000000000000001000f7
2016.01.10 20:34:44 5: PWM: 65 write join (' ',0 0 0 16) to Register 54
2016.01.10 20:34:44 5: FRM:>f076410036000000000000001000f7
2016.01.10 20:34:44 5: PWM: 65 write join (' ',0 0 0 16) to Register 58
2016.01.10 20:34:44 5: FRM:>f07641003a000000000000001000f7
2016.01.10 20:34:44 5: PWM: 65 write join (' ',0 0 0 16) to Register 62
2016.01.10 20:34:44 5: FRM:>f07641003e000000000000001000f7
2016.01.10 20:34:44 5: PWM: 65 write join (' ',0 0 0 16) to Register 66
2016.01.10 20:34:44 5: FRM:>f076410042000000000000001000f7
2016.01.10 20:34:44 5: FRM:>f40201
2016.01.10 20:34:44 5: FRM:>900000
2016.01.10 20:34:44 5: FRM:>f40303
2016.01.10 20:34:49 5: FRM:<f07777002a01200035007b012d014501700105015d016200700136001800190073000000290000010000510176010a003c00f7
2016.01.10 20:34:49 5: onI2CMessage address: '119', register: '170' data: [32,53,251,173,197,240,133,221,98,240,54,24,25,115,0,41,128,0,209,246,10,60]
2016.01.10 20:34:59 5: PWM: 65 read 64 Byte from Register 6
2016.01.10 20:34:59 5: FRM:>f076410806004000f7
2016.01.10 20:34:59 5: FRM:<f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077410006001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100030007500360002001c0101000801020000000000000000000a01020015004a000700000000000000760041000800060000004000000000000000000000001000f7
2016.01.10 20:34:59 3: received String_data: I2C: Too few bytes received
2016.01.10 20:34:59 5: onI2CMessage address: '65', register: '6' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,65,8,6,0,64,0,0,0,0,0,16]
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 16 16 16 16
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 16 16 16 16
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 16 16 16 16
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 16 16 16 16
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 16 16 16 16
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 16 16 16 16
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 16 16 16 16
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 16 16 16 16
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 32; Inh: 48 117 54 2
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 36; Inh: 156 1 136 2
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 40; Inh: 0 0 0 0
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 44; Inh: 138 2 21 74
2016.01.10 20:34:59 5: PWM: lese mehrere Ports - Reg: 6 ; i: 48; Inh: 7 0 0 0
2016.01.10 20:35:00 5: PWM: lese mehrere Ports - Reg: 6 ; i: 52; Inh: 118 65 8 6
2016.01.10 20:35:00 5: PWM: lese mehrere Ports - Reg: 6 ; i: 56; Inh: 0 64 0 0
2016.01.10 20:35:00 5: PWM: lese mehrere Ports - Reg: 6 ; i: 60; Inh: 0 0 0 16
2016.01.10 20:35:00 5: FRM:<f07700000000f7
2016.01.10 20:35:00 5: onI2CMessage address: '0', register: '0' data: []
2016.01.10 20:35:00 5: FRM:<f07700000000f7f07700000000f7
2016.01.10 20:35:00 5: onI2CMessage address: '0', register: '0' data: []
2016.01.10 20:35:00 5: onI2CMessage address: '0', register: '0' data: []
2016.01.10 20:35:00 5: FRM:<f07700000000f7f07700000000f7
2016.01.10 20:35:00 5: onI2CMessage address: '0', register: '0' data: []
2016.01.10 20:35:00 5: onI2CMessage address: '0', register: '0' data: []
2016.01.10 20:35:00 5: FRM:<f07700000000f7f07700000000f7f07700000000f7
2016.01.10 20:35:00 5: onI2CMessage address: '0', register: '0' data: []
2016.01.10 20:35:00 5: onI2CMessage address: '0', register: '0' data: []
2016.01.10 20:35:00 5: onI2CMessage address: '0', register: '0' data: []
2016.01.10 20:35:01 5: FRM:<f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000000001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7
2016.01.10 20:35:01 3: received String_data: I2C: Too few bytes received
2016.01.10 20:35:01 5: onI2CMessage address: '0', register: '0' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
2016.01.10 20:35:01 3: received String_data: I2C: Too few bytes received
2016.01.10 20:35:01 5: onI2CMessage address: '16', register: '16' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
2016.01.10 20:35:01 3: received String_data: I2C: Too few bytes received
2016.01.10 20:35:01 5: onI2CMessage address: '16', register: '16' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
2016.01.10 20:35:01 3: received String_data: I2C: Too few bytes received
2016.01.10 20:35:01 5: onI2CMessage address: '16', register: '16' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
2016.01.10 20:35:01 3: received String_data: I2C: Too few bytes received
2016.01.10 20:35:01 5: onI2CMessage address: '16', register: '16' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
2016.01.10 20:35:01 3: received String_data: I2C: Too few bytes received
2016.01.10 20:35:01 5: onI2CMessage address: '16', register: '16' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
2016.01.10 20:35:01 3: received String_data: I2C: Too few bytes received
2016.01.10 20:35:01 5: onI2CMessage address: '16', register: '16' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
2016.01.10 20:35:01 3: received String_data: I2C: Too few bytes received
2016.01.10 20:35:02 5: onI2CMessage address: '16', register: '16' data: [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
2016.01.10 20:35:02 5: FRM:<f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100030007500360002001c0101000801020000000000000000000a01020015004a00070000000000000076004100080006000000400000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000000001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077100010001000100010001000100010001000100010001000100010001000100010001000f7

klausw

Hi Stefan,
Zitat von: thymjan am 09 Januar 2016, 23:13:01

mit den Servos und dem Modul und fhem bin ich nicht viel weiter gekommen. Am Arduino angeschlossen mit den Adafruit Testsketches ist es mir gelungen im möglichen Bereich der Servos bestimmte Gradwinkel einzustellen und Fahrten mit unterschiedlichen Geschwindigkeiten zu machen.
Die Gedanken aus dem vorigen Post sind gar nicht so abwegig. Sollte also eigentlich möglich sein den Servo mit PWM-Stellung zwischen 150-650 bei 50/60Hz in einem Winkel von 0-180 zu stellen.
Die Servos sind ziemlich stark, obwohl ich hier nur Mikroservos habe. Ob sich damit auch eine Fensteröffnung realisieren liese? Aber das Haltemoment lässt wohl nach, wenn der Strom abgeschalten wird. Bzw. verbrauchen die Servos Strom zum Nachregeln wenn sie in "Ruhe" sind.
Habe aber irgendwo schon Servos mit Schneckengetriebe gesehen.
Bei normalen Servos ist das Haltemoment meines Wissens ohne Versorgung so gut wie weg.
Auch der Energieverbrauch, wenn der Servo ständig gegen eine mechanische Kraft halten muss ist sicher nicht zu verachten.
Du hast du ne super Lösung für die Fenster ;)

Zitat von: thymjan am 09 Januar 2016, 23:13:01
habe das Modul mal an den Ethernet-ConfigurableFirmata-Arduino gehängt. Sieht gar nicht so schlecht aus!
Modul wird erkannt. Initialisiert sich. Register werden sauber ausgelesen. Das Stellen eines PWM-Wertes funktioniert bei mir dann allerdings nicht mehr. Da kommen dann exponentiell im knappen Sekundenrhythmus leere FRM-Nachrichten an. Kann nur noch durch einen Reset des FRM-Moduls gestoppt werden. Muss das log noch etwas studieren... Vielleicht ist es auch sinnvoll das ganze zunächst am usb-port zu testen.
USB, Oder Lan sollte eigentlich egal sein.
Es wird entweder gelesen, oder geschrieben. "Send - Pause - Request" wie bei den Sensoren gibt es nicht.
Ich habe noch eine neue Modulversion hochgeladen. Die Fehlermeldungen sind jetzt weg/anders. Versuche bitte nochmal damit.
- bei Frequenzwechsel werden die Ports nochmal neu geschrieben. Daher gehen sie jetzt nur noch kurz aus und bekommen ihren alten Zustand gleich wieder
- bei Init wird erst das Modreg2 ausgelesen, dann 0,5s gewartet (danach wird bei Neustart das Modreg2 nur geschrieben, wenn ein anderer Wert rein soll) So wird verhindert, das bei FHEM Neustart die Ausgänge kurz toggeln.
- bugfix beim Log:
2016.01.10 20:34:43 5: PWM: 65 write join (' ',0 0 0 16) to Register 6
join ist ein Befehl und soll ausgeführt und nicht angezeigt werden.
- Configregister Attribute werden blockiert, solange das Modul nicht initialisiert wurde. (FHEM scheint die AttrFn auszuführen wenn die I2C Adresse noch gar nicht übernommen wurde)
Zu deinem Logfile:
beim neustart werden zuerst die Configregister geschrieben:
PWM: 65 write 32 to Register 0 -> Bit5 vom Modreg1 setzen (Register Auto increment) so können mehrere Register mit einem Befehl gesendet werden.
danach kommen die Ports (da hier 4 Bytes auf einmal geschrieben werden ist es wichtig, das Bit5 in Modreg1 gesetzt ist):
PWM: 65 write 0 to Register 1 -> Modreg2 alle Register auf 0 (Standard im neuen Modul ist 4 "Bit3 gesetzt" -> Ausgänge als push pull)
PWM: 65 write 0 0 0 16 to Register 6 -> Register 6 - 9 werden geschrieben (PWM Werte für LED0 schreiben in diesem Fall Off)
...
PWM: 65 write 0 0 0 16 to Register 66 -> Register 6 - 9 werden geschrieben (PWM Werte für LED15 schreiben in diesem Fall Off)

Beim Neuladen der Übersichtsseite werden alle Ports aktualisiert (evtl. sollte ich das noch entfernen. Deine Meinung):
PWM: 65 read 64 Byte from Register 6 -> (lesen ... ist erst im aktuellen Modul vorhanden)
Hier werden 64 Bytes in einem Rutsch ausgelesen (geht das überhaupt in FRM?)
Die Antwort wird in einer Schleife verarbeitet:
PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 16 16 16 16 (das sieht so aus als ob (Register Auto increment) nicht gesetzt ist): dann hätte er eben beim write 0 0 0 16 nacheinander in Register 6 geschrieben also steht eine 16 in 6 drin. Beim auslesen geht (Register Auto increment) natürlich auch nicht, so wird 4x die 16 ausgelesen.
...
PWM: lese mehrere Ports - Reg: 6 ; i: 60; Inh: 0 0 0 16 (hier scheint es seltsamerweise zu stimmen)

Es wäre gut, wenn du einzelne Register mit FRM_I2C auslesen könntest das zu überprüfen.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

thymjan

#20
Hallo Klaus,

jetzt hängt sich der Arduino bzw. das FRM-Modul schon beim define auf.

Also ich gebe ein: define PWM I2C_PCA9685 0x41

und im log geht die luzie ab (Endlosschleife):2016.01.11 20:03:39 5: FRM:>ff <-- hier habe ich FRM zurückgesetzt ("reset")
2016.01.11 20:05:12 4: Connection accepted from FRM_1_192.168.1.25_1025  <-- Nach Kaltstart vom Arduino wird Verbindung aufgebaut
2016.01.11 20:05:12 5: FRM:>ff
2016.01.11 20:05:15 3: querying Firmata Firmware Version
2016.01.11 20:05:15 5: FRM:>f079f7
2016.01.11 20:05:15 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100f7
2016.01.11 20:05:15 3: Firmata Firmware Version: ConfigurableFirmata V_2_06
2016.01.11 20:05:15 5: FRM:>f069f7
2016.01.11 20:05:15 5: FRM:>f06bf7
2016.01.11 20:05:15 5: FRM:<f06a7f7f7f7f7f7f7f7f7f7f7f7f7f7f0001020304050607f7f06c7f7f0101091c7f01010308091c7f7f010103087f010103087f01017f01017f010103087f7f7f7f7f01017f01017f01017f01017f010106017f010106017f7f7ff7
2016.01.11 20:05:15 5: FRM:>f07a6807f7
2016.01.11 20:05:15 5: FRM:>f41206
2016.01.11 20:05:15 5: FRM:>f41306
2016.01.11 20:05:15 5: FRM:>f07830eaf7
2016.01.11 20:05:15 5: FRM:>f07677082a011600f7
2016.01.11 20:05:15 5: FRM:>f40201
2016.01.11 20:05:15 5: FRM:>900000
2016.01.11 20:05:15 5: FRM:>f40303
2016.01.11 20:05:16 5: FRM:<f07777002a01200035007b012d014501700105015d016200700136001800190073000000290000010000510176010a003c00f7
2016.01.11 20:05:16 5: onI2CMessage address: '119', register: '170' data: [32,53,251,173,197,240,133,221,98,240,54,24,25,115,0,41,128,0,209,246,10,60] <-- BMP180
2016.01.11 20:05:25 5: FRM:>f07639080a010100f7
2016.01.11 20:05:25 5: FRM:<f07739000a015000f7
2016.01.11 20:05:25 5: onI2CMessage address: '57', register: '138' data: [80] <-- TSL2561
2016.01.11 20:05:25 5: FRM:>f076390001011200f7
2016.01.11 20:05:25 5: FRM:>f076390801010100f7
2016.01.11 20:05:27 5: FRM:<f077390001011200f7
2016.01.11 20:05:27 5: onI2CMessage address: '57', register: '129' data: [18] <-- TSL2561
2016.01.11 20:05:27 5: FRM:>f076390000010300f7
2016.01.11 20:05:27 5: FRM:>f076390800010100f7
2016.01.11 20:05:27 5: FRM:<f077390000010300f7
2016.01.11 20:05:27 5: onI2CMessage address: '57', register: '128' data: [3] <-- TSL2561
2016.01.11 20:05:27 5: FRM:>f07639082c010200f7
2016.01.11 20:05:27 5: FRM:>f07639082e010200f7
2016.01.11 20:05:28 5: FRM:<f07739002c0106000000f7
2016.01.11 20:05:28 5: onI2CMessage address: '57', register: '172' data: [6,0] <-- TSL2561
2016.01.11 20:05:28 5: FRM:<f07739002e0101000000f7
2016.01.11 20:05:28 5: onI2CMessage address: '57', register: '174' data: [1,0] <-- TSL2561
2016.01.11 20:05:28 5: FRM:>f076390000010000f7
2016.01.11 20:06:31 5: FRM:>e37f01
2016.01.11 20:06:34 5: FRM:>e30000
2016.01.11 20:06:36 5: FRM:>900400
2016.01.11 20:06:39 5: FRM:>900000
2016.01.11 20:06:55 5: FRM:>f076770074012e00f7
2016.01.11 20:06:55 5: FRM:>f076770876010200f7
2016.01.11 20:06:55 5: FRM:>f076770074017401f7
2016.01.11 20:06:55 5: FRM:>f076770876010300f7
2016.01.11 20:06:56 5: FRM:<f0777700760150006100f7f07777007601240176014000f7
2016.01.11 20:06:56 5: onI2CMessage address: '119', register: '246' data: [80,97] <-- BMP180
2016.01.11 20:06:56 5: onI2CMessage address: '119', register: '246' data: [164,246,64] <-- BMP180
2016.01.11 20:07:39 5: FRM:>f076410801000100f7
2016.01.11 20:07:39 5: FRM:>f07641087e010100f7 <-- das ist die erste Kommunikation vom  PCA9685 (nach dem define)
2016.01.11 20:07:39 5: FRM:>f076410000002000f7
2016.01.11 20:07:39 5: FRM:>f076410001000400f7
2016.01.11 20:07:39 5: FRM:>f076410006000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f07641000a000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f07641000e000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f076410012000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f076410016000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f07641001a000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f07641001e000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f076410022000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f076410026000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f07641002a000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f07641002e000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f076410032000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f076410036000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f07641003a000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f07641003e000000000000001000f7
2016.01.11 20:07:39 5: FRM:>f076410042000000000000001000f7
2016.01.11 20:07:40 5: FRM:<f077410001000400f7f07741007e011e00f7
2016.01.11 20:07:40 5: onI2CMessage address: '65', register: '1' data: [4]
2016.01.11 20:07:40 5: onI2CMessage address: '65', register: '254' data: [30]
2016.01.11 20:07:40 5: FRM:>f076410806004000f7
2016.01.11 20:07:41 5: FRM:<f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100030007500360002001c0101000801020000000000000000000a01020015004a000700000000000000760041000800060000004000000000000000000000001000f7
2016.01.11 20:07:41 3: received String_data: I2C: Too few bytes received
2016.01.11 20:07:41 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,65,8,6,0,64,0,0,0,0,0,16]
2016.01.11 20:07:41 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100030007500360002001c0101000801020000000000000000000a01020015004a00070000000000000076004100080006000000400000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7
2016.01.11 20:07:41 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:41 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:41 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:41 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:41 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:41 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:41 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:42 3: received String_data: I2C: Too few bytes received
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,65,8,6,0,64,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2016.01.11 20:07:42 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:42 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:43 5: FRM:<f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100030007500360002001c0101000801020000000000000000000a01020015004a00070000000000000076004100080006000000400000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7f07700000000f7f07700000000f7f07700000000f7
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:43 3: received String_data: I2C: Too few bytes received
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '16' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,65,8,6,0,64,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:43 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:43 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100030007500360002001c0101000801020000000000000000000a01020015004a00070000000000000076004100080006000000400000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:44 3: received String_data: I2C: Too few bytes received
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '16' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,65,8,6,0,64,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2016.01.11 20:07:44 5: FRM:>f076770074012e00f7
2016.01.11 20:07:44 5: FRM:>f076770876010200f7
2016.01.11 20:07:44 5: FRM:>f076770074017401f7
2016.01.11 20:07:44 5: FRM:>f076770876010300f7
2016.01.11 20:07:44 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100030007500360002001c0101000801020000000000000000000a01020015004a00070000000000000076004100080006000000400000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:44 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:45 3: received String_data: I2C: Too few bytes received
2016.01.11 20:07:45 5: onI2CMessage address: '0', register: '16' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,65,8,6,0,64,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2016.01.11 20:07:45 5: FRM:<f0777700760124017601f7f07777007601240176014000f7
2016.01.11 20:07:45 5: onI2CMessage address: '119', register: '246' data: [164,246]
2016.01.11 20:07:45 5: onI2CMessage address: '119', register: '246' data: [164,246,64]
2016.01.11 20:07:46 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000000002401760140001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000100100077000000360002001c0101000801020000000000000000000a01020015004a000700000000000000760077000800760001000300000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000010003007f00010001000100010001007f007f007f007f00000000000000000006000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f0100000501090000000000000000007f0106001801000000000000670106000e000a004f0102000801020000000000000000003200030000000000000000004901020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7f07740001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07701001000f7
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:46 3: received String_data: I2C: Too few bytes received
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '0' data: [164,246,64,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,1,16,119,0,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,119,8,118,1,3,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,1,3,127,1,1,1,1,1,127,127,127,127,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,0,133,9,0,0,0,0,255,6,152,0,0,0,231,6,14,10,207,2,136,2,0,0,0,0,50,3,0,0,0,0,201,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2016.01.11 20:07:46 5: onI2CMessage address: '64', register: '16' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:46 5: onI2CMessage address: '1', register: '16' data: []
2016.01.11 20:07:46 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000000002401760140001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000100100077000000360002001c0101000801020000000000000000000a01020015004a000700000000000000760077000800760001000300000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000010003007f00010001000100010001007f007f007f007f00000000000000000006000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f0100000501090000000000000000007f0106001801000000000000670106000e000a004f0102000801020000000000000000003200030000000000000000004901020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7f07740001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07701001000f7
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 3: received String_data: I2C: Too few bytes received
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: [164,246,64,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,1,16,119,0,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,119,8,118,1,3,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,1,3,127,1,1,1,1,1,127,127,127,127,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,0,133,9,0,0,0,0,255,6,152,0,0,0,231,6,14,10,207,2,136,2,0,0,0,0,50,3,0,0,0,0,201,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2016.01.11 20:07:47 5: onI2CMessage address: '64', register: '16' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '1', register: '16' data: []
2016.01.11 20:07:47 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000000002401760140001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000100100077000000360002001c0101000801020000000000000000000a01020015004a000700000000000000760077000800760001000300000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000010003007f00010001000100010001007f007f007f007f00000000000000000006000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f0100000501090000000000000000007f0106001801000000000000670106000e000a004f0102000801020000000000000000003200030000000000000000004901020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7f07740001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07701001000f7
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:47 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:07:48 3: received String_data: I2C: Too few bytes received
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '0' data: [164,246,64,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,1,16,119,0,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,119,8,118,1,3,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,1,3,127,1,1,1,1,1,127,127,127,127,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,0,133,9,0,0,0,0,255,6,152,0,0,0,231,6,14,10,207,2,136,2,0,0,0,0,50,3,0,0,0,0,201,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2016.01.11 20:07:48 5: onI2CMessage address: '64', register: '16' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:07:48 5: onI2CMessage address: '1', register: '16' data: []


Gruß,
Stefan

thymjan

#21
und das log nach Neustart wenn das Modul bereits definiert ist.

list PWM:
Internals:
   DEF        0x41
   FRM_1_SENDSTAT Ok
   Frequency  196.9 Hz
   I2C_Address 65
   IODev      FRM_1
   NAME       PWM
   NR         130
   STATE      Ok
   TYPE       I2C_PCA9685
   Readings:
     2016-01-11 20:36:16   Port00          off
     2016-01-11 20:36:16   Port01          off
     2016-01-11 20:36:16   Port02          off
     2016-01-11 20:36:16   Port03          off
     2016-01-11 20:36:16   Port04          off
     2016-01-11 20:36:16   Port05          off
     2016-01-11 20:36:16   Port06          off
     2016-01-11 20:36:16   Port07          off
     2016-01-11 20:36:16   Port08          on
     2016-01-11 20:36:16   Port09          236
     2016-01-11 20:36:16   Port10          4096
     2016-01-11 20:36:16   Port11          off
     2016-01-11 20:36:16   Port12          4089
     2016-01-11 20:36:16   Port13          on
     2016-01-11 20:36:16   Port14          on
     2016-01-11 20:36:16   Port15          off
     2016-01-11 20:36:16   Port_d09        412
     2016-01-11 20:36:16   Port_d10        0
     2016-01-11 20:36:16   Port_d12        7
     2016-01-11 20:37:58   state           Ok
   Confregs:
     1          4
Attributes:
   IODev      FRM_1
   room       firmata
   verbose    5


2016.01.11 20:35:02 1: PERL WARNING: Use of uninitialized value in numeric ne (!=) at ./FHEM/52_I2C_PCA9685.pm line 232.
2016.01.11 20:35:15 5: PWM: 65 read 64 Byte from Register 6
2016.01.11 20:36:01 4: Connection accepted from FRM_1_192.168.1.25_1025
2016.01.11 20:36:01 5: FRM:>ff
2016.01.11 20:36:04 3: querying Firmata Firmware Version
2016.01.11 20:36:04 5: FRM:>f079f7
2016.01.11 20:36:04 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100f7
2016.01.11 20:36:04 3: Firmata Firmware Version: ConfigurableFirmata V_2_06
2016.01.11 20:36:04 5: FRM:>f069f7
2016.01.11 20:36:04 5: FRM:>f06bf7
2016.01.11 20:36:04 5: FRM:<f06a7f7f7f7f7f7f7f7f7f7f7f7f7f7f0001020304050607f7
2016.01.11 20:36:04 5: FRM:<f06c7f7f0101091c7f01010308091c7f7f010103087f01010308
2016.01.11 20:36:04 5: FRM:<7f01017f01017f010103087f7f7f7f7f01017f01017f01017f01017f010106017f010106017f7f7ff7
2016.01.11 20:36:04 5: FRM:>f07a6807f7
2016.01.11 20:36:04 5: FRM:>f41206
2016.01.11 20:36:04 5: FRM:>f41306
2016.01.11 20:36:04 5: FRM:>f07830eaf7
2016.01.11 20:36:04 5: FRM:>f07677082a011600f7
2016.01.11 20:36:04 5: PWM: 65 read 1 Byte from Register 1
2016.01.11 20:36:04 5: FRM:>f076410801000100f7
2016.01.11 20:36:04 5: PWM: 65 read 1 Byte from Register 254
2016.01.11 20:36:04 5: FRM:>f07641087e010100f7
2016.01.11 20:36:04 5: PWM: 65 write 32 to Register 0
2016.01.11 20:36:04 5: FRM:>f076410000002000f7
2016.01.11 20:36:04 5: PWM: 65 write 4 to Register 1
2016.01.11 20:36:04 5: FRM:>f076410001000400f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 6
2016.01.11 20:36:04 5: FRM:>f076410006000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 10
2016.01.11 20:36:04 5: FRM:>f07641000a000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 14
2016.01.11 20:36:04 5: FRM:>f07641000e000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 18
2016.01.11 20:36:04 5: FRM:>f076410012000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 22
2016.01.11 20:36:04 5: FRM:>f076410016000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 26
2016.01.11 20:36:04 5: FRM:>f07641001a000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 30
2016.01.11 20:36:04 5: FRM:>f07641001e000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 34
2016.01.11 20:36:04 5: FRM:>f076410022000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 38
2016.01.11 20:36:04 5: FRM:>f076410026000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 42
2016.01.11 20:36:04 5: FRM:>f07641002a000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 46
2016.01.11 20:36:04 5: FRM:>f07641002e000000000000001000f7
2016.01.11 20:36:04 5: PWM: 65 write 0 0 0 16 to Register 50
2016.01.11 20:36:04 5: FRM:>f076410032000000000000001000f7
2016.01.11 20:36:05 5: PWM: 65 write 0 0 0 16 to Register 54
2016.01.11 20:36:05 5: FRM:>f076410036000000000000001000f7
2016.01.11 20:36:05 5: PWM: 65 write 0 0 0 16 to Register 58
2016.01.11 20:36:05 5: FRM:>f07641003a000000000000001000f7
2016.01.11 20:36:05 5: PWM: 65 write 0 0 0 16 to Register 62
2016.01.11 20:36:05 5: FRM:>f07641003e000000000000001000f7
2016.01.11 20:36:05 5: PWM: 65 write 0 0 0 16 to Register 66
2016.01.11 20:36:05 5: FRM:>f076410042000000000000001000f7
2016.01.11 20:36:05 5: FRM:>f40201
2016.01.11 20:36:05 5: FRM:>900000
2016.01.11 20:36:05 5: FRM:>f40303
2016.01.11 20:36:05 5: FRM:<f07777002a01200035007b012d014501700105015d016200700136001800190073000000290000010000510176010a003c00f7f077410001000400f7f07741007e011e00f7
2016.01.11 20:36:05 5: onI2CMessage address: '119', register: '170' data: [32,53,251,173,197,240,133,221,98,240,54,24,25,115,0,41,128,0,209,246,10,60]
2016.01.11 20:36:05 5: onI2CMessage address: '65', register: '1' data: [4]
2016.01.11 20:36:05 5: onI2CMessage address: '65', register: '254' data: [30]
2016.01.11 20:36:15 5: FRM:>f07639080a010100f7
2016.01.11 20:36:15 5: PWM: 65 read 64 Byte from Register 6
2016.01.11 20:36:15 5: FRM:>f076410806004000f7
2016.01.11 20:36:16 5: FRM:<f07739000a015000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100030007500360002001c0101000801020000000000000000000a01020015004a000700000000000000760041000800060000004000000000000000000000001000f7
2016.01.11 20:36:16 5: onI2CMessage address: '57', register: '138' data: [80]
2016.01.11 20:36:16 5: FRM:>f076390001010200f7
2016.01.11 20:36:16 5: FRM:>f076390801010100f7
2016.01.11 20:36:16 3: received String_data: I2C: Too few bytes received
2016.01.11 20:36:16 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,65,8,6,0,64,0,0,0,0,0,16]
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 0 16
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 0 16
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 32; Inh: 48 117 54 2
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 36; Inh: 156 1 136 2
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 40; Inh: 0 0 0 0
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 44; Inh: 138 2 21 74
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 48; Inh: 7 0 0 0
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 52; Inh: 118 65 8 6
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 56; Inh: 0 64 0 0
2016.01.11 20:36:16 5: PWM: lese mehrere Ports - Reg: 6 ; i: 60; Inh: 0 0 0 16
2016.01.11 20:36:17 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100030007500360002001c0101000801020000000000000000000a01020015004a00070000000000000076004100080006000000400000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7f077390001010200f7
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:17 3: received String_data: I2C: Too few bytes received
2016.01.11 20:36:17 5: onI2CMessage address: '0', register: '16' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,0,118,65,8,6,0,64,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2016.01.11 20:36:17 5: onI2CMessage address: '57', register: '129' data: [2]
2016.01.11 20:36:17 5: FRM:>f076390000010300f7
2016.01.11 20:36:17 5: FRM:>f076390800010100f7
2016.01.11 20:36:18 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07701001000f7f077390000010300f7
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '1', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '57', register: '128' data: [3]
2016.01.11 20:36:18 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07701001000f7
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:18 5: onI2CMessage address: '1', register: '16' data: []
2016.01.11 20:36:19 5: FRM:>f07639082c010200f7
2016.01.11 20:36:19 5: FRM:>f07639082e010200f7
2016.01.11 20:36:19 5: FRM:<f07739002c0100000000f7f07739002e0100000000f7
2016.01.11 20:36:19 5: onI2CMessage address: '57', register: '172' data: [0,0]
2016.01.11 20:36:19 5: onI2CMessage address: '57', register: '174' data: [0,0]
2016.01.11 20:36:19 5: FRM:>f076390000010000f7
2016.01.11 20:36:19 5: FRM:>f076390001011200f7
2016.01.11 20:36:19 5: FRM:>f076390801010100f7
2016.01.11 20:36:19 5: FRM:<f077390001011200f7
2016.01.11 20:36:19 5: onI2CMessage address: '57', register: '129' data: [18]
2016.01.11 20:36:19 5: FRM:>f076390000010300f7
2016.01.11 20:36:19 5: FRM:>f076390800010100f7
2016.01.11 20:36:19 5: FRM:<f077390000010300f7
2016.01.11 20:36:19 5: onI2CMessage address: '57', register: '128' data: [3]
2016.01.11 20:36:19 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07701001000f7
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:19 5: onI2CMessage address: '1', register: '16' data: []
2016.01.11 20:36:20 5: FRM:>f07639082c010200f7
2016.01.11 20:36:20 5: FRM:>f07639082e010200f7
2016.01.11 20:36:20 5: FRM:<f07739002c0106000000f7f07739002e0101000000f7
2016.01.11 20:36:20 5: onI2CMessage address: '57', register: '172' data: [6,0]
2016.01.11 20:36:20 5: onI2CMessage address: '57', register: '174' data: [1,0]
2016.01.11 20:36:20 5: FRM:>f076390000010000f7
2016.01.11 20:36:20 5: FRM:<f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700000000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07700001000f7f07701001000f7
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '0' data: []
2016.01.11 20:36:20 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:21 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:21 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:21 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:21 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:21 5: onI2CMessage address: '0', register: '16' data: []
2016.01.11 20:36:21 5: onI2CMessage address: '0', register: '16' data: []


usw.

Das Hardware-Modul bzw. der IC scheint ja die Einstellungen permanent zu speichern.
Mach es Sinn eine Funktion "Factory defaults" oder "reset" zu implementieren, die die Register zurücksetzt?

Zu Deiner Frage wann die Register ausgelesen werden sollten, meine Überlegung:
Nach define und beim Initialisieren macht es doch Sinn die Übersicht zu haben, hier würde ich alle Register auslesen.
Nach dem Schreiben auf einen PWM-Port reicht es doch aus nur diesen Auszulesen um das Reading zu aktualisieren?
Nach dem Schreiben mit "all" sollten ebenso alle Register ausgelesen werden, damit alle Readings aktuell sind.
Dann sollte das Register lesen beim Aufruf im WebFrontend doch überflüssig sein, oder?

Gruß,
Stefan

klausw

Witzig, da scheint das FRM selbst zu spinnen.
Es schickt ellenlange Pakete zurück, die unter anderem auch den Inhalt von Register 6-70 enthallten, dafür aber keine I2C Adresse.

Mir ist folgendes aufgefallen:

  • GrtFn wird ausgeführt bevor FRM initialisiert wurde:
    "PWM: 65 read 64 Byte from Register 6" das geht aber nie zu FRM durch (sollte also kein Problem sein)
  • nach:
    "PWM: 65 read 1 Byte from Register 1"
    und
    "PWM: 65 read 1 Byte from Register 254"
    sollte 100ms gewartet werden, um die Ergebnisse zu bekommen
    Hier kommt das Ergebnis erst nach der Initialisierung der Ports (und kann somit nicht für die Initialisierung verwendet werden)
Beides ist nicht schön, aber es sollte trotzdem funktionieren.

Das Drama geht erst los wenn nochmal alle Ports angefordert werden
"2016.01.11 20:36:15 5: PWM: 65 read 64 Byte from Register 6"
Die Register scheinen zurückgeliefert zu werden (teilweise scheinen sie aber nicht korrekt zu sein)
Danach kommen aber immer wieder unaufgefordert Botschaften von FRM die zwar Daten, aber keine I2C Adressen enthalten.
Eventuell kann FRM keine 70 Register auf einmal auslesen.
Hast du da Infos zu?

Kommentiere bitte die GetFn mal aus (Zeile 72)
Dann werden diese langen Botschaften nicht mehr angefordert

Zeile 120 durch delay(2) ersetzen. Das sorgt dafür das nach dem anfordern der Configregister 2s gewartet wird. Das reicht hoffentlich.
Letztendlich muss ich doch alles komplett asynchron aufbauen.

Könntest du für die tests alle anderen frm teilnehmer rausnehmen?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

thymjan

Hallo Klaus,

bekomme gerade hier gar nichts gebacken... und war kurz davor den Kopf in den Sand zu stecken...

Aber ich habe Deine Vorschläge umgesetzt:

Zeile 72 habe ich auskommentiert:
#       $hash->{GetFn}    = "I2C_PCA9685_Get";

Zeile 120 ebenfalls auskommentiert und den delay(2) danach eingebaut:
#       select(undef, undef, undef, 0.1);
        usleep(2*1000*1000);


... und: Spuk vorbei. Gibt zwar keine Readings mehr, aber ich kann meine LEDs schön dimmen und ein- und ausschalten.
Habe noch in modreg2 "INVRT" gesetzt, damit "0 = LED aus" ergibt und "4096 = LED an".
Lediglich prescale funktioniert nicht so recht, die Frequenz ändert sich nicht und ist immer auf "196.9 Hz" eingestellt.

2016.01.12 21:48:19 1: I2C_TSL2561_Define start: 3/Lichtsensor I2C_TSL2561 0x39
2016.01.12 21:48:20 1: Including ./log/fhem.save
2016.01.12 21:48:21 4: PWM: STATE kann auf defined wiederhergestellt werden 2016-01-12 21:48:21
2016.01.12 21:48:21 3: FRM_1: port 3031 opened
2016.01.12 21:48:21 0: Server started with 81 defined entities (fhem.pl:10462/2016-01-11 perl:5.014002 os:linux user:fhem pid:20666)
2016.01.12 21:49:00 5: PWM: 65 read 1 Byte from Register 1
2016.01.12 21:49:00 5: PWM: 65 read 1 Byte from Register 254
2016.01.12 21:49:02 5: PWM: 65 write 32 to Register 0
2016.01.12 21:49:02 1: PERL WARNING: Use of uninitialized value in numeric ne (!=) at ./FHEM/52_I2C_PCA9685.pm line 234.
2016.01.12 21:49:02 5: PWM: 65 write 4 to Register 1
2016.01.12 21:49:02 5: PWM: 65 write 0 0 0 16 to Register 6
2016.01.12 21:49:02 5: PWM: 65 write 0 0 0 16 to Register 10
2016.01.12 21:49:02 5: PWM: 65 write 0 0 0 16 to Register 14
2016.01.12 21:49:02 5: PWM: 65 write 0 0 0 16 to Register 18
2016.01.12 21:49:02 5: PWM: 65 write 0 0 0 16 to Register 22
2016.01.12 21:49:02 5: PWM: 65 write 0 0 0 16 to Register 26
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 30
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 34
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 38
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 42
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 46
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 50
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 54
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 58
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 62
2016.01.12 21:49:03 5: PWM: 65 write 0 0 0 16 to Register 66
2016.01.12 21:49:27 4: Connection accepted from FRM_1_192.168.1.25_1025
2016.01.12 21:49:27 5: FRM:>ff
2016.01.12 21:49:30 3: querying Firmata Firmware Version
2016.01.12 21:49:30 5: FRM:>f079f7
2016.01.12 21:49:30 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100f7
2016.01.12 21:49:30 3: Firmata Firmware Version: ConfigurableFirmata V_2_06
2016.01.12 21:49:30 5: FRM:>f069f7
2016.01.12 21:49:30 5: FRM:>f06bf7
2016.01.12 21:49:30 5: FRM:<f06a7f7f7f7f7f7f7f7f7f7f7f7f7f7f0001020304050607f7f06c7f7f0101091c7f01010308091c7f7f010103087f010103087f01017f01017f010103087f7f7f7f7f01017f01017f01017f01017f010106017f010106017f7f7ff7
2016.01.12 21:49:30 5: FRM:>f07a6807f7
2016.01.12 21:49:30 5: FRM:>f41206
2016.01.12 21:49:30 5: FRM:>f41306
2016.01.12 21:49:30 5: FRM:>f07830eaf7
2016.01.12 21:49:30 5: FRM:>f07677082a011600f7
2016.01.12 21:49:30 5: PWM: 65 read 1 Byte from Register 1
2016.01.12 21:49:30 5: FRM:>f076410801000100f7
2016.01.12 21:49:30 5: PWM: 65 read 1 Byte from Register 254
2016.01.12 21:49:30 5: FRM:>f07641087e010100f7
2016.01.12 21:49:32 5: PWM: 65 write 32 to Register 0
2016.01.12 21:49:32 5: FRM:>f076410000002000f7
2016.01.12 21:49:32 5: PWM: 65 write 4 to Register 1
2016.01.12 21:49:32 5: FRM:>f076410001000400f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 6
2016.01.12 21:49:32 5: FRM:>f076410006000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 10
2016.01.12 21:49:32 5: FRM:>f07641000a000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 14
2016.01.12 21:49:32 5: FRM:>f07641000e000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 18
2016.01.12 21:49:32 5: FRM:>f076410012000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 22
2016.01.12 21:49:32 5: FRM:>f076410016000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 26
2016.01.12 21:49:32 5: FRM:>f07641001a000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 30
2016.01.12 21:49:32 5: FRM:>f07641001e000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 34
2016.01.12 21:49:32 5: FRM:>f076410022000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 38
2016.01.12 21:49:32 5: FRM:>f076410026000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 42
2016.01.12 21:49:32 5: FRM:>f07641002a000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 46
2016.01.12 21:49:32 5: FRM:>f07641002e000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 50
2016.01.12 21:49:32 5: FRM:>f076410032000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 54
2016.01.12 21:49:32 5: FRM:>f076410036000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 58
2016.01.12 21:49:32 5: FRM:>f07641003a000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 62
2016.01.12 21:49:32 5: FRM:>f07641003e000000000000001000f7
2016.01.12 21:49:32 5: PWM: 65 write 0 0 0 16 to Register 66
2016.01.12 21:49:32 5: FRM:>f076410042000000000000001000f7
2016.01.12 21:49:32 5: FRM:>f40201
2016.01.12 21:49:32 5: FRM:>900400
2016.01.12 21:49:32 5: FRM:>f40303
2016.01.12 21:49:32 5: FRM:<f07777002a01200035007b012d014501700105015d016200700136001800190073000000290000010000510176010a003c00f7f077410001000400f7f07741007e011e00f7
2016.01.12 21:49:32 5: onI2CMessage address: '119', register: '170' data: [32,53,251,173,197,240,133,221,98,240,54,24,25,115,0,41,128,0,209,246,10,60]
2016.01.12 21:49:32 5: onI2CMessage address: '65', register: '1' data: [4]
2016.01.12 21:49:32 5: onI2CMessage address: '65', register: '254' data: [30]
2016.01.12 21:49:40 5: FRM:>f07639080a010100f7
2016.01.12 21:49:40 5: FRM:<f07739000a015000f7
2016.01.12 21:49:40 5: onI2CMessage address: '57', register: '138' data: [80]
2016.01.12 21:49:40 5: FRM:>f076390001010200f7
2016.01.12 21:49:40 5: FRM:>f076390801010100f7
2016.01.12 21:49:40 5: FRM:<f077390001010200f7
2016.01.12 21:49:40 5: onI2CMessage address: '57', register: '129' data: [2]
2016.01.12 21:49:40 5: FRM:>f076390000010300f7
2016.01.12 21:49:40 5: FRM:>f076390800010100f7
2016.01.12 21:49:40 5: FRM:<f077390000010300f7
2016.01.12 21:49:40 5: onI2CMessage address: '57', register: '128' data: [3]
2016.01.12 21:49:41 5: FRM:>f07639082c010200f7
2016.01.12 21:49:41 5: FRM:>f07639082e010200f7
2016.01.12 21:49:41 5: FRM:<f07739002c0110000000f7
2016.01.12 21:49:41 5: onI2CMessage address: '57', register: '172' data: [16,0]
2016.01.12 21:49:41 5: FRM:<f07739002e0101000000f7
2016.01.12 21:49:41 5: onI2CMessage address: '57', register: '174' data: [1,0]
2016.01.12 21:49:41 5: FRM:>f076390000010000f7
2016.01.12 21:49:41 5: FRM:>f076390001011200f7
2016.01.12 21:49:41 5: FRM:>f076390801010100f7
2016.01.12 21:49:41 5: FRM:<f077390001011200f7
2016.01.12 21:49:41 5: onI2CMessage address: '57', register: '129' data: [18]
2016.01.12 21:49:41 5: FRM:>f076390000010300f7
2016.01.12 21:49:41 5: FRM:>f076390800010100f7
2016.01.12 21:49:41 5: FRM:<f077390000010300f7
2016.01.12 21:49:41 5: onI2CMessage address: '57', register: '128' data: [3]
2016.01.12 21:49:42 5: FRM:>f07639082c010200f7
2016.01.12 21:49:42 5: FRM:>f07639082e010200f7
2016.01.12 21:49:42 5: FRM:<f07739002c017b010000f7
2016.01.12 21:49:42 5: onI2CMessage address: '57', register: '172' data: [251,0]
2016.01.12 21:49:42 5: FRM:<f07739002e0110000000f7
2016.01.12 21:49:42 5: onI2CMessage address: '57', register: '174' data: [16,0]
2016.01.12 21:49:42 5: FRM:>f076390000010000f7
2016.01.12 21:50:35 5: PWM: 65 write 0 0 0 16 to Register 6
2016.01.12 21:50:35 5: FRM:>f076410006000000000000001000f7
2016.01.12 21:50:45 5: PWM: 65 write 0 0 173 6  to Register 66
2016.01.12 21:50:45 5: FRM:>f07641004200000000002d010600f7
2016.01.12 21:50:55 5: PWM: 65 write 0 0 0 16 to Register 66
2016.01.12 21:50:55 5: FRM:>f076410042000000000000001000f7
2016.01.12 21:51:06 5: PWM: 65 write 0 0 255 15  to Register 66
2016.01.12 21:51:06 5: FRM:>f07641004200000000007f010f00f7
2016.01.12 21:51:15 5: PWM: 65 write 0 0 255 15  to Register 62
2016.01.12 21:51:15 5: FRM:>f07641003e00000000007f010f00f7
2016.01.12 21:51:22 5: PWM: 65 write 0 0 255 15  to Register 58
2016.01.12 21:51:22 5: FRM:>f07641003a00000000007f010f00f7
2016.01.12 21:51:28 5: PWM: 65 write 0 0 255 15  to Register 66
2016.01.12 21:51:28 5: FRM:>f07641004200000000007f010f00f7
2016.01.12 21:51:37 5: PWM: 65 write 0 0 255 15  to Register 54
2016.01.12 21:51:37 5: FRM:>f07641003600000000007f010f00f7
2016.01.12 21:52:05 5: PWM: 65 write 16 to Register 1
2016.01.12 21:52:05 5: FRM:>f076410001001000f7
2016.01.12 21:52:14 5: PWM: 65 write 0 0 0 16 to Register 66
2016.01.12 21:52:14 5: FRM:>f076410042000000000000001000f7
2016.01.12 21:52:19 5: PWM: 65 write 0 0 0 16 to Register 62
2016.01.12 21:52:19 5: FRM:>f07641003e000000000000001000f7
2016.01.12 21:52:24 5: PWM: 65 write 0 0 0 16 to Register 250
2016.01.12 21:52:24 5: FRM:>f07641007a010000000000001000f7
2016.01.12 21:52:32 5: PWM: 65 write 0 0 255 15  to Register 250
2016.01.12 21:52:32 5: FRM:>f07641007a01000000007f010f00f7
2016.01.12 21:52:38 5: PWM: 65 write 0 0 4 6  to Register 250
2016.01.12 21:52:38 5: FRM:>f07641007a010000000004000600f7
2016.01.12 21:52:52 1: PERL WARNING: Use of uninitialized value $modereg1 in bitwise and (&) at ./FHEM/52_I2C_PCA9685.pm line 190.
2016.01.12 21:52:52 5: PWM: 65 write 16 to Register 0
2016.01.12 21:52:52 5: FRM:>f076410000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 38 to Register 254
2016.01.12 21:52:52 5: FRM:>f07641007e012600f7
2016.01.12 21:52:52 1: PERL WARNING: Use of uninitialized value $data[0] in join or string at ./FHEM/52_I2C_PCA9685.pm line 411.
2016.01.12 21:52:52 5: PWM: 65 write  to Register 0
2016.01.12 21:52:52 1: PERL WARNING: Use of uninitialized value $data[0] in join or string at ./FHEM/52_I2C_PCA9685.pm line 412.
2016.01.12 21:52:52 5: FRM:>f07641000000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 6
2016.01.12 21:52:52 5: FRM:>f076410006000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 10
2016.01.12 21:52:52 5: FRM:>f07641000a000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 14
2016.01.12 21:52:52 5: FRM:>f07641000e000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 18
2016.01.12 21:52:52 5: FRM:>f076410012000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 22
2016.01.12 21:52:52 5: FRM:>f076410016000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 26
2016.01.12 21:52:52 5: FRM:>f07641001a000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 30
2016.01.12 21:52:52 5: FRM:>f07641001e000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 34
2016.01.12 21:52:52 5: FRM:>f076410022000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 38
2016.01.12 21:52:52 5: FRM:>f076410026000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 42
2016.01.12 21:52:52 5: FRM:>f07641002a000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 46
2016.01.12 21:52:52 5: FRM:>f07641002e000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 50
2016.01.12 21:52:52 5: FRM:>f076410032000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 54
2016.01.12 21:52:52 5: FRM:>f076410036000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 58
2016.01.12 21:52:52 5: FRM:>f07641003a000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 62
2016.01.12 21:52:52 5: FRM:>f07641003e000000000000001000f7
2016.01.12 21:52:52 5: PWM: 65 write 0 0 0 16 to Register 66
2016.01.12 21:52:52 5: FRM:>f076410042000000000000001000f7
2016.01.12 21:53:01 5: PWM: 65 write 16 to Register 0
2016.01.12 21:53:01 5: FRM:>f076410000001000f7
2016.01.12 21:53:01 5: PWM: 65 write 255 to Register 254
2016.01.12 21:53:01 5: FRM:>f07641007e017f01f7
2016.01.12 21:53:01 5: PWM: 65 write  to Register 0
2016.01.12 21:53:01 5: FRM:>f07641000000f7
2016.01.12 21:53:01 5: PWM: 65 write 0 0 0 16 to Register 6
2016.01.12 21:53:01 5: FRM:>f076410006000000000000001000f7
2016.01.12 21:53:01 5: PWM: 65 write 0 0 0 16 to Register 10
2016.01.12 21:53:01 5: FRM:>f07641000a000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 14
2016.01.12 21:53:02 5: FRM:>f07641000e000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 18
2016.01.12 21:53:02 5: FRM:>f076410012000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 22
2016.01.12 21:53:02 5: FRM:>f076410016000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 26
2016.01.12 21:53:02 5: FRM:>f07641001a000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 30
2016.01.12 21:53:02 5: FRM:>f07641001e000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 34
2016.01.12 21:53:02 5: FRM:>f076410022000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 38
2016.01.12 21:53:02 5: FRM:>f076410026000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 42
2016.01.12 21:53:02 5: FRM:>f07641002a000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 46
2016.01.12 21:53:02 5: FRM:>f07641002e000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 50
2016.01.12 21:53:02 5: FRM:>f076410032000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 54
2016.01.12 21:53:02 5: FRM:>f076410036000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 58
2016.01.12 21:53:02 5: FRM:>f07641003a000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 62
2016.01.12 21:53:02 5: FRM:>f07641003e000000000000001000f7
2016.01.12 21:53:02 5: PWM: 65 write 0 0 0 16 to Register 66
2016.01.12 21:53:02 5: FRM:>f076410042000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 16 to Register 0
2016.01.12 21:53:15 5: FRM:>f076410000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 to Register 254
2016.01.12 21:53:15 5: FRM:>f07641007e010000f7
2016.01.12 21:53:15 5: PWM: 65 write  to Register 0
2016.01.12 21:53:15 5: FRM:>f07641000000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 6
2016.01.12 21:53:15 5: FRM:>f076410006000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 10
2016.01.12 21:53:15 5: FRM:>f07641000a000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 14
2016.01.12 21:53:15 5: FRM:>f07641000e000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 18
2016.01.12 21:53:15 5: FRM:>f076410012000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 22
2016.01.12 21:53:15 5: FRM:>f076410016000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 26
2016.01.12 21:53:15 5: FRM:>f07641001a000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 30
2016.01.12 21:53:15 5: FRM:>f07641001e000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 34
2016.01.12 21:53:15 5: FRM:>f076410022000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 38
2016.01.12 21:53:15 5: FRM:>f076410026000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 42
2016.01.12 21:53:15 5: FRM:>f07641002a000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 46
2016.01.12 21:53:15 5: FRM:>f07641002e000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 50
2016.01.12 21:53:15 5: FRM:>f076410032000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 54
2016.01.12 21:53:15 5: FRM:>f076410036000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 58
2016.01.12 21:53:15 5: FRM:>f07641003a000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 62
2016.01.12 21:53:15 5: FRM:>f07641003e000000000000001000f7
2016.01.12 21:53:15 5: PWM: 65 write 0 0 0 16 to Register 66
2016.01.12 21:53:15 5: FRM:>f076410042000000000000001000f7
2016.01.12 21:53:21 5: FRM:>f076770074012e00f7
2016.01.12 21:53:21 5: FRM:>f076770876010200f7
2016.01.12 21:53:21 5: FRM:>f076770074017401f7
2016.01.12 21:53:21 5: FRM:>f076770876010300f7
2016.01.12 21:53:21 5: FRM:<f0777700760150004c00f7
2016.01.12 21:53:21 5: onI2CMessage address: '119', register: '246' data: [80,76]
2016.01.12 21:53:21 5: FRM:<f0777700760126014a016000f7
2016.01.12 21:53:21 5: onI2CMessage address: '119', register: '246' data: [166,202,96]
2016.01.12 21:54:42 5: FRM:>f076390000010300f7
2016.01.12 21:54:42 5: FRM:>f076390800010100f7
2016.01.12 21:54:42 5: FRM:<f077390000010300f7
2016.01.12 21:54:42 5: onI2CMessage address: '57', register: '128' data: [3]
2016.01.12 21:54:43 5: FRM:>f07639082c010200f7
2016.01.12 21:54:43 5: FRM:>f07639082e010200f7
2016.01.12 21:54:43 5: FRM:<f07739002c017a010000f7
2016.01.12 21:54:43 5: onI2CMessage address: '57', register: '172' data: [250,0]
2016.01.12 21:54:43 5: FRM:<f07739002e010f000000f7
2016.01.12 21:54:43 5: onI2CMessage address: '57', register: '174' data: [15,0]
2016.01.12 21:54:43 5: FRM:>f076390000010000f7
2016.01.12 21:58:21 5: FRM:>f076770074012e00f7
2016.01.12 21:58:21 5: FRM:>f076770876010200f7
2016.01.12 21:58:21 5: FRM:>f076770074017401f7
2016.01.12 21:58:21 5: FRM:>f076770876010300f7
2016.01.12 21:58:21 5: FRM:<f0777700760150004e00f7
2016.01.12 21:58:21 5: onI2CMessage address: '119', register: '246' data: [80,78]
2016.01.12 21:58:21 5: FRM:<f0777700760126014b014000f7
2016.01.12 21:58:21 5: onI2CMessage address: '119', register: '246' data: [166,203,64]


Die anderen I2C-Devices sind leider noch mit drin (0x77 und 0x39). Aber das log bleibt jetzt übersichtlich und rennt nicht mehr davon ;-)

klausw

Zitat von: thymjan am 12 Januar 2016, 22:10:02
Hallo Klaus,

bekomme gerade hier gar nichts gebacken... und war kurz davor den Kopf in den Sand zu stecken...
solang das nix mit mir zu tun hat ;)

Zitat von: thymjan am 12 Januar 2016, 22:10:02
Zeile 72 habe ich auskommentiert:
#       $hash->{GetFn}    = "I2C_PCA9685_Get";
Daran hat es gelegen.
In der get Subroutine werden die alle Ports mit einem mal abgefragt. Das sind 64Byte. Evtl ist das zu viel.
In deinen alten Logs kommt zwar die angeforderte Bytezahl, aber nur die ersten 32byte sind korrekt.
Gibt es bei FRM einen I2C Puffer? Vielleicht ist der nur 32byte groß, der schreibt aber trotzdem die angeforderte menge raus (allerdings dann mit Daten aus einem benachbarten Puffer)
Norbert (ntruchsess) kann da vielleicht weiterhelfen. Oder das Firmata Forum. Ich vermute es ist ein Firmata Bug.

Zitat von: thymjan am 12 Januar 2016, 22:10:02
Zeile 120 ebenfalls auskommentiert und den delay(2) danach eingebaut:
#       select(undef, undef, undef, 0.1);
        usleep(2*1000*1000);


Die Änderung ist fürn A...
zwischen
PWM: 65 read 1 Byte from Register 254
und
PWM: 65 write 32 to Register 0
wird zwar 2s gewartet. Aber
Connection accepted from FRM_1_192.168.1.25_1025
kommt 25s zu spät
Ist es normal das es so lang dauert?
Ändert sich in dieser Zeit der State vom FRM Modul?
Wenn ja, beschreibe das bitte genauer (evtl muss ich den State vom IODev abfragen und erst nach Abschluss der Initialisierung loslegen)
Ich verstehe nicht, wieso die anderen Module warten und das PCS9685 nicht. Das müsste sich genauso verhalten.
Hast du eine Idee?

Zitat von: thymjan am 12 Januar 2016, 22:10:02
... und: Spuk vorbei. Gibt zwar keine Readings mehr, aber ich kann meine LEDs schön dimmen und ein- und ausschalten.
Habe noch in modreg2 "INVRT" gesetzt, damit "0 = LED aus" ergibt und "4096 = LED an".
Lediglich prescale funktioniert nicht so recht, die Frequenz ändert sich nicht und ist immer auf "196.9 Hz" eingestellt.
Die Frequenz ändert sich schon. Register 254 wird ja geschrieben.
Das Problem von Firmata scheint, das es das erfolgreiche senden nicht quittiert (bei write Befehlen geht nur was raus).
Beim RPII2C mache ich das.
Daher wird dort die Frequenz korrekt angezeigt und auch die Readings werden aktualisiert.
Für das FRM Modul müsste man nach jedem write Vorgang das Register zurücklesen.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

klausw

Was passiert, wenn man mit FRM_I2C 64 Byte am Stück ausliest?

- PCA normal Initialisieren
- Alle Ports aus
- FRM_I2C 32 Byte ab Register 6 lesen (müsste 8x 0 0 0 16) kommen (16 ist dezimal, kann auch 10 hexadezimal sein)
- Schauen, ob sich PCA noch schalten lässt
- Wieder alle Ports aus
- FRM_I2C 64 Byte ab Register 6 lesen (müsste 16x 0 0 0 16) kommen (16 ist dezimal, kann auch 10 hexadezimal sein)
- Schauen, ob sich PCA noch schalten lässt
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

thymjan

Hallo Klaus,

kurzer Zwischenbericht (kann Deine Fragen noch nicht alle beantworten):
Das Zusammenspiel FRM_I2C und I2C_PCA9685 ist auf jeden Fall interessant.

FRM_I2C liest im Sekundentakt das angeforderte Datenpaket.
z.B. define PWM16R FRM_I2C 65 6 16

Und I2C_PCA9685 interpretiert dieses von FRM_I2C angeforderte Paket mit:
2016.01.15 22:48:31 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000f7
2016.01.15 22:48:32 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:48:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:48:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:48:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:48:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:48:32 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000f7
2016.01.15 22:48:33 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:48:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:48:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:48:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:48:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:48:33 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000f7
2016.01.15 22:48:33 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:48:34 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:48:34 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:48:34 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:48:34 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16


Bei 16 Bytes wie hier im Beispiel sieht alles prima aus. Blöd nur, das FRM nur die Antworten schreibt und nicht die Anfrage (nur FRM:<).

Wenn ich jetzt in meinem FRM_I2C define die Byte-Anzahl langsam hoch drehe, gibt es hier nicht etwa eine harte Grenze ab der das Ganze nicht mehr funktioniert sondern mal ist bei 20 Bytes Schluß, manchmal aber auch erst bei 24.
Dann verschwimmen die Antwortpakete, d.h. in einem Antwortpaket ist nicht nur die Antwort von einer Anfrage enthalten sondern von mehreren (im folgenden Beispiel sind 20 Bytes eingestellt):
2016.01.15 22:55:18 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000f7
2016.01.15 22:55:18 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:55:18 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:55:18 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:55:18 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:55:18 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:55:19 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000f7
2016.01.15 22:55:19 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0]
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0
2016.01.15 22:55:19 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 22:55:19 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000f7
2016.01.15 22:55:19 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:55:19 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:55:20 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000f7
2016.01.15 22:55:20 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0]
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0
2016.01.15 22:55:20 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:55:20 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16


Bei 29 Bytes (jetzt werden die Antwortpakete immer größer):
2016.01.15 22:58:32 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 22:58:32 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 22:58:32 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0]
2016.01.15 22:58:32 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0   
2016.01.15 22:58:33 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0]
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 
2016.01.15 22:58:33 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0]
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 0 16
2016.01.15 22:58:33 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0   
2016.01.15 22:58:34 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f07741000600000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f077410006000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f07741000600000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f077410006000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f07741000600000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f077410006000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f07741000600000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f077410006000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f07741000600000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7
2016.01.15 22:58:34 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:58:34 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:58:34 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:58:34 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:58:34 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:58:34 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0]
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0
2016.01.15 22:58:35 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 22:58:35 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16


Und dann (jetzt habe ich die Bytes auf 64 hochgedreht) kommt irgendwann der Punkt, an dem die Riesenpakete nicht mehr sinnvoll interpretiert werden:
2016.01.15 23:01:00 5: FRM:<f077410006000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f07741000600000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000f7f0774100060000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000f7f0714900320043003a00200054006f006f002000660065007700200062007900740065007300200072006500630065006900760065006400f7f077410006000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100030007500360002001c0101000801020000000000000000000a01020015004a000700000000000300760041001000060000004000000000000000000000001000f7f07741000600f7f07700001000f7f07700001000f7
2016.01.15 23:01:00 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 23:01:00 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 23:01:00 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 23:01:00 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 23:01:00 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 23:01:01 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0]
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0
2016.01.15 23:01:01 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 23:01:01 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16]
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 23:01:01 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0]
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0   
2016.01.15 23:01:01 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0]
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 
2016.01.15 23:01:01 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0]
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0   
2016.01.15 23:01:01 3: received String_data: I2C: Too few bytes received
2016.01.15 23:01:01 5: onI2CMessage address: '65', register: '6' data: [0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,48,117,54,2,156,1,136,2,0,0,0,0,138,2,21,74,7,0,0,3,118,65,16,6,0,64,0,0,0,0,0,16]
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 0 16
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 32; Inh: 48 117 54 2
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 36; Inh: 156 1 136 2
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 40; Inh: 0 0 0 0
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 44; Inh: 138 2 21 74
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 48; Inh: 7 0 0 3
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 52; Inh: 118 65 16 6
2016.01.15 23:01:01 5: PWM: lese mehrere Ports - Reg: 6 ; i: 56; Inh: 0 64 0 0
2016.01.15 23:01:02 5: PWM: lese mehrere Ports - Reg: 6 ; i: 60; Inh: 0 0 0 16
2016.01.15 23:01:02 5: onI2CMessage address: '65', register: '6' data: []
2016.01.15 23:01:02 5: onI2CMessage address: '0', register: '16' data: []
2016.01.15 23:01:02 5: onI2CMessage address: '0', register: '16' data: []


Das Drama lässt sich dann am besten durch Drücken des Resetknopfes auf dem Arduino beenden, sonst ist fhem irgendwann völlig blockiert.

Kannst Du damit was anfangen?

Gruß,
Stefan

klausw

#27
Moin Stefan,

Zitat von: thymjan am 15 Januar 2016, 23:11:56
Das Drama lässt sich dann am besten durch Drücken des Resetknopfes auf dem Arduino beenden, sonst ist fhem irgendwann völlig blockiert.

Kannst Du damit was anfangen?

und ob, jetzt weiss ich, das FRM bei mehr als 16byte spinnt.
Damit kann ich erstmal arbeiten. Allerdings ist das nicht so schön, da ich vorhatte, auch das schreiben blockweise zu machen. So hätte man z.B. ein RGB in einem rutsch LED Schalten können ohne das die 3x kurz flackert.

Edit:
laut Norbert müsste der Puffer 32 Byte tief sein (30byte Daten + Registeradresse + I2C Adresse)

im StandardFirmata.ino steht da irgendwo:

byte i2cRxData[32];

ist bei dir da auch eine 32 drin?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

thymjan

Hallo Klaus,

habe mal nach der Angabe der Puffergröße gesucht und hier (in meinem Arduino User-Arbeitsverzeichnis) fündig geworden:
.\Arduino\libraries\arduino-configurable\utility\I2CFirmata.h (Zeile 57)

Das mit den 32 Byte passt.

Gruß,
Stefan

thymjan

#29
... habe jetzt mal den PCA9685 als einziges I2C-Device über einen Arduino-Nano mit StandardFirmata V_2_03 mittels USB an einen relativ jungfräulichen raspi a+ gehängt.
Hier funktioniert das im Wesentlichen mit den 32 Byte. Aber irgendwie ist nicht nur der Puffer ausschlaggebend sondern auch das zur Verfügung stehende Zeitfenster.

Gelegentlich werden alle ersten 8 Register ausgelesen, dann aber auch wieder nicht. Die Frage ist: Kommt der Arduino nicht hinterher, oder wird FRM in der Empfangszeit beschnitten oder läuft irgendwo ein Empfangspuffer über und der Arduino weis nicht wohin mit den Daten...  :-\

Entspricht ja allerdings auch nicht der Realität, dass jede Sekunde ausgelesen wird, sondern eher alle 5 Minuten. Ist schon ein ziemlicher Stresstest durch das FRM_I2C-Modul.

2016.01.20 22:14:28 5: FRM:<f07149003200
2016.01.20 22:14:28 5: FRM:<43002000520065006100640020004500720072006f0072003a00200054006f006f
2016.01.20 22:14:28 5: FRM:<0020006d0061006e007900200062007900740065007300200072006500630065006900760065006400f7f07741
2016.01.20 22:14:28 3: received String_data: I2C Read Error: Too many bytes received
2016.01.20 22:14:28 5: FRM:<0006000000000031000d 000000000031000d 000000000031000d 000000000031000d 000000000031000d 000000000031000d 000000000031000d 000000000031000d 00f7f077410006000000000031000d 000000000031000d 000000000031000d 000000000031000d 00f7f077410006000000000031000d 000000000031000d 000000000031000d 000000000031000d 000000f7f077410006000000000031000d 000000000031000d 00000000003100
2016.01.20 22:14:28 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 49 13

2016.01.20 22:14:28 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13

2016.01.20 22:14:28 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0]
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0   

2016.01.20 22:14:28 5: FRM:<0d000000000031000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00f7
2016.01.20 22:14:28 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:28 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:28 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 49 13
2016.01.20 22:14:29 5: FRM:<f0714900
2016.01.20 22:14:29 5: FRM:<320043002000520065006100640020004500720072006f0072003a00200054006f006f0020006d0061006e007900200062007900740065007300200072006500630065006900760065006400
2016.01.20 22:14:29 5: FRM:<f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00000000
2016.01.20 22:14:29 3: received String_data: I2C Read Error: Too many bytes received
2016.01.20 22:14:29 5: FRM:<0031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d00000000003100
2016.01.20 22:14:29 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 49 13
2016.01.20 22:14:29 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:29 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0]
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0   
2016.01.20 22:14:29 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:29 5: FRM:<0d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00f7
2016.01.20 22:14:29 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:29 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 49 13
2016.01.20 22:14:30 5: FRM:<f0714900
2016.01.20 22:14:30 5: FRM:<320043002000520065006100640020004500720072006f0072003a00200054006f00
2016.01.20 22:14:30 5: FRM:<6f0020006d0061006e007900200062007900740065007300200072006500630065006900760065006400
2016.01.20 22:14:30 5: FRM:<f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d0000000000
2016.01.20 22:14:30 3: received String_data: I2C Read Error: Too many bytes received
2016.01.20 22:14:30 5: FRM:<31000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00f7f07741
2016.01.20 22:14:30 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 49 13
2016.01.20 22:14:30 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:30 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0]
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0   
2016.01.20 22:14:30 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:30 5: FRM:<0006000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00f7
2016.01.20 22:14:30 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:30 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 49 13
2016.01.20 22:14:31 5: FRM:<f0714900
2016.01.20 22:14:31 5: FRM:<320043002000520065006100640020004500720072006f0072003a00200054006f00
2016.01.20 22:14:31 5: FRM:<6f0020006d0061006e007900200062007900740065007300200072006500630065006900760065006400f7f0774100060000
2016.01.20 22:14:31 3: received String_data: I2C Read Error: Too many bytes received
2016.01.20 22:14:31 5: FRM:<00000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000f7f077410006000000000031000d000000000031000d000000000031000d000000
2016.01.20 22:14:31 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 49 13
2016.01.20 22:14:31 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:31 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0]
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0   
2016.01.20 22:14:31 5: FRM:<000031000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00f7
2016.01.20 22:14:31 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:31 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13,0,0,49,13]
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 0; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 4; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 8; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 12; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 16; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 20; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 24; Inh: 0 0 49 13
2016.01.20 22:14:31 5: PWM: lese mehrere Ports - Reg: 6 ; i: 28; Inh: 0 0 49 13
2016.01.20 22:14:32 5: FRM:<f071
2016.01.20 22:14:32 5: FRM:<4900320043002000520065006100640020004500720072006f0072003a00200054006f006f
2016.01.20 22:14:32 5: FRM:<0020006d0061006e007900200062007900740065007300200072006500630065006900760065006400
2016.01.20 22:14:32 5: FRM:<f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000000031
2016.01.20 22:14:32 3: received String_data: I2C Read Error: Too many bytes received
2016.01.20 22:14:32 5: FRM:<000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d00f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000f7f077410006000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d000000000031000d00f7f077410006


So sieht's im geordneten 'Feldzug' mit 4 Bytes aus:
2016.01.20 22:45:53 5: FRM:<f077410006
2016.01.20 22:45:53 5: FRM:<000000000031000d00f7
2016.01.20 22:45:53 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13]
2016.01.20 22:45:53 5: PWM: lese einen Port - Reg: 6 ; Inh: 0 0 49 13
2016.01.20 22:45:54 5: FRM:<f0774100060000
2016.01.20 22:45:54 5: FRM:<00000031000d00f7
2016.01.20 22:45:54 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13]
2016.01.20 22:45:54 5: PWM: lese einen Port - Reg: 6 ; Inh: 0 0 49 13
2016.01.20 22:45:55 5: FRM:<f07741
2016.01.20 22:45:55 5: FRM:<0006000000000031000d00f7
2016.01.20 22:45:55 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13]
2016.01.20 22:45:55 5: PWM: lese einen Port - Reg: 6 ; Inh: 0 0 49 13
2016.01.20 22:45:56 5: FRM:<f077
2016.01.20 22:45:56 5: FRM:<410006000000000031000d00f7
2016.01.20 22:45:56 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13]
2016.01.20 22:45:56 5: PWM: lese einen Port - Reg: 6 ; Inh: 0 0 49 13
2016.01.20 22:45:57 5: FRM:<f07741
2016.01.20 22:45:57 5: FRM:<0006000000000031000d00f7
2016.01.20 22:45:57 5: onI2CMessage address: '65', register: '6' data: [0,0,49,13]
2016.01.20 22:45:57 5: PWM: lese einen Port - Reg: 6 ; Inh: 0 0 49 13