Thanks, that is a great link as well, but didnāt help me solve my problems using ArduPilot and setting up Mission Planner. So I can plug in my UHF RangeLink Receiver into the CHUCK and everything works perfectly on my controller without having to do anything, as far as flying the Parrot Disco with an RC Remote Controller, everything is mapped perfect out of the box with the Default Parrot āDragonā AutoPilot program running. But if I kill the Dragon program, and then startup Arduplane like the articles suggest, I get a lot of errors in Mission Planner when writing the know good params to the Disco, and I canāt calibrate my radio at all, itās like itās not there, even though I know it works with the Disco. Itās like manual RC Control is not baked into the latest Disco builds, or maybe it canāt handle PPM input like Dragon can, or the latest Parrot Disco firmware is causing issues with ArduPlane and folks that had it working were using older Parrot firmware, or I donāt know what Iām doingā¦
Hi Brian,
I suspect the startup scripts on the disco have changed, and thats why the existing instructions donāt work. We probably need to change just a couple of lines in the startup script to make it work.
If you could pull the contents of at least the /etc directory from yours and put it in a zip file or tarball then put it somewhere I can get to it then I can see if I can spot what needs doing.
There used to be 2 methods:
- triple-press the airspeed sensor to make it look for and load ardupilot. You had to do that on every boot
- edit the startup script to run ardupilot instead of dragon every time
the scripts should make it clear what options are available now.
Cheers, Tridge
Hi,
When updating Dragon autopilot (chuck fw) to latest version, procedure is not the same. I had been updated wiki but forgot to make to make a pull request. It was before tridge made guide to update wiki and I am not able to find changes at this time.
To resume :
APM folder is not the right folder to put the file
There is an existing ardupilot folder
The correct name of the file has to be arduplane and not apm-plane-disco like parrot share.
Check issue I made here :
-
/data/ftp/internal_000/APM is a wrong folder now. You should put fw in /data/ftp/internal_000/ardupilot/
-
upload in binary mode and verify checksum. They say we have to upload in ascii mode which is wrong. Itās binary mode
Inspired from Parrot I made a script to upload in binary :#!/bin/sh
/usr/bin/ftp -vdin << EOF
open 192.168.42.1
binary
mkdir internal_000/ardupilot/
put arduplane_fw/arduplane
EOF -
Make it executable :
Through telnet, change directory to ardupilot and run
chmod +x arduplane
Then you could press 3 times to make it working
What is not working on 3.8 :
- Reverse thrust (I have it working on other custom frame with blheli flashed esc)
- sonar
- Video
Disco with magnets is really bad IMO. Hard to calibrate MAG !
There is 2 FTP on Disco : port 21 and port 61
thanks for the info!
it should be a lot better with plane 3.8.x. I raised the COMPASS_OFFS_MAX to 2200 by default on the Disco. You can raise it even more if need be.
Cheers, Tridge
Thanks Tridge.
Yes I found your parameters on your FTP
But even with this, not really good ā¦ In flight itās different but when you are the ground even with proper calibration, disco show wrong direction (around couple of degrees : 15Ā°). I move from 3.7.1 to 3.8.x and donāt find any improvement on mag with disco. I will try in 2 months, Iām far away to disco at this time.
Do you know why sonar is not working on Disco ? Is this related to this : Optical flow is not available in the new version firmware ArduPlane 3.8.1-dev
Main advantage on Disco is lightweight frame and standard reverse thrust support but could not be enable. I tried with joystick support, not RC so could not adjust some parameters, I will try with Sbus ā¦ Or do you have recommandation on reverse thrust with disco ? Does esc support reverse thrust on arduplane ?
Thanks for the info on where to transfer the arduplane file in binary mode, to allow the triple press of the airspeed sensor.
Where can I obtain the best parameters file to use with the Disco?
How do I load this parameters file? Do I just copy it into the same directory as the arduplane file?
Any ideas on why my RC RX/TX works perfect with Dragon but is not detected when Arduplane loads? Iāll try QGroundControl but donāt think it mattersā¦
I use this parameter file:
you load it with a GCS such as MissionPlanner, QGC or MAVProxy
what type of receiver is it? What pins did you connect it to?
Cheers, Tridge
Iāve read Disco ESC is on I2C. Donāt know if true but will be a great improvement if reverse thrust could be use on my Disco. Congrats to the team that port Arduplane to Disco !
yes, it is I2C, and we do have the information needed to support reverse throttle, it just isnāt implemented yet.
thanks for answer Tridge. Nice WE.
Could we hope a support for it one day ?
I am using an Aurora 9 with a 12 channel UHF RangeLink system. I plug a standard servo cable into the PPM out port on the RangeLink Receiver, and the other end into the horizontal 3pin plug left of the power input on the CHUCK. I can fly the Parrot Disco with this setup using the stock Dragon autopilot, and even configure the various RC channels within the FreeFlight app, but as soon as I startup Ardupilot and connect with Mission Planner, it does not see the RX, or allow me to configure it. Iāll try to post the exact error message. Do I need to use a different type of TX/RX? or use a PPM to SBUS adapter for it to work with Ardupilot??
Thanks again for all the help so far.
-Brian
yes, unfortunately we donāt support PPM input yet for Disco.
What we support are:
- SBUS
- DSM (spektrum satellite)
- ST24
- SUMD
- SRXL
The hardware can support PPM input but we havenāt yet implemented that in ArduPilot. Sorry!
Thank you! Nobody could answer this for me, thanks for the clarification, I have ordered a PPM to SBus converter for my RangeLink receiver. As soon as it arrives, I will try again to get Ardupilot working on my Parrot Disco with all the new info shared in this thread. I plan to create a detailed step-by-step to share as well.
Please let me know if anyone has ideas on starting Video Recording manual before launching, even if itās a hack. Seems like there must be a Linux process on the CHUCK for that, without needing to have the entire Parrot Dragon AP running.
Hi, I just want to make few comments about Disco on last version and Parrot / Arduplane script and ask for help to improve the whole workflow of dual FC Arduplane/Dragon.
1/ internal folder that already exist in my disco is internal_000/ardupilot/
2/ when pressing the 3 short on power button, it call this script : shortpress_3.sh
in /bin/onoffblink. (or something like that on name - donāt remember exactly his filepath)
this script is :
ulog_tag="APM:Plane Disco"
source /usr/share/ulog/ulog_api.sh
/usr/bin/apm-plane-disco.sh prepare
if [ $? -eq 0 ] ; then
ulogi "Stopping stock autopilot"
kk
else
ulogi "Keep Dragon alive"
exit 0
fi
ulogi "Starting APM:Plane"
media-ctl -l '"mt9f002 0-0010":0->"avicam.0":0[1]'
media-ctl -l '"avicam_dummy_dev.0":0->"avicam.0":0[0]'
pstop ledd
prestart apm-plane-disco
prestart dxowrapperd
prestart pimp
Question: here what is prestart apm-plane-disco ? the .sh script in /usr/bin OR the launchable apm-plane-disco āfirmwareā in the theorically /internal_000/APM/apm-plane-disco ???
3/ the /usr/bin/apm-plane-disco.sh
is :
rw_apm=/data/ftp/internal_000/ardupilot/arduplane
if [ -f "${rw_apm}" ]; then
chmod +x ${rw_apm}
ret=0
else
ret=1
fi
if [ "$1" = "prepare" ]; then
exit $ret
else
exec ${rw_apm} $@
fi
nb: I donāt remember if I change this script on his filepathā¦perhaps it was this instead
rw_apm=/data/ftp/internal_000/APM/apm-plane-discoā¦Above what I had now
4/ about rcS_mode_default
in /etc/init.d
:
Orginal script on my disco was :
ulog_tag="rcS Mode default"
source /usr/share/ulog/ulog_api.sh
# default rcS running mode script
ulogi "rcS_mode_default"
echo $((1024*1024)) > /proc/sys/net/core/wmem_max # inscrease the max socket size
DragonStarter.sh &
sleep 1
If I use script provide here https://github.com/ArduPilot/ardupilot/blob/master/Tools/Frame_params/Parrot_Disco/rcS_mode_default on the tuto, itās not booting (still have wifi but Dragon not launching), even after change the filepath
Here this script :
# default rcS running mode script
echo $((1024*1024)) > /proc/sys/net/core/wmem_max # inscrease the max socket size
if test -x /data/ftp/internal_000/APM/start_ardupilot.sh; then
ulogger -t "rcS_mode_default" -p I "Launching ArduPilot"
/data/ftp/internal_000/APM/start_ardupilot.sh
else
ulogger -t "rcS_mode_default" -p I "Launching Dragon"
DragonStarter.sh -out2null &
fi
sleep 1
I changed it with ulogi because logging api seem to have change in main image disk but didnāt find the argument for ulogi. Moreover, with ulogger, itās not starting Dragon or Arduplane.
# default rcS running mode script
echo $((1024*1024)) > /proc/sys/net/core/wmem_max # inscrease the max socket size
# default rcS running mode script Arduplane
if test -x /data/ftp/internal_000/ardupilot/start_ardupilot.sh; then
ulog_tag "rcS_mode_default" -p I "Launching ArduPilot"
/data/ftp/internal_000/ardupilot/start_ardupilot.sh
else
# default rcS running mode script Dragon
ulog_tag="rcS Mode default" -p I "Launching Dragon"
source /usr/share/ulog/ulog_api.sh
ulogi "rcS_mode_default"
DragonStarter.sh &
fi
sleep 1
5/ Finally, I put the start_ardupilot.sh script and arduplane firmware(download here http://firmware.ardupilot.org/Plane/stable/disco/) in my /ftp/internal_000/ardupilot
Notice that grants are modified by the prepare script to make it executable (cf above chmod +x ${rw_apm})
cd /data/ftp/internal_000/ardupilot
(
date
# stop stock led daemon
pstop ledd
# startup fan
echo 1 > /sys/devices/platform/user_gpio/FAN/value
while :; do
echo "$(date) Starting arduplane"
./arduplane -A udp:192.168.42.255:14550:bcast -B /dev/ttyPA1 -C udp:192.168.53.255:14550:bcast --module-directory modules
done
) >> start_ardupilot.log 2>&1 &
I change the usb IP from 192.168.43.255:14550 to 192.168.53.255:14550 because I read that IP have evolve in Parrot system and 192.168.43* are now specifig to their debug system. My skycontroller is 1.0.6 so greater to 1.0.4 so output āRTPā like stream on 192.168.53 and not 192.168.43. I have test with Trendnet TU2-ET100 like āNicolasā from Parrot write here http://forum.developer.parrot.com/t/skycontroller-2-wifi-and-hdmi-out/4530.
Tridge, If only you could have a look quickly on my modified script (especially rcS_mode_default and shortpress_3.sh) to see if it s correct or not. It will be very kind. Iām not fan of bash and not developperā¦ Later when everything will be ok and TESTED, I will make a pull request to update github doc. Thanks !
nb2: I removed all the comment at the beginning of scipt because had some issue with this kind ok mardown here #!/bin/sh
Nobody seem to be passionate by the subject of bash scriptingā¦like me !
But at least, I try to have on but essential answer : āIs video stream works/or have worked with parrot Disco and Arduplaneā
Thanks !
Thanks James. Donāt understand why video feed not starting actually with skc2. Tridge (as I remember) didnāt say if video feed was started with skc2 or smartphone.
As I understand, itās freeflight pro that ask disco start video stream.
Simply want to add as information that price of disco have terribly drop in France for all the version. The more expensive pack Adventurer could be buy at 499ā¬. So, with this vey acceptable low price, disco and chuck is a very good dev platform.
Video is not working since 1.4.1 fw. I think they change bash script like you say !
But something could be test : I donāt have my disco near me at this time but you could start with dragon autopilot, start recording, boot on ardupilot which will probably not kill video recording.
I think itās like wifi, when you boot on ardupilot, itās keeping alive and not killed ā¦
I added an issue to reverse thrust support on disco : https://github.com/ArduPilot/ardupilot/issues/7173