Lazarus 3.2 (2024.02.28.)
Letöltés

  • Oldal:
  • 1

TÉMA:

Válasz: RS232 + Synaser + Új kernel 2013 okt. 12 16:54 #1292

  • JohnnyK
  • JohnnyK profilkép
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 78
  • Köszönetek: 16
Szia!
Soros portos kommunikációhoz (Linux & Win) én egy 5dpo vagy Sdposerial nevű komponenst használok, ami szintén Synaser alapú. A kommunikáló eszközöm egy FTDI FT232-es IC, USB kapcsolattal, ttyUSB0 eszközként, amivel végső soron végülis hagyományos soros portos kommunikációval lehet kommunikálni. A helyzet az, hogy felcsatlakoztatás után rendszergazdaként ki kell adni a chmod 666 /dev/ttyUSB0 parancsot, majd utána kell elindítani a Lazarus által késztett futtatható programot. Nálam így működik Lubuntu 12.04 (x64), Linux Mint 13 (x64) alatt is, és most kipróbáltam egy OpenSUSE 12.3 KDE (x64) LiveUSB-t, ahonnan most szintén működőnek tűnik a ttyUSB0 eszköz. Bízom benne, hogy tudtam segíteni.

Válasz: RS232 + Synaser + Új kernel 2013 okt. 12 16:45 #1291

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 506
  • Köszönetek: 86
Sajnos, most nem vagyok tesztelésre alkalmas gépnél, de ha odajutok felteszem a Synaser-t és csinálok egy-két próbát.

Addig is légy szíves és írj egy rövid kódot, ami biztosan az általad vázolt módon működik, illetve nem működik! Természetesen a kérdéses kódrészlet pontos másolata lenne a legjobb, ügyelve a 'copyright' miatt kritikus nevekre és egyebekre.
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

Válasz: RS232 + Synaser + Új kernel 2013 okt. 12 10:49 #1290

  • stickel
  • stickel profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 17
  • Köszönetek: 0
Minden eszköz elérhetőségét ismerem, mert más programok is kérik a device-t. Nekem kimondottan azzal van bajom, hogy a synaser nem találja meg. Ugyanaz a program - nincs újrafordítva, csak átmásolva - a régebbi rendszeren mindent megtalál (/dev/ttyS0, /dev/ttyUSB0), de a 12-es verziótól és a debian 6.x-től már nem veszi észre. A device-ok között ott van, az egyéb programok tudják is használni, mert én állítom be ott is.

A synaser-t átírtam fix eszköznevekre. Ha USB-s eszközt keresek, akkor belefagy (pedig van és működik is), a sima /dev/tty* eszközöket pedig nem veszi észre. Ezért gondolom azt, hogy valamit megváltoztattak az eszközelérésben (rendszerszinten), de a synaser rutin valahogy másképp keresi azt és erre keresek megoldást.

Válasz: RS232 + Synaser + Új kernel 2013 okt. 12 09:00 #1289

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 506
  • Köszönetek: 86
A DOSEMU Linux (és más unix tipusú rendszerek) alatt megkeresi a rendszeren elérhető soros/párhuzamos portokat és azokat a megfelelő DOS-os nevekkel és fizikai port számokkal "eljátsza" a programok számára. A háttérben azonban ezeket a műveleteket a DOSEMU is a Linux rendszermag segítségével hajtja végre, annak továbbítva a kérést a Linux-on szokásos módon és nevekkel.

Az elméletileg elérhető soros portok listáját a következő parancsal Te is megnézheted:
ls /dev/tty*
A rendszermag naplózza az eseményeket. Ebbe a naplóba sok más mellett a ténylegesen aktív/elérhető portok is bejegyzésre kerülnek induláskor, illetve a portok aktiválásakor. Ennek megtekintéséhez írd a terminálba a következőt:
dmesg|grep tty
Ez kiírja a ténylegesen aktív/elérhető soros portok listáját, kb így:
[    0.000000] console [tty0] enabled
[    0.549620] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
A fenti kimenet alapján az én gépemen a 0x3F8 portot a ttyS0 névvel azonosította a Linux rendszermag.

Ha egy USB eszközt csatlakoztatsz a géphez akkor a rendszernapló átböngészése segíthet megtalálni azt. A naplóban szerepelni fog a port neve ahol az eszköz elérhető. A teljes napló megjelenítéséhez a következőt kelll a terminálba írni:
dmesg
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

Válasz: RS232 + Synaser + Új kernel 2013 okt. 11 13:52 #1288

  • stickel
  • stickel profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 17
  • Köszönetek: 0
Szia.

Köszönöm a válaszod. Igen, a 12-es szériára gondoltam. 11-es opensuse (11.1 - 11.4) alatt gond nélkül lefut, megtalálja a soros portokat. A 12-estől valamit variálhattak, mert nem kapok semmilyen hibát, de ugyanaz a program nem talál soros portot. Olyan, mintha nem is lenne a gépben, de persze megvan, mert a DOSEMU megtalálja és használni is tudja.
Az eredeti program DOS alatt megy, onnan tettük át a synaser használatával nativ linux kódba. Kipróbáltam debian 6.x és ubuntu 11-12 alatt is, ott is ugyanez a helyzet, hogy azt közli, nincs soros port.
Hát ez a gondom vele.

Válasz: RS232 + Synaser + Új kernel 2013 okt. 11 11:45 #1287

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 506
  • Köszönetek: 86
Szia!

A "12" változat gondolom az OpenSUSE változat (kiadás) számát jelenti (már két éves), de ennek a programod működéséhez túl sok köze nincs.
A rendszermag (kernel) és a függvénytárak (library) működése és főleg azok használatának (függvényhívás) módjai, valamint a portok elérése pedig többnyire visszafelé kompatibilisek szoktak lenni.

Ne felejtsd el, hogy bár Unix típusú rendszereken a fizikai portokat a programok közvetlenül is elérhetik, a teljes hozzáféréshez többnyire külön rendszergazdai (root) jogosultságokat kell biztosítani számárukra. Esetleg az adott felhasználót be kell állítani mint a port tulajdonosát írás/olvasás jogokkal vagy ugyanezen jogokat megadni mindenkinek (other).

Setting up permissions for serial (RS232) ports (gphoto doksi részlete)
Short guide to Serial (RS-232) communications in Linux
5 Linux / Unix Commands For Connecting To The Serial Console

Milyen a hibaüzenetet kapsz ha terminálból indítod a programod?
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

RS232 + Synaser + Új kernel 2013 okt. 11 06:21 #1286

  • stickel
  • stickel profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 17
  • Köszönetek: 0
Sziasztok. Segítség kéne a Synaser használatához. Alapvetően OpenSUSE alatt dolgozom, de sajnos máshol is gond van. A 12-es változattól megváltozott a soros port kezelése a rendszerben, így a synaser nem találja meg. A synaser library-t nem javították már régóta.
Mi változott meg a kernelben és a rendszerkezelésben? Hogyan tudnám szóra bírni az új rendszerek alatt?
A segítségeteket nagyon köszönöm.

  • Oldal:
  • 1