jgmischke Geschrieben July 19, 2015 at 18:47 Share Geschrieben July 19, 2015 at 18:47 Nachdem ich mal ein paar Timer ausprobiert habe (timer_create) habe ich das dumpfe Gefühl, dass die Tinkermodule nicht mehr funktionieren. Welche Signale nutzt ihr denn oder bin ich da auf der falschen Spur? Ist nicht weiter dramtisch, packe ich den Timer in einen eigene Thread sollte er die Bricks wohl nicht mehr stören. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
jgmischke Geschrieben July 19, 2015 at 18:54 Autor Share Geschrieben July 19, 2015 at 18:54 Wie ich mir es gedacht habe. Meine eigenen Timer liegen in SIGRTMIN bis SIGRTMAX. Im eigenen Thread blockiere ich damit nicht die bricks. Gut zu wissen! Wie stark nutzt ihr denn eigene Threads? Und wie sind die Timer aufgebaut? Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
remotecontrol Geschrieben July 19, 2015 at 19:34 Share Geschrieben July 19, 2015 at 19:34 Ein timer_create funktioniert doch zusammen mit Signal-Handlern. Aus einem Signal-Handler darfst Du aber nicht beliebige Funktionen aufrufen, insbesondere keinen IO Funktionen. Vielleicht liegt eher da das Problem. Die Tinkerforge API nutzt eigentlich keine Signale. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
jgmischke Geschrieben July 20, 2015 at 07:49 Autor Share Geschrieben July 20, 2015 at 07:49 Danke für den Tipp. Ich werde da mal draufschaune und befürchte, das du da Recht hast. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
jgmischke Geschrieben July 20, 2015 at 10:15 Autor Share Geschrieben July 20, 2015 at 10:15 So, die Timer mit ihren Signalen bringen mir zuviel durcheinander. Habe jetzt einen Thread mit einem Sleep in einer Schleife, der tut es auch und kollidiert nicht mit den TF Sachen. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
remotecontrol Geschrieben July 20, 2015 at 14:41 Share Geschrieben July 20, 2015 at 14:41 Ich mache das auch so ähnlich, aber in C++ mit Mutex und std::chrono. Damit kann ich bis auf Millisekunden genau (oder auch noch genauer) sagen, wann der Thread wieder aufwachen soll. Wenn der Thread dann 0,4ms rechnet wacht er auch brav nach weiteren 0,6ms wieder auf und verschäft nicht eine ganze Millisekunde ... Damit kann ich diesen Thread dann auch gezielt schnell beenden, wenn das Programm sich beenden soll. Stichworte: std::chrono::system_clock::time_point, std::unique_lock<std::mutex> und std::condition_variable Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
jgmischke Geschrieben July 20, 2015 at 18:08 Autor Share Geschrieben July 20, 2015 at 18:08 Guter Tipp. Habe meine Idee von heute morgen eingebaut und das ganze fluppt jetzt so, wie ich es brauche. Deine Sachen schau ich mir aber auch mal an. Danke! Zitieren Link zu diesem Kommentar 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.