[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Paparazzi-devel] No throttle in Auto2
From: |
cory barton |
Subject: |
Re: [Paparazzi-devel] No throttle in Auto2 |
Date: |
Thu, 21 Aug 2008 11:16:14 -0400 |
Uttam, thanks for the help. I am continuing to dig into this. I did
try everything I could find to resurrect the throttle to no avail. The
resurrect button did nothing, and setting kill_throttle to 0 in the
settings tab also failed.
I was completely unable to get out of the holding point block.
I found this in var/include/messages.h:
#define DOWNLINK_SEND_BAT(throttle, voltage, flight_time,
kill_auto_throttle, block_time, stage_time, energy){ \
if (DownlinkCheckFreeSpace(DownlinkSizeOf(0+2+1+2+1+2+2+2))) {\
DownlinkCountBytes(DownlinkSizeOf(0+2+1+2+1+2+2+2)); \
DownlinkStartMessage("BAT", DL_BAT, 0+2+1+2+1+2+2+2) \
DownlinkPutInt16ByAddr((throttle)); \
DownlinkPutUint8ByAddr((voltage)); \
DownlinkPutUint16ByAddr((flight_time)); \
DownlinkPutUint8ByAddr((kill_auto_throttle)); \
DownlinkPutUint16ByAddr((block_time)); \
DownlinkPutUint16ByAddr((stage_time)); \
DownlinkPutUint16ByAddr((energy)); \
DownlinkEndMessage() \
} else \
DownlinkOverrun(); \
Here is a BAT message from the log. All the BAT messages have the
fourth token equal to 1.
5.316 1 BAT 432 79 0 1 13 0 1
If I understand the above code correctly this is what BAT means
BAT 432=throttle 79=voltage 0=flight_time 1=kill_auto_throttle
I only found a reference to kill_auto_throttle in /var/include/messages.h
I did find references to kill_throttle(seems to be the same as
kill_auto_throttle) in:
sw/airborne/main_ap.c
sw/airborne/coaxial/tl_control.c
var/nexstarep50/flight_plan.h
var/nexstarep50/main_ap.lst
from main_ap.c
these lines seem to be relevant(starting at line 423):
static uint8_t t = 0;
if (vsupply < LOW_BATTERY_DECIVOLT) t++; else t = 0;
kill_throttle |= (t >= LOW_BATTERY_DELAY);
kill_throttle |= launch && (dist2_to_home > Square(KILL_MODE_DISTANCE));
I have <define name="CATASTROPHIC_BAT_LEVEL" value="6.0" unit="V"/> in
my airframe config, and the battery is reading 79 decivolts, so I
think that is ok.
Also, I am very close to the home waypoint when I am trying this out,
so I think dist2_to_home should be less than the square of
KILL_MODE_DISTANCE
I have max_dist_from_home="700" in my flight plan.
I do not think that sw/airborne/coaxial/tl_control.c is used in my case(?).
from var/nexstarep50/flight_plan.h
static inline void auto_nav(void) {
switch (nav_block) {
Block(0) // Wait GPS
; // pre_call
switch(nav_stage) {
Stage(0)
kill_throttle = 1;
NextStageAndBreak();
break;
...
<snip>
...
Block(2) // Holding point
; // pre_call
switch(nav_stage) {
Stage(0)
kill_throttle = 1;
NextStageAndBreak();
break;
....
<snip>
...
Block(3) // Takeoff
; // pre_call
if ((estimator_z>(ground_alt+25)) && (nav_block != 4)) {
GotoBlock(4); return; }
switch(nav_stage) {
Stage(0)
kill_throttle = 0;
...
<snip>
That all looks good to me. I am at a loss now. I am not sure where else to look.
Please let me know where the problem may be.
Thanks,
Cory
On Wed, Aug 20, 2008 at 11:29 PM, Uttam Chandrashekhar
<address@hidden> wrote:
> Cory, did you try resurrect throttle on the GCS? Look at the BAT:
> kill_auto_throttle message.
>
>
> -Uttam
>
> -
>
> ________________________________
> Unlimited freedom, unlimited storage. Get it now
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>
>