Jump to content

rtrbt

Administrators
  • Gesamte Inhalte

    1.489
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    138

Alle erstellten Inhalte von rtrbt

  1. Moin, Kannst du das ganze mit einer älteren Brick Viewer Version (2.4.6 oder älter) testen? Wir haben mit der 2.4.7 alle Verbindungen auf https umgestellt, eventuell macht das bei dir Probleme.
  2. Moin, Führst du den Brick Viewer aus Source aus? Die Pfade im Callstack sehen so aus. Da wir vor kurzem Teile der UI geändert haben, musst du nochmal build_src.py in brickv/src ausführen, damit die neuen UI-Elemente in Pythoncode gegossen werden.
  3. Moin, Das funktioniert nicht out-of-the-Box, da müsste man einen eigenen Kerneltreiber schreiben. Ein Seriell-USB-Wandler + USB-Hub ist da einfacher. Alternativ kannst du ein GPS-Bricklet und dieses Programm benutzen.
  4. Moin, Das sollte mit 2.4.9 gefixt sein.
  5. Dafür musst du die Teile in dem Datumsstring auch durch Platzhalter ersetzen, die du dann mit String.Format einsetzt, z.B so: myProcess.StartInfo.Arguments = String.Format("/bin/date -s \"{0:00} {1} {2:0000} {3:00}:{4:00}:{5:00}\"", jahr, monat, tag, stunde, minute, sekunde); Den Monat musst du als String reingeben, also z.b. AUG oder SEP. Alternativ kannst du dir mal die anderen Formate ansehen, die date versteht, die sind z.B. hier dokumentiert.
  6. Das sieht schon mal besser aus. Jetzt wäre wieder dmesg interessant. Außerdem kannst du mit lsusb -t nachsehen, ob überhaupt einer und wenn ja, welcher Treiber geladen wird.
  7. Ah, manchmal ist man einfach betriebsblind, sorry dafür. Das Problem ist, dass StartInfo den Namen der ausführbaren Datei und die Argumente getrennt will, da ja auch keine Shell benutzt wird (deshalb optionalerweise UseShellExecute = false). So funktioniert es bei mir: using (Process myProcess = new Process()) { myProcess.StartInfo.FileName = "/usr/bin/sudo"; myProcess.StartInfo.Arguments = String.Format("/bin/date -s \"22 AUG 2019 {0:00}:{1:00}:{2:00}\"", stund, minut, sekund); myProcess.Start(); }
  8. Was für eine Fehlermeldung bekommst du, wenn du myProcess.Start(); aufrufst?
  9. Was gerade noch aufgefallen ist: Datum/Zeit zu setzen geht nur mit Root-Rechten. Du kannst aber dem Standarduser (also tf) erlauben, das ohne Root-Passwort zu tun, in dem du auf der seriellen Konsole des RED-Brick einmalig folgenden Befehl ausführst: echo 'tf ALL=(root) NOPASSWD: /bin/date' | sudo tee -a /etc/sudoers Wenn du dann in deinem Programm /bin/date durch /usr/bin/sudo /bin/date ersetzt, sollte es klappen.
  10. Process kannst du verwenden, wie hier beschrieben. In deinem Fall müsste myProcess.StartInfo.FileName = "C:\\HelloWorld.exe"; stattdessen myProcess.StartInfo.FileName = String.Format("/bin/date -s \"22 AUG 2019 {0:00}:{1:00}:{2:00}\"", stunde, minute, sekunde); (o.Ä.) sein.
  11. Am einfachsten mit Etcher, hier wird erklärt wie das geht. Damit wird allerdings alles auf der Micro-SD-Karte überschrieben, d.h. du solltest ein Backup von Daten, die du auf dem alten Image geändert hast, ziehen, oder alternativ eine andere Micro-SD-Karte benutzen.
  12. Der Befehl heißt lsusb mit kleinem L nicht großem i. Abgesehen davon solltest du dein Image mal auf 1.14 aktualisieren (oder zumindest damit mal testen).
  13. Moin, Wenn du den Stick angeschlossen hast, tauchen die ganzen USB-Resets auf. Du kannst mit lsusb (poste mal die Ausgabe davon) mal nachprüfen ob das wirklich der Stick ist, Bus 0X Device 01 sollte der entsprechende Hub-Chip sein, Bus 0X Device 0Y dann der Stick. In den Resetmeldungen siehst du dann "usb X-1:" das ist der Hub und dahinter "USB device number Y", die sollte der aus lsusb entsprechen. Da die Resets vermutlich an den Stick geschickt werden: Wie ist dein Aufbau insgesamt? Wie versorgst du ihn mit Strom? Welche Image-Version hast du auf dem RED-Brick? Vermutlich ist das (noch) kein Treiberproblem, da das USB-Device ansich ja nicht korrekt auftaucht. Der Treiber würde erst im nächsten Schritt geladen werden.
  14. Moin, Interessant wären die Ausgaben von lsusb und dmesg. Da gerade dmesg auf der seriellen Konsole des RED-Bricks sehr unübersichtlich ist, kannst du die Ausgabe mit dmesg | tail -n 30 filtern.
  15. Die Selbsterwärmung des Sensors kann mit der Funktion set_temperature_offset kompensiert werden.
  16. As there is a brickv folder in /usr/share, did you install the Brick Viewer Debian package or from source? The Debian package typically is installed to /usr/share/brickv. To start the Brick Viewer, you can run brickv from the terminal instead of calling main.py directly. The error message indicates, that Qt can not reach the X server. Are you running your graphical interface as root or as another user? If so, Brick Viewer should work if you run it as the "normal" user.
  17. Moin, das ist vermutlich auf einen Bug im Brick Viewer zurückzuführen, der mit Version 2.4.5 gefixt wurde. /etc/localtime ist ein Symlink auf die gewünschte Zeitzone in /usr/share/zoneinfo/. Vor Version 2.4.5 hat der Brick Viewer aber localtime auf nicht vorhandene Dateien gelinkt, C# gibt dann die FileNotFoundException aus. Wenn du mit dem aktuellen Brick Viewer die Zeitzone des RED-Brick neu setzt, sollte das Problem behoben sein. Um die Zeit des RED-Bricks zu setzen kannst du date auf der Kommandozeile oder mit System.Diagnostics.Process verwenden. Zum Beispiel mit date +%s -u -s @1565681174 (als Unix-Timestamp, so macht es der Brick Viewer) oder mit date -s "13 AUG 2019 09:25:30"
  18. War doch einfacher als gedacht. Habe dir die gefixte Version mal angehangen, bei mir gibt g++ 9.1 die Warnung nicht mehr aus. tinkerforge_c_bindings_2_1_25.zip
  19. Versuch es mal ohne die () hinter cb_enumerate und cb_connected.
  20. Moin, Ich bin dem mal nachgegangen, das Problem ist nicht das Alignment innerhalb der Strukturen, sondern das der Strukturen selbst (also Packet, PacketHeader und den konkreten wie z.B. SpectrumLowLevel_Callback). Da sie als packed markiert sind, geht der Compiler (richtigerweise) davon aus, das sie nicht auf 4 Byte alignt sind und gibt die Warnung aus. Abgesehen davon gibt es tatsächlich Fälle, in denen die Paketstruktur so ist, dass Arrays an "krummen" Adressen liegen, z.B. beim RS232 Bricklet. Das sauber für alle Compiler zu fixen dauert noch etwas, falls du auf x86 oder einer anderen Architektur, die unalignte Zugriffe unterstützt, unterwegs bist, kannst du die Warnung erstmal mit -Wno-address-of-packed-member unterdrücken. Ich melde mich sobald ich das repariert habe.
  21. Prinzipiell funktioniert das, hängt aber natürlich auch von deinem Handy ab. Im Settings-Network-Tab des Brick Viewers taucht es als Wired-Interface usb0 auf.
  22. Moin, Habe ich mal implementiert, kommt mit 2.4.7. Du kannst dann im Flashing-Window auf den Brick Viewer klicken, dann wird je nach Plattform das richtige Paket heruntergeladen. Hm das ist kaputt. Habe ich mal gefixt, kommt auch in der 2.4.7. Erik
  23. rtrbt

    HAT Brick

    Die set_sleep_mode-Funktion fährt den Raspberry nicht von alleine heruntergefahren, sondern sagt nur dem HAT, dass der Strom weggenommen werden muss. Das Runterfahren (z.B. wie du es geschrieben hast mit shutdown) musst du selber machen. PS: Mir ist gerade aufgefallen, dass in den Beispielen die Zeit in Millisekunden mitgegeben wird. Das müssen aber wie dokumentiert Sekunden sein. Habe ich gerade gefixt, sollte in ein paar Minuten aktualisiert werden.
  24. Moin, Versuch es mal mit dieser Version. Ich habe das Zeitzonenhandling insgesamt überarbeitet, jetzt sollten auch echte Zeitzonen (anstatt von UTC-Offsets) angezeigt und gespeichert werden. Erik
  25. Not supported in this case means "works in some cases, but not in enough to support it.": The firmware of bricklets with co-processor sends an enumerate when booting and bricks poll their ports with an exponentional decreasing rate, which in conjunction allows hot plugging. But bricks are not able to tell if a bricklet gets disconnected. So if your use case only requires adding co-processor bricklets and never removing them, you could reasonably expect this to work, but as I've said it is not supported.
×
×
  • Neu erstellen...