Witam
Mam kilka pilotów od tunerów Ferguson. Są w miarę nie duże i chciałem je użyć w projektach.
Analiza ramki wykazała, że piloty używają kodowania SPACE i że sposób transmisji ramki jest nieco zmienionym standardem SAMSUNG, co widać na poniższym screenie z analizatora:
FERGUSON
SAMSUNG
Moim zdaniem, jest to generalnie rodzaj kodowania analogiczny do Samsunga, z niewielką różnicą w czasach trwania impulsu i przerwy, oraz z innym nagłówkiem
nagłówek:
Ferguson - nośna przez 9100 us i przerwa 4500 us
Samsung - nośna przez 4500 us i przerwa 4500 us
Moim zdaniem zgadza się również format bitowy.
16 bitów predata
następnie bajt komendy i zanegowany bajt komendy
później impuls ptrail.
Sumaryczna ilość impulsów też się zgadza i wynosi 67
W związku z tym zmodyfikowałem Greenbookowy kod obsługi pilota Samsung uwzględniając nieco inne czasy impulsów.
Niestety coś jest nie tak.
Przy dekodowaniu ramek, pojawiają się (dla tego samego klawisza) różne kody, przy kolejnych wciśnięciach.
W przypadku użycia pilota Samsung wszystko działa idealnie.
Zapewne popełniam jakiś błąd przy analizie kodowania pilota Ferguson.
Głowie się nad tym już od kilku dni i nic mi nie przychodzi do głowy.
Poniżej ZIP bitmapami i analizą ramek w formie tekstowej.
Załącznik:
pilot_problem.zip
Dodane:
oczywiście poniżej ustawienia biblioteki
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.