Servers by jDrones

Pushing a Parrot Disco to the limit


(Brian) #41

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.


(macfly1202) #42

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


(macfly1202) #43

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 !


(James Pattison) #44

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


(macfly1202) #45

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.


(Kikislater) #46

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


(macfly1202) #47

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


(macfly1202) #48

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 ?


(Kikislater) #49

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


(macfly1202) #50

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.


(Kikislater) #51

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


(macfly1202) #52

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…


(Kikislater) #53

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 :


(tridge) #55

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.


(macfly1202) #56

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.


(Brian) #57

Has anyone made any progress on the Disco?
Enabling at least basic Video Recording?
Reverse Thrust?

If not, is anyone planning on spending any time on trying to make Ardupilot work better with the CHUCK?


(macfly1202) #58

Brian, we seem to be alone here again… Please Heeellppp us ! :rofl:


(Christian Veyssiere) #59

Hello,

New on the forum.
French modeller
French reporter for the magazine RC-Pilot
I have test the Disco and the other models from Parrot for this magazine.
Actually, I work to use the CHUCK in other plane like this…


(Reinhard) #60

@tridge
Are there any new features for this topic? I would like to be able to use the camera of the disco even if ArduPilot is running…

Currently, the camera is deactivated as soon as ArduPilot starts. Can’t the behavior be turned off?


(Marc Dornan) #61

Has anyone managed to fly a Disco recently with Ardupilot and use the camera? I picked up a few of these (have not got them yet). I am flne not having live video but would like the camera to be recording.