Page 1 of 1
[SOLVED] So what is client side x-mode
Posted: Fri Jan 02, 2015 6:02 am
by lxrocks
So what does x-mode do?
I looked at the code and it seems that the client makes some kind of adjustment to roll and pitch, I don't understand the purpose of this.
Re: So what is client side x-mode
Posted: Fri Jan 02, 2015 6:11 am
by chad
CF1.0 could fly in either a '+' configuration (M1 motor arm in front) on in an 'x' configuration (red LED in front). The '+' configuration was default out-of-the-box behavior. The 'client-side x' enables control of the CF in the 'x' configuration. See the wiki pages on
flight control and
Crazyflie components for more info... I'm not sure if it applies to CF2.0 (which comes out of the box in 'x' configuration)...
Re: So what is client side x-mode
Posted: Fri Jan 02, 2015 6:37 am
by lxrocks
Thanks Chad,
That makes sense now, I had not noticed the difference in the motor arm layouts between the CF1 & CF2
Re: So what is client side x-mode
Posted: Fri Jan 02, 2015 10:23 am
by dbrgn
AAAAAH! I always assumed that mode would re-calculate the x/y controls based on the rotation of the CF.
What about a firmware update that adds rotation aware controls? You could store the current yaw when turning on the flie and then re-calculate all commands according to that rotation. The only precondition would be that the user stands straight behind the flie when starting.
Re: So what is client side x-mode
Posted: Fri Jan 02, 2015 5:28 pm
by marcus
dbrgn wrote:AAAAAH! I always assumed that mode would re-calculate the x/y controls based on the rotation of the CF.
What about a firmware update that adds rotation aware controls? You could store the current yaw when turning on the flie and then re-calculate all commands according to that rotation. The only precondition would be that the user stands straight behind the flie when starting.
That's a good idea. A while back we had a patch for doing this on the client side, but we would really like to have it in the firmware since it would be more clean. Also, since the number of host platforms increase (iOS, Android, computer) it's a lot more efficient to implement features in the firmware. I've added an
issue for it, so if anyone feels up to the task it would be great if you wanted to help out.