ArduCopter: fix do_set_servo so that it works again

This commit is contained in:
rmackay9 2012-12-06 20:18:33 +09:00
parent 653535b9a1
commit d3de77f74c
1 changed files with 43 additions and 1 deletions

View File

@ -790,7 +790,49 @@ static void do_set_home()
static void do_set_servo()
{
APM_RC.OutputCh(command_cond_queue.p1 - 1, command_cond_queue.alt);
uint8_t channel_num = -1;
switch( command_cond_queue.p1 ) {
case 1:
channel_num = CH_1;
break;
case 2:
channel_num = CH_2;
break;
case 3:
channel_num = CH_3;
break;
case 4:
channel_num = CH_4;
break;
case 5:
channel_num = CH_5;
break;
case 6:
channel_num = CH_6;
break;
case 7:
channel_num = CH_7;
break;
case 8:
channel_num = CH_8;
break;
case 9:
// not used
break;
case 10:
channel_num = CH_10;
break;
case 11:
channel_num = CH_11;
break;
}
// send output to channel
if (channel_num != -1) {
APM_RC.enable_out(channel_num);
APM_RC.OutputCh(channel_num, command_cond_queue.alt);
}
}
static void do_set_relay()