Проблемы с BarcodeScanner COM API - PullRequest
       19

Проблемы с BarcodeScanner COM API

0 голосов
/ 15 октября 2019

Модель сканера: Datalogic PM9500DK ОС: Linux

Когда я устанавливаю свой сканер в режим USB-COM-STD, создается файл /dev/serial/by-id/usb-Datalogic_ADC__Inc._Handheld_Barcode_Scanner_S_N_E18C59366-if00. С помощью следующей C ++ - программы, которую я читаю из этого файла:

#include <iostream>     // cout
#include <fstream>      // ifstream
#include <string>
using namespace std;

int main () {

        while (1) {
                ifstream bufferLink("/dev/serial/by-id/usb-Datalogic_ADC__Inc._Handheld_Barcode_Scanner_S_N_E18C59366-if00");
                string line;

                while (!bufferLink.eof()) {

                        cout << "Waiting for input" << endl;
                        getline(bufferLink, line);

                        cout << "+++++++++ Line: " << line << endl;

                }

                cout << "bufferLink.eof(): " << bufferLink.eof() << endl;
                cout << "Lost the connection, reconnecting is neccessary" << endl;
        }

        return 0;
}

Затем я сканирую QR-код, содержащий строку: Andre Mantei ist der Beste. Выходные данные выглядят так (иногда):

Waiting for input
+++++++++ Line: Andre Mantei ist der Beste.
Waiting for input
+++++++++ Line:  
Waiting for input
+++++++++ Line: 
Waiting for input
+++++++++ Line: !"#$%&'()*+,-./0123456789:;<=>?@
Waiting for input
+++++++++ Line: 
Waiting for input
+++++++++ Line: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
Waiting for input
+++++++++ Line: 
Waiting for input
+++++++++ Line: abcdefghijklmnopqrstuvwxyz{|}
Waiting for input
+++++++++ Line: 
Waiting for input
+++++++++ Line: 
bufferLink.eof(): 1
Lost the connection, reconnecting is neccessary
Waiting for input
+++++++++ Line: 
bufferLink.eof(): 1
Lost the connection, reconnecting is neccessary
Waiting for input
+++++++++ Line: 
bufferLink.eof(): 1
Lost the connection, reconnecting is neccessary
Waiting for input
+++++++++ Line:  
Waiting for input
+++++++++ Line: 
Waiting for input
+++++++++ Line: !"#$%&'()*+,-./0123456789:;<=>?@
Waiting for input
+++++++++ Line: 
Waiting for input
+++++++++ Line: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
Waiting for input
+++++++++ Line: 
Waiting for input
+++++++++ Line: abcdefghijklmnopqrstuvwxyz{|}
Waiting for input
+++++++++ Line: 
Waiting for input

Как вы можете видеть, существует много переподключений. Кроме того, есть такие выходные данные, как! "# $% & '() * +, -. / 0123456789:; <=>? @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [] ^ _` abcdefghijklmnopqrstuvwxyz {|}

Есть у кого идея, почемуэто так? И что более важно, как решить эту проблему.

...