- apal blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
Ugy emlekszem, a LinuxCNC-s csapat az USB-t a hardware-es latency limitje miatt nem ajanlja. Egyebkent is, ha real-time, vagy idoziteskritikus feladatod van, mikrokontrollerrel egyszerubb megoldani, a PC-n csak a kommunikacio es a magasabb szintu dolgok menjenek!
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Köszi, nekem nagyon hasznos ez.
Egy kérdés: hosszútávon (hónapokig üzemeltetve) van esetleg tapasztalatod FTDI USB-Serial cuccal? Én PL-2303 chipessel jártam sok éve úgy, hogy 2..3 hétig tuti jó volt, aztán vmi reset (villámtól, bámitől), újrakapcsolódás és mivel a szoftver fogta a /dev/ttyUSB0-t, ezért /dev/ttyUSB1-ként jelent meg. Automatizált állomásnál ez innentől problémát okozott, ethernet-rs232 átalakítóra tértünk ott át, ez okés volt. Azóta pedig megfelelő számú hw soros portos miniPC-kre.
- A hozzászóláshoz be kell jelentkezni
Erre én watchdogot akasztanék: ha nincs ttyUSB0 akkor újraindul a PC. Nem túl elegáns, de nekünk annó ez jól működött.
- A hozzászóláshoz be kell jelentkezni
Nekem az Odroid C2 - Aeotec z-stick jatszotta el ugyanezt.
Mar erosen gondolkodtam, hogy scriptet irok ra, amely kiloke/betolti a kernel modult es ujrainditja a Domoticz szervert.
Egyebkent nincs valami ertelmes megoldas, ami az eszkoz egyedi ID-je (van ilyen egyaltalan?) nevezi el az /dev-ben az USB eszkozt?
--szerk--
Udev szabalyokkal megoldhato, hog ykapjon egy fix nevet.
- A hozzászóláshoz be kell jelentkezni
Egyebkent nincs valami ertelmes megoldas, ami az eszkoz egyedi ID-je (van ilyen egyaltalan?) nevezi el az /dev-ben az USB eszkozt?
Az /etc/udev/rules.d/ az pont erre jo. Vagyis temagad irhatsz hozza kicsi szkripteket, ami mondjuk tok hasonlo mint a fenti pelda. Nalam pl van ilyen is:
SUBSYSTEM=="tty", ACTION=="add", ATTRS{product}=="*TavIR*", RUN+="/bin/bash -c 'for (( i=0; i<16; i++)); do if ! test -L /dev/ttyAVR${i}; then ln -s %k /dev/ttyAVR${i}; break; fi; done'"
SUBSYSTEM=="tty", ACTION=="remove", RUN+="/bin/bash -c 'for (( i=0; i<16; i++)); do test -c /dev/ttyAVR${i} || rm -f /dev/ttyAVR${i}; done'"
Elegge primko, biztos lehetne elegansabban is :) De ha ~10 eve mukodik hibatlananul, sok-sok egymas utani debian alatt, valtozatlanul, akkor nem javitom meg inkabb... :)
- A hozzászóláshoz be kell jelentkezni
-
- A hozzászóláshoz be kell jelentkezni
Egy kérdés: hosszútávon (hónapokig üzemeltetve) van esetleg tapasztalatod FTDI USB-Serial cuccal?
Igenigen, egeszen hatarozottan megbizhatoak. Nem mondom hogy az eletemet is rabiznam, de pont az ilyen random egyeb UART bridge-kkel ellentetben azoknal messzemenoen stabilabbak. Avagy inkabb forditva mondanam: ezutobbiakkal van eleg rossz tapasztatom, es most mar (az ara es/vagy a beszerzesi nehezsegek ellenere) csak FTDI bridgekkel tervezgetek dolgokat. Nyilvan eles/kritikus rendszerben kerulni kell az USB-t, ott marad az Ethernet. De ha csak ilyen alkalmi, barmikor kihuzhato-visszadughato vagy tavolrol/automatikusan is reszetelheto a dolog akkor jok ezek is az USB-s cuccok is. De ezekre is inkabb FTDI ;)
- A hozzászóláshoz be kell jelentkezni
Nyilvan eles/kritikus rendszerben kerulni kell az USB-t
Miért? Azért kérdem, mert mi műszeren belül a 32 bites mikrokontrollerrel felépített mérőrendszer és az előfeldolgozott adatok feldolgozását és a GUI-t biztosító PC között USB CDC-t használunk és szokott működni. Aggódnom kellene kicsit?
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Ha mérőrendszer akkor vsz annyira nem :) De ha nagyobb vasak mozgását, mozgatását vezérli akkor valami plusz biztosítékot beletennék...
- A hozzászóláshoz be kell jelentkezni
Azt szoktam, hogy a kezeloprogramom VID:PID alapjan megtalalja a megfelelo eszkozt. Ha egy darab van csak, vagy a regi eltunt, siman eldontheto, hogy melyiket kell megnyitnod. Akkor is, ha az eszkoz csatlakozaskor kuld valami azonositot (+ esetleg verziot).
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
A PL-2303 elég változó minőség, volt olyan nálam, ami random elkezdett dolgokat kiküldeni, egy másikon gombóccá olvadt a chip, meg olyan is volt, ami jól működik.
- A hozzászóláshoz be kell jelentkezni
Nagyban hamisítják. Elvétve ki lehet fogni eredetit.
- A hozzászóláshoz be kell jelentkezni
Mondjuk aliexpresszes a legtobb talalat, szoval nem csodalom... mouser-nel, farnell-nel nincs, digikey-nel lattam par modulkat aminel mar van hatarozottan nagy eselye hogy nem hamisitivany.
- A hozzászóláshoz be kell jelentkezni
Köszi
- A hozzászóláshoz be kell jelentkezni
A működéséről mondj néhány szót! :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
A doksiban (FT2232H) lattam hogy van ez, rakerestem hogy linuxon lehet-e ezt a parametert hangolni es akkor ugy lett meg hogy van ez a `/sys/bus/usb-serial/devices/ttyUSB*/latency_timer` file. Kiprobaltam, mukodott. De ami a furcsa hogy papiron a ftdi_sio.ko-nak is van egy ndi_latency_timer parametere, de azt sajnos egy `rmmod ...` / `modprobe ... ndi_latency_timer=1` modon nem tudtam beallitani. De lenyegeben igy, udev-en keresztul mukodik, teljesen jo ez. Szoval erdekes, hogy noha ez egy driver featura, az FT2232H-s ic doksija (26. oldal) is elegge jol leirja. Az modnjuk jo kerdes hogy egy mezei FT232R is tud-e ilyet. Ez most epp nincs keznel, a doksi sem utal ra, de majd megnezem valamikor.
[...]
Es most lattam igy hogy akarmeg 0-ra is allithato ez az ertek, akkor meg egy kicsit gyorsabb :)
- A hozzászóláshoz be kell jelentkezni
Ez a latency_timer valami jó nagy érték volt, s ezt írod át egyre, amikor létrehozza az udev a device-t?
Szerk.: Ja, most látom, 16 ms eredetileg.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Ó ha ezt hamarabb látom...
Múlt héten dumpoltam egy EFM8-at a bootloaderben lévő CRC check segítségével (minden byte-ot végigpróbálsz 0-255-ig, hogy az az a checksumja és ha igen akkor megvan a tartalom).
Műhelyben elkezdtem valami CH341-es hokival kb. 3 óra alatt meglett a fele. Hazajövök itthon van egy FT4232H alapú cuccom rárakom, egy éjszaka alatt nem ért véget. Nem értettem a dolgot, de vszeg ez lesz a megoldás...
- A hozzászóláshoz be kell jelentkezni
No igen, nekem is valami hasonlo dolog kapcsan (csomag-kapcsolt FPGA bitstream frissites) jott elo... es szintugy, FT2232-nel ;)
- A hozzászóláshoz be kell jelentkezni