First problem found: I was passing the encoder count rather than the difference with last time.
Still does not work but closer
int enc_get_new_moves(){
int encoderCount = encoder.getCount();
int diff = encoderLastValue - encoderCount;
encoderLastValue = encoderCount;
return encoderCount;