Kann man denn da viel falsch machen im Programm?

Code:
  unsigned int OdoData[2];
  OdometrieData(OdoData);
 if (OdoData[1]<256) BackLED(OFF,OFF);
  else if (OdoData[1]<512) BackLED(OFF,ON);
  else if (OdoData[1]<768) BackLED(ON,OFF);
  else BackLED(ON,ON);
  
  if (OdoData[0]<256) StatusLED(OFF);
  else if (OdoData[0]<512) StatusLED(RED);
  else if (OdoData[0]<768) StatusLED(GREEN);
  else StatusLED(YELLOW);
Mit diesem Code verhalten sich die LEDs so als würde die StatusLed die Summe der beiden Signale anzeigen und die BackLEDS richtig funktionieren.

Nach Sichtprüfung sehen alle Lötstellen ok aus..