[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Aspirin IMU 1.5 x,y swap

From: Felix Ruess
Subject: Re: [Paparazzi-devel] Aspirin IMU 1.5 x,y swap
Date: Tue, 13 May 2014 02:15:19 +0200

Hi Bruzzlee,

use aspirin_v1.5 if you have a v1.5 version... should work correctly if you choose the correct version.

Not 100% sure what you mean with the front points to the right, but it is probably correct.
The axes should be the same for all Lisa/M with Aspirin versions:
If you put the Lisa/M down with molex connectors facing up and the servo connectors to the right (so you can read the silkscreen):
x-axis is towards you
y-axis is to the left
z-axis is pointing down

Cheers, Felix

On Thu, Apr 17, 2014 at 9:47 PM, Bruzzlee <address@hidden> wrote:
Hi all

I have an Aspirin v1.5 mounted on the LisaM 1.0

If I define
        <subsystem name="imu"           type="aspirin_v1.0"/>
The directions seem to be correct

But if I define
        <subsystem name="imu"           type="aspirin_v1.5"/>

The front of the LisaM points to the right.
With front I define the PFD behaviour.

The Wiki "says": The front of IMU is marked as X axis. Warning! Aspirin 1.5 has x and y silkscreen swapped.
But this seems to wrong for my Aspirin 1.5

What could be the reason?

( BODY_TO_IMU are all set to 0)

I've found those code snippets which affects:

----------- imu_aspirin.c-------
#else // aspirin 1.5 with hmc5883
    imu.mag_unscaled.x = imu_aspirin.mag_hmc.dat a.vect.y;
    imu.mag_unscaled.y =;
    imu.mag_unscaled.z =;
----------- hmc58xx.c---------
      if (hmc->type == HMC_TYPE_5843) {
        hmc->data.vect.x = Int16FromBuf(hmc->i2c_trans.buf,0);
        hmc->data.vect.y = Int16FromBuf(hmc->i2c_trans.buf,2);
        hmc->data.vect.z = Int16FromBuf(hmc->i2c_trans.buf,4);
< div class="line" id="LC147">      }
      /* HMC5883 has xzy order of axes in returned data */
      else {
        hmc->data.vect.x = Int16FromBuf(hmc->i2c_trans.buf,0);
         hmc->data.vect.y = Int16FromBuf(hmc->i2c_trans.buf,4);
        hmc->data.vect.z = Int16FromBuf(hmc->i2c_trans.buf,2);

Thank you Bruzzlee

Paparazzi-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]