trust

  • ****
  • 301
Re: East west oscillation in VelocityRoam
« Reply #75 on: February 09, 2021, 04:23:16 am »
Ok. I decompressed the files onto a USB disk E:
I run ming32, it opens a window.
I move to the directory f:/librepilot/next - where the code sits
I run
mingw32-make package
I get the following error:
mingw32-make: *** [F:/librepilot/next/flight/Makefile:265: flight_uavobjects] Error 127
Are there environment varbs I need to set, or does make set them?
I assumed you already built the tool chain in this or do I need to rebuild it?
If I run python --version I get 2.7.16



Re: East west oscillation in VelocityRoam
« Reply #76 on: February 09, 2021, 08:14:32 am »
127 is usually "file not found".

A few things:

No spaces in install directories.  It looks like you installed the source in librepilot/next and it probably isn't an issue, but there are problems with installing tools? source? what? in directories that have spaces in the name?

what does this command output?
  echo $MSYSTEM
I recall issues with MSYS64 bit?

I know that Windows uses \ and Linux uses /.  I see that the file name of the error uses /.  I don't know if that is an issue or if showing / is normal for Windows builds.

Do you have permission to write in that directory?  Maybe it doesn't belong to you (use chown or chmod ... with -R ? or Windows utility to change owner of everything)

Are you out of space on the disk?

Are you sure this is the first error?  Always fix the first error first.

Good luck.

jdl

  • ***
  • 246
Re: East west oscillation in VelocityRoam
« Reply #77 on: February 09, 2021, 10:31:25 am »
...
I run ming32, it opens a window.
I move to the directory f:/librepilot/next - where the code sits
...


Librepilot files are expected to be in

E:\msys32\home\karat\librepilot

Of course, replace "karat" with your username.


mingw32 should be started from E:\msys32\mingw32.exe


Edit: Incorrect, sorry for that!
« Last Edit: February 09, 2021, 02:16:27 pm by jdl »

Re: East west oscillation in VelocityRoam
« Reply #78 on: February 09, 2021, 11:08:51 am »
Trying to understand the setup to maybe get it working under Linux Wine.  I haven't actually unpacked it.  :)  I wonder how long it would take me to document a fresh Linux setup and make build / source fixes to get it working.

Librepilot files are expected to be in

E:\msys32\home\karat\librepilot

Of course, replace "karat" with your username.
I don't understand  ??? why that would be needed unless you tweaked it to get it to work, and this is a tweak requirement?  git / LP source usually works anywhere, at least in Linux.  Then again, a Linux system does look like a single tree and doesn't have the multiple tree concept of Windows drive letters...

mingw32 should be started from E:\msys32\mingw32.exe
More tweaks that require this or just that you have tested it that way, and other ways are untested?

jdl

  • ***
  • 246
Re: East west oscillation in VelocityRoam
« Reply #79 on: February 09, 2021, 02:14:19 pm »
... or just that you have tested it that way, and other ways are untested?

Exactly right. This is how it used to work for me.

I had once moved the whole msys32 folder to different drive letter and had issues...

