Servers by jDrones

ErleRobotics is dead, is there any chance to use ArduCopter 4.0.3 on PxfMini?

Hello,
I used ArduCopter on my PxfMini and RBPi 3 for some time and after AC 3.6.9 I decided to upgrade to latest stable (4.0.3) AC firmware. Unfortunately when started the ArduCopter service on Linux I got error:
/lib/arm-linux-gnueabihf/libm.so.6 version glibc_2.27’ not found.
When tried to apm-upgrade, got message the glibc is the most recent version for this OS and more messages the Erle packages repository can’t be found. The OS is the latest image from ErleRobotics (I gues it was frambuessa image).
Can somebody advice me how to upgrade my frambuessa OS image to make it working with latest ArduCopter builds? The ErleRobotics completely disappeared, their web page with user forums and documentation is gone :frowning:
I tried to contact maintainer Víctor Mayoral Vilches: too but no answer :-/
I tested also earlier builds (starting from 4.0.2 down to 3.6.10) but all of them has the same problem with old glibc. Latest build I can use is the 3.6.9, which is pretty old for now. Since the Linux OS for this ErleRobotics HW is no more supported I wonder why there are still new firmware builds for it…

PXFMini should be very similar to this.

This should work.
You need to compile ardupilot from source code using:

make pxfmini-rover

the output is a file you need to copy to the RPIZero PXFMini and run it.
it should work.

We are going through the WAF building process now. Getting the correct compiler realease might require upgrading to latest Debian (raspbian) and patch the realtime kernel.

Other issue deal with with conflicting DMA with RT kernel that makes the FC crash when using PPM , better use a uart and serial RC protocol but with limited uart on RPI it makes it more challenging

I solved the RCInput issue https://github.com/ArduPilot/ardupilot/pull/14842
It is no longer crashing now.
In my case i ran RPIzero with no real time batch on rover and still works great.

Cool, as for the RT patch, I agree that you can run the FC if you don’t have too much competing apps

So , yes the RPI PXFMINI might still be an option

I used PXFMini always on RBPi3 up to AC 3.6.9, not on RBPi zero and never noticed RCInput issue, is it just luck?
I’m not experienced with WAF building process :frowning:
Guess I have to install GIT on mi RBPi3 and all that stuff required for building AC binary.

Not sure if it is luck or a RPI Z specific issue.
It has to do with memory mapping so it is a random bug in nature. And even in RPI Zero it sometimes work for a while.
As for compiling I use cross compile on Ubuntu it is much faster to compile.

Mohammad, do you think your fix will be merged to ArduCopter stable release?

I installed git, cloned ArduPilot sources and tried to make target pxfmini but no success:
root@erle-brain:/home/erle/ardupilot/ArduCopter# make pxfmini
make: *** No rule to make target ‘pxfmini’. Stop.
I can’t find out what target should I type when want it for PXFMini on quadcopter?

As I wrote above you should build with WAF

And as @MHefny wrote, best is to cross compile on a UBUNTU host

As I don’t have any UBUNTU host, is it much harder to build it directly on RBPi3 ?

After waf configure --board pxfmini I tried ./waf copter but again without success:

root@erle-brain:/home/erle/ardupilot# ./waf copter
Waf: Entering directory `/home/erle/ardupilot/build/pxfmini’
[3/6] Compiling libraries/AP_Scripting/generator/src/main.c
[4/6] Processing modules/mavlink/message_definitions/v1.0/ardupilotmega.xml
[5/6] Creating build/pxfmini/ap_version.h
…/…/libraries/AP_Scripting/generator/src/main.c: In function ‘handle_method’:
…/…/libraries/AP_Scripting/generator/src/main.c:649:10: warning: missing initializer for field ‘range’ of ‘struct type’ [-Wmissing -field-initializers]
struct type arg_type = {};
^
…/…/libraries/AP_Scripting/generator/src/main.c:145:23: note: ‘range’ declared here
struct range_check *range;
^

Waf: Leaving directory `/home/erle/ardupilot/build/pxfmini’
Build failed
Traceback (most recent call last):
File “/home/erle/ardupilot/modules/waf/waflib/Task.py”, line 338, in process
ret = self.run()
File “Tools/ardupilotwaf/mavgen.py”, line 55, in run
from pymavlink.generator import mavgen
File “/home/erle/ardupilot/modules/mavlink/pymavlink/generator/mavgen.py”, line 12, in
from future import standard_library
ImportError: No module named future

root@erle-brain:/home/erle/ardupilot#

You are missing the module named “future”
I suspect you have not installed the development environment correctly
Please read the dev wiki on this

At last I made it compiled. Anyway I cloned just this link: git clone https://github.com/ArduPilot/ardupilot.git
and it seems to be master (alias trunk, isn’t it). When started the apm.service and connected via MissionPlaner, in messages I can see this: ArduCopter V4.1.0-dev (39f16c46)
But how should I clone e.g. stable branch 4.0.3 from GIT?
Is it just that link https://github.com/ArduPilot/ardupilot/tree/Copter-4.0.3 ?

Oh really ?!?.. . the server is still building it ?? :slight_smile:

Hi,
I compiled arducopter using

make pxfmini-copter

and output is here

I am not sure how to run it under pxfmini linux image [Frambuesa OS image].

but try manually first using

sudo ./ardurover -C udp:192.168.1.xxx:14550:bcast

where 192.168.1.xxx is your laptop IP and 14550 is UDP port in QGroundControl.

Build is from master… if it works let me know so that I can build you from the branch you want :slight_smile:

Thanks a lot Mohammad :slight_smile: .
As I already managed the WAF build process on my RBPi I have installed and even running in the quadcopter.
Nevertheless I appreciate your concern.
I will try to download your binary build just for case mine will have problems in future.

1 Like

I hope they merge it soon.

Servers by jDrones