Pushing a Parrot Disco to the limit

yes, it is I2C, and we do have the information needed to support reverse throttle, it just isn’t implemented yet.

2 Likes

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 !

It was working last year: https://youtu.be/SIiiXLs1qSU

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

Hi Tridge, here the /etc folder on my Disco if help for debug startup script of video part. I wil put other files too if need at the same place

Hi Thank you Kikislater ! Someone is still alive in Disco community… lol
I test your suggestion but it didn’t work. Start recording under Dragon, start ardu with 3 short press and video stream stop after 2-3 sec. What a shame … I must admit it was a clever idea…

Do you know if there is a way to acces the 1.3.1 firmware to make some test ?

Yes you could reset your disco !
I did it with pressing 4 times power button if I remember well… If it’s not working, I will find how !

Next you have to deal with Android parrot software if you want another fw than one provided by parrot when you received it. Clear datas and cache of freeflight, disconnect from internet. fw of disco is present un freeflight. If you want older version, there is apk finder or others sources you could download older freeflight apk. May be you bought it with already fw 1.4.1, un that case it could be difficult to downgrade

Hi Kikislater,
I suppose it’s possible with Parrot sdk to do lot of things like downgrade if plf found. But honestly, I prefer Parrot respect what they write ‘Disco is arduplane compatible’ (that include video streaming)

I open a support ticket to parrot about the video starting issue. Perhaps they will answer. If not, I would ask them again and again… I can’t imagine such a great plateform for Arduplane will stay limited to Dragon software that is not documented at all. What I don’t like is Parrot writing on their spec it’s arduplane compatible and not following it.

For parrot and Arduplane community, it’s a good opportunity to reach the market between leisure and professional people.

will see what happen.

Freeflight “pro” application is pretty well limited and laughing ! In app buying addon is a shame, in chance you could try it and show you can only add waypoint … (I wonder what is “pro” in freeflight!)
Indeed it’s mavlink support, they have a sdk and could play with it, but it’s better to have arduplane on it as Tridge made support for it.

Here is a good reading : http://events.linuxfoundation.org/sites/events/files/slides/ardupilot_bebop.pdf

Here is support of parrot joystick aka Skycontroller 2 on Linux : https://github.com/jberaud/joystick_remote
http://developer.parrot.com/blog/2015/running-apm-on-bebop/
https://groups.google.com/forum/#!topic/bebop-ardupilot/RivQbXhr0D8

1 Like

Very nice kikislater ! will read it. didn’t take the time to test Flight Plan for now .
The only thing I say is design is nice and Landing process seem easy to setup / superspose with maps and that is nice.

Still no news from Parrot or anybody here on disco video stream issue…

They don’t care, you will never get answer. Support for parrot is inexistant or false information …
I have other products from parrot like sequoia and first they lie on product and secondly they don’t have physical ressources with enough knowledge to answer your question. They use contractors like disco : here is the company who build the frame (looks like a copy of ebee) http://www.innovateam.com/
First proto :

hi everone, don’t be too hard on Parrot. They helped a lot to get ArduPilot ported to the Disco. I should have put more effort into keeping it up to date with the latest Parrot fw releases, and my apologies that I haven’t. I hope to get some time to do that soon.

3 Likes

Hi Tridge, I’m sure there is an incredible potential in chuck product: the All-in-one (cheap) FPV modern autopilot system and as I said, I’m sure there are talentuous engineer in Parrot corp. (cheap since the biggest drop price in life of RC product > 1200€ to 500€ for Disco in France; didn’t look the other market)
Yes all pixhawk 2/3 line etc is very cool but there is NO Digital Video stack embedded available for modern end user client (android/iOs) and this a fondamental feature for tomorrow.
I don’t want to put a pixhawk in my Disco ! lol
I’m not really developer but could help if need for testing/document custom build/script if need.
Thank you Tridge for this answer.