However, seems that my previous post is misleading, sorry for that!  :(

I've just moved the librepilot files/folder from E:\msys32\home\karat\librepilot  to  E:\librepilot and successfully built the package at the new location!

trust

  • ****
  • 301
Re: East west oscillation in VelocityRoam
« Reply #80 on: February 09, 2021, 07:07:30 pm »
echo $MSYSTEM
outputs
MINGW32

When I first ran mingw32-make package with this version on e:, it took a fair amount of time to output anything - I assume it was actually compiling. I looked through the build directory - under firmware, fw_coptercontrol has .o and .lst files I assume from the compile on 2/2. dep directory is empty
uavobjects has source code but no .o files
under build/uavobjgenerator/release there are .o files
There is nothing in the gcs-synthetics or librepilot-gcs_release directories

I tried moving all the code to the e: drive and ran mingw32-make package - same error
Yes, it is the first error.
It is a 128Gbyte USB drive - there is 100Gbyte free space


trust

  • ****
  • 301
Re: East west oscillation in VelocityRoam
« Reply #81 on: February 09, 2021, 07:09:46 pm »
I didn't get an answer to this - do I need to run
mingw32-make all_sdk_install
again?

Re: East west oscillation in VelocityRoam
« Reply #82 on: February 10, 2021, 06:46:36 am »
I would try smaller pieces, hoping to narrow down what builds and what doesn't.  That should help determine if any sdks need to be installed.

this will erase all the built stuff so you can start over
  mingw32-make clean

make just the revo firmware using 4 cpu cores (threads/jobs)
  mingw32-make -j4 revolution

make just the gcs
  mingw32-make -j4 gcs

that is enough to use gcs and revo firmware
with some small caveats like upgrade buttons are grayed out so you need to do halt and then flash the firmware

-------------

for reference

this will erase just the revo firmware
  mingw32-make revolution_clean

this will erase just the gcs
  mingw32-make gcs_clean

---------------------

On a system already set up and building correctly, you almost never need to clean.  But your system isn't working perfectly yet...

trust

  • ****
  • 301
Re: East west oscillation in VelocityRoam
« Reply #83 on: February 10, 2021, 08:48:10 am »
Ok! Progress.
It appears to have compiled and generated the fw-coptercontrol.bin & .elf files successfully.

It also generated the gcs. When I run it, I get the following error message:
E:/librepilot/next/build/librepilot-gcs_release/lib/librepilot-gcs/plugins/LibrePilot/PfdQml.dll: Cannot load library E:\librepilot\next\build\librepilot-gcs_release\lib\librepilot-gcs\plugins\LibrePilot\PfdQml.dll: The specified procedure could not be found.
Pressed ok, then looked at the GUI.
Most everything looks normal (have not tried connecting to a FC yet).
On the Flight data tab, the upper left panel allows setting gadgets - I have never played with this before - there was always a default display there. Now I see that ALL my GCS versions display what is set there! (I have both 16.09 and next set up on my computer). How do I get back the default "gadget"?
Anyway, much progress! Thanks!

trust

  • ****
  • 301
Re: East west oscillation in VelocityRoam
« Reply #84 on: February 10, 2021, 09:08:52 pm »
Not sure where to mention this - but on the next GCS version I'm using (not my code build), importing UAV files does not seem to load mixer settings. I checked the UAV file - the settings are there. But they never load. 16.09 seems to load ok. Only next. I can export, but not import.
?

Re: East west oscillation in VelocityRoam
« Reply #85 on: February 11, 2021, 04:57:44 am »
It also generated the gcs. When I run it, I get the following error message:
E:/librepilot/next/build/librepilot-gcs_release/lib/librepilot-gcs/plugins/LibrePilot/PfdQml.dll: Cannot load library E:\librepilot\next\build\librepilot-gcs_release\lib\librepilot-gcs\plugins\LibrePilot\PfdQml.dll: The specified procedure could not be found.
3D OSGEarth PFD
I recall that you must either disable this, or you must do a special download or build and tell it to use that.
I recall there is an issue building the 3D OSGEarth PFD.  It has to do with versions of the things it depends on which you may have worked around by using @jdl's msys stuff.

This command will show you some options how to handle this.  Handling it involves storing your request in a file called "config" (you will use use mingw32-make):
  make config_help

I would either disable all OSG stuff as described in config_help or I would use the instructions at:
  make/3rdparty/osgearth/README.TXT
to build these libs and to tell the build to make a GCS that uses them.

I recall there is a way to download pre-built libs, but am not familiar with that way.

There is also a way to hack Makefile that has to do with these lines:
Code: [Select]
    GCS_WITH_OSG      := 1
    GCS_WITH_OSGEARTH := 1
    GCS_COPY_OSG      := 1

On the Flight data tab, the upper left panel allows setting gadgets - I have never played with this before - there was always a default display there. Now I see that ALL my GCS versions display what is set there! (I have both 16.09 and next set up on my computer).

Running the GCS with the -help option shows you the possible command line options:
Code: [Select]
$ ./build/librepilot-gcs_release/bin/librepilot-gcs -help
Command line ("./build/librepilot-gcs_release/bin/librepilot-gcs", "-help")
Loading system settings from "/home/cliff/dev/librepilot/1609/build/librepilot-gcs_release/share/librepilot-gcs/"
Loading user settings from "/home/cliff/.config/LibrePilot/LibrePilot GCS.xml"
main - system locale: "en_US"
main - GCS locale: "en_US"
main - language: "en_US"
Usage: librepilot-gcs [OPTION]... [FILE]...
Options:
    -help               Display this help
    -version            Display application version
    -no-splash          Don't display splash screen
    -log <file>         Log to specified file
    -client             Attempt to connect to already running instance
    -D <key>=<value>    Permanently set a user setting, e.g: -D General/OverrideLanguage=de
    -reset              Reset user settings to factory defaults.
    -config-file <file> Specify alternate factory defaults settings file (used with -reset)
    -exit-after-config  Exit after manipulating configuration settings
    -noload <plugin>    Do not load <plugin>

How do I get back the default "gadget"?

Use the -reset option to reset the GCS to defaults.  If you want to use multiple versions of GCS on the same PC, you will have to supply some glue code to move the settings files around.

Not sure where to mention this - but on the next GCS version I'm using (not my code build), importing UAV files does not seem to load mixer settings. I checked the UAV file - the settings are there. But they never load. 16.09 seems to load ok. Only next. I can export, but not import.
UAV files are version specific in that if the firmware version does not match exactly, then there are things that don't import because the UAVO hash number is different, because the UAVO is different.  The bigger the changes from one version to the next, the more things don't import.

The simple way is to just make screen shots of the source version and hand input them in the destination version.

There is another way, but it is technical.  The .uav files are human readable text and so you can use diff tools to compare them.  If you compare e.g. the erase settings default revo exports for 16.09 and next, you will see the differences.  I use two editors at once so I can Alt-Tab from one to the other.  When both are on the same page, you can use this "blink test" to make the differences pop out.  Then in a 3rd editor, you make the changes that you see when blinking between the two default files.  A uav file does not have to have all the lines in it.  I often make uav files that have just the calibrations in it.  There are a LOT of differences between 16.09 and the last next.

trust

  • ****
  • 301
Re: East west oscillation in VelocityRoam
« Reply #86 on: February 11, 2021, 06:27:48 am »
I'll try the PFD makefile options.
I used the -reset and reset it.

On the importing, the UAV file was exported from the same version of next I'm importing into. So it should be the same format, correct?
And it should import I would think.

trust

  • ****
  • 301
Re: East west oscillation in VelocityRoam
« Reply #87 on: February 11, 2021, 10:38:54 pm »
I looked at Makefile - it already has the flags set, provided it determines the OS used:
...
else ifeq ($(UNAME), Windows)
    UAVOBJGENERATOR := $(BUILD_DIR)/uavobjgenerator/uavobjgenerator.exe
    GCS_WITH_OSG      := 1
    GCS_WITH_OSGEARTH := 1
    GCS_COPY_OSG      := 1
    GCS_WITH_GSTREAMER := 1
    GCS_COPY_GSTREAMER := 1
endif
Is $(UNAME) predefined somewhere?

trust

  • ****
  • 301
Re: East west oscillation in VelocityRoam
« Reply #88 on: February 11, 2021, 11:31:56 pm »
On the importing UAV in next issue, I noticed something odd - the system listing has the correct imported values after importing, but the config custom page does not show them at all, and all are disabled. Also this means the output page has everything off.
If I manually enable the relevant channels and set mixer values, then save, it is correctly saved to FC. This also then seems to enable the output page and its data, such that I can then save it to the FC.

Re: East west oscillation in VelocityRoam
« Reply #89 on: February 12, 2021, 11:57:22 am »
I looked at Makefile - it already has the flags set, provided it determines the OS used:
...
else ifeq ($(UNAME), Windows)
    UAVOBJGENERATOR := $(BUILD_DIR)/uavobjgenerator/uavobjgenerator.exe
    GCS_WITH_OSG      := 1
    GCS_WITH_OSGEARTH := 1
    GCS_COPY_OSG      := 1
    GCS_WITH_GSTREAMER := 1
    GCS_COPY_GSTREAMER := 1
endif
Is $(UNAME) predefined somewhere?
The idea is that you may need to turn it off...


On the importing, the UAV file was exported from the same version of next I'm importing into. So it should be the same format, correct?
And it should import I would think.
The only way import export works perfectly is if the same version is on GCS and firmware during export and that same version is still on GCS and firmware during import.


On the importing UAV in next issue, I noticed something odd - the system listing has the correct imported values after importing, but the config custom page does not show them at all, and all are disabled. Also this means the output page has everything off.
If I manually enable the relevant channels and set mixer values, then save, it is correctly saved to FC. This also then seems to enable the output page and its data, such that I can then save it to the FC.
There is probably some other setting that is not coming across because of a version mismatch?