Tesla se slevou  |  Portrétní focení  |  Mailhosting Business  |  Stavební rozpočty  |  Domény  |  Webhosting

Přispívat do fóra mohou pouze pravidelní uživatelé Roumingu.

Zobrazení je omezeno na jedno vlákno! Vrátit se k zobrazení všech vláken.

 

re: re: re: re: re: re: re: re: re: re: re: Programatorsky problem (DadamRP (3.9.2010 9:57)
>V jakem smeru myslis "poopravit"?
Ten modul přeci musí komunikovat s jádrem. Ta komunikace je tam vyřešená, odladěná, funkční. Tak si tam přidat jednu funkci, která s jádrem bude komunikovat taky, ale bude zjišťovat jestli jsou k dispozici data.
 
re: re: Programatorsky problem (santaRP (3.9.2010 8:43)
O klienty v tuhle chvili nejde, rekneme ze zakladni funkcionalita je bez toho TCP socketu, ten je tam jako komunikacni rozhrani pres ktery se to da ridit. Zkusim se podivat jak by to slo udelat v Ccku a uvidim...
 
re: Programatorsky problem (GeoRP (2.9.2010 23:17)
Rekl bych ze tohle je typicky problem, ktery se vyplati resit v Cku, tedy v zavislosti na tom jak komunikujes s klientama. Pokud klientum cpes jenom +/- data z toho seriaku, tak se pak jedna jen o kopirovani nejakej bufferu. S pomoci pthreadu to pak ani nemusi byt problem splacat.
Pokud ti neni Cko cizi, tak bych v tomhle pruipade Perl opustil. Examplu na praci se seriakem, nebo na napsani jednoducheho serveru najdes dost. Jen ty thready si to chce poradne nastudovat.
 
re: re: re: re: re: re: re: re: re: re: Programatorsky problem (santaRP (2.9.2010 23:12)
> Nešla by trochu poopravit implementace toho modulu?
V jakem smeru myslis "poopravit"?
 
re: re: re: re: re: re: re: re: re: Programatorsky problem (DadamRP (2.9.2010 22:50)
Nešla by trochu poopravit implementace toho modulu? Zní to hrozně, ale když tomu chvílu věnuješ, zas tak strašné to není
 
re: re: re: re: re: re: re: re: re: Programatorsky problem (JirkaCVRP (2.9.2010 22:34)
Tak to už je pro mě moc detailní. Jo, ttyS0 mám namapovaný jako rs232. A musím uznat, že jsem s tím měl trošku honičku taky. Ale jak jsem to rozchodil, chodí to dodnes a bojím se přeinstalace (snad nebude) :)
 
re: re: re: re: re: re: re: re: Programatorsky problem (santaRP (2.9.2010 22:30)
Spis /dev/ttyS0, jenze pokud s tim budu pracovat jako se souborem, budu muset sam resit nastaveni portu a takove veci. To za me pouziti nejakeho modulu obejde, ja tam jen naflakam parametry a nestaram se...
 
re: re: re: re: re: re: re: re: Programatorsky problem (DadamRP (2.9.2010 22:23)
Vlastně Perl.... nevím jak to v něm bude s voláním Linuxového API
 
re: re: re: re: re: re: re: Programatorsky problem (JirkaCVRP (2.9.2010 22:21)
nedávno jsem na rs232 něco posílal a je to někde dev[lomítno]rs232 nebo něco podobnýho (přesměroval jsem to na USB). Možná trošku bude záležet na distribuci. A konfiguraci. Google toho ví hodně.

EDIT: JirkaCV - 02.09.2010 22:22:44
EDIT: JirkaCV - 02.09.2010 22:22:54
 
re: re: re: re: re: re: re: Programatorsky problem (santaRP (2.9.2010 22:20)
Dadam: Pouzivam v Perlu modul Device::SerialPort, ktery jsem kdesi nasel a celkem rychle to v nem rozchodil. Dneska uz jsem skoro jasal, kdyz jsem nasel IO::Select, ktery umoznuje zjistit zda tam cekaji data na prijeti, ale jen do chvile, nez jsem zjistil ze to funguje jen na veci reseni pres IO, a ne na to co pouzivam ja. Ale zkusim se na to podivat, zda to nejde resit jinak, abych pak mohl jen prepinat file handles a vykaslat se na vlakna...
 
re: re: re: re: re: re: Programatorsky problem (DadamRP (2.9.2010 22:16)
Možná že tu nikdo moc se sériákem nepracuje...Nějaký ovladač v linuxu to nemá? Pravda je že já se sériákem (bavíme se o rs232) moc programovacích zkušeností nemám, nicméně v linuxu by měl být reprezentovaný nějakým souborem, a na ten by měly jít použít souborové funkce, které mj. dokážou i určit, jestli ti tam čekají nějaká data. Nebo se pletu?
 
re: re: re: re: re: re: Programatorsky problem (JirkaCVRP (2.9.2010 22:13)
Vzdávám se další diskuse, pozdravujte na IRC .... vlákna jsou na delší debatu....
 
re: re: re: re: re: Programatorsky problem (santaRP (2.9.2010 22:08)
> Přejít z Perlu/Pythonu na C++ při řešení velkého množství dat? Sebevražda je příjemnější. Co takhle
> .NET? A pokud je to v nixu tak MONO.

Jak uz jsem psal, o velke mnozstvi dat tam nepujde, takze v tomhle smyslu by to nemuselo byt zas takove harakiri. Hlavni problem je pro me vyreseni onoho lockupu na cteni ze seriaku. Celkem me prekvapilo ze nikdo z vas nenapsal nejaky napad na to jak to vyresit, misto doporucovani konkretniho jazyka. Nebo fakt neni jina cesta nez vic vlaken?

EDIT: pro pohodlnejsi diskuzi jsem na IRC, kdyby mel nekdo zajem...
EDIT: santa - 02.09.2010 22:09:15
 
re: re: re: re: re: Programatorsky problem (DadamRP (2.9.2010 22:03)
Sebevražda možná ano, nicméně santa se chce naučit C++. Navíc mně přijde že sebevražda vydloubáním kolenní jamky lžičkou je pořád lepší než používat objekty v Pythonu (a to ho mám rád), v Perlu jsem to ani nezkoušel.
 
re: re: re: re: Programatorsky problem (JirkaCVRP (2.9.2010 22:00)
Přejít z Perlu/Pythonu na C++ při řešení velkého množství dat? Sebevražda je příjemnější. Co takhle .NET? A pokud je to v nixu tak MONO. Pokud se mi nebude chtít do neověřený platformy, tak bych zůstal asi u pythonu. Plusplusko je super pro psaní čehokoliv, ale je to asi jako když chcete po D1 profrčet poršákem. Riziko chyby je značný a do cíle se stejně dřív nedostanete.
 
re: re: re: re: Programatorsky problem (santaRP (2.9.2010 21:58)
> prasackou? ;)
To zalezi na uhlu pohledu, verim ze kdyz si na to clovek zvykne, tak usetri spoustu castu tim, ze co nepotrebuje, to proste psat nebude. Ale je fakt ze kdyz ma takovy kod cist nekdo jiny, nebude to zadna slava. Ale pokud si myslite ze je to fakt jen vysada perlu, najdete si IOCCC ;)

Dadam: o velke mnozstvi dat tam nepujde, rychlostne bude dostacovat asi temer cokoliv. Spis mi jde o to, v cem to pujde nejlepe. Fakt nevim jak moc si rozumi OOP a vlakna...
 
re: re: re: Programatorsky problem (DadamRP (2.9.2010 21:52)
Já osobně jsem zkoušel jak Perl tak Python a abych pravdu řekl, Python se mi líbí víc. Bez objektů (ve skriptovacích jazycích je nemám rád). Nicméně pokud plánuješ zpracovávat hodně velké množství dat, volil bych kvůli rychlosti C++ (včetně objektů, v kompilovaných je zase rád mám). To ale zase v STL nemá vlákna, tak bys musel použít nějaký toolkit.
 
re: re: re: Programatorsky problem (JirkaCVRP (2.9.2010 21:52)
Pod *nixem bude běhat skoro všechno. Je fakt, že jsem zkoušel hledat pro Perl podporu i na Builderu (a tam je fakt podpora slušná), ale nic moc. Zkus se tam zeptat na fóru "linux", buď tě vyhodí, nebo poradí (to je pravděpodobnější).

Odin: to si taky myslím, viz můj předchozí post.
EDIT: JirkaCV - 02.09.2010 21:53:12
 
re: re: re: Programatorsky problem (Odin) (2.9.2010 21:50)
> protoze podporuje syntaxi kterou jine jazyky ne
prasackou? ;)
 
re: re: Programatorsky problem (santaRP (2.9.2010 21:38)
Nerekl jsem ze to musi byt v Perlu, nicmene musi to bezet pod Linuxem. Rad bych se nekdy naucil Python a C++, takze i to jsou prijatelne jazyky. Ale v Perlu umim asi nejvic...

A mimochodem, psat jako prase muzes v cemkoliv, to neni vysada Perlu. Perl je v tom jen vice "user-friendly", protoze podporuje syntaxi kterou jine jazyky ne...
 
re: Programatorsky problem (JirkaCVRP (2.9.2010 21:16)
Tady jsi to zkoušel?
[builder.cz]
Já mám při problému 100% úspěšnost.

Moment, program je v Perlu????

Demonstrace krásy prelu:
@P=split//,".URRUUc8R";@d=split//,"
rekcah xinU / lreP rehtona tsuJ";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&}%p;$_=$d[$q];sleep rand(2)if/S/;print

EDIT: JirkaCV - 02.09.2010 21:22:47
 
Programatorsky problem (santaRP (2.9.2010 20:53)
Drazi kolegove, potreboval bych pomoct s resenim jednoho problemu. Mam program v Perlu ktery cte/zapisuje data z/na seriovy port, kam je pripojeno zarizeni s kterym komunikuju. Dale posloucha na TCP socketu a odpovida klientum na dotazy.
Momentalne to mam napsane dost prasacky. Obecne veci resi hlavni vlakno, o seriak se stara jine vlakno a o ten socket dalsi vlakno. Duvod je ten, ze se to jinak vzajemne blokuje pri cekani na data. U socketu by to asi slo vyresit pomoci IO::Select, kte...
Tento příspěvek je dlouhý. Klikněte pro zobrazení celého příspěvku.