paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Lisa/M V2.0 + Aspirin V2.1


From: Felix Ruess
Subject: Re: [Paparazzi-devel] Lisa/M V2.0 + Aspirin V2.1
Date: Sat, 2 Jun 2012 15:05:28 +0200

Hi Stephane,

I'm a independant french developer, new here, and I have a few questions concerning the last version of Lisa-M + Aspirin 2.1 :
I'd like to use it for many different kind of usage (including flying one), but as a recorder essentially in a first step.
So I'd like your advises on the feasability of this configuration, please :
- refreshing the matrix rotation at high frequency (what is the theorical max refreshing capability ?)

Well, that depends on what algorithm you use and what else you need to run that takes computing power and time....
E.g. with the int_cmpl_quat AHRS filter we run everything (including navigation) at 512Hz without problems. You could probably crank that up to 1kHz if you only need an attitude estimate and nothing else.
 
- the refreshing rate would be synchronized by an external interrupt at a low frequency below 100 Hz (on what pin would you advise me to place the external interrupt ?)
- between two external interrupts, a timer (reset by external interrupt) that would clock another interrupt at the higher frequency possible
- then save each refreshed matrix in euler angles format, into an SD card and/or send it to a PC over serial on µUSB port.

I don't fully understand what you want to do here. Basically you just need to log the current euler angles to a SD card when you get an interrupt?

Could you please tell me where can I find the code for this board+new IMU (I'm not sure : I didn't find the source for Aspirin 2.1 actually) ?
  
The aspirin driver can be found under sw/airborne/subsystems/imu/imu_aspirin2.[ch]
 
To begin my work, could you please tell me too where to find in the code :
- all the actual active interrupts ?

There is no single place to find all active interrupts... as that depends on what subsystems you use.
 
- the navigation functions (I need to deactivate them in a first step)

sw/airborne/subsystems/nav.[ch], sw/airborne/subsystems/navigation/* for fixedwings and for rotorcrafts sw/airborne/firmwares/rotorcraft/navigation.[ch]
Just leave out the navigation subsystem in your airframe config and it won't be added...
 
- all dependencies for the main fusion algo that compute the main rotation matrix

Which one? there are several algorithms under sw/airborne/subsystems/ahrs/*
Have a look at the AHRS subsystem page in the wiki

About the recording function : I saw code in the sources concerning direct spi to SD card support. Direct writing by main MCU should not be a problem for me until card is full, and erase delay will not be a problem (only after download to pc). Could you please tell me which pins are used for sd card connection, and could you advise me a breakboard with SD or µSD already tested ?

I haven't connected a SD card to one of the boards so far, so I don't really know. Martin and Christophe were working on a SD card logger recently, so they might be able to give some more info here...
But depending on how SD card support is implemented, the time to write to the card might be a problem if you want to run a filter at a high rate at the same time. Also the on Lisa/M with aspirin, the SPI is already used for the MPU6000...

I will need a free i2c line too, in a second step, on which there would be no other active device connected : so I can use the I2C1 5V level one for that I suppose (i2c bus is free of device isn't it) ?

 I'm sitting in the train without internet right now, so I can't check... but yes, I think I2C1 should be free (baro is on I2C2 on lisa/m). See http://paparazzi.enac.fr/wiki/Lisa/M

So to start I would suggest to use a rotorcraft firmware, leave out the navigation subsystem and get that running to gain some experience with Paparazzi.
Then write your own "firmware" (basically a makefile to specify what to include and your own main function which calls the existing subsystems) that does only what you want, so no control, add SD logging, etc...

Cheers, Felix

reply via email to

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