logo

 

Preface
Objectif
L'ASIC
Protocole IR
Pricehax
Les ESL DM

Communication audio avec l'emetteur Pricehax V1 et V2 (purement inventé):

Codage par distance entre impulsions. Chaque impulsion est de la meme duree (un "tick" dans l'audio).

Pour un fichier audio raw à 48000Hz, un tick dure 4 echantillons: max, max, min, min.
Soit pour de l'audio 8 bits: 127,127,-128,-128.

Le fichier doit commencer par 1 seconde de silence.

Chaque bit du code à transmettre en IR est ensuite codé par la pause entre les ticks. La pause peut prendre que deux valeurs, pour coder soit un 0 soit un 1. La transmission du code hexa se fait LSB en premier par blocs de 2 bits (c'est defini par le PP4, pas par l'emetteur). Il n'y a pas de checksum et la communication est unidirectionnelle (audio oblige !).

Pause de 12 echantillons = 0. Pause de 6 echantillons = 1.

Par exemple, pour envoyer 0x58 (0b01011000):
Premiere paire: 00
Seconde paire: 10
Troisieme paire: 01
Quatrieme paire: 01

Donne:

Tick, pause de 12, tick, pause de 12
Tick, pause de 6, tick, pause de 12
Tick, pause de 12, tick, pause de 6
Tick, pause de 12, tick, pause de 6
Tick (pour terminer).

Totalisant une duree utile de 4+12+4+12+4+6+4+12+4+12+4+6+4+12+4+6+4 = 114 échantillons, soit 2.38ms.
A noter que c'est la transmission Pricehax vers Dongle uniquement, et pas la transmission IR, qui est encore dans un autre format !

Le dongle se met à transmettre en IR quand une pause de plus de 20 echantillons est detectee. Pas besoin de transmettre un code "emettre !", donc, il suffit juste de silence.

Une onde comme celle-ci (downsamplée à 44100Hz, ne comptez pas les echantillons):

Donne: Long-long-long-court-long-long-court-long, soit 00010010. Soit, dans le bon ordre: 10000100 (0x84).

footer
symbol symbol symbol symbol symbol