<html>
<head>
<meta content="text/html; charset=ISO-8859-2"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">No to zni jako rozumna pricina, to by
vse vysvetlovalo...<br>
Da se FW motivovat nejak z aplikace aby pruchod na nastaveny port
povolil?<br>
Ne ze by byl problem posilat obcas nejaky paket, ale jeden port
jsem chtel mit jen na prijem proudu obrazovych dat a i ten
prikazovy kanal po delsi prodleve obcas napoprve selze (asi je
odpoved moc rychla) <br>
<br>
Dne 21. 4. 2013 13:35, Zuffa Jan napsal(a):<br>
</div>
<blockquote
cite="mid:D8AB1D5809825740A1D1EC02D3BCADE35E1D9A4B@NS.ba.cgc.sk"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-2">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Mne
to pripada na zapnuty firewall
<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">klient
posle paket tak sa port vo fw otvori a potom<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">to
chvilu ide.
<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">j.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">
<a class="moz-txt-link-abbreviated" href="mailto:hw-list-bounces@list.hw.cz">hw-list-bounces@list.hw.cz</a>
[<a class="moz-txt-link-freetext" href="mailto:hw-list-bounces@list.hw.cz">mailto:hw-list-bounces@list.hw.cz</a>]
<b>On Behalf Of </b>Jaroslav Buchta<br>
<b>Sent:</b> Sunday, April 21, 2013 12:11 PM<br>
<b>To:</b> HW-news<br>
<b>Subject:</b> Re: STM32F4 LWIP rychlost<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">No funguje to divne... Jeste me napada,
jestli za to nahodou nemuzou Win8... Kazdopadne po odeslani
bajtu to prijima, po nejake dobe ne, pak poslu prikaz -
odpoved neprijme a po dalsim prikazu uz odpoved prijme. Kdyz
to zkousim z Hercules terminalu, tak to funguje jak z praku.
Navic na pouziti UdpClient snad neni co zkazit, proste new
UdpClient(lokalni port), a pak by IMHO hned melo fungovat
Receive a ono prd. Ani v ruznych variantach, kdy v
konstruktoru pouziju EndPoint s Ipaddress.Any atd.<br>
<br>
Kdyz bych pouzil primo Socket treba podle tohoto prikladu,
je tam nejaky zadrhel? (ted nejsem na compu kde bych to
mohl zkusit, protoze popijim pivo na zahrade ;-) )<br>
<br>
<span style="color:white"> </span>{<br>
<span style="color:white"> </span><b><span
style="color:#7F0055">byte</span></b>[] data = <b><span
style="color:#7F0055">new byte</span></b>[<span
style="color:#990000">1024</span>];<br>
<span style="color:white"> </span>string input, stringData;<br>
<span style="color:white"> </span>IPEndPoint ip = <b><span
style="color:#7F0055">new </span></b>IPEndPoint(IPAddress.Parse(<span
style="color:#2A00FF">"127.0.0.1"</span>), <span
style="color:#990000">9999</span>);<br>
<br>
<span style="color:white"> </span>Socket server = <b><span
style="color:#7F0055">new </span></b>Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp);<br>
<br>
<span style="color:white"> </span>string welcome = <span
style="color:#2A00FF">"Hello"</span>;<br>
<span style="color:white"> </span>data = Encoding.ASCII.GetBytes(welcome);<br>
<span style="color:white"> </span>server.SendTo(data, data.Length, SocketFlags.None, ip);<br>
<br>
<span style="color:white"> </span>IPEndPoint sender = <b><span
style="color:#7F0055">new </span></b>IPEndPoint(IPAddress.Any, <span
style="color:#990000">0</span>);<br>
<span style="color:white"> </span>EndPoint Remote = (EndPoint)sender;<br>
<br>
<span style="color:white"> </span>data = <b><span
style="color:#7F0055">new byte</span></b>[<span
style="color:#990000">1024</span>];<br>
<span style="color:white"> </span><b><span
style="color:#7F0055">int </span></b>receivedDataLength = server.ReceiveFrom(data, ref Remote);<br>
<br>
<span style="color:white"> </span>Console.WriteLine(<span
style="color:#2A00FF">"Message received from {0}:"</span>, Remote.ToString());<br>
<span style="color:white"> </span>Console.WriteLine(Encoding.ASCII.GetString(data, <span
style="color:#990000">0</span>, receivedDataLength));<br>
<br>
<span style="color:white"> </span>server.Close();<br>
<span style="color:white"> </span>}<br>
<br>
Vypada to jednoduse a premyslim, v cem je zadrhel. Myslim,
ze vzhledem k pozadavku na vetsi objemy dat, cim na nizsi
level pujdu, tim lip... A se siti jsem v .NET jeste nedelal.<br>
<br>
Dne 21. 4. 2013 10:39, Marek Sembol napsal(a):<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">no mne to chovani prijde minimalne
hodne zvlastni a asi bych intenzivne hledal chybu u sebe.
Pripadne bych opustil UdpClient a pracoval primo se
Socket. Ale fakt si myslim, ze za to .NET nemuze. Podle
mne trida Socket pouze zabali WinAPI a UdpClient
"zjednodusi" pouzivani Socket (spolu se specializaci na
UDP a radou omezeni)
<o:p></o:p></p>
<div>
<p class="MsoNormal">Marek<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">2013/4/21 Jaroslav Buchta <<a
moz-do-not-send="true"
href="mailto:jaroslav.buchta@hascomp.cz"
target="_blank">jaroslav.buchta@hascomp.cz</a>><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">Ajo vidite, Close, to me
nenapadlo ;-) Zkusim. Ale stejne to casem asi udelam
ve Win API, kdyz s tim polem bytu nebude problem.<br>
<br>
Dne 21. 4. 2013 10:12, Marek Sembol napsal(a):<o:p></o:p></p>
</div>
<div>
<div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">vyjadrim se jen castecne:)
<o:p></o:p></p>
<div>
<p class="MsoNormal">Pokud pri tom volani z C#
-> WinAPI ty "velke objemy dat" jsou
Byte[], tak ta konverze je prakticky
zadarmo. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">.NET si to pole proste
jen prispendli v pameti a preda dal
ukazatel.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Synchronni vs.
asynchronni - no tady se to asi nebude
chovat rozdilne. Ono to synchronni volani
byva proste jen par volani BeginAsyncXXX a
EndAsyncXXX.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Aplikace se samozrejme
ukoncit da. Staci treba zavrit ten socket a
volani prijmu skonci na vyjimku (a tu je
mozno osetrit, ze). Moznosti jak ten socket
zavrit je cela rada. Jako rekce na CTRL-C
(pri konzolove aplikaci), jako reakci na
service-stop (pri service), jako volani
naschedulovane pomoci timeru (kdykoliv) a
podobne.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Marek<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"
style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">2013/4/21 Jaroslav Buchta
<<a moz-do-not-send="true"
href="mailto:jaroslav.buchta@hascomp.cz"
target="_blank">jaroslav.buchta@hascomp.cz</a>><o:p></o:p></p>
<p class="MsoNormal">Diky za namety, zarizeni
zda se funguje docela zpusobne, co nefunguje
podle predstav je trida .NET UdpClient na PC
- proste pokud neodeslu aspon bajt na
zarizeni, nic neprijme a i potom za nejaky
timeout chcipne a pomuze az odeslani dalsiho
byte aby zase bylo neco prijmuto - nic
jineho takze port atd. je asi nasteveno
spravne... Neni nejaka option, kterou jsem
zatim nepostrehnul, aby to fungovalo
primitivne a jen cekalo, az na port neco
prijde??? Zkousel jsem uz vsechny mozne
varianty synchronni (tam je vtipne, ze
Receive nema zadny timeout a aplikace se
nakonec ani neda ukoncit...) i asynchronni.
C# je dobre asi fakt jen na GUI...<br>
<br>
Co zatim hledam, tak jsou s touto tridou jen
problemy - je jina cesta nez pouzit DLL kde
to bude realizovano jako WinAPI (coz by snad
mohlo fungovat...) Zase konverze velkych
objemu dat do C# pak bude asi narocna na
rezii...<br>
<br>
<br>
<br>
<br>
Dne 21. 4. 2013 9:35, Ondrej napsal(a): <o:p></o:p></p>
<div>
<div>
<blockquote
style="border:none;border-left:solid
#CCCCCC 1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Někde v lwipopts.h
jde nastavit max. velikost paketu.
1400B je velikost paketu (náhoda :-) -
takže by se někde měla ještě povolit
fragmentace. Ale 100% jistý si tím
nejsem. Nicméně zrovna ST má pěkné PDF
s návodem na lwip. Byly tam myslím i
nějaké testy rychlosti.<br>
<br>
Add: ztrácení paketů: Nainstalujte si
Wireshark a zkontrolujte, jestli jsou
pakety tam. To je naprostý základ. Je
docela slušná šance, že ST odesílat
stíhá a nestíhá přijímat jen program.
Ono obecně odeslat UDP paket není
problém a to i na velkých rychlostech.
Obvykle je problém pak data napřijímat
(ať už v PC nebo na uP).<br>
<br>
Jinak UDP fragmentace smysl má a to
velký. Pro velké toky je problém
přijímat 1400B pakety, ale pokud je
fragmentuje třeba na 14000B (10x
větší), tak u to může PC stíhat. Už
jen třeba protože "callback"
fce./přerušení se bude volat 10x méně
často.<br>
<br>
Ondřej<br>
<br>
Dne 20.4.2013 22:54, Jaroslav Buchta
napsal(a):<o:p></o:p></p>
<p class="MsoNormal"
style="margin-bottom:12.0pt">Mate
nekdo zkusenost jak na to? Jednak jsem
zjistil, ze je nekde omezena velikost
UDP paketu proste tak, ze pri
prekroceni to poskodi haldu a cele to
jde do kytek, hranice je nekde kolem
1400B<br>
Dal je zajimave, ze kdyz odesilam
pakety bezprostredne za sebou,
ztraceji se (ale az od nejakeho poctu
a zalezi na delce) a kdyz treba ted za
kazdy 4. vlozim pauzu 1ms tak to
funguje OK (cili rychlost 4MB/s
stabilne, coz mi prijde OK, samozrejme
prime pripojeni do pocitace)<br>
Otazkou je, jestli se pakety ztraci u
STM nebo na strane PC... Ale na PC je
gigabit, to by snad melo byt slusne
dimenzovane.<br>
Dalsi zahada je u C# s UdpClient,
dokud aspon bajt nevyslu, nic neprijmu
(i kdyz data na port prokazatelne
chodi, overeno hercules terminalem).
To jsem v dokumentaci nikde nenasel,
melo by to snad fungovat pro prijem
bez volani Connect a Send, ne?<br>
<br>
Jinak teda s rychlosti spokojenost,
mozna by to slo i o chlup vyse,
prilezitostne vyzkousim. Taky by asi
pomohlo zvysit delku paketu - vi nekdo
jak na to? Pochopil jsem, ze jsou
ruzne metody alokace pameti v LwIP.<br>
_______________________________________________<br>
HW-list mailing list - sponsored by
<a moz-do-not-send="true"
href="http://www.HW.cz"
target="_blank">
www.HW.cz</a><br>
<a moz-do-not-send="true"
href="mailto:Hw-list@list.hw.cz"
target="_blank">Hw-list@list.hw.cz</a><br>
<a moz-do-not-send="true"
href="http://list.hw.cz/mailman/listinfo/hw-list"
target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><o:p></o:p></p>
<p class="MsoNormal"><br>
_______________________________________________<br>
HW-list mailing list - sponsored by
<a moz-do-not-send="true"
href="http://www.HW.cz"
target="_blank">
www.HW.cz</a><br>
<a moz-do-not-send="true"
href="mailto:Hw-list@list.hw.cz"
target="_blank">Hw-list@list.hw.cz</a><br>
<a moz-do-not-send="true"
href="http://list.hw.cz/mailman/listinfo/hw-list"
target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><br>
_______________________________________________<br>
HW-list mailing list - sponsored by <a
moz-do-not-send="true"
href="http://www.HW.cz"
target="_blank">
www.HW.cz</a><br>
<a moz-do-not-send="true"
href="mailto:Hw-list@list.hw.cz"
target="_blank">Hw-list@list.hw.cz</a><br>
<a moz-do-not-send="true"
href="http://list.hw.cz/mailman/listinfo/hw-list"
target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>HW-list mailing list - sponsored by <a moz-do-not-send="true" href="http://www.HW.cz" target="_blank">www.HW.cz</a><o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
HW-list mailing list - sponsored by <a
moz-do-not-send="true" href="http://www.HW.cz"
target="_blank">
www.HW.cz</a><br>
<a moz-do-not-send="true"
href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a moz-do-not-send="true"
href="http://list.hw.cz/mailman/listinfo/hw-list"
target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>HW-list mailing list - sponsored by <a moz-do-not-send="true" href="http://www.HW.cz">www.HW.cz</a><o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
HW-list mailing list - sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
<br>
</body>
</html>