Use DevMgr::getNextDevicePath()

Also, a fix for number of args passed for accelsim.

Updated to newest version of DriverFramework.

DF drvices show up now in list_devices

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
Mark Charlebois 2015-11-16 16:57:57 -08:00
parent 3f20d78dfe
commit 618626103f
4 changed files with 13 additions and 11 deletions

View File

@ -550,18 +550,16 @@ void VDev::showDevices()
pthread_mutex_unlock(&devmutex);
PX4_INFO("DF Devices:");
// TODO NOT IMPLEMENTED
std::string devname;
std::string dev_path, instance_path;
unsigned int index = 0;
i = 0;
do {
// Each look increments index and returns -1 if end reached
i = DevMgr::getNextDeviceName(index, devname);
i = DevMgr::getNextDevicePath(index, dev_path, instance_path);
if (i == 0) {
PX4_INFO(" %s", devname.c_str());
PX4_INFO(" %s (%s)", dev_path.c_str(), instance_path.c_str());
}
} while (i == 0);
}

@ -1 +1 @@
Subproject commit a09333b9e418b84b51788ec9f349e4d4b9253448
Subproject commit 45878058a7b37a9bba370396526b95cd7c2a3ab9

View File

@ -496,25 +496,25 @@ transition_result_t hil_state_transition(hil_state_t new_state, orb_advert_t sta
// Handle DF devices
std::string dfdevname;
std::string df_dev_path, df_dev_instance_path;
unsigned int index = 0;
for(;;) {
if (DevMgr::getNextDeviceName(index, dfdevname) < 0) {
if (DevMgr::getNextDevicePath(index, df_dev_path, df_dev_instance_path) < 0) {
break;
}
DevHandle h;
DevMgr::getHandle(dfdevname.c_str(), h);
DevMgr::getHandle(df_dev_path.c_str(), h);
if (!h.isValid()) {
warn("failed opening device %s", dfdevname.c_str());
warn("failed opening device %s", df_dev_path.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");
printf("Disabling %s: %s\n", df_dev_path.c_str(), (block_ret == OK) ? "OK" : "ERROR");
}
ret = TRANSITION_CHANGED;

View File

@ -1182,6 +1182,10 @@ accelsim_main(int argc, char *argv[])
}
}
if (argc <= 1) {
accelsim::usage();
return 1;
}
const char *verb = argv[myoptind];
/*