Merge pull request #852 from PX4/sensors_loop

sensors: Keep looping in sensors app even if gyros do not update any mor...
This commit is contained in:
Lorenz Meier 2014-04-25 16:52:53 +02:00
commit f0298e005a
1 changed files with 5 additions and 7 deletions

View File

@ -1254,7 +1254,7 @@ Sensors::adc_poll(struct sensor_combined_s &raw)
} }
} }
_last_adc = t; _last_adc = t;
if (_battery_status.voltage_v > 0.0f) { if (_battery_status.voltage_filtered_v > BATT_V_IGNORE_THRESHOLD) {
/* announce the battery status if needed, just publish else */ /* announce the battery status if needed, just publish else */
if (_battery_pub > 0) { if (_battery_pub > 0) {
orb_publish(ORB_ID(battery_status), _battery_pub, &_battery_status); orb_publish(ORB_ID(battery_status), _battery_pub, &_battery_status);
@ -1571,12 +1571,10 @@ Sensors::task_main()
while (!_task_should_exit) { while (!_task_should_exit) {
/* wait for up to 100ms for data */ /* wait for up to 50ms for data */
int pret = poll(&fds[0], (sizeof(fds) / sizeof(fds[0])), 100); int pret = poll(&fds[0], (sizeof(fds) / sizeof(fds[0])), 50);
/* timed out - periodic check for _task_should_exit, etc. */ /* if pret == 0 it timed out - periodic check for _task_should_exit, etc. */
if (pret == 0)
continue;
/* this is undesirable but not much we can do - might want to flag unhappy status */ /* this is undesirable but not much we can do - might want to flag unhappy status */
if (pret < 0) { if (pret < 0) {
@ -1615,7 +1613,7 @@ Sensors::task_main()
perf_end(_loop_perf); perf_end(_loop_perf);
} }
printf("[sensors] exiting.\n"); warnx("[sensors] exiting.");
_sensors_task = -1; _sensors_task = -1;
_exit(0); _exit(0);