Nic Geschrieben August 2, 2012 at 10:11 Geschrieben August 2, 2012 at 10:11 Der Monoflop zumindest im Viewer scheint prima zu funktionieren. Allerdings scheint die neue FW den alten Interrupt Callback zu stören. Ich musste wg. meiner Anwendung die FW wieder zurückrollen weil das Auslösen des Interrupt Callback nicht zuverlässig oder gar nicht ausgelöst wurde ! In meiner Anwednung setzte ich zu Beginn ein Interupt auf PIN 1 als Input, damit verbunden ist der Ausgang eines Kameraverschlusses. Wird der Kamera-Verschluss geöffnet bzw. geschlossen konnte ich per Callback prima in der Anwendung darauf reagieren. Nach dem Einspielen der FW und BrickD Treiber wird der Callback sehr unzuverlässig oder gar nicht ausgelöst. Erst nach dem Zurückrollen jeweils auf die Vorgänger-Version, hatte ich das Verhalten wie gehabt. Zitieren
photron Geschrieben August 2, 2012 at 12:14 Geschrieben August 2, 2012 at 12:14 Bei mir funktioniert der Interrupt immer in allen meinen Tests. Welche Master Firmware verwendest du? Falls es nicht 1.2.4 ist, dann teste bitte nochmal mit aktueller Master Firmware. Falls das auch nicht hilft muss du mir mal deinen Aufbau genauer beschreiben, am besten plus Beipsielprogramm, dass das Problem demonstriert, da ich es wie gesagt nicht reproduzieren kann. Was meinst du mit BrickD Treiber? Brick Daemon 1.0.9? Zitieren
Nic Geschrieben August 2, 2012 at 13:41 Autor Geschrieben August 2, 2012 at 13:41 Programmcode wird etwas schwierig, dass ist schon sehr umfangreich, und kabselt die Delphi-Bindings mit zusätzlichen Callbacks. Master mit der aktuellen 1.2.4, der Brick Daemon und die FW mussten zurückgesetzt werden, und dann funzt alles wie vor dem Upgrade. Ich überlege wie ich das so dokum., daß man zumindest den Unterschied sieht, ev. mach ich ein Demo-Video, einverstanden ? Zitieren
photron Geschrieben August 2, 2012 at 13:50 Geschrieben August 2, 2012 at 13:50 Erstmal wundert es mich noch mehr, dass du angeblich brickd downgraden musst damit es wieder funktioniert. Bist du sicher, dass Master Firmware 1.2.4 (aktuell), IO-4 Firmware 1.1.0 (alt) und brickd 1.0.9 (aktuell) nicht zusammen funktionieren und Interrupt richtig geht? Wenn du deinen Code nicht vorzeigen kannst, kannst du dann mit dem Interrupt Example der IO-4 testen ob das Problem da auch auftritt? Wie ist denn dein Stack aufgebaut, was ist da alles drin? Video wird nicht nötig ein. Zitieren
Nic Geschrieben August 2, 2012 at 14:05 Autor Geschrieben August 2, 2012 at 14:05 Master Firmware 1.2.4 (aktuell), IO-4 Firmware 1.1.0 (alt) und brickd 1.0.9 (aktuell) nicht zusammen funktionieren und Interrupt richtig geht? Der derzeitige Stand womit es problemlos klappt: Master 1.2.4, IO-4 1.1.0, und brickD 1.0.8 Mit Master 1.2.4, IO4 1.1.1 und BrickD 1.0.9 hatte ich Probleme. Wenn du deinen Code nicht vorzeigen kannst, kannst du dann mit dem Interrupt Example der IO-4 testen ob das Problem da auch auftritt? Mache ich. Wie ist denn dein Stack aufgebaut, was ist da alles drin? Master-Chibi am PC 1.Slave mit Stepper, StepDownSupply, 12V Akku 2.Slave mit IO4 und Ambient, direkt per USB-Kabel an 5V Akku Zitieren
Nic Geschrieben August 3, 2012 at 09:10 Autor Geschrieben August 3, 2012 at 09:10 Alles Käse An der FW, brickD, viewer hat es m.E. nicht gelegen. Ich vermute mal ich habe das System unter schlechten Bedingungen ans Limit gebracht; ich steuere ausschl. über Chibi die Anwendung: Am 1. Slave-Stack ist + Stepper plus AllDataCallback bei Period 200ms, PositionReached, StepperNewState Am 2. Slave-Stack ist der + IO4 plus CallbackInterrupt mit DebouncePeriod von 100ms + AmbientLight plus IlluminanceCallback bei Period von 200ms, der Ambient wurde erst vor kurzem hinzugefügt Wenn der IO4/Ambient und Stepper Stack nicht über Chibi mit dem PC sondern über das USB-Kabel verbunden sind, werden die Stacks rasch erkannt. Über Chibi dauert das natürlich spürbar länger. Erst im FormShow Event des Anwendungsfensters erzeuge ich die IPConnection. Rufe anschließend Enumerate auf und erzeuge und adde Stepper, IO4 und Ambient erst beim Enum-Callback. Das IO4 Bricklet muss dabei allerdings über einen Extra-Timer zeit-verzögert erzeugt und hinzugefügt werden. Der Ambient kann im Gegensatz sofort geadded werden. Ansonsten bekomme ich den IO4 nicht in die Anwend. Habe die Periods der Callbacks auf 500ms reduziert; eigentl. Quatsch durch den Flaschenhals Chibi schnellen Datendurchsatz zu erwarten. Zitieren
Nic Geschrieben August 3, 2012 at 09:30 Autor Geschrieben August 3, 2012 at 09:30 Ich muss aber dazu sagen, dass nur im BrickViewer zeitweise nach einem Master-Chibi Reset, mal der Slave-Master vom IO4 nicht gefunden wurde, bzw. mal nur der Ambient oder nur der IO4 geadded wurde. Anbei die Fehler-Logs.main.exe.bes.logmain.exe.bes2.log Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.