Bist du sicher, dass du beim Return einen Datentyp angeben kannst oder musst? Der ist doch schon oben in der Funktionsdefinition angegeben.

int16_t calculate_pump_current (uint16_t Ua, uint16_t Ua_cal)

Was passiert, wenn du den bei der Return-Anweisung weglässt?