Надо бы чуть конкретики... Средняя скорость за какой период? Вообще с момента пуска двигателя? Или без учета простоя? Средний расход топлива - это кол-во сожженного топлива разделить на пробег и умножить на 100 км. Т.е. надо хранить сожженное топливо и пробег.
Очень желательно уточнить, что входит в состав компа...

Если считать среднюю скорость с момента пуска двигателя, то можно просто использовать внутренний таймер и засекать время посредством millis(), примерно так:
if ("здесь условие проверки работы двигателя") {
start = millis(); //записали значение, при котором был запущен двиг
engineOn = 1; //поставили метку, что двигатель запустился
}
if ("здесь условие проверки остановки двигателя" && engineOn == 1) {
workingTime = (millis() - start)/1000; //вычислили сколько секунд проработал двигатель
}

Как вычислить теперь км/ч, думаю, не трудно догадаться

Переменные start и workingTime надо делать unsigned long. Переполнить - нереально