Make PX4IO driver obey HIL as it should

This commit is contained in:
Lorenz Meier 2014-03-17 14:24:31 +01:00
parent 199936b1c5
commit 0581c7f712
1 changed files with 12 additions and 9 deletions

View File

@ -1332,6 +1332,8 @@ PX4IO::io_handle_battery(uint16_t vbatt, uint16_t ibatt)
battery_status.discharged_mah = _battery_mamphour_total;
_battery_last_timestamp = battery_status.timestamp;
/* the announced battery status would conflict with the simulated battery status in HIL */
if (!(_pub_blocked)) {
/* lazily publish the battery voltage */
if (_to_battery > 0) {
orb_publish(ORB_ID(battery_status), _to_battery, &battery_status);
@ -1339,6 +1341,7 @@ PX4IO::io_handle_battery(uint16_t vbatt, uint16_t ibatt)
} else {
_to_battery = orb_advertise(ORB_ID(battery_status), &battery_status);
}
}
}
void
@ -1959,8 +1962,7 @@ PX4IO::print_status()
}
int
PX4IO::ioctl(file * /*filep*/, int cmd, unsigned long arg)
/* Make it obvious that file * isn't used here */
PX4IO::ioctl(file * filep, int cmd, unsigned long arg)
{
int ret = OK;
@ -2372,8 +2374,9 @@ PX4IO::ioctl(file * /*filep*/, int cmd, unsigned long arg)
break;
default:
/* not a recognized value */
ret = -ENOTTY;
/* see if the parent class can make any use of it */
ret = CDev::ioctl(filep, cmd, arg);
break;
}
return ret;