Kleine Unschönheit in infrared.c

Begonnen von JimBeam, 05. Feb 2009, 22:33

« vorheriges - nächstes »
Nach unten

JimBeam

Hallo Leute,

erst mal vielen Dank an alle, die hier mitarbeiten/mitgearbeitet haben !!!! Ist viel Arbeit reingeflossen... Und das Ergebnis kann sich sehen lassen! Bisher kann ich zwar nur das beurteilen was ich hier sehe ('ne eBay-Betty ist unterwegs), aber das ist schon ziemlich beeindruckend.

Wenn ich meine Betty habe, werde ich mich etwas mehr mit dem SCART Adapter beschäftigen - ich bin recht firm in der 8051 Programmierung. Mal sehen, was mir da so alles einfällt - falls jemand ne Idee hat: her damit! Erst mal werde ich aber mal mit der bestehenden Firmware rumspielen.

So, nun zu der "Unschönheit" - was ich hier habe ist eigentlich Makulatur, aber ich muß es einfach loswerden  8)

Die Makro-Aufrufe von doKey(_x, _y) in der Funktion getCode() enden alle mit einem Semikolon, d.h. in Zeile 193 wird aus

  doKey(KEY_A, 0);

dann nach der Expansion

  if(KEY_A) return keyMap[0]; else ;

Ja, ich weiß: Pedant... ::) und es schadet so ja auch nicht... aber ich mag nun mal keine Redundanz...  ;D
Na ja, also in meiner Version hier habe ich im Makro das Ende, also "; else" weggemacht...

Andreas

Ge0rG

Es ist sogar noch viel schlimmer  :P

Die Funktion kopiert die Logik von getKeynum() und lässt sich unter deren Verwendung auf einen Vierzeiler reduzieren:
unsigned long getCode(void)
{
int keynum = getKeynum();
if (keynum < 42)
return keyMap[keynum];
else
return 0xFFFFFFFF;
}


Das Makro kann dann auch vorzeitig entlassen werden ;)

JimBeam

So weit bin ich noch nicht im Quellcode vorgedrungen - habe erst seit gestern überhaupt Kenntnis von dieser Site bzw. der Existenz von Boop...

Ich habe nur in diesem Teil der Software mal "rumgestöbert", um zu sehen ob man nicht mehr als 4 FB's reinbekommt. Sollte relativ einfach sein, wenn man z.B. die Taste 'D' zum Durchblättern mehrerer Seiten mit jeweils 3 Einträgen (auswählbar dann mit A..C) benutzen würde. Oder man nimmt nur die 'A' Taste zum Aufruf eines Menüs, in dem man mit den Cursortasten die gewünschte FB auswählt. Ist natürlich in beiden Fällen mindestens ein Tastendruck mehr als jetzt, dafür könnte man aber theoretisch beliebig viele FBs gleichzeitig haben - quasi eine "X in 1" Universalfernbedienung (wobei X durchaus groß wählbar ist...). Platz ist ja noch genug, sind ja erst 120k von 1MB verbraten.

Na ja, wenn meine Betty da ist, werde ich mal etwas daran rumspielen. ;D

Andreas

Nach oben