Difference between revisions of "Matrixsignaalgever"

From RevSpace
Jump to navigation Jump to search
Line 5: Line 5:
 
Het ding wordt aangestuurd via een geadresseerde bus, maar intern gaat dat verder als 5V TTL serieel op 9600 baud. Periodiek wordt de status teruggemeld in een bericht van 10 bytes. De eerste byte is steeds 0x59, de laatste byte is een simpele XOR-checksum. We slaan de veldbus over en hebben alleen gewerkt met de interne TTL, want dat is makkelijker en genoeg om beelden tevoorschijn te toveren.
 
Het ding wordt aangestuurd via een geadresseerde bus, maar intern gaat dat verder als 5V TTL serieel op 9600 baud. Periodiek wordt de status teruggemeld in een bericht van 10 bytes. De eerste byte is steeds 0x59, de laatste byte is een simpele XOR-checksum. We slaan de veldbus over en hebben alleen gewerkt met de interne TTL, want dat is makkelijker en genoeg om beelden tevoorschijn te toveren.
  
Door middel van "cat /dev/urandom | tail random.log > /dev/ttyUSB0" en een beetje geluk hebben we het protocol om plaatjes tevoorschijn te toveren uitgepluist. Ook hierbij is de eerste byte 0x59 en de laatste byte een XOR-checksum, maar daartussen zitten slechts 5 bytes. Met brute force hebben we de volgende info gevonden:
+
Door middel van "cat /dev/urandom | tee random.log > /dev/ttyUSB0" en een beetje geluk hebben we het protocol om plaatjes tevoorschijn te toveren uitgepluist. Ook hierbij is de eerste byte 0x59 en de laatste byte een XOR-checksum, maar daartussen zitten slechts 5 bytes. Met brute force hebben we de volgende info gevonden:
  
 
{|class=wikitable
 
{|class=wikitable

Revision as of 01:34, 22 August 2015

Hoe komen we eraan?

RevSpace heeft een matrixbord. Het schijnt een prototype te zijn, een model dat om een of andere reden niet goed genoeg was voor boven de weg. Althans, dat is de overlevering; we hebben 'm gekregen van Duitse hackers tijdens het CCCamp in 2015 en meer informatie dan dit hadden ze niet.

Protocol

Het ding wordt aangestuurd via een geadresseerde bus, maar intern gaat dat verder als 5V TTL serieel op 9600 baud. Periodiek wordt de status teruggemeld in een bericht van 10 bytes. De eerste byte is steeds 0x59, de laatste byte is een simpele XOR-checksum. We slaan de veldbus over en hebben alleen gewerkt met de interne TTL, want dat is makkelijker en genoeg om beelden tevoorschijn te toveren.

Door middel van "cat /dev/urandom | tee random.log > /dev/ttyUSB0" en een beetje geluk hebben we het protocol om plaatjes tevoorschijn te toveren uitgepluist. Ook hierbij is de eerste byte 0x59 en de laatste byte een XOR-checksum, maar daartussen zitten slechts 5 bytes. Met brute force hebben we de volgende info gevonden:

Bytenummer Waarde Gegokte betekenis
0 0x59 Commando
1 0x08 ?? Bij de meeste waarden krijg je het beeld heel even, maar gaat het direct weg. Als bit 4 aanstaat (8), blijft het beeld staan.
2 0x00 - 0x14 Helderheid. Maar dimmen is nog vervelender dan felle leds want het apparaat PWM't irritant traag.
3 0x01, 0x02, 0xff Type. 1 voor snelheid, 2 voor rijstrookdingen, 255 voor de overig
4 0x00 ??
5 Snelheid: 50, 70, 80, 90, 100, 120

Rijstrook: 1=↙, 2=↘, 3=, 4=×
Overig: 1=uit, 2=∅

Te tonen beeld
6 1=normaal, 2=gele flashers, 3=rode rand Modifier; niet alle combinaties zijn mogelijk (bijv. in een kan niet). Als de flashers aanstaan, is dat altijd 0,6 s boven, 0,6 s onder en 0,8 s uit.
7 ... XOR-checksum van voorgaande bytes

Review

Dit exemplaar lijkt ongeschikt voor het echte werk. De frontplaat is niet waterdicht (hoewel in de rest van de behuizing alles keurig wachterdicht gemakt is), de 5mm leds prikken gewoon door gaatjes heen. Er zit een knopje in waarmee je door de mogelijke beelden kunt cyclen, maar daarmee kun je ook verwarrende onmogelijke beelden krijgen die boven 'n snelweg vast tot ongevallen leiden. Het dimmen gaat via een dermate trage PWM dat compleet desorienterend is voor iemand die daar gevoelig voor is.

Overigens heeft ie ook een demomodus die elke 5 seconden een nieuw beeld laat zien, waarin blijkbaar alleen zinnige beelden zitten. Die kun je activeren door dipswitches te veranderen. Interessant is dat de flashers in de demomodus een andere snelheid hebben dan in het echt (veel sneller).