mirror of https://github.com/ArduPilot/ardupilot
AP_BattMonitor: auto-start batt_smbus driver if enabled
This commit is contained in:
parent
00f3113e83
commit
d05a08ff4d
|
@ -21,6 +21,7 @@
|
|||
|
||||
#if CONFIG_HAL_BOARD == HAL_BOARD_PX4
|
||||
|
||||
#include <AP_BoardConfig/AP_BoardConfig.h>
|
||||
#include "AP_BattMonitor_SMBus_PX4.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
|
@ -33,6 +34,8 @@
|
|||
|
||||
extern const AP_HAL::HAL& hal;
|
||||
|
||||
extern "C" int batt_smbus_main(int, char **);
|
||||
|
||||
// Constructor
|
||||
AP_BattMonitor_SMBus_PX4::AP_BattMonitor_SMBus_PX4(AP_BattMonitor &mon, uint8_t instance, AP_BattMonitor::BattMonitor_State &mon_state) :
|
||||
AP_BattMonitor_SMBus(mon, instance, mon_state),
|
||||
|
@ -45,6 +48,12 @@ AP_BattMonitor_SMBus_PX4::AP_BattMonitor_SMBus_PX4(AP_BattMonitor &mon, uint8_t
|
|||
|
||||
void AP_BattMonitor_SMBus_PX4::init()
|
||||
{
|
||||
if (!AP_BoardConfig::px4_start_driver(batt_smbus_main, "batt_smbus", "-b 2 start")) {
|
||||
hal.console->printf("Unable to start batt_smbus driver\n");
|
||||
} else {
|
||||
// give it time to initialise
|
||||
hal.scheduler->delay(500);
|
||||
}
|
||||
// open the device
|
||||
_batt_fd = open(BATT_SMBUS0_DEVICE_PATH, O_RDWR);
|
||||
if (_batt_fd == -1) {
|
||||
|
|
Loading…
Reference in New Issue