LibrePilot Forum

General Category => LibrePilot2Go => Topic started by: smark- on May 07, 2017, 05:52:45 pm

Title: App Development
Post by: smark- on May 07, 2017, 05:52:45 pm
Is the app still under development or it's been abandoned?
Title: Re: App Development
Post by: @marc on May 07, 2017, 09:20:15 pm
It's not abandoned, yet currently paused.
Any special reason you ask?
Title: Re: App Development
Post by: smark- on May 09, 2017, 08:23:48 am
Hi Marc,

I had to chance to have a look at EZ-GUI app, which is developed for multiwii. It's quite complete and I was wondering if it wouldn't be better to have the telemetry output in a "multiwii" compatible format to be able to use that app, rather than developing a Librepilot specific one.
Title: Re: App Development
Post by: Mateusz on June 04, 2017, 01:46:16 pm
As far as I know MultWii uses MavLink which is quite different (older) protocol than UAVTalk, each has pros and cons, but UAVTalk has some advanced features that are not possible with MAVLink. Perhaps simple telemetry would be possible. Would be good to tell what features you find there and miss here, so they might get implemented :)
Title: Re: App Development
Post by: smark- on June 14, 2017, 11:19:23 pm
I understand. I think the most interesting feature, which has not been implemented in Lp2go, is the way point management. On top of that, I find very useful the wider implementation of the text2speech engine. The last, but not least, is the possibility to perform the calibration of the magnetometer, but I know Marc was working on it on the alpha version. Is there a particular reason why the app developement has been paused?
Title: Re: App Development
Post by: @marc on June 15, 2017, 09:17:41 pm
Is there a particular reason why the app developement has been paused?

Real life ;-).
Title: Re: App Development
Post by: iacobe on June 20, 2017, 04:35:14 pm
Guys, please continue this project!

I started using it few days ago and it works perfect for me. Using OTG USB cable. One con I found is that app drains battery from phone really fast - but who cares. Just connect, make some changes, disconnect and have fun with prefectly tuned quadcopter :-)
My setup: CC3D, cheap OTG USB to MicroUSB cable and Samsung Galaxy S6 with LibrePilot2Go app.

Thanks for developers for making it easier.
Title: Re: App Development
Post by: vas on July 14, 2017, 12:49:28 pm
Hi,
I was wandering where I can find the source code for the beta release, as it is on Play Store. The bitbucket version is not supporting 16.09.
Thanks.
Title: Re: App Development
Post by: @marc on July 14, 2017, 02:02:47 pm
Hi,

the Librepilot2Go Beta Release Sourcecode ist here:

https://github.com/MarcProe/lp2go/tree/branch_public_beta_0.3

What exactly do you mean by "The bitbucket version is not supporting 16.09."?

-- Marc
Title: Re: App Development
Post by: Mateusz on August 07, 2017, 09:04:37 am
Hi,
I was wandering where I can find the source code for the beta release, as it is on Play Store. The bitbucket version is not supporting 16.09.
Thanks.

If you want to use LibrePilot from bitbucket, you just need to load the uav objects generated on compile time. Just provide them in a zip file and open that with LP2Go app.

Check here https://librepilot.atlassian.net/wiki/display/LPDOC/LibrePilot2Go+Android+App
For Loading new UAVO files is only needed if you are using a self compiled version of LibrePilot and click on "For detailed information on this advanced feature, click here."

If that's what you are asking for. I think that's what you wanted to know since Bitbucket version of LP2Go supports all LibrePilot firmware versions  :) Or just ask again, if that's not the answer you wanted :)
Title: Re: App Development
Post by: Bariton26 on October 17, 2017, 11:40:43 am
Where can I find the alpha release with the mag calibration?
I want to calibrate the mag in the field,  with a laptop this is not verg handy.
I use the next release of 13 october.
Title: Re: App Development
Post by: Mateusz on October 17, 2017, 01:24:15 pm
Where can I find the alpha release with the mag calibration?
I want to calibrate the mag in the field,  with a laptop this is not verg handy.
I use the next release of 13 october.

LP2Go implementation in Java uses similar Yury Petrov's Ellipsoid fitting algorithm (external library) as GCS in C++. You would need to calibrate one sensor with both methods at the same time to validate if coefficients are close enough. I am not sure if this has been done, that's why it's Alpha version. You would need to test if it works.
On Wiki there is link to apply for Alpha, which is basically contact to author, he will send you the link. Let us know if it works, I am also curious.
Title: Re: App Development
Post by: @marc on October 19, 2017, 07:21:26 pm
Hi,

