Portál AbcLinuxu, 5. května 2025 21:48

Dotaz: Odezva bluetooth serioveho prevodniku

21.10.2013 12:36 error414 | skóre: 12 | blog: error414
Odezva bluetooth serioveho prevodniku
Přečteno: 511×
Odpovědět | Admin
Příloha:
Cau,

pracuji na aplikaci (android) ktera nastavuje FBL jednotku pro RC vrtulniky, komunikuje pres seriovou linku. Protokol komunkace je jednodychy, posle se init byte aby jednotka cekala na prikaz, po init bytu jednotka posle potvrzeni ze ceka, pak poslu do jednotky prikaz a jednotka odpovi ze prikaz prijala. Problem je ze se tohle musi vse provest co nejrychleji, nejlepe do 30 - 40ms.

Napriklad v diagnostice kde se zobrazuje stav knyplu vysilace http://youtu.be/3fngnuSmxgw je videt "sekani", navic komunikace jednotku casove hodne zatezuje, nestiha delat dalsi vypocty.

Zkousel jsem BT modul z ebay jymcu v1.02 a BT modul connect blue OBS410i a oba jsou dost pomale. Latence BT modulu je v radech desitek milisekund. V priloze je graf mereni. Je to mereno v osx, mereni je zkreslene ze osx neni realtime os takze graf by se mel asi brat pomerove ne absolutne. Osa Y je cas v ms, osa X je pocet odeslanych bytu. Meril jsem to tak ze jsem poslal z OSX pres BT data a cekal za jak dlouho se me vrati.

U obs410i jsem zkousel nastaveni Link policy podle manualu na nejlepsi odezvu (to je to lp3, trojka je volba, viz manial http://www.spezial.cz/pdf/Serial_Port_Adapter_AT_Commands.pdf 12.6.18 Link Policy (AT*AMLP)), ale zadna zmena. Tady jsem se take docetl http://www.spezial.cz/pdf/bluetooth_vs_bluetooth.pdf ze je dobre zmensit "polling time" ale podle manualu lze nestavit nejmesi "polling time" na 10ms coz je strasne dlouha doba.

Take by me zajimalo jestl jde android doutit aby data pres BT odeslal hned a necekal az se na odeslani dostane rada. Nebo aspon tomu odesilani zvetsit prioritu.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

BigWrigley avatar 29.10.2013 16:44 BigWrigley | skóre: 33
Rozbalit Rozbalit vše Re: Odezva bluetooth serioveho prevodniku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravim.

Pro zajimavost jsem si zkusil, jaka je odezva na L2 vrstve mezi USB donglem a telefonem. Oboji mam na stole, asi 1m od sebe. Zadna slava to neni:
root@omch04:~# l2ping  48:DC:FB:03:9D:F3 
Ping: 48:DC:FB:03:9D:F3 from 00:13:D3:7B:23:72 (data size 44) ...
0 bytes from 48:DC:FB:03:9D:F3 id 0 time 52.11ms
0 bytes from 48:DC:FB:03:9D:F3 id 1 time 27.34ms
0 bytes from 48:DC:FB:03:9D:F3 id 2 time 26.09ms
0 bytes from 48:DC:FB:03:9D:F3 id 3 time 27.33ms
0 bytes from 48:DC:FB:03:9D:F3 id 4 time 41.14ms
0 bytes from 48:DC:FB:03:9D:F3 id 5 time 28.58ms
0 bytes from 48:DC:FB:03:9D:F3 id 6 time 29.86ms
0 bytes from 48:DC:FB:03:9D:F3 id 7 time 37.34ms
0 bytes from 48:DC:FB:03:9D:F3 id 8 time 33.62ms
Obecne si myslim, ze niz se proste z principu nedostanete, mozna by neco malo dalo zmenit nastavenim packet type (DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3) pro komunikaci...

BigWrigley
Linux is like a wigwam - no windows, no gates and Apache inside.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.