Stap 4: De controle-signaal decoderen
Ons resultaat voor het decoderen van de baan van de Puzzlebox signaal is in gezet naar een Open Office spreadsheet-bestand (in de .zip). Een screenshot van dit document is ook opgenomen in deze stap.
Tijdens het testen we de gaspedaal en directionele joystick verplaatst in verschillende posities en elk met de logic analyzer opgenomen. Vervolgens probeerden we te decoderen van de opdracht van het opgenomen signaal.
In kolom A, T1 ~ T5 betekent gashendel niveau 1 ~ 5, L2 betekent links max R2 betekent juiste max, F2 betekent vooruit max, B2 betekent terug max. Een B en C verwijzen naar drie verschillende "kanalen" (verschillende kanalen kunnen worden gebruikt om meerdere verschillende helikopters op dezelfde locatie op hetzelfde moment zonder hun signalen storen elkaar).
De betekenis van het signaal begint te duidelijk geworden keer georganiseerd en op deze manier weergegeven. De 7 bits in het gele blok definieert het niveau van het gaspedaal, de 7 bits in het groene blok links en rechts draaien snelheid wordt gedefinieerd, de 6 bits in het rood bepaalt leunend vooruit en achteruit, en de twee bits in blauw bepaalt welk kanaal te gebruiken. (nogmaals, kanalen worden gebruikt wanneer u meer dan één helikopter op dezelfde plaats hebt en wilt hen afzonderlijk controleren. Drie kanalen betekent er is een maximum van drie helikopters kan worden in een zelfde ruimte en nog steeds zelfstandig vliegen).
Wat is de deal met cyaan blok?
Dit verwijst naar een controlesom. Een controlesom is een gemeenschappelijk mechanisme in een communicatiesysteem waar u moet om ervoor te zorgen dat de ontvangen informatie overeenkomt met wat werd verstuurd. Een controlesom is een getal berekend op basis van de rest van de code, met een vooraf gedefinieerde algoritme. Wanneer het apparaat de code ontvangt, zal het eerst proberen om de controlesom te berekenen door zelf, dan is het te vergelijken met de checksum aangesloten in het bericht. Als ze gelijk zijn dan klopt het bericht, anders iets veel hebben mis gegaan tijdens de transmissie bijvoorbeeld het verlichtingssysteem in een lichte kamer kan worden bemoeien met de IR-sensor. Als de checksum niet overeenkomen, zal het ontvangende apparaat normaal gesproken de zender voor hetzelfde bericht nogmaals vragen. Als het apparaat is niet in staat van tweerichtingscommunicatie (zoals in het geval van de meeste infraroodapparaten) heeft het bericht moet worden genegeerd.
Het algoritme wordt gebruikt voor het genereren van de controlesom kunnen eenvoudig of zeer complex zijn. Sommige gemeenschappelijke methode omvat bitsgewijze som en Bitsgewijze XOR.
Het volgende algoritme wordt gebruikt door de baan van de Puzzlebox:
Start vanaf de 3de bit (omvatten de toonaangevende 2 bits en deze toewijzen aan 0)
Optellen van elke 4 bits
De laatste 4 bits krijgen van het resultaat
Gebruik 0B10000 (10000 in binaire is gelijk aan 16 in decimale notatie) en die laatste vier stukjes aftrekken
Neem bijvoorbeeld T1:
0B0100 + 0B0111 + 0B0100 + 0B1100 + 0B1001 + 0B1111 = 0B110011
De laatste 4 bits is 0B0011.
0B10000-0B0011 = 0B1101, die overeenkomt met de checksum gevonden aan het einde van de controle-signaal.