Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

[SOLVED] How to detect USB devices



  • My aim is to save a txt file from my Qt app to an external device (SD card, USB pendrive...). The app is created for an embedded system.
    My problem is: how detect which USB device is connected when I inserted a USB pen, in such a way that I can save my file in it?
    Which is the best method using Qt?



  • Usually, mounting storage devices is handled by the OS.
    What is the target OS for which you are developing?



  • I'm developing on Ubuntu 14.04 for a Single Board Computer Variscite (its OS is Linux-embedded)



  • If your goal is only to store data, use this command QFileDialog::getSaveFileName(); If your goal is only to store data, use this command. Do not forget the file header #include <QFileDialog>



  • @alsa
    Does your eLinux mount newly attached storage devices automatically to a mount point or does it only create a device file?

    I had the same task on eLinux as well. My system did create the device file only (busybox with mdev). I used a QFileSystemWatcher to detect changes in /dev, ie. attached sdan and acted on that with mounting/unmounting the device.



  • It only creates a device file



  • @alsa
    Then look into QFileSystemWatcher.



  • To start:

    // prepare FS watcher to detect added USB memory
    FSwatcher = new QFileSystemWatcher(this);
    FSwatcher->addPath("/dev");
    connect(FSwatcher, SIGNAL(directoryChanged(QString)), this, SLOT(showModifiedDirectory(QString)));
    

    HTH
    McL



  • This post is deleted!

Log in to reply