[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] FTDI Utility Board

From: arnaud dumas
Subject: Re: [Paparazzi-devel] FTDI Utility Board
Date: Thu, 21 Apr 2011 23:14:48 +0200

Hi Gareth,

Thanks a lot for your reply,

I've just tested to change one figure. I can build and upload but when I execute I get

Failure("WARNING: live md5 signature for 5 does not match current configuration, please reload your code (disable check with -no_md5_check option)")

Any idea why?

best regards,


flight_plan :

<!DOCTYPE flight_plan SYSTEM "flight_plan.dtd">

<flight_plan alt="75" ground_alt="0" lat0="43.46222" lon0="1.27289" max_dist_from_home="1500" name="Basic" security_height="25">
#include "subsystems/navigation/nav_line.h"
#include "datalink.h"
    <waypoint name="HOME" x="0" y="0"/>
    <waypoint name="STDBY" x="49.5" y="100.1"/>
    <waypoint name="1" x="10.1" y="189.9"/>
    <waypoint name="2" x="132.3" y="139.1"/>
    <waypoint name="MOB" x="137.0" y="-11.6"/>
    <waypoint name="S1" x="-119.2" y="69.6"/>
    <waypoint name="S2" x="274.4" y="209.5"/>
    <waypoint alt="30.0" name="AF" x="177.4" y="45.1"/>
    <waypoint alt="0.0" name="TD" x="28.8" y="57.0"/>
    <waypoint name="_BASELEG" x="168.8" y="-13.8"/>
    <waypoint name="CLIMB" x="-114.5" y="162.3"/>
    <!--exception cond="datalink_time > 22" deroute="Standby"/-->
    <block name="Wait GPS">
      <set value="1" var="kill_throttle"/>
      <while cond="!GpsFixValid()"/>
    <block name="Geo init">
      <while cond="LessThan(NavBlockTime(), 10)"/>
      <call fun="NavSetGroundReferenceHere()"/>
    <block name="Holding point">
      <!--set var="nav_mode" value="NAV_MODE_ROLL"/-->
      <set value="1" var="kill_throttle"/>
      <attitude roll="0" throttle="0" vmode="throttle"/>
    <block key="t" name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png" group="home">
      <exception cond="estimator_z > ground_alt+25" deroute="Standby"/>
      <set value="0" var="kill_throttle"/>
      <set value="0" var="estimator_flight_time"/>
      <go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB" pitch="15"/>
    <block key="<Control>a" name="Standby" strip_button="Standby" strip_icon="home.png" group="home">
      <circle radius="nav_radius" wp="STDBY"/>
    <block key="F8" name="Figure 8 around wp 1" strip_button="Figure 8 (wp 1-2)" strip_icon="eight.png" group="base_pattern">
      <eight center="1" radius="nav_radius" turn_around="2"/>
    <block name="Oval 1-2" strip_button="Oval (wp 1-2)" strip_icon="oval.png" group="base_pattern">
      <oval p1="1" p2="2" radius="nav_radius"/>
    <block name="MOB" strip_button="Turn around here" strip_icon="mob.png" group="base_pattern">
      <call fun="NavSetWaypointHere(WP_MOB)"/>
      <set value="DEFAULT_CIRCLE_RADIUS" var="nav_radius"/>
      <circle radius="nav_radius" wp="MOB"/>
    <block name="Line 1-2" strip_button="Line (wp 1-2)" strip_icon="line.png" group="extra_pattern">
      <call fun="nav_line_init()"/>
      <call fun="nav_line(WP_1, WP_2, nav_radius)"/>
    <block name="Survey S1-S2" strip_button="Survey (wp S1-S2)" strip_icon="survey.png" group="extra_pattern">
      <survey_rectangle grid="150" wp1="S1" wp2="S2"/>
    <block name="Path 1,2,S1,S2,STDBY" strip_button="Path (1,2,S1,S2,STDBY)" strip_icon="path.png" group="extra_pattern">
      <path wpts="1,2 S1"/>
      <path wpts="S1, S2 STDBY" approaching_time="1" pitch="auto" throttle="0.4"/>
      <deroute block="Standby"/>
    <block name="Land Right AF-TD" strip_button="Land right (wp AF-TD)" strip_icon="land-right.png" group="land">
      <set value="DEFAULT_CIRCLE_RADIUS" var="nav_radius"/>
      <deroute block="land"/>
    <block name="Land Left AF-TD" strip_button="Land left (wp AF-TD)" strip_icon="land-left.png" group="land">
      <set value="-DEFAULT_CIRCLE_RADIUS" var="nav_radius"/>
      <deroute block="land"/>
    <block name="land">
      <call fun="nav_compute_baseleg(WP_AF, WP_TD, WP__BASELEG, nav_radius)"/>
      <circle radius="nav_radius" until="NavCircleCount() > 0.5" wp="_BASELEG"/>
      <circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-10), 10 > fabs(estimator_z - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
    <block name="final">
      <exception cond="ground_alt + 10 > estimator_z" deroute="flare"/>
      <go from="AF" hmode="route" vmode="glide" wp="TD"/>
    <block name="flare">
      <go approaching_time="0" from="AF" hmode="route" throttle="0.0" vmode="throttle" wp="TD"/>
      <attitude roll="0.0" throttle="0.0" until="FALSE" vmode="throttle"/>

2011/4/21 Gareth Roberts <address@hidden>
Hi Arnaud,

There will probably be a function in your flight plan called SetNavRefHere or SetGroundRefHere (something like that) which will be called just after the GPS has initialized.  If not have a look in the example flight plans, one will have the required block.
This will then set the HOME waypoint to the aircraft's current location (it'll jump off the screen of GCS, so you'll have to click "center A/C" to get to it).

If your other waypoints are defined in terms of x, y then they will jump too relative to the HOME waypoint.  If like most people your waypoints are not relative to takeoff point you need to define them in terms of lat/lon.

The lat/lon in the file header is used in simulation as the start point.
I'd recommend setting it to the centre of your flying field or roughly where you take off from - it prevents that disconcerting jump when the GPS locks on and saves having to click "center A/C".

The default position even with the SetNavRef... until the GPS locks on will be that lat/lon (which is why if you are testing indoors it'll seem wrong).

Make sure if you change them you keep the number of decimal places the same; there is no other reason I see that you would be unable to upload.
If uploading after changing the lat/lon gives you an error, let us know what it is and attach your flight plan file.


On Thu, 21 Apr 2011 19:28:53 +0100, arnaud dumas <address@hidden> wrote:


Please find attached the GPS message. And here the header of the flight plan

<flight_plan alt="75" ground_alt="0" lat0="43.46223" lon0="1.27289"
max_dist_from_home="1500" name="Basic" security_height="25">

Apparently there is a pb with the reference of the GPS. How can I fix it?
On the other hand, when I change lat0 and lon0, I can't "upload"anymore,

I have also try the ir sensors. Actually the vertical one seems to work fine
but the horizontal one tends to freeze on particular values like 500 or 0, I
thought it was a bad link somewhere but I checked carefully and found
nothing apparent even though I still think there is a bad contact somewhere.
Did you ever hear about this kind of pb?

Have a good day,



2011/4/21 arnaud dumas <address@hidden>

Hi David,

Thanks for your answer.

>> I got paparazzi on PPZUAV store : this one
but it's actually a bit more compicated. I didn't get it myself, I get it
from a former group of students of my school, so that the kit wasn't
complete and I had to complete it. That's why I did the following mistake.

I finally got PPZ working yesterday night : no blank pb anymore. I was
mistaken with wiring : I thought that the serial port of the tiny board
should be connected to the J2 port of the FTDI board but looking at it more
thorougly (drawing myself the schematic of the utility board) I realise that
the FTDI board was not supposed to be emdebbed.  With hindsight I find that
some photographs are confusing about that. Anyway it's now quite well
working and I'm really relieved. After understanding the wiring pb, I had no
pb with the airframe (I modified tinyFw.xml ni the CodeReorg section).

I have now three leds blinking, a red, an orange and a green.

 The GPS is working too (at least in relative movements) but I'm not sure
of its reference point : how does it get its reference point? There is one
given in the flight_plan, but the one I got in GCS is quite different : I
will give you the exact values after next try (I've quite forgotten them
right now).

I will now connect the ir sensors and servos. Will keep you in touch with
my advance,

Bis bald,



2011/4/20 David Conger <address@hidden>


That link is last updated 2009 (from what I just saw). A lot has happened
since then :) ... "without success" is pretty vague... to help you I know I
would need something specific to tell you to do.

"PPZUAV assembled kit"? Did you buy the PCB and assemble it or did you buy
one assembled by PPZUAV?

Yes, FTDI utility has two LED. One for power the other for XBee signal.
Color doesn't matter. If the power one is on it's powered and if the XBee
one is on XBee is transmitting/recieving. The XBee LED is up top by the XBee
sockets. If it is off maybe your XBee needs configuring? I notice when
programming the XBee in X-CTU software it goes out ... then back on after.

Here's a schematic for that board.

David C.

On Apr 19, 2011, at 8:33 AM, arnaud dumas wrote:


I haven't solved my pb yet.

Where can I can find documentation about the LED on FTDI Board and Tiny
Board (I have a PPZUAV assembled kit).
In particular, I have no led blinking on the FTDI board, does it mean that
it's not powered? I supposed it was by the three threads link between the
serial port on tiny board and the FTDI board but I'm not so sure anymore.
I have always the GCS blank pb.

On the other hand, I've rigourously followed the instructions given in *

without success

I do need help please!



Paparazzi-devel mailing list

Paparazzi-devel mailing list

Paparazzi-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]