the mag calibration was never finished due to lack of people willing to test and give feedback.

You can get it here:

(https://slack-imgs.com/?c=1&url=http%3A%2F%2Fi.imgur.com%2FWfnJMIh.png%5B%2Fimg%5D)

Please note that this totally might f**k up your calibration.
Title: Re: App Development
Post by: karla on October 24, 2017, 04:54:25 am
...
You would need to calibrate one sensor with both methods at the same time to validate if coefficients are close enough. I am not sure if this has been done, that's why it's Alpha version. You would need to test if it works.
On Wiki there is link to apply for Alpha, which is basically contact to author, he will send you the link. Let us know if it works, I am also curious.

I have the Beta and Alpha app and can do the testing.
Just not sure How to calibrate with both methods at the same time?

If I complete the mag calibration from the GCS and export the UAV file, then complete another calibration using the Alpha app and export that file, then you or someone here can compare them and check if its okay, right?

I will try doing the two calibrations in exactly the same way and time.
Title: Re: App Development
Post by: Mateusz on October 24, 2017, 11:33:17 am
If I complete the mag calibration from the GCS and export the UAV file, then complete another calibration using the Alpha app and export that file, then you or someone here can compare them and check if its okay, right?

I will try doing the two calibrations in exactly the same way and time.

If you do that, then you would get two different polynomials (coefficients) afaik. You will not know how much they're different.
I guess if you had made more than 2 calibrations in very stable environment, you could have standard deviation around each coefficient, how much it is allowed to change and compare that to the other method also calibrated multiple times.
But then again, if there is a difference somewhere in the code, you might end up with one coefficients set completely different from the other. I guess flying flying it would make a good check.
I am also not sure how to modify the code to store both calibrations done at the same time but since mag calibration is done completely off-line (calculated after reading all samples) it should be possible just to start both calibrations in GCS and Android app almost at the same time and compare coefficients ?

@marc how would you test it ?
Title: Re: App Development
Post by: TheOtherCliff on October 24, 2017, 08:09:31 pm
FYI: There was a bug where GCS did not clear out the old (mag) calibration before making a new calibration and the work around was to manually set the calibration data back to default before running the calibration.  I don't think this is an issue, but I raise the question that LP2Go might? (still?) have an issue like this which would cause this problem.  I know it is different code bases and not likely.  Just keep this in mind as a possibility...

I think the easiest way would be to do 3 (or so) GCS calibrations and print out the calibration data each time (just save UAV file will work well), then do 3 LP2Go calibrations and print out each of it's calibration data sets.  There will be a variation in each set, but it should be fairly obvious looking at (just some numbers):
2.731, 2.702, 2.658
as compared to say:
2.691, 2.711, 2.729
to see that these are probably the same

where:
2.731, 2.702, 2.658
as compared to say:
2.777, 2.815, 2.822
are somewhat different

The above is an example of comparing just 1 number of the 12.  You could get by with testing only the 6 numbers from the mag source you are actually using.

As I recall there are 12 numbers in each mag calibration, 6 for each mag (on board and aux):
3 "offsets from neutral" and 3 "strength multipliers".  The 3's come from the 3 dimensions.

A harder way:
I'm not sure exactly how you would do this, but if you think the two codes make two different calibrations, you should have both GCS and LP2Go watching the same calibration.

This could be done by allowing both to watch the stream, but making one "read only" so only one set of commands gets to the FC, but both can see the results from the FC.

An example would be to have both GCS and Android funnel through a single serial connection where both were connected to RxData but only one connected to TxData.  GCS set up with an FTDI to serial to OpLink.  LP2Go set up with Bluetooth to a Bluetooth to serial receiver and that ground wire and TxData wire connected into the GCS serial connection.

Another example might be to make a log while doing the GCS calibration and ask for a way to play it back in the LP2Go.

Pains like these are part of life as a programmer.  :)
Title: Re: App Development
Post by: karla on October 25, 2017, 09:24:40 am
Strange, the mag calibration option is no longer there in Alpha app. I have ver 0.3.0.50.
Is there a later version?