HomeInformação › Códigos do controle remoto do receptor de satélite GVT/VIVO

Códigos do controle remoto do receptor de satélite GVT/VIVO

Até onde sei todos os aparelhos da GVT usam o mesmo controle remoto e a VIVO ao comprar a GVT só mudou o nome.

Protocolo RC6 de 36 bits

O quinto byte alterna (é um protocolo Philips) entre “A” (00001010) e “2” (00000010)

Controle_remoto_GVT_DSC02639_640_automalabs.com.br

Este controle tem uma particularidade. As rotinas de leitura da biblioteca IRremoteESP8266 interpretam sem problemas os comandos acima, mas se você usar esses comandos com a função sendRC6 da mesma biblioteca, o receptor da GVT ignora completamente. A mesma biblioteca mostra que o que ela está transmitindo não bate com o remoto original. Se você transmitir com 36 bits é completamente diferente. Se transmitir como 32 bits o código decodificado confere, mas há uma diferença.

Analisando bit por bit eu identifiquei essa diferença. É assim a forma real do código da tecla “zero”:

remoto_gvt_SignalPlot_key0

O zero em preto é o start bit do protocolo RC6. Tudo depois dele (10000000011100000010011000000000) já é o código para a tecla zero (80702600 em binário).

Os quatro bits que antecedem o start bit (1110) não existem no protocolo RC6 como definido pela biblioteca.

E criei uma nova função que chamei de sendRC6gvt.

Eu acrescentei essa rotina ao arquivo IRremoteESP8266.cpp e a chamada para ela em IRremoteESP8266.h. Eu estou usando a versão 1.x. Se você estiver usando a versão 2.x vai precisar fazer algumas mudanças.

Note que você deve chamar essa rotina alternativa dizendo que o código é de 32bits e não de 36.  Os outros 4 bits, do cabeçalho, minha rotina transmite “por fora”.

 

1 Comments.[ Leave a comment ]

  1. Relendo hoje essa explicação, quase três anos depois, percebi que falhei ao tentar explicar o que há de diferente. Nem eu consegui entender. Precisei olhar meu arquivo editado IRremoteESP8266.cpp.

    A diferença é que o comando SendRC6 original manda um header seguido de um start bit. O remoto GVT/Vivo entre o header e o start bit manda mais quatro bits.

    RC6
    mark(RC6_HDR_MARK); //header
    space(RC6_HDR_SPACE);
    space(2*RC6_T1); //Start bit
    mark(2*RC6_T1);

    GVT/VIVO
    mark(RC6_HDR_MARK); //header
    space(RC6_HDR_SPACE);
    mark(RC6_T1);
    space(RC6_T1);
    mark(RC6_T1);
    space(RC6_T1);
    mark(RC6_T1);
    space(RC6_T1);
    space(RC6_T1);
    mark(RC6_T1);
    space(2*RC6_T1); //start bit
    mark(2*RC6_T1);

    Eu fiz um pequeno acréscimo ao texto que deve ajudar.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">