AVerMedia TV Phone 98		- wydanie drugie :)
import libs i ich uzycie

Witam,

podczas ostatniej wizyty na ircu jard podrzucil mi "pomysla" ;)
aby napisac cos co mogloby obslugiwac winampa pilotem od karty TV.
Zajrzalem na swoja stronke i odswiezylem sobie to co kiedys przerabialem.
heh, znalazlem tam sporo bledow (!) ;) i postanowilem sie poprawic.
Tym sposobem powstal kolejny tekst o AVerze... tzw. wydanie drugie :)
Zaczynamy.

1.Sterowniki z ktorych korzystalem

Na plytce instalacyjnej od karty pliczek o nazwie TVFLEETA.INF a w
nim info "4/2/99 Ver.2.03"


2.Jakie funkcje sa uzywane do obslugi pilota?

Najprosciej sie dowiedziec dissasemblujac pliczek avremote.exe.
Widzimy ze sa to:
AVER_GetRemoteData 
AVER_HWInit 
AVER_IsRemoteDataReady 
AVER_SetRemoteFlag 


3.Ktora do czego sluzy?

Jak sie mozna domyslec na samym poczatku musisz wywolac AVER_HWInit.
Pozniej w jakiejs petli sprawdzasz wartosc zwracana prze AVER_IsRemoteReady.
Jesli eax=0 to zaden klawisz na pilocie nie zostal nacisniety i zaczynamy
od poczatku. Jesli eax=1 to cos zostalo nacisniete.
Teraz wywolujesz AVER_SetRemoteFlag z parametrem 1,
odbierasz kod wcisnietego klawisza:
AVER_GetRemoteData
i ponownie wywolujesz AVER_SetRemoteFlag ale tym razem z parametrem 0.
Testowalem czy nie mozna by opuscic tego AVER_SetRemoteFlag i okazuje sie
ze nie. Jesli zapomnisz o tym, to AVER_GetRemoteData zawsze bedzie zwracal
ten sam kod klawisza a AVER_IsRemoteDataReady zawsze 1...

4.Jak petla :>
AVER_IsRemoteDataReady musisz wykonwyac w petli aby sie dowiedziec
kiedy wywolac reszte procedurki... testowalem rozne metody
ale najlepsze efekty przynioslo stosowanie SetTimer i wywolanie
AVER_IsRemoteDataReady w WM_TIMER...
Jako timeout dla timera na moim kompie najlepsza wartoscia jest 600.
Przy 100 prog co chwile sie sypal... z tego co widzialem i jak mi sie wydaje
AVER_IsRemoteDataReady nie zdazyl sie jeszcze wykonac a juz drugi
raz zostawal wykonywany... co powodowalo ladne okienko "program wykonal..."
Moge sie tutaj mylic... potestuj sobie wartosci dla swojego kompa...

5.Bugs
Poprawione bledy w stosunku do poprzedniej wersji:
avremote.exe nie musi byc teraz odpalony aby nasz prog dobrze chodzil/
programik teraz nie wyglada tez jakby sie zawiesil poniewaz jest wykorzystany
timer a nie biedackie:
check:
call AVER_IsRemoteData
.if eax==1
...
...obsluga
...
.endif
jmp check
To byl jeden z wiekszych bledow w stosunku do poprzedniej wersji tego tutora.

dodatkowo w archiwum :>
pilot_aver2.jpg - zdjecie pilota z rozpisanymi hexami dla kazdego klawisza
\inc		- w katalogu znajduja sie includy do obslugi pilota
\demko		- przyklad jak korzystac z pilota + source

							phAr^CookieCrK

phar@lonet.gdynia.pl
www.phar.prv.pl

gretz: cale cookiecrk :>