Hallo,
du schaltest die LED auch nirgends im Programm wieder aus, deswegen leuchtet sie dauerhaft
Also irgendwo sollte da noch ein Status_LED(OFF); in die while-Schleife.
So z.B.
Code:
while(1)
{
    drive_ahead();
    if(get_Ir_Distance(Right)<2000)
    {
        Status_LED(ON);
    }
    else if(get_Ir_Distance(Left)< 2000)
    {
        Status_LED(ON);
    }
    else
    {
        Status_LED(OFF);
    }
}
Grüße,
Bernhard

EDIT:
Und in uint16_t get_Ir_Distance solltest du die return-Werte noch in einen int umwandeln, d.h. return int(x);