Browse Source

Rover: changed startup order

this allows BoardConfig to report errors in a way that allows for
BRD_TYPE to be changed by the user
mission-4.1.18
Andrew Tridgell 9 years ago
parent
commit
a0d4feb216
  1. 19
      APMrover2/system.cpp

19
APMrover2/system.cpp

@ -90,11 +90,20 @@ void Rover::init_ardupilot() @@ -90,11 +90,20 @@ void Rover::init_ardupilot()
load_parameters();
BoardConfig.init();
GCS_MAVLINK::set_dataflash(&DataFlash);
// initialise serial ports
serial_manager.init();
// setup first port early to allow BoardConfig to report errors
gcs[0].setup_uart(serial_manager, AP_SerialManager::SerialProtocol_MAVLink, 0);
// Register mavlink_delay_cb, which will run anytime you have
// more than 5ms remaining in your call to hal.scheduler->delay
hal.scheduler->register_delay_callback(mavlink_delay_cb_static, 5);
BoardConfig.init();
ServoRelayEvents.set_channel_mask(0xFFF0);
set_control_channels();
@ -114,7 +123,7 @@ void Rover::init_ardupilot() @@ -114,7 +123,7 @@ void Rover::init_ardupilot()
check_usb_mux();
// setup telem slots with serial ports
for (uint8_t i = 0; i < MAVLINK_COMM_NUM_BUFFERS; i++) {
for (uint8_t i = 1; i < MAVLINK_COMM_NUM_BUFFERS; i++) {
gcs[i].setup_uart(serial_manager, AP_SerialManager::SerialProtocol_MAVLink, i);
}
@ -129,12 +138,6 @@ void Rover::init_ardupilot() @@ -129,12 +138,6 @@ void Rover::init_ardupilot()
log_init();
#endif
GCS_MAVLINK::set_dataflash(&DataFlash);
// Register mavlink_delay_cb, which will run anytime you have
// more than 5ms remaining in your call to hal.scheduler->delay
hal.scheduler->register_delay_callback(mavlink_delay_cb_static, 5);
if (g.compass_enabled==true) {
if (!compass.init()|| !compass.read()) {
cliSerial->println("Compass initialisation failed!");

Loading…
Cancel
Save