Alle erstellten Inhalte von borg
-
Synchronizing IMU with e.g. GPS PPS signal
A synchronization directly on the Brick is unfortunately not possible. You can only get the PPS signal from a GPS Bricklet 2.0 and use that as a trigger to call a getter from a IMU Brick 2.0. What application do you have in mind for the synchronization?
-
AirQuality sporadisch fehlerhafte Werte
Ich hab mir die Daten über das Wochenende loggen lassen und ich hatte in der Tat auch ein paar "Ausreißer" bei mir war es die Luftfeuchte-Messung mit ungefähr 10% Sprüngen nach oben. Das Air Quality Bricklet muss leider einen Binärblob von Bosch nutzen auf den wir aufsetzen. Seitdem wir das Bricklet veröffentlicht haben gibt es eine neue Version von der Bosch-Software mit etlichen Bugfixes laut Changelog. Bosch hat allerdings die API und ein paar Konstanten und Namen verändert. Daher kriege ich das heute nicht aktualisiert, ich denke am Freitag komme ich dazu, da gibt es dann eine neue Firmware-Version. Ich hoffe die Ausreißer sind damit dann gefixt!
-
Tisch-Wetterstation ein Link broken
Besten Dank, ist gefixt. Da fehlten sogar noch zwei weitere Links in der Doku .
-
NFC Bricklet steckt im status "initialization" fest
@ChrisCA: Klingt interessant, schaue ich mir an. @theo: Ich kann mir nicht so recht erklären warum Mifare Classic funktioniert aber die anderen Typen nicht. Das kann ja dann zumindest kein Hardwaredefekt sein denke ich? Also der State wechselt von Initialization auf Idle bei dir, richtig? Sonst könntest du Mifare Classic ja auch nicht nutzen. Aber von da nicht zu den anderen States wenn du versuchst einen anderen Tag-Typ zu lesen?
-
AirQuality sporadisch fehlerhafte Werte
Komisch, das ist mir noch nicht aufgefallen obwohl ich für die Tisch-Wetterstation viel mit dem Air Quality Bricklet getestet hab. Ich habs mir auf die TODO-Liste geschrieben da nochmal einen Test zu schreiben und mir das anzusehen.
-
ID des TH-6148 Temperatursensors
Das klingt sehr sinnvoll, schreibe ich mir auf die TODO-Liste .
-
Schnittdaten für Gehäuse (Laser)
Du kannst die fcstd Dateien mit freecad öffnen: https://www.freecadweb.org/ Die meisten anderen Dateien sind irgendwelche Zwischenformate oder das Format welches unser spezifischer Laser Cutter versteht.
-
Schnittdaten für Gehäuse (Laser)
Die Gehäuse sind hier zu finden: https://github.com/Tinkerforge/cases Das ist leider aktuell eine unaufgeräumte Ansammlung, wie man schon an den unterschiedlichen Benennungen sehen kann. Da muss ich mal irgendwann aufräumen und das alles vernünftig benennen und generierte Dateien entfernen usw.
-
Industrial Digital In 4 Bricklet 2.0 Callback funktioniert nicht
Die Bricklets mit 7-Pol Stecker werden auf dem RED Brick erst seit Brick Daemon Version 2.3.0 unterstützt. D.h. du müsstest entweder den Brick Daemon auf dem RED Brick aktualisieren oder ein RED Brick Image mit Version 1.9 oder höher verwenden.
-
16g Messbereich des Accelerometer Bricklets
Das Accelerometer 2.0 kommt Ende Januar/Anfang Februar raus
-
LED Strip Steuerung nur der ersten 5 LEDs
Du musst die anderen LEDs immer alle auf (0, 0, 0) setzen damit diese auch aus bleiben. Wenn die LEDs 'floating' sind und nicht angesprochen werden, können sie leider beliebige Farben annehmen. Zuschneiden kannst du immer an diesen goldenen Pads. Dort kannst du dann auch jeweils wieder ein neues Kabel anlöten.
-
16g Messbereich des Accelerometer Bricklets
Ich hab das gerade ausprobiert und bei mir wird das im 16G-Bereich auch sehr ungenau. Das entspricht allerdings wirklich dem Wert den der Accelerometer-IC den wir verwenden zurück gibt, da ist keine Fehler in der Berechnung o.ä. Es scheint also leider so zu sein, dass der 16G-Bereich ungenauer ist als die anderen Bereiche.
-
Stepper Bricken und Schrittmotor Nema
Ja, der Schrittmotor muss zusätzlich mit Strom versorgt werden. Die 5V-Versorgung über USB reicht leider nicht aus um einen Schrittmotor zu betreiben.
-
AirQuality bricklet bug
Oh man, wie hab ich das denn jetzt wieder hinbekommen... Ist jetzt auch gefixt.
-
LCD 128x64 Button Größe
Du hattest exakt recht mit deiner Vermutung! Den gleichen Bug gab es auch noch beim Slider. Neue Firmware ist veröffentlicht, hab das getestet mit: /usr/bin/env python # -*- coding: utf-8 -*- HOST = "localhost" PORT = 4223 UID = "GK7" # Change XYZ to the UID of your LCD 128x64 Bricklet from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_lcd_128x64 import BrickletLCD128x64 if __name__ == "__main__": ipcon = IPConnection() # Create IP connection lcd = BrickletLCD128x64(UID, ipcon) # Create device object ipcon.connect(HOST, PORT) # Connect to brickd # Don't use device before ipcon is connected # Clear display lcd.clear_display() lcd.remove_all_gui() lcd.set_gui_button(0, 100, 50, 28, 14, 'test') lcd.set_gui_slider(0, 0, 0, 128, 0, 50) lcd.set_gui_slider(1, 0, 30, 34, 1, 10) raw_input("Press key to exit\n") # Use input() in Python 3 ipcon.disconnect() Der Button und beide Slider tauchen in 2.0.5 nicht auf, funktionieren aber in der neuen 2.0.6.
-
AirQuality bricklet bug
Neue Firmware ist veröffentlicht!
-
Veröffentlichungen
Firmware: LCD 128x64 Bricklet 2.0.6, Air Quality Bricklet 2.0.1 Fix off-by-one in Button und Slider Größchencheck (LCD 128x64 Bricklet) Fix Error in Paketlänge für get_iaq_index-Funktion (Air Quality Bricklet) Download: LCD 128x64 Bricklet 2.0.6, Air Quality Bricklet 2.0.1
-
Announcements
Firmware: LCD 128x64 Bricklet 2.0.6, Air Quality Bricklet 2.0.1 Fix off-by-one in button and slider bounding box check (LCD 128x64 Bricklet) Fix error in packet length for get_iaq_index function (Air Quality Bricklet) Download: LCD 128x64 Bricklet 2.0.6, Air Quality Bricklet 2.0.1
-
Industrial Digital In 4 Bricklet 2.0 Callback funktioniert nicht
Ich hab Firmware Version 2.0.0 und 2.0.1 getestet mit diesem Code: #include <stdio.h> #include "ip_connection.h" #include "bricklet_industrial_digital_in_4_v2.h" #define HOST "localhost" #define PORT 4223 #define UID "FrC" // Change XYZ to the UID of your Industrial Digital In 4 Bricklet 2.0 // Callback function for value callback void cb_value(uint8_t channel, bool changed, bool value, void *user_data) { (void)user_data; // avoid unused parameter warning printf("Channel: %u\n", channel); printf("Changed: %s\n", changed ? "true" : "false"); printf("Value: %s\n", value ? "true" : "false"); printf("\n"); } int main(void) { // Create IP connection IPConnection ipcon; ipcon_create(&ipcon); // Create device object IndustrialDigitalIn4V2 idi4; industrial_digital_in_4_v2_create(&idi4, UID, &ipcon); // Connect to brickd if(ipcon_connect(&ipcon, HOST, PORT) < 0) { fprintf(stderr, "Could not connect\n"); return 1; } // Don't use device before ipcon is connected // Register value callback to function cb_value industrial_digital_in_4_v2_register_callback(&idi4, INDUSTRIAL_DIGITAL_IN_4_V2_CALLBACK_VALUE, (void *)cb_value, NULL); // Set period for value (channel 1) callback to 0.1s (100ms) industrial_digital_in_4_v2_set_value_callback_configuration(&idi4, 1, 100, true); printf("Press key to exit\n"); getchar(); industrial_digital_in_4_v2_destroy(&idi4); ipcon_destroy(&ipcon); // Calls ipcon_disconnect internally return 0; } Ausgabe: olaf@pc2:~/build20/c$ g++ -pthread example_callback.c bricklet_industrial_digital_in_4_v2.c ip_connection.c -o test In file included from /usr/include/errno.h:25:0, from ip_connection.c:19: /usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" ^~~~~~~ olaf@pc2:~/build20/c$ ./test Press key to exit Channel: 1 Changed: true Value: true Channel: 1 Changed: true Value: false Channel: 1 Changed: true Value: true Channel: 1 Changed: true Value: false Mal abgesehen davon das wir in den Bindings irgendwo ein veraltetes define verwenden funktioniert das bei mir ohne Probleme. Im Brick Viewer wird es auch korrekt angezeigt. Was genau konfigurierst du?
-
Dot-Graph beim LCD 128x64 Bricklet
Kann ich irgendwie nicht reproduzieren. Hab mit folgendem getestet: #!/usr/bin/env python # -*- coding: utf-8 -*- HOST = "localhost" PORT = 4223 UID = "GK7" # Change XYZ to the UID of your LCD 128x64 Bricklet from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_lcd_128x64 import BrickletLCD128x64 if __name__ == "__main__": ipcon = IPConnection() # Create IP connection lcd = BrickletLCD128x64(UID, ipcon) # Create device object ipcon.connect(HOST, PORT) # Connect to brickd # Don't use device before ipcon is connected # Clear display lcd.clear_display() lcd.remove_all_gui() lcd.set_gui_graph_configuration(0, lcd.GRAPH_TYPE_DOT, 62, 0, 60, 52, "X", "Y") lcd.set_gui_graph_data(0, list(range(59)) + [200]) raw_input("Press key to exit\n") # Use input() in Python 3 ipcon.disconnect() Sprich der Graph hat Länge 60, und die Dots gehen von 0-58 und dann der letzte bei 200.
-
AirQuality bricklet bug
In der Tat! Danke für den Hinweis, fixe ich gleich.
-
Kompatibilität altes Masterbrick und neues Bricklet
Ja, auch die ganz alten Master Brick 1.0 sind (mit dem neuen 7p-10p Kabel) noch zu den neuesten Bricklets kompatibel.
-
Stepper Brick / $stepper->enable
Mhh, hab gerade schnell in den Code geschaut: Der enable()-Aufruf führt in der Tat ein Reset auf dem IC aus den wir nutzen, daher macht es Sinn das der Schrittmotor aufhört zu laufen. Ich kann mir allerdings nicht erklären warum danach setSteps() nicht mehr funktioniert. Ich denke die bessere Vorgehensweise wäre allerdings sowieso wenn der enable()-Aufruf gar nichts macht wenn der Stepper Brick bereits enabled ist. Ich schreib mir das auf die TODO-Liste, wird mit der nächsten Version gefixt.
-
StepperBrick - blocking command
Generally, the calls to the API have a timeout of 2.5 seconds. So calls like setSteps will never block, since they may take a long time. But you can make your own blockingSetSteps function that sets a bool value to true, calls setSteps, sets in the callback the bool value back to false and the blockingSetSteps function only returns when the bool value was set back to false.
-
NFC Bricklet steckt im status "initialization" fest
Sehr komisch! Du könntest einmal testen auch das NFC Bricklet neu zu flashen, ich wüsste allerdings auch nicht was das ändern sollte. Wenn das alles nichts bringt musst du die NFC Bricklets einschicken befürchte ich, wir würden uns das gerne ansehen. Vor allem wenn es ein Hardware-Defekt ist der erst nach einer Weile aufgetreten ist wäre das natürlich für uns interessant. Melde dich diesbezüglich dann bitte bei info@tinkerforge.com, wir können die auch vorher bereits erst zwei neue NFC Bricklets schicken.