STM32F4 LWIP rychlost

Marek Sembol hwm.land na gmail.com
Neděle Duben 21 10:12:16 CEST 2013


vyjadrim se jen castecne:)
Pokud pri tom volani z C# -> WinAPI ty "velke objemy dat" jsou Byte[], tak
ta konverze je prakticky zadarmo.
.NET si to pole proste jen prispendli v pameti a preda dal ukazatel.

Synchronni vs. asynchronni - no tady se to asi nebude chovat rozdilne. Ono
to synchronni volani byva proste jen par volani BeginAsyncXXX a EndAsyncXXX.

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.

Marek


2013/4/21 Jaroslav Buchta <jaroslav.buchta na hascomp.cz>

> 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...
>
> 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...
>
>
>
>
> Dne 21. 4. 2013 9:35, Ondrej napsal(a):
>
>  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.
>>
>> 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).
>>
>> 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.
>>
>> Ondřej
>>
>> Dne 20.4.2013 22:54, Jaroslav Buchta napsal(a):
>>
>>> 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
>>> 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)
>>> Otazkou je, jestli se pakety ztraci u STM nebo na strane PC... Ale na PC
>>> je gigabit, to by snad melo byt slusne dimenzovane.
>>> 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?
>>>
>>> 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.
>>> ______________________________**_________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/**listinfo/hw-list<http://list.hw.cz/mailman/listinfo/hw-list>
>>>
>>>
>> ______________________________**_________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/**listinfo/hw-list<http://list.hw.cz/mailman/listinfo/hw-list>
>>
>
> ______________________________**_________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/**listinfo/hw-list<http://list.hw.cz/mailman/listinfo/hw-list>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130421/6584e278/attachment.htm>


Další informace o konferenci Hw-list