• *
  • 3
Hi! I have upgrade a revo fc from op 15.05.01 to Libre pilot 16.09.I had done temp calibration in op 15.05.01.I took some screen shoots of
accelgyrosettings and revo setting from system menu.As I understand I can take this values and change it so I does'nt have to do
the term calibration again.But must I type in all values just to get the temp calibration to work?

Please see attaced screenshoots

Of course you should export 15.05 UAV settings using 15.05 GCS before doing anything, so you can get back to what you had before.  I will call this file old.uav and it is a requirement for the rest of this post.

Then run 16.09 (or even go to a recent developer version called "next").  Upgrade and Erase the FC.  Do not do anything else (like run setup wizard).  Then, export these default settings.  I will call this file default.uav.  I would back old.uav and default.uav up somewhere so you are not tempted to modify them and so that you can get back to them if you need to.

Then copy default.uav to new.uav so that new.uav is just the default settings to start with.

Note that these files are human readable text files.  Most of the lines begin with "<field" and look like:
            <field values="0,0,0" name="accel_bias"/>
            <field name="accel_bias"  values="0,0,0"/>
These are the same, but the second kind that begins with "<field name" is much easier to work with.  So much so that I wrote a Linux shell script (called uavofix, attached to this post) to convert from the first kind to the second kind.  The problem is that when you export, GCS outputs them in one order if they have (that object/section has) never been set and the other order if they have been set.  I think you can also get around this by importing your default file and re-exporting the default file so that all objects and fields have been set, even if they have just been set to the default value.

Then edit both old.uav and new.uav and look at each line in new.uav that begins with "<field", find the corresponding (maybe exactly the same object and field names and maybe something similar with no exact match) line in old.uav, and copy/paste the number or numbers from old to new.  Beware that some fields have simply been renamed, some things have had their capitalization changed (critically important), some things have been added, and some removed.  That is tedious, but it works.

You can cut your work in half or better if you look at the "<object name" (section titles) and recognize those sections that you know you don't use / didn't change.  For instance, you probably don't use this:
        <object id="0x8E30D4B4" name="CameraStabSettings">
            <field name="MaxAxisLockRate" values="1"/>
            <field name="MaxAccel" values="500"/>
            <field name="Input" values="None,None,None"/>
            <field name="InputRange" values="20,20,20"/>
            <field name="InputRate" values="50,50,50"/>
            <field name="StabilizationMode" values="Attitude,Attitude,Attitude"/>
            <field name="OutputRange" values="20,20,20"/>
            <field name="ResponseTime" values="0,0,0"/>
            <field name="GimbalType" values="Generic"/>
            <field name="FeedForward" values="0,0,0"/>
            <field name="AccelTime" values="5,5,5"/>
            <field name="DecelTime" values="5,5,5"/>
            <field name="Servo1PitchReverse" values="False"/>
            <field name="Servo2PitchReverse" values="False"/>

Another thing that can cut the work down is if the object id matches in old and new, you can copy the whole object (just copy all field lines) from old to new.  For a change as large as 15.05 to 16.09, you probably won't find that (matching object ids) much if at all.

Another thing that can cut the work down is to just copy several lines at a time when you see several field names in a row that match in old and new (be careful of capitalization, like from FALSE to False for instance).

The thing that cuts the most work for me when there is not much difference in the old and new versions is to have two text editors set up so that you can switch from one to the other with a quick keystroke, or one editor with both files open and again able to switch from one file to the other with a quick key stroke.  Start with exactly the same line at the top of both pages and quickly toggle back and forth many times (of course, the old and new windows must be exactly aligned too).  This blink test will make any difference stand out.  This is the way some planets etc. were found because they move when looking at two photos where the stars didn't move.

Watch for errors and warnings when you import.  If you did it right, there will not be any at all.

For your temperature calibration, you could start with default settings, do a quick (but successful) tcal, export, compare export with default export (using a text file comparison utility).  This will tell you which objects and fields changed.  It is NOT just AccelGyroSettings.  If that is all you are interested in, then you can copy just that data from old.uav to new.uav and import new.uav.


  • *
  • 3
Thank you for the long description! The reason I just wan't to copy the Temp calibration is that I have no gps now then I have Librepilot on Revo
When I had Op15.05.01 I had a op gps with no mag and I did'nt get it to work properly it had some drift issues.So have not use it untill now when I made a new frame and did not mount the opgps.

So I have not install Ins13 and I have not calibrate any sensors just done the bord level in wizard setup.

The reason I want just the temp calibration is that I want to use it now when it's cold here in Sweden (around 0 degress celsius at the moment) I have l miniocto with pixfalcon and it does not work well when it's cold I have tried to let it sit outside for around a hour to let the gyros to acclimatize but it 's hard to arm it and if I succed to arm it it does not fly well it have gps.

But maybe the Temp calibration is just for the sensors that I have not calibrated? In the wiki it says that you should copy  AccelGyroSettings and RevoSettings.
See attached screenshot
But do I need to copy paste all? Because I just use  Basic(Complementary)?

Personally, I would have copied the board levelling calibration too.

Basic calibrates gyros with each new battery and arming, so the only thing that is temperature calibrated that you are using is the accels.  If you use altitude hold/vario the baro will be calibrated.  If you use INS13 in the future, you will just need to recalibrate mags since INS13 gyros are already temperature calibrated from AccelGyroSettings.

There are bug fixes and code changes in this large of a difference.  I am not aware of any differences in calibrations, but it is possible that some calibration has changed scale.


  • *
  • 3
Ok.I think I will test how it act at the cold weather before i go any further.

Thank you for taking time!