Quantasy Posted November 8, 2016 at 12:56 PM Share Posted November 8, 2016 at 12:56 PM Im Folgenden steht der IO16 symbolisch für alle Bricklets, bei denen ein setMonoflop eine Maske verlangt, das monoflopDoneEvent eine Maske zurück gibt, !aber der getMonoflop als Argument noch einen zusätzlichen Pin verlangt und dann nur den Wert für diesen einen Pin zurückgibt!. Warum benötigt die getPortMonofolp Methode einen Pin als Argument? Es gibt doch pro Port genau einen Monoflop, der mehrere Pins steuert... also nicht einen Monoflop pro Pin. Momentan müssen so für eine Monoflop-Statusabfrage im Beispiel IO16 2x8 Methodenaufrufe stattfinden... statt nur deren 2. Wäre es euch möglich, bei allen Bricklets, bei denen ein setMonoflop mit Maske als Input... die Methode getMonoflop neu anzubieten, welche die Maske als Output liefert? Dann wäre es konsistent mit dem monoflopDoneEvent, welches ja auch jeweils die Maske zurückgibt. Quote Link to comment Share on other sites More sharing options...
photron Posted November 10, 2016 at 01:17 PM Share Posted November 10, 2016 at 01:17 PM Der Monoflop arbeitet pro Pin, nicht pro Port. Du kannst für jeden der 16 Pins den Monoflop anders einstellen. Das set_port_monoflop() eine Bitmaske nimmt erlaubt es den Monoflop für mehrere Pins exakt gleich zu konfigurieren. Du kannst aber in der Bitmaske auch jeweils nur ein Bit gesetzt haben und dadurch jeden Pin anders einstellen. Bei get_port_monoflop() muss du den einzelnen Pin angeben, da die Antwort für alle 8 Pins eines Port zu groß für einen Nachricht wäre. Denn da jeder Pin anders eingestellt sein kann müsste 8x die Time (uint32) und 8x die Remaining-Time (uint32) und eine Bitmaske für das Value (uint8) zurückgegeben werden. Macht 65 Byte für eine 64 Byte Nachricht. Das klappt also nicht. Quote Link to comment Share on other sites More sharing options...
Quantasy Posted November 14, 2016 at 03:55 PM Author Share Posted November 14, 2016 at 03:55 PM Ahaaaa! Herzlichen Dank für die Aufklärung! Nun sehe ich gerade, dass diese Frage bereits einmal beantwortet wurde; danke Photron für die erneute Erklärung. http://www.tinkerunity.org/forum/index.php/topic,2457.msg16090.html#msg16090 Quote Link to comment Share on other sites More sharing options...
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.