if (setPins_A & 0b00000000000000000000000000000010) // pin left has changed
{
if (robot.motorRightPWMCurr >= 0)
robot.odometryRight++; // forward
else
robot.odometryRight--; // backward
oldOdoPins_A = actPins_A;
}
if (setPins_B & 0b00000000000000001000000000000000) // pin right has changed
{
if (robot.motorLeftPWMCurr >= 0) // forward
robot.odometryLeft++;
else
robot.odometryLeft--;
// backward
oldOdoPins_B = actPins_B;
}
//bb change for due
#ifdef __AVR__
batFactor = 0.495;
batChgFactor = 0.495;
#else
batFactor = 0.3267; //The due is 3.3V ref so batfactor is 0.495*3.3V/5V
batChgFactor = 0.3267;
#endif
// end change
case STATE_MANUAL:
checkCurrent();
checkBumpers();
checkDrop();
break;
//bb add test MotorCurrent in manual mode and stop immediatly If >Powermax
if (stateCurr == STATE_MANUAL){
if (motorLeftSense >= motorPowerMax) {
motorLeftSenseCounter++;
setMotorPWM( 0, 0, false );
addErrorCounter(ERR_MOTOR_LEFT);
setNextState(STATE_ERROR, 0);
Console.println("Error: Motor Left current");
}
if (motorRightSense >= motorPowerMax) {
motorRightSenseCounter++;
setMotorPWM( 0, 0, false );
addErrorCounter(ERR_MOTOR_RIGHT);
setNextState(STATE_ERROR, 0);
Console.println("Error: Motor Right current");
}
}