Browse Source

HAL_Linux: added uartF

mission-4.1.18
Andrew Tridgell 9 years ago
parent
commit
c7dabad02c
  1. 11
      libraries/AP_HAL_Linux/HAL_Linux_Class.cpp
  2. 1
      libraries/AP_HAL_Linux/Scheduler.cpp

11
libraries/AP_HAL_Linux/HAL_Linux_Class.cpp

@ -43,6 +43,7 @@ static UARTDriver uartCDriver(false);
#endif #endif
static UARTDriver uartDDriver(false); static UARTDriver uartDDriver(false);
static UARTDriver uartEDriver(false); static UARTDriver uartEDriver(false);
static UARTDriver uartFDriver(false);
static I2CDeviceManager i2c_mgr_instance; static I2CDeviceManager i2c_mgr_instance;
@ -201,6 +202,7 @@ HAL_Linux::HAL_Linux() :
&uartCDriver, &uartCDriver,
&uartDDriver, &uartDDriver,
&uartEDriver, &uartEDriver,
&uartFDriver,
&i2c_mgr_instance, &i2c_mgr_instance,
#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BEBOP #if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BEBOP
&i2cDriver0, &i2cDriver0,
@ -229,7 +231,7 @@ HAL_Linux::HAL_Linux() :
void _usage(void) void _usage(void)
{ {
printf("Usage: -A uartAPath -B uartBPath -C uartCPath -D uartDPath -E uartEPath\n"); printf("Usage: -A uartAPath -B uartBPath -C uartCPath -D uartDPath -E uartEPath -F uartFPath\n");
printf("Options:\n"); printf("Options:\n");
printf("\t-serial: -A /dev/ttyO4\n"); printf("\t-serial: -A /dev/ttyO4\n");
printf("\t -B /dev/ttyS1\n"); printf("\t -B /dev/ttyS1\n");
@ -255,6 +257,7 @@ void HAL_Linux::run(int argc, char* const argv[], Callbacks* callbacks) const
{"uartC", true, 0, 'C'}, {"uartC", true, 0, 'C'},
{"uartD", true, 0, 'D'}, {"uartD", true, 0, 'D'},
{"uartE", true, 0, 'E'}, {"uartE", true, 0, 'E'},
{"uartF", true, 0, 'F'},
#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_QFLIGHT #if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_QFLIGHT
{"dsm", true, 0, 'S'}, {"dsm", true, 0, 'S'},
{"ESC", true, 0, 'e'}, {"ESC", true, 0, 'e'},
@ -265,7 +268,7 @@ void HAL_Linux::run(int argc, char* const argv[], Callbacks* callbacks) const
{0, false, 0, 0} {0, false, 0, 0}
}; };
GetOptLong gopt(argc, argv, "A:B:C:D:E:l:t:he:S", GetOptLong gopt(argc, argv, "A:B:C:D:E:F:l:t:he:S",
options); options);
/* /*
@ -288,6 +291,9 @@ void HAL_Linux::run(int argc, char* const argv[], Callbacks* callbacks) const
case 'E': case 'E':
uartEDriver.set_device_path(gopt.optarg); uartEDriver.set_device_path(gopt.optarg);
break; break;
case 'F':
uartFDriver.set_device_path(gopt.optarg);
break;
#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_QFLIGHT #if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_QFLIGHT
case 'e': case 'e':
rcoutDriver.set_device_path(gopt.optarg); rcoutDriver.set_device_path(gopt.optarg);
@ -328,6 +334,7 @@ void HAL_Linux::run(int argc, char* const argv[], Callbacks* callbacks) const
rcin->init(); rcin->init();
uartA->begin(115200); uartA->begin(115200);
uartE->begin(115200); uartE->begin(115200);
uartF->begin(115200);
analogin->init(); analogin->init();
utilInstance.init(argc+gopt.optind-1, &argv[gopt.optind-1]); utilInstance.init(argc+gopt.optind-1, &argv[gopt.optind-1]);

1
libraries/AP_HAL_Linux/Scheduler.cpp

@ -346,6 +346,7 @@ void Scheduler::_run_uarts()
UARTDriver::from(hal.uartC)->_timer_tick(); UARTDriver::from(hal.uartC)->_timer_tick();
#endif #endif
UARTDriver::from(hal.uartE)->_timer_tick(); UARTDriver::from(hal.uartE)->_timer_tick();
UARTDriver::from(hal.uartF)->_timer_tick();
} }
void Scheduler::_rcin_task() void Scheduler::_rcin_task()

Loading…
Cancel
Save