Jump to content

Search the Community

Showing results for tags 'callback'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Deutsch
    • Allgemeine Diskussionen
    • Anfängerfragen und FAQ
    • Software, Programmierung und externe Tools
    • Hardware
    • Projektvorstellungen und Projektideen
    • WARP Charger
  • English
    • General Discussion
    • Project introductions and project ideas

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 2 results

  1. Hallo zusammen, ich habe ein seltsames Verhalten von einem Industrial Counter: Die Impulse kommen von einem 24V Netzteil, welches über einen Reedkontakt unregelmäßig mit ~3 Hz durchgeschaltet wird und ich möchte die einzelnen Perioden von Falling zu Falling Edge messen. Meistens klappt das gut und die Werte sind sinnvoll, ab und an wird aber eine zu kleine Periode (z.B. 100ms) und ein unrealistischer Duty Cycle Wert von 0,00% (??) oder 50,00% angezeigt. "Echte" Events haben größere Periodenlängen und einen Duty Cycle von ~60% mit zufälligeren Nachkommastellen. Das Problem tritt nur beim Aufbau mit 24V und dem Reedschalter auf. Mit dem parallel geschalteten Oszi sehe ich keine Auffälligkeiten und keine zu kurze High/Low-Perioden bis auf etwas Überschwingen an den Flanken, welches aber im µs Bereich und in der Amplitude außerhalb des High/Low-Wechsels liegt. Bei einem "perfekten", regelmäßigen Signal von einem 20V Frequenzgenerator gibt es keine Probleme. Jetzt bin ich mit meinem Latein am Ende: 1. der Prescaler ist ausreichend groß, so dass ein Counter Overflow ausgeschlossen sein sollte (z.B. 4096: Minimale Frequenz 0.36Hz, Auflösung 42.66us) 2. Ein Debouncing-Setting wie im Digital In Bricklet scheint es nicht zu geben? 3. Verschiedene Kanäle zeigen das gleiche Verhalten Hat jemand eine Idee? Eine Frage auch zu Callbacks bei Werteänderung: Was ist mit Werteänderung gemeint, der value, d.h. der High-Low-Zustands des Kanals oder z.B. Periode bzw. Frequenz? Wenn ich den Abstand von Falling zu Falling Edge messen will, bräuchte ich im Idealfall einen Callback bei jedem Übergang von High zu Low (und nicht bei jeder Value-Änderung).
  2. Hallo Zusammen, kann jemand sagen warum folgender Code kein Temperaturwert für die Kerntemperatur des IMU 2.0 Bricks zurück gibt? #!/usr/bin/env python # -*- coding: utf-8 -*- HOST = "localhost" PORT = 4223 UID = "6rGa5o" import time from tinkerforge.ip_connection import IPConnection from tinkerforge.brick_imu_v2 import BrickIMUV2 Liste = ["X","X","X","X","X","X"] def cb_quaternion(w, x, y, z): Liste[1] = (w/16383.0) Liste[2] = (x/16383.0) Liste[3] = (y/16383.0) Liste[4] = (z/16383.0) def cb_temperature(temperature): Liste[5] = temperature def main(): ipcon = IPConnection() imu = BrickIMUV2(UID, ipcon) ipcon.connect(HOST, PORT) imu.register_callback(imu.CALLBACK_QUATERNION, cb_quaternion) imu.register_callback(imu.CALLBACK_TEMPERATURE, cb_temperature) imu.set_quaternion_period(100) imu.set_temperature_period(100) time.sleep(1) i = 0 while i < 20: Liste[0] = i print("Übersicht Werte in Liste:") print("Wert 1:" + str(Liste[0])) print("Wert 2:" + str(Liste[1])) print("Wert 3:" + str(Liste[2])) print("Wert 4:" + str(Liste[3])) print("Wert 5:" + str(Liste[4])) print("Wert 6:" + str(Liste[5])) print("") i = i+1 time.sleep(0.5) ipcon.disconnect() if __name__ == "__main__": main() Benutze ich cb_all_data wie in den Beispielen gezeigt, kommt der Temperaturwert mit. Möchte ich ihn einzeln haben, so wie hier in meinem Beispiel, bekomme ich ihn nicht aufgerufen. Vielleicht hat jemand ne Idee, woran das liegen könnte?! Hintergrund ist, das mein IMU regelmäßig aussteigt, und ich die Vermutung habe, dass ihm ein bisschen zu warm ums Herz ist 😉 Das führt mich zu einer weiteren Frage: Gefühlt gibt es ein Performance-Unterschied zwischen: Alle Werte per Callback erheben, diejenigen die ich benötige loggen zu: Nur diejenigen per Callback erheben und loggen, die ich benötige liege ich da richtig? Und wenn ja, was sind so die gängigen Tricks und Kniffe, um ein möglichst hochfrequentes Loggen von spezifischen Werten zu realisieren ? Vielen Dank an alle Tinkerforger da draussen :) Grüße Tipsy
×
×
  • Create New...