thank you so much that worked perfectly.
only one change need to be done
Code: Select all
extrxSetpoint.velocity.x = cppmConvert2Float(ch[EXTRX_CH_ROLL], -1, 1, EXTRX_DEADBAND_ZVEL);
extrxSetpoint.velocity.y = cppmConvert2Float(ch[EXTRX_CH_PITCH], -1, 1, EXTRX_DEADBAND_ZVEL);
needs to be changed to
Code: Select all
extrxSetpoint.velocity.y = cppmConvert2Float(ch[EXTRX_CH_ROLL], -1, 1, EXTRX_DEADBAND_ZVEL);
extrxSetpoint.velocity.x = cppmConvert2Float(ch[EXTRX_CH_PITCH], -1, 1, EXTRX_DEADBAND_ZVEL);
the whole change to extrx.c (
https://github.com/bitcraze/crazyflie-f ... trx.c#L202:
Code: Select all
if (extRxAltHold)
{
extrxSetpoint.thrust = 0;
extrxSetpoint.mode.z = modeVelocity;
extrxSetpoint.velocity.z = cppmConvert2Float(ch[EXTRX_CH_THRUST], -1, 1, EXTRX_DEADBAND_ZVEL);
extrxSetpoint->mode.yaw = modeVelocity;
extrxSetpoint->attitudeRate.yaw = EXTRX_SIGN_YAW * EXTRX_SCALE_YAW *cppmConvert2Float(ch[EXTRX_CH_YAW], -1, 1, EXTRX_DEADBAND_YAW);
extrxSetpoint->mode.x = modeVelocity;
extrxSetpoint->mode.y = modeVelocity;
extrxSetpoint->velocity.y = cppmConvert2Float(ch[EXTRX_CH_ROLL], -1, 1, EXTRX_DEADBAND_ZVEL);
extrxSetpoint->velocity.x = cppmConvert2Float(ch[EXTRX_CH_PITCH], -1, 1, EXTRX_DEADBAND_ZVEL);
extrxSetpoint->velocity_body = true;
}
else
{
extrxSetpoint.mode.z = modeDisable;
extrxSetpoint.thrust = cppmConvert2uint16(ch[EXTRX_CH_THRUST]);
extrxSetpoint.attitude.roll = EXTRX_SIGN_ROLL * EXTRX_SCALE_ROLL * cppmConvert2Float(ch[EXTRX_CH_ROLL], -1, 1, EXTRX_DEADBAND_ROLL);
extrxSetpoint.attitude.pitch = EXTRX_SIGN_PITCH * EXTRX_SCALE_PITCH * cppmConvert2Float(ch[EXTRX_CH_PITCH], -1, 1, EXTRX_DEADBAND_PITCH);
extrxSetpoint.attitudeRate.yaw = EXTRX_SIGN_YAW * EXTRX_SCALE_YAW *cppmConvert2Float(ch[EXTRX_CH_YAW], -1, 1, EXTRX_DEADBAND_YAW);
}
extRxAltHoldPrev = extRxAltHold;
#else
extrxSetpoint.mode.z = modeDisable;
extrxSetpoint.thrust = cppmConvert2uint16(ch[EXTRX_CH_THRUST]);
extrxSetpoint.attitude.roll = EXTRX_SIGN_ROLL * EXTRX_SCALE_ROLL * cppmConvert2Float(ch[EXTRX_CH_ROLL], -1, 1, EXTRX_DEADBAND_ROLL);
extrxSetpoint.attitude.pitch = EXTRX_SIGN_PITCH * EXTRX_SCALE_PITCH * cppmConvert2Float(ch[EXTRX_CH_PITCH], -1, 1, EXTRX_DEADBAND_PITCH);
extrxSetpoint.attitudeRate.yaw = EXTRX_SIGN_YAW * EXTRX_SCALE_YAW *cppmConvert2Float(ch[EXTRX_CH_YAW], -1, 1, EXTRX_DEADBAND_YAW);
#endif
commanderSetSetpoint(&extrxSetpoint, COMMANDER_PRIORITY_EXTRX);