Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.172
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    51

Alle erstellten Inhalte von photron

  1. Der ESP32 (Ethernet) Brick meldet aktuell keine Fehlerzähler. Brick Viewer geht mit dieser Situation nicht richtig um. Das ist ein reines Anzeigeproblem in Brick Viewer und keine wirklichen Fehler. Das wird mit der nächsten Brick Viewer Version behoben sein.
  2. Mit JavaScript meinst du unsere JavaScript Bindings? Leider werden diese aktuell noch nicht für den ESP32 (Ethernet) Brick unterstüzt. Alle anderen Bindings werden unterstüzt. https://www.tinkerforge.com/de/doc/Software/Bricklets/TemperatureV2_Bricklet_JavaScript.html Sorry, das ist ein Bug zwischen Brick Viewer und ESP32 (Ethernet) Brick. Das betrifft aber wirklich nur den Advanced Functions Dialog, auf dem es aber nichts zu tun gibt für den ESP32 (Ethernet) Brick. Daher ist das nicht kritisch. Ich habe es das Problem behoben und es wird mit der nächsten Version von ESP32 (Ethernet) Brick Firmware und Brick Viewer behoben sein. Ohne das du das eingestellt hast sollte das Webinterface danach nicht verlangen.
  3. Ich habe mal kurz in den Code geguckt. Es sieht für mich so aus also ob in dieser Zeile Code ein Typo ist: https://github.com/HappyTobi/warp/blob/ac97a5154077a0b2d1b677d160d5385a98f696a5/cmd/root.go#L49 Ich denke, da müsste "filepath.Join(home, ".warp.yaml")" statt "filepath.Join(home, "warp.yaml")" stehen. Falls du das selbst compilierst, dann kannst du mal testen ob diese Änderung hilft.
  4. Do you have the latest firmware installed on the HAT Brick? You can check with brickv. It should be version 2.0.3. If not please update using brickv. On the HAT Brick tab in brickv in the bottom left you can switch the RTC chip type. Try changing it to the other one and reboot the Raspberry Pi.
  5. Der Kernel meldet EINVAL (ungültiges Argument) für den Versuch den SPI Modus auf SPI_MODE_3|SPI_NO_CS zu konfigurieren. Ich habe in den Kernel Source Code geschaut und vermute, dass das Rock Pi 4 den SPI_NO_CS Modus nicht unterstüzt. https://elixir.bootlin.com/linux/v5.10/source/drivers/spi/spi.c#L3342 https://elixir.bootlin.com/linux/v5.10/source/drivers/spi/spi-rockchip.c#L725 https://elixir.bootlin.com/linux/v5.10/source/drivers/spi/spi-bcm2835.c#L1289 Teste mal bitte die angehängt brickd Version. Die versucht jetzt nicht mehr SPI_NO_CS zu setzen. Dadurch bewegt die SPI Hardware-Einheit dann unnötigerweise den Chip-Select-Pin, was aber hoffentlich ins Leere läuft. brickd_2.4.4+snapshot~889c425_arm64.deb
  6. Du bekommst den spidev Fehler nicht mehr, weil brickd jetzt gar nicht mehr soweit kommt. 2023-03-31 19:40:46.085011 <D> <bricklet.c:546> Found no bricklet.* section in config file brickd versteht die /etc/brckd.conf Datei nicht mehr. 2023-03-31 19:40:46.068252 <W> <main_linux.c:394> Warning(s) in config file '/etc/brickd.conf', run with --check-config option for details Führe bitte diesen Befehl in eine Terminal aus und poste die Ausgabe hier. sudo brickd --check-config
  7. Der Linux Kernel mag nicht wie wir das spidev konfigurieren wollen. Was hast du genau in die /etc/brickd.conf Datei geschrieben? Die 32766 wundert mich etwas. 2023-03-27 15:21:03.316473 <I> <bricklet.c:530> Found Bricklet port A (spidev: /dev/spidev32766.0, driver: gpio, name: gpio23, num: 23)
  8. Python verwendet auf Windows CP1252 als Encoding, auf Linux aber UTF-8. Wir entwicklen hier alle auf Linux, daher ist es leider nicht aufgefallen, dass wir nicht an allen Stellen Textdateien explizit als UTF-8 öffnen, sorry. Ich habe das gerade im git Repo repariert.
  9. The way you structured the code you call idr.get_value() a little bit to early. You call idr.get_value() directly after the ipcon.connect() call. At that moment the authentication probably has not completed yet and the ESP32 Brick rejects all requests. I modifed your example to wait for a few milliseconds before the idr.get_value() call for the authentication to complete. Please test the modification, it should fix the problem. Pump_control_tinkerunity_v2.py
  10. The Bricklet doesn't respond to a request in time. The first thing to check in that case is that you use the correct UID to address the Bricklet. But because other functions work, I think you are using the correct UID already. Do you have a load connected to the relay? If yes, does the problem go away when you disconnect the load from the relay? Can you show your complete Pump_control.py?
  11. Du hast im Release-Modus nicht ws2_32.lib;advapi32.lib; zu den zusätzliche Linker-Abhängigkeiten hinzugefügt.
  12. Du musst nicht alle Zwischenschritte machen. Du kannst direkt auf die neuste Version aktualisieren.
  13. Ich rate mal und sage, dass du aus dem Callback heraus die Datei mit fopen('dateiname.csv', 'w') öffnest und dann die Daten schreibst. Der Modus 'w' öffnet die Datei zum überschreiben. Du musst die Datei mit Modus 'a' öffnen für anhängen (append).
  14. Brick Viewer 2.4.25 Fix accidental dependency on newer PyQt5 version on Linux Downloads: Windows, Linux, macOS
  15. Brick Viewer 2.4.25 Unabsichtliche Abhängigkeit auf zu neu PyQt5 Version auf Linux behoben Downloads: Windows, Linux, macOS
  16. Änderungen für den CSV Export in der nächsten Version (vermutlich WARP2 2.0.12): Semikolon statt Komma als Feldtrenner und Window-1252 Kodierung, statt UTF-8.
  17. Die Wallbox zeichnet tausende Ladevorgänge auf. Unter charge_tracker/last_charges sind die letzten 30 Ladevorgänge als JSON verfügbar und unter charge_tracker/charge_log alle aufgezeichneten Ladevorgänge als Binärblob.
  18. Brick Viewer 2.4.24 Fix Python dev-mode default handling Do not touch /usr/lib/python3/dist-packages on Debian Linux Convert Debian Linux package build to debhelper Disable ADC calibration for 7p Bricks Add missing pkg_resources dependency on Linux Update all temperature readings with 10 Hz Stop callback emulator from delivering results to destroyed plugins Avoid crash while loading the 3D model in all IMU plugins Avoid PyQt5 import problem with the Qt module Downloads: Windows, Linux, macOS
  19. Brick Viewer 2.4.24 Python dev-mode Standardbehandlung korrigiert Es wird nicht mehr mit /usr/lib/python3/dist-packages gemacht auf Debian Linux Debian Linux Package zu debhelper konvertiert ADC Kalibrierung für 7p Bricks deaktiviert Fehlende pkg_resources Abhängigkeit auf Linux hinzugefügt Alle Temperaturmessungen werden mit 10 Hz ausgelesen Callback Emulator liefert keine Ergebnisse mehr an bereits zerstörte Plugins aus Crash beim Laden des IMU 3D Models vermieden PyQt5 Importprobleme mit dem Qt Modul behoben Downloads: Windows, Linux, macOS
  20. Den Anschluss kannst du frei wählen. Einfach einen der freien nehmen, die sind alle gleichwertig.
  21. brickd fragt mit der SHGetFolderPathA Funktion das CSIDL_COMMON_APPDATA Verzeichnis ab. Das mappt auf meinen beiden Windows 10 Instanzen hier auf C:\ProgramData\. Laut MSDN kann das aber auch auf C:\Documents and Settings\All Users\Application Data\ mappen, das Verzeichnis existiert zumindest laut Explorer hier nicht. brickd schreibt nur an eine Stelle. Welche das aber ist kontrolliert am Ende Windows und was jetzt das wahre Verzeichnis ist und was eine View ist kontrolliert auch Windows.
  22. Brick Daemon 2.4.4 Add menu entry to clear Live Log in Windows Log Viewer Abort delayed USB stall recovery if device was removed in the meantime Add rate limit for Bricklet error messages Increase libusb requirement from 1.0.6 to 1.0.20 Allow to disable mesh gateway Update bundled libusb to 1.0.26.11755 on Windows (Windows Vista or newer required) and macOS Downloads: Windows, Linux (amd64, i386, armhf, arm64), macOS
  23. Brick Daemon 2.4.4 Menueintrag zum Löschen des Live Logs zum Windows Log Viewer hinzugefügt Verzögerte USB Stall Recovery wird abgebrochen, wenn der Brick in der Zwischenzeit entfernt wurde Maximale Rate der Bricklet Fehlermeldungen wurde beschränkt Minimale libusb Anforderung von 1.0.6 auf 1.0.20 angehoben Mesh Gateway kann deaktiviert werden Mitgelieferte libusb Version auf 1.0.26.11755 für Windows (Windows Vista oder neuer benötigt) und macOS Downloads: Windows, Linux (amd64, i386, armhf, arm64), macOS
  24. Auch der Reset Befehl wird den Master Brick nicht erreichen. Das kannst du versuchen.
  25. 2kHz bingen dir nichts, da das Bricklet bzw der ADC darauf maximal 976 Werte pro Sekunde messen kann. Das folgenden Beispiel schafft eine Abfragerate von 991 Hz, allerdings ohne jeglich Verarbeitung der Werte. // This example is not self-contained. // It requires usage of the example driver specific to your platform. // See the HAL documentation. #include <Arduino.h> #include "src/bindings/hal_common.h" #include "src/bindings/bricklet_industrial_dual_analog_in_v2.h" void check(int rc, const char *msg); void example_setup(TF_HAL *hal); void example_loop(TF_HAL *hal); static int32_t last_voltage; static bool last_voltage_is_new = false; // Callback function for voltage callback static void voltage_handler(TF_IndustrialDualAnalogInV2 *device, uint8_t channel, int32_t voltage, void *user_data) { (void)device; (void)user_data; // avoid unused parameter warning last_voltage = voltage; last_voltage_is_new = true; } static TF_IndustrialDualAnalogInV2 idai; void example_setup(TF_HAL *hal) { // Create device object check(tf_industrial_dual_analog_in_v2_create(&idai, NULL, hal), "create device object"); // Set sample rate to 976 samples per second check(tf_industrial_dual_analog_in_v2_set_sample_rate(&idai, TF_INDUSTRIAL_DUAL_ANALOG_IN_V2_SAMPLE_RATE_976_SPS), "set sample rate"); // Register voltage callback to function voltage_handler tf_industrial_dual_analog_in_v2_register_voltage_callback(&idai, voltage_handler, NULL); // Set period for voltage (channel 0) callback to 1ms without a threshold tf_industrial_dual_analog_in_v2_set_voltage_callback_configuration(&idai, 0, 1, false, 'x', 0, 0); } static int start; static int count = 0; void example_loop(TF_HAL *hal) { // Poll for callbacks tf_hal_callback_tick(hal, 0); // Check for new value if (last_voltage_is_new) { if (count == 0) { start = millis(); } count++; int32_t voltage = last_voltage; last_voltage_is_new = false; //tf_hal_printf("Voltage: %d 1/%d V\n", voltage, 1000); if (count % 1000 == 0) { int duration = millis() - start; tf_hal_printf("Got %d values in %d milliseconds (%d Hz)\n", count, duration, (duration * 1000) / count); } } }
×
×
  • Neu erstellen...