ArduIMU code question

I don't really understand what this #define line in the arduIMU 1.7 code means>>>

// Enable Air Start uses Remove Before Fly flag - connection to pin 6 on ArduPilot 
#define ENABLE_AIR_START 0  //  1 if using airstart/groundstart signaling, 0 if not


Do I need to have this set to 1 if I am flying?    Should I also have it set to 1 for demo purposes? And a quick explanation of what signaling means in the context as it is used above.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Developer
    1 - If you are NOT using ArduIMU with ArduPilot then MAKE SURE to set ENABLE_AIRSTART (to) 0. Otherwise you will have problems because you will not get a calibration at startup.

    2 - I have changed the LED sequence on startup in the latest revisions. If the IMU is performing a ground start, which is what you want, then the sequence will be:
    - First the LED's will blink rapidly. During this time the A/D converters are being cycled
    - Then the LED's will blink at a slower rate. During this time the gyros and accelerometers bias is being calibrated. Keep the IMU still during this time.
    - Then the LED's will go off.
    - When you have GPS lock the blue LED will come on.
    - If the speed filter is enabled and you are standing still or moving slower than the threshold the yellow LED will come on

    3 - The recent revisions will not complete the ground start until you get gps lock. This means that you must have the gps connected. I did this specifically for use with ArduPilot and the absolute pressure sensor. I have changed it to remove this restriction in revision R120 (just now), unless you are using the pressure sensor. This may have been the cause of some peoples problem because there was no indication that the IMU was hung up waiting on gps lock.

    4 - The yellow LED is not status. It blinks with the red and blue during ground start. Otherwise, it is an indicator that the speed filter is suppressing yaw drift correction. If you have a non-zero value for the speed filter and the IMU is not in motion at a speed above the threshold, then the yellow LED will be on. Note that the yellow light may blink a bit at the default speed filter setting of 2 because it is low enough that noise in the position estimate occasionally is registered a speed exceeding the threshold.
  • 3D Robotics
    Here's Doug's explanation:

    "Airstart is only there to save you if for some reason the AP restarts in the
    air. This could happen due to a power glitch or due to toggling the mode
    quickly.

    If the AP restarts in the air it is important that it not take a lot of time
    doing the things it normally does when starting on the ground - i.e.
    calibrating everything. When we do a ground start we get the offsets for
    all the analog sensors, set the home location, etc. We then store this
    stuff in EEPROM. When an airstart occurs we just grab this stuff back from
    EEPROM and start operating immediately.

    There is no real reason a user would want to intentionally perform an
    airstart on the ground other than debugging.

    The biggest source of confusion I have seen is with the IMU. If users set
    ENABLE_AIRSTART then the IMU will ALWAYS air start unless it gets a signal
    from the AP to ground start. This will often result in the IMU doing funky
    stuff, because it will be using calibration data from EEPROM that may not be
    appropriate. So if a user is just looking at the IMU on the bench and they
    have it doing air start instead of ground start then they will often think
    there is a problem."

    In short, set it to 0 for now.
This reply was deleted.

Activity

Neville Rodrigues liked Neville Rodrigues's profile
Jun 30
Santiago Perez liked Santiago Perez's profile
Jun 21
More…