mirror of
https://gitee.com/xiaohuolufeihua/bizhang_-obav.git
synced 2026-05-22 09:28:58 +00:00
Re-enabling code to handle DF framework
Updated to latest DriverFramework and changed ioctl args to unsigned int from void *. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
@@ -467,33 +467,55 @@ transition_result_t hil_state_transition(hil_state_t new_state, orb_advert_t sta
|
||||
|
||||
#else
|
||||
|
||||
// TODO NOT IMPLEMENTED
|
||||
// Handle VDev devices
|
||||
const char *devname;
|
||||
unsigned int handle = 0;
|
||||
for(;;) {
|
||||
devname = px4_get_device_names(&handle);
|
||||
if (devname == NULL)
|
||||
break;
|
||||
|
||||
// std::string devname;
|
||||
// unsigned int index = 0;
|
||||
// for(;;) {
|
||||
// if (DevMgr::getNextDeviceName(index, devname) < 0) {
|
||||
// break;
|
||||
// }
|
||||
/* skip mavlink */
|
||||
if (!strcmp("/dev/mavlink", devname)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// /* skip mavlink */
|
||||
// if (!strcmp("/dev/mavlink", devname.c_str())) {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
// DevHandle h;
|
||||
// DevMgr::getHandle(devname.c_str(), h);
|
||||
int sensfd = px4_open(devname, 0);
|
||||
|
||||
// if (!h.isValid()) {
|
||||
// warn("failed opening device %s", devname.c_str());
|
||||
// continue;
|
||||
// }
|
||||
if (sensfd < 0) {
|
||||
warn("failed opening device %s", devname);
|
||||
continue;
|
||||
}
|
||||
|
||||
// int block_ret = h.ioctl(DEVIOCSPUBBLOCK, (void *)1);
|
||||
// DevMgr::releaseHandle(h);
|
||||
int block_ret = px4_ioctl(sensfd, DEVIOCSPUBBLOCK, 1);
|
||||
px4_close(sensfd);
|
||||
|
||||
// printf("Disabling %s: %s\n", devname.c_str(), (block_ret == OK) ? "OK" : "ERROR");
|
||||
// }
|
||||
printf("Disabling %s: %s\n", devname, (block_ret == OK) ? "OK" : "ERROR");
|
||||
}
|
||||
|
||||
|
||||
// Handle DF devices
|
||||
std::string dfdevname;
|
||||
unsigned int index = 0;
|
||||
for(;;) {
|
||||
if (DevMgr::getNextDeviceName(index, dfdevname) < 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
DevHandle h;
|
||||
DevMgr::getHandle(dfdevname.c_str(), h);
|
||||
|
||||
if (!h.isValid()) {
|
||||
warn("failed opening device %s", dfdevname.c_str());
|
||||
continue;
|
||||
}
|
||||
|
||||
int block_ret = h.ioctl(DEVIOCSPUBBLOCK, 1);
|
||||
DevMgr::releaseHandle(h);
|
||||
|
||||
printf("Disabling %s: %s\n", dfdevname.c_str(), (block_ret == OK) ? "OK" : "ERROR");
|
||||
}
|
||||
|
||||
ret = TRANSITION_CHANGED;
|
||||
mavlink_log_critical(mavlink_fd, "Switched to ON hil state");
|
||||
|
||||
Reference in New Issue
Block a user