void deviceTerminatedCallbackOSX( void *ctxt, io_iterator_t serialPortIterator ) { QextSerialEnumerator* qese = (QextSerialEnumerator*)ctxt; io_object_t serialService; while ((serialService = IOIteratorNext(serialPortIterator))) qese->onDeviceTerminatedOSX(serialService); }
bool Arduino::Ouvrir() { //Création de la variable de retour de la fonction bool bRetour (false); //Création de la variable qui permet de tester si un arduino a été détecté bool ArduinoPresent (false); //L'objet mentionnant les infos des ports série QextSerialEnumerator enumerateur; //on met ces infos dans une liste QList<QextPortInfo> Ports = enumerateur.getPorts(); //On parcours la totalité des ports séries détectés for(int i = 0; i < Ports.length(); i++) { if(Ports[i].vendorID == 0x2341) //Si un port avec un VID de 0x2341 l'Arduino est détecté { ArduinoPresent = true; //La variable prend la valeur true si un arduino est détecté this->NomPort = Ports[i].portName; //NomPort est complété par le numéro de port de l'Arduino //L'objet Port série this->Port = new QextSerialPort(); //Quelques règlages pour que tout marche bien this->Port->setPortName (this->NomPort); this->Port->setBaudRate (BAUD9600); //On règle la vitesse utilisée this->Port->setParity (PAR_NONE); //On règle la parité this->Port->setStopBits (STOP_1); //On règle le nombre de bits de stop this->Port->setDataBits (DATA_8); //On règle le nombre de bits de données this->Port->setFlowControl (FLOW_OFF); //Pas de contrôle de flux //On ouvre la connexion avec l'arduino Port->open(QextSerialPort::ReadWrite); //On test si la connexion avec l'arduino à réussie if(this->Port->isOpen()) { bRetour = true; qDebug() << "La connexion avec l'arduino à réussie"; } else { qDebug() << "La connexion avec l'arduino à échouée"; } } } //Vérification de la détection d'un arduino if(ArduinoPresent == false) { qDebug() << "Aucun arduino n'a été détecté"; } return bRetour; }
/* ============== <CONSTRUCTORS> ============== */ QStringList getComPortList() { QextSerialEnumerator enumer; QList<QextPortInfo> ports = enumer.getPorts(); QStringList strlist; strlist.clear(); for( int i = 0; i < ports.count(); ++i) strlist << QObject::tr(ports.at(i).portName.toLocal8Bit()); //comPortEdit->addItems(strlist); return strlist; }
/* Called periodically while the dialog is open to check for new Make Controller USB devices. If we find a new one, pop it into the UI and save its name. If one has gone away, remove it from the UI. */ void UsbConsole::enumerate() { QextSerialEnumerator enumerator; QList<QextPortInfo> portInfos = enumerator.getPorts(); QStringList foundPorts; // check for new ports... foreach(QextPortInfo portInfo, portInfos) { QString asciiname = port->portName().toAscii(); //qDebug("enumerated: %s", qPrintable(portInfo.friendName)); if(portInfo.friendName.startsWith("Make Controller Ki") && !ports.contains(asciiname) && !closedPorts.contains(asciiname)) // found a new port { openDevice(portInfo.portName); } foundPorts << portInfo.portName.toAscii(); }
void MainWindow::initFirstUse() { //no connection connection=0; oldconnection=0; //.hex file path initialization (first use) buildDir="0"; //.hex file initialization (first use) hexName="..."; ui->buildLabel->setText(hexName); //line counter initialization (first use) cpt=0; //text input initialization (first use) ui->textComboBox->setCurrentIndex(3); // buttons / combo boxes initialization ui->buttonUpload->setEnabled(0); ui->lineEdit->setEnabled(0); ui->buttonConnect->setEnabled(0); ui->buttonClear->setEnabled(0); ui->textComboBox->setEnabled(0); ui->lineDialog->setEnabled(0); //port enumerator QextSerialEnumerator enumerator; //port list creation QList<QextPortInfo> ports = enumerator.getPorts(); //add all avalaible ports to the list for(int i=0; i<ports.size(); i++) ui->portComboBox->addItem(ports.at(i).physName); }