|
From: | Felix Ruess |
Subject: | Re: [Paparazzi-devel] ArduIMU |
Date: | Wed, 16 Feb 2011 08:56:20 +0100 |
We should maybe wait just a bit Felix. Chris encountered a problem that should probably be resolved before it is really safe to fly with it. I can issue a pull request when it is ready.
The way the module is set up is a periodic function initiates a request to read the IMU over I2c, then an event function is fired when the status is changed to I2CTransSuccess. The event function then converts the data and sets the status to I2CTransDone. (This is the same way it is set up in the Infrared_I2c module err.. subsystem)
The problem is in the case where the transaction fails (I2CTransFailed), then the event function is never run, the status doesn't get updated and the periodic function never requests any more data because it checks for I2CTransDone. I haven't seen this behaviour first hand, but apparently Chris was able to induce it by moving the sticks quickly, apparently related to having 9 transmitter channels defiend.
The question for anyone more familiar with the I2C implementation in paparazzi is what to do when the transaction fails? Is it safe to just ignore it and send the next one? Or do you have to reset the I2C bus? (There is a hint in i2c_arch.c in I2CFail(): //FIXME I2C should be reseted here)
/Steve
On Tue, 15 Feb 2011 22:39:40 +0100, Felix Ruess <address@hidden> wrote:
Hi Steve, hi guys,
I guess we should merge this into paparazzi master, since it seems to fix problems?
Cheers, FelixOn Sun, Feb 13, 2011 at 9:42 AM, <address@hidden> wrote:
Hi Steve,
Weather was good yesterday so I tried out your modified ArduIMU code on my Funjet.
Flew well in AUTO2 mode without any problems at all. Tracked well even after 10 circles.
Thanks for fixing the code; it seems to work great now.
Cheers, Mark
-----Original Message-----
From: paparazzi-devel-bounces+mark.griffin=itu.int@nongnu.org [mailto:paparazzi-devel-bounces+mark.griffin=itu.int@nongnu.org] On Behalf Of Steve Joyce
Sent: samedi, 5. février 2011 17:56
To: address@hiddenSubject: Re: [Paparazzi-devel] ArduIMU
Well in an unfortunate coincidence, the yaw gyro on my ArduIMU went bad at
the same time I was messing with the I2C code which kind of led me in the
wrong direction so to speak. I switched to another ArduIMU and it now works
really well.
My module code polls it cleanly at 50Hz (the frequency of the main loop on
the ArduIMU), and I rewrote the I2C routines in the ArduIMU firmware
starting from the most recent 1.8.2 distribution. Anybody want my
revisions?
/Steve
----- Original Message -----
From: "Steve Joyce" <address@hidden>
To: <address@hidden>
Sent: Tuesday, February 01, 2011 12:08 AM
>
> any ideas welcome, I'm almost ready to give up.
>
_______________________________________________
Paparazzi-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
_______________________________________________
Paparazzi-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
_______________________________________________
Paparazzi-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
[Prev in Thread] | Current Thread | [Next in Thread] |