Jump to content

borg

Administrators
  • Gesamte Inhalte

    3.625
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    61

Alle erstellten Inhalte von borg

  1. Das ist einfach mechanisch so, wie du schon selbst erklärt hast. Ich wüsste nicht was wir da in Software gegen machen sollten.
  2. Mhhh. Ich hab mir gerade die Änderungen angeguckt: https://github.com/Tinkerforge/io16-bricklet/commit/7a3e84f33234a1e964b7d1639ff675c0766db09e Da ist jetzt eigentlich nichts bei was große Performance-Probleme verursachen sollte. Wir haben die Optimierung von O1 auf Os umgestellt damit die neue Flankenzähler-API noch auf das Bricklet passte, evtl macht das Probleme? Ich gucke morgen ob ich das reproduzieren kann.
  3. Wenn man einen Callback aktiviert ist der für alle Programme aktiviert. Die Bricks/Bricklets selbst kennen keine mehreren Teilnehmer und können da auch nicht unterscheiden. Das Routing passiert an der Stelle im Brickd. Aber du kannst in den Programmen die einige Callbacks nicht brachen diese ja einfach ignorieren (also nichts auf dem Callback registrieren), das sollte ja gar keine Probleme machen oder verstehe ich dich da jetzt falsch?
  4. Wir lesen einmal pro ms den aktuell anliegenden Wert. Wenn es eine Veränderung von Low auf High gegeben hat gehen wir davon aus das es eine steigende Flanke war, wenn es eine Veränderung von High auf Low gegeben hat gehen wir davon aus das es eine fallende Flanke gab. Dadurch können wir eine Frequenz von maximal 500Hz erkennen. Ohne Fehler können wir also eine Frequenz von 250Hz erreichen, siehe Nyquist-Shannon-Abtasttheorem.
  5. New Accessories in our Shop: Blog entry
  6. Neues Zubehör im Shop: Blogeintrag
  7. Der Master Brick ist heute bei uns angekommen, er war lediglich nicht geflasht
  8. Der Brick Viewer stellt an den Callbacks rum, das ist richtig. Kann es sein das du den Brick Viewer beendest und dann die Callbacks aufhören? Der Brick stellst die Callbacks auch wieder aus wenn du ihn schließt.
  9. Jap, das Hall Effect Bricklet wird genau das tun: Magnetische Felder erkennen und Flanken zählen. Das Rotary Encoder Bricklet ist sowas hier: http://www.circuitsathome.com/wp/wp-content/uploads/rotary_encoder.jpg Das ist zum drehen per Hand gedacht. In Theorie könntest du aber natürlich auch versuchen das an einer Achse zu befestigen.
  10. There is not much we can do here. If you add up the prices of the parts on the Ethernet Extension (with PoE) and apply our "standard formula" to calculate the retail price you will end up at ~50€, or ~60€ with VAT. Why is a USB-to-Ethernet converter or a USB Wi-Fi stick so much cheaper? Thats quite easy: These converters are totally dumb. They now nothing about TCP/IP or protocols or anything. All of that is done in the operating system kernel. In contrast to that: Our Wi-Fi extension has to know Ethernet, TCP/IP, UDP, DHCP, WPA, WEP and so on and so on. The same (without the encryption) applies for the Ethernet Extension.
  11. Also wenn ich ein On-Device-Programming Interface erstellen wollte, würde ich "OnDevice" als weitere Kommunikationsschnittstelle in com.c/com.h hinzufügen. Solch eine Schnittstelle muss send, recv und init implementiere (siehe none.c in com/none/ für eine minimale Schnittstelle die nichts tut). Nachrichten die du an Bricklets schicken willst könntest du mit com_route_message_from_pc verschicken, wobei du als dritten Parameter deine neue Schnittstelle angeben musst, also z.B. COM_ONDEVICE. Die Antworten rufen dann ondevice_recv auf. Die Daten selbst sind im gleichen Format wie im TCP/IP Protokoll beschrieben.
  12. remotecontrol hat recht, du musst in init.c in void brick_tick_task(void *parameters) noch die Zeile led_tick_task(tick_type); auskommentieren. Ansonsten bleibt das blinken der LED anhand der übertragenen Datenmenge aktiv.
  13. https://www.tinkerforge.com/de/shop/cases/mounting-plate-8x8.html
  14. Shop: Montageplatte 8x8 Neue Montageplatte mit gleicher Größe wie Bricks
  15. Shop: Mounting Plate 8x8 New mounting plate that has the same size as the Bricks
  16. Yes That would be better, but is still think the smallest range doesn't make much sense for the autoranging. While looking at the source code, i thought that we should have allowed the 0-3.3V range when the auto range is disabled: http://www.tinkerforge.com/en/doc/Software/Bricklets/AnalogIn_Bricklet_Python.html#AnalogIn.set_range We can't break the API now, so we would have to add the new range as constant "5".
  17. Ich hab schonmal darüber nachgedacht ein Plugin für Wireshark zu machen welches unser Protokoll versteht. Das wäre dann IMO noch einfacher. Damit könnte man sich dann sowohl die USB als auch die TCP/IP Kommunikation angucken .
  18. Wenn du unter Linux dmesg aufrufst nachdem du das Brick angesteckt hast taucht nichts auf? Evtl sowas wie [...] usb [...] failed with error -X
  19. Mh, die einzige Erklärung die ich dafür hätte wäre wirklich ein Kurzschluss durch ein krummes Beinchen im Bricklet-Stecker. Wenn du einen zur Hand hast, könntest du nochmal versuchen den Brick an einen anderen PC anzuschließen und zu gucken ob sich da etwas tut, nur um sicher zu gehen. Ansonsten schreib eine Email an info@tinkerforge.com mit der Bestellnummer, wir schicken dann einen neuen Master Brick mit Rückumschlag für den nicht funktionierenden raus, dann können wir uns das angucken. Einen Transportschaden o.ä. gibt es aber auch nicht oder? Also ist irgendwo ein Bauteil abgebrochen oder so?
  20. In theory the Bricklet could measure in the 0-3.3V range (by not using any of the resistors). But the smallest range currently can't be enabled by the API. We disabled the smallest range since there were problems with jumps in the measurements when a voltage of about ~3.3V (which is a common voltage) was measured. The range was switched back and forth too often.
  21. Wie macht sich das Problem denn bemerkbar? Also woher weißt du das die Verbindung zum brickd abgebrochen ist?
  22. Kannst du versuchen den Brick nochmal explizit in den Bootloader-Modus zu bringen (am besten indem du den "Erase"-Taster drückst während du das Brick per USB an den PC ansteckst)?
  23. Leuchtet die LED am Master Brick? Funktioniert der Master Brick wenn du die Bricklets nicht angeschlossen hast? Ist evtl eines der Beinchen im Bricklet-Stecker krumm? http://www.tinkerforge.com/de/doc/FAQ.html#mein-brick-wird-heisz
  24. borg

    Chibi-Ethernet-Kombination

    Das geht soweit, bis die Nachrichten Timeouts bekommen weil sie so lange brauchen durch das System zu wandern .
  25. IRAM_SIZE ist in SAM3S.h definiert: #if defined sam3s1 #define IFLASH_SIZE 0x10000 #define IFLASH_PAGE_SIZE (256) /* Internal FLASH 0 Page Size: 256 bytes */ #define IFLASH_LOCK_REGION_SIZE (16384) /* Internal FLASH 0 Lock Region Size: 16 Kbytes */ #define IFLASH_NB_OF_PAGES (256) /* Internal FLASH 0 Number of Pages: 256 */ #define IFLASH_NB_OF_LOCK_BITS (4) /* Internal FLASH 0 Number of Lock Bits: 4 */ #define IRAM_SIZE 0x4000 #elif defined sam3s2 #define IFLASH_SIZE 0x20000 #define IFLASH_PAGE_SIZE (256) /* Internal FLASH 0 Page Size: 256 bytes */ #define IFLASH_LOCK_REGION_SIZE (16384) /* Internal FLASH 0 Lock Region Size: 16 Kbytes */ #define IFLASH_NB_OF_PAGES (512) /* Internal FLASH 0 Number of Pages: 512 */ #define IFLASH_NB_OF_LOCK_BITS ( /* Internal FLASH 0 Number of Lock Bits: 8 */ #define IRAM_SIZE 0x8000 #elif defined sam3s4 #define IFLASH_SIZE 0x40000 #define IFLASH_PAGE_SIZE (256) /* Internal FLASH 0 Page Size: 256 bytes */ #define IFLASH_LOCK_REGION_SIZE (16384) /* Internal FLASH 0 Lock Region Size: 16 Kbytes */ #define IFLASH_NB_OF_PAGES (1024) /* Internal FLASH 0 Number of Pages: 1024 */ #define IFLASH_NB_OF_LOCK_BITS (16) /* Internal FLASH 0 Number of Lock Bits: 16 */ #define IRAM_SIZE 0xC000 #else #error Library does not support the specified device. #endif Fehlt da dem Debugger vielleicht irgendwie das define? Normalerweise wird der Microcontroller-Typ im Makefile mit übergeben, mit "-Dsam3s4" im Falle des Master Bricks. Du könntest zum testen einfach mal ein #ifndef sam3s4 #define sam3s4 #endif über den Block setzen.
×
×
  • Neu erstellen...