abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:11 | Komunita

    Fedora je od 10. února dostupná v Sýrii. Sýrie vypadla ze seznamu embargovaných zemí a Fedora Infrastructure Team mohl odblokovat syrské IP adresy.

    Ladislav Hagara | Komentářů: 7
    dnes 03:44 | Zajímavý projekt

    Ministerstvo zahraničí Spojených států amerických vyvíjí online portál Freedom.gov, který umožní nejenom uživatelům v Evropě přístup k obsahu blokovanému jejich vládami. Portál bude patrně obsahovat VPN funkci maskující uživatelský provoz tak, aby se jevil jako pocházející z USA. Projekt měl být původně představen již na letošní Mnichovské bezpečnostní konferenci, ale jeho spuštění bylo odloženo.

    NUKE GAZA! 🎆 | Komentářů: 3
    dnes 03:33 | Komunita

    Byla vydána pro lidi zdarma ke stažení kniha The Book of Remind věnovaná sofistikovanému kalendáři a připomínači Remind.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Nová verze

    Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.5.0. Oznámení připomíná 30. výročí vzniku projektu. Novinky zahrnují mj. vylepšení referencí nebo použití barev napříč aplikací, od rozhraní editoru po výstupní dokument.

    |🇵🇸 | Komentářů: 0
    včera 15:00 | Komunita

    F-Droid bannerem na svých stránkách a také v aplikacích F-Droid a F-Droid Basic upozorňuje na iniciativu Keep Android Open. Od září 2026 bude Android vyžadovat, aby všechny aplikace byly registrovány ověřenými vývojáři, aby mohly být nainstalovány na certifikovaných zařízeních Android. To ohrožuje alternativní obchody s aplikacemi jako F-Droid a možnost instalace aplikací mimo oficiální obchod (sideloading).

    Ladislav Hagara | Komentářů: 21
    20.2. 16:33 | Nová verze

    Svobodná historická realtimová strategie 0 A.D. (Wikipedie) byla vydána ve verzi 28 (0.28.0). Její kódový název je Boiorix. Představení novinek v poznámkách k vydání. Ke stažení také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    20.2. 04:44 | Nová verze

    Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 1
    20.2. 01:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.

    Ladislav Hagara | Komentářů: 0
    19.2. 18:00 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.

    Ladislav Hagara | Komentářů: 1
    19.2. 16:00 | Zajímavý software

    WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 9
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (12%)
     (26%)
    Celkem 928 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Lazarus a seriovy port / UART

    16.7.2023 02:03 ok2zar | skóre: 19
    Lazarus a seriovy port / UART
    Přečteno: 642×
    Zdravim,

    asi se budu ptat fakt hloupe, ale jak jednoduse uchodit cteni dat z UARTu v Lazarusu? Googlil jsem, pouzil DataPort a hodi mi to SIGSEGV jakmile se snazim otevrit port. Pravama to asi nebude, protoze kdyz si pod tim samym userem spustim "cat /dev/ttyUSB0", tak mi to data na terminal plive.

    S nejvetsi pravdepodobnosti bude chyba nekde v kodu, pac to "drzim v rukach" po vice jak dvaceti letech. Proste potrebuju precist data ze seriaku a bezdradne se v tom placam. Prozatim to delam na laptopu, ale vysledek pofrci na maline.

    Takze diky predem, za pripadne rady.

    Řešení dotazu:


    Odpovědi

    16.7.2023 07:46 MarV | skóre: 11
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Bez kódu to asi nepůjde ...

    Pokud stačí blokující přístup, tak je možná jednodušší přímo Synaser, který je v DataPort použit interně.
    16.7.2023 10:21 ok2zar | skóre: 19
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    No on zadny kod neni. Jsou to jen tyto dva radky. Definice promenne a pokus otevrit port. A na tom to vzdy chcipne.

    SerialPort : TDataPortUART;

    SerialPort.Open('/dev/ttyUSB0,9600,8,N,1,0,0');

    Me je uplne jedno, pres co to pojede, hlavne aby to jelo :-)
    16.7.2023 11:01 X
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    uses DataPortSerial
    ...
    SerialPort : TDataPortSerial;
    SerialPort.Open('/dev/ttyUSB0');
    
    16.7.2023 11:28 MarV | skóre: 11
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    SerialPort : TDataPortUART;

    Je pouze prázdný pointer do kterého je potřeba přiřadit nově vytvořený objekt třídy TDataPortUART, což tam chybí, a proto to spadne na neplatný přístup do paměti.

    Obecně tam toho chybí mnohem víc a nerad bych se vysiloval radit nějaké řešení, které je třeba pro danou aplikaci zcela nevhodné. Co to má dělat? Bude to mít grafické rozhraní nebo jen konzolovka?
    16.7.2023 12:01 ok2zar | skóre: 19
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Jo, ma to graficke rozhranni. Potrebuju pres UART chytnout data a poslat to do mysql. Vse ostatni mam hotove a ted jen potrebuju chytnout data tim UARTem. To je vlastne posledni, co mi chybi.

    Uses DataPort, DataPortUART;

    Type SerialPort : TDataPortUART;

    // a pak v kodu mam pokus o otevreni portu

    SerialPort.Open('/dev/ttyUSB0,9600,8,N,1,0,0');

    Vic toho neni a diky za rady, ale urcite budu potrebovat poradit vic :-/
    16.7.2023 12:12 X
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    16.7.2023 13:14 ok2zar | skóre: 19
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Asi to bude sokujici, ale taky jsem to videl, nez jsem vznesl dotaz, a pokud se nepletu, tak je tam jen priklad na TCP spojeni. A pokud je tam priklad, ktery resi muj problem, tak jsem ho nevidel.
    16.7.2023 12:22 MarV | skóre: 11
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Otázka zní, jak jsi komponentu TDataPortUART dostal do projektu?
    A) Instalace přes měnu Package->Online package manager a potom jsi z palety vložil komponentu TDataPortUART na formulář?
    B) Stahoval/kopíroval ručně a jen jsi do kódu napsal zmíněné řádky? Pokud ano, je nějaký důvod nepoužít variantu A?

    Jinak u tohoto typu komponenty se připrav, že čtení nemáš pod kontrolou - tj. bude se automaticky volat událost kdykoliv přijde nějaký cucek dat:

    TDataPortUART = class(TDataPort)
      .....
      { Triggered when data appeared (not thread-safe, called from inner thread!) }
      property OnDataAppearUnsafe: TNotifyEvent read FOnDataAppearUnsafe write FOnDataAppearUnsafe;
    end;
    
    Vytahovat z bufferu a řešit kde začínají a končí si musíš nějak sám. Plus je tam poznámka že to není thread safe ...

    16.7.2023 13:17 ok2zar | skóre: 19
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Instaloval jsem to variantou B a variantu A jsem nepouzil, protoze nevim, ze to tak jde nebo je to doporucene. Moje posledni zkusenost byla BorlandPascalem na DOSu 6.22, takze nevim, jak se na lopate sedi.
    16.7.2023 13:24 MarV | skóre: 11
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    No pak doporučuji použít variantu A (předtím se zbavit všech souborů po variantě B). Pro variantu B je potřeba mít správně cesty, ručně vytvořit objekt, přiřadit parametry a události.

    BTW: FPC/Lazarus jsem na ARMu nikdy nezkoušel. Každopádně Lazarus IDE pro ARM neexistuje, pokud je mi známo, a budeš muset zprovoznit cross compiller. Možná bych očekával i nějaké potíže s kompatibilitou knihoven ...
    16.7.2023 14:21 ok2zar | skóre: 19
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Ucinil jsem podle rady, nainstaloval, Lazarus chrochtal a cosi si compiloval a pak se restartoval. Pridal jsem si komponentu a pak jsem dostal toto:

    terminal.pas(10,3) Fatal: Nelze najít DataPortFTDI užito terminal, nekompatibilní ppu=/home/petr/.lazarus/onlinepackagemanager/packages/DataPort/lib/x86_64-linux/DataPortFTDI.ppu, balíček DataPortLasarus

    Prve jsem zkusil DataPortSerial, ale se stejnym vysledkem.
    16.7.2023 14:44 MarV | skóre: 11
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Nový čistý projekt, TDataPortSerial vložen na formulář a píše to tohle?
    16.7.2023 14:51 ok2zar | skóre: 19
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    To jeste zkusim. Ja to vlozil do stavajiciho mini projektu. Ale v mezicase jsem pres ten online manager nainstaloval LazSerial a uz mi to cte. Dle toho, co jsem cetl na wiki i forech by ten DataPort mel byt vyhodnejsi. Tak jako tak to rad prozkoumam.
    Řešení 1× (MarV)
    16.7.2023 18:02 ok2zar | skóre: 19
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Tak hotovo. LazSerial v pohode resi celou situaci a aplikace je hotova. Takze diky za rady i co se tyce instalace online balicku. To mi pomohlo taky dost.
    16.7.2023 12:43 .
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART
    Když to děláš "ručně", tak definuješ proměnnou a pak na ní zavoláš .Create, abys vytvořil ten objekt a pak můžeš použít .Open atd. To "type" tady nemá co dělat.

    Když nevíš, co děláš, tak to nedělej a "normálně" to naklikej. Vlož tu komponentu na formulář a pak použij serialPort1.Open... (nebo co za název to vygeneruje).
    17.7.2023 13:58 D
    Rozbalit Rozbalit vše Re: Lazarus a seriovy port / UART

    Vzdy jsem pro tento ucel pouzival TBlockSerial z unitu Synaser knihovny Synapse.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.