I know this is an old thread, but I had the same problem and I solved it this way:
Set the MOTOR*_ENCODER_A and MOTOR*_ENCODER_B pins to the one and only Holzer signal pin, then add this to firmware.ino in moveBase(), replacing the getRPM() calls:
//get the current speed of each motor
int current_rpm1 = motor1_encoder.getRPM();
if (req_rpm.motor1 < 0) {
dir1 = -1;
} else if (req_rpm.motor1 > 0) {
dir1 = 1;
}
if (dir1 < 0) current_rpm1 *= -1;
int current_rpm2 = motor2_encoder.getRPM();
if (req_rpm.motor2 < 0) {
dir2 = -1;
} else if (req_rpm.motor2 > 0) {
dir2 = 1;
}
if (dir2 < 0) current_rpm2 *= -1;
int current_rpm3 = motor3_encoder.getRPM();
int current_rpm4 = motor4_encoder.getRPM();
Also add this to the top of the file:
int dir1, dir2;
Basically what it's doing, is trying to guess the direction of the motor based on the previous direction command. This is an ugly solution and it may need a rewrite to use a single signal, but it works for me.