2014 Eurobot fork
Dependencies: mbed-rtos mbed QEI
Revision 73:265d3cc6b0b1, committed 2013-04-15
- Comitter:
- madcowswe
- Date:
- Mon Apr 15 13:44:49 2013 +0000
- Parent:
- 72:7996aa8286ae
- Child:
- 74:9620d24a2f4e
- Child:
- 77:8d83a0c00e66
- Commit message:
- motor disable variable exposed from motor control
Changed in this revision
--- a/Processes/MotorControl/MotorControl.cpp Mon Apr 15 13:37:32 2013 +0000
+++ b/Processes/MotorControl/MotorControl.cpp Mon Apr 15 13:44:49 2013 +0000
@@ -9,6 +9,8 @@
namespace MotorControl
{
+volatile bool motorsenabled = 0;
+
volatile float fwdcmd = 0;
volatile float omegacmd = 0;
@@ -19,7 +21,6 @@
void motor_control_isr()
{
-
const float power_per_dc_m_per_s = 1.64f;
const float hysteresis_pwr = 0.16f;
@@ -73,13 +74,20 @@
float lff = fwdcmd - omegacmd*ENCODER_WHEELBASE/2.0f;
float rff = fwdcmd + omegacmd*ENCODER_WHEELBASE/2.0f;
-
- mleft(max(min(actuateleft + max(power_per_dc_m_per_s*abs(lff), min(hysteresis_pwr, 3.0f*abs(lff)))*sgn(lff), MOTOR_MAX_POWER), -MOTOR_MAX_POWER));
- mright(max(min(actuateright + max(power_per_dc_m_per_s*abs(rff), min(hysteresis_pwr, 3.0f*abs(rff)))*sgn(rff), MOTOR_MAX_POWER), -MOTOR_MAX_POWER));
- if (!(abs(actuateleft) > MOTOR_MAX_POWER || abs(actuateright) > MOTOR_MAX_POWER)){
- fwdIstate += errfwd;
- rotIstate += errtheta;
+ if(motorsenabled){
+
+ mleft(max(min(actuateleft + max(power_per_dc_m_per_s*abs(lff), min(hysteresis_pwr, 3.0f*abs(lff)))*sgn(lff), MOTOR_MAX_POWER), -MOTOR_MAX_POWER));
+ mright(max(min(actuateright + max(power_per_dc_m_per_s*abs(rff), min(hysteresis_pwr, 3.0f*abs(rff)))*sgn(rff), MOTOR_MAX_POWER), -MOTOR_MAX_POWER));
+
+ if (!(abs(actuateleft) > MOTOR_MAX_POWER || abs(actuateright) > MOTOR_MAX_POWER)){
+ fwdIstate += errfwd;
+ rotIstate += errtheta;
+ }
+
+ } else {
+ fwdIstate = 0;
+ rotIstate = 0;
}
//mfwdpowdbg = 0;//fwdfiltstate;//;
--- a/Processes/MotorControl/MotorControl.h Mon Apr 15 13:37:32 2013 +0000
+++ b/Processes/MotorControl/MotorControl.h Mon Apr 15 13:44:49 2013 +0000
@@ -3,6 +3,8 @@
#define MOTOR_CONTROL_H
namespace MotorControl{
+
+ extern volatile bool motorsenabled;
extern volatile float fwdcmd;
extern volatile float omegacmd;