5 this -> device =
new QSerialPort;
15 void usart::slt_usart_connect(QString clear_portName)
17 this->device->setPortName(clear_portName);
19 if(!device->isOpen()){
20 if(device->open(QSerialPort::ReadWrite)) {
21 this->device->setBaudRate(QSerialPort::Baud9600);
22 this->device->setDataBits(QSerialPort::Data8);
23 this->device->setParity(QSerialPort::NoParity);
24 this->device->setStopBits(QSerialPort::OneStop);
25 this->device->setFlowControl(QSerialPort::NoFlowControl);
27 qDebug() <<
"Otwarto port szeregowy.";
28 connect(this->device, SIGNAL(readyRead()),
this, SLOT(usart_read()));
31 stat_con = tr(
"<font color = green >Połączono\n"" </font size = 11 >");
43 void usart::slt_usart_disconnect()
46 if(this->device->isOpen())
48 this->device->close();
52 stat_dis = tr(
"<font color = red >Rozłączono\n"" </font size = 11 >");
58 emit
sig_addToLogs(
"Nie mozna zamknac portu. Port nie jest otwarty");
65 void usart::usart_read() {
68 float resolution = 2.0;
70 QStringList buffer_list, good_buffer_list;
73 while(this->device->canReadLine()) {
75 QString tmp_buffer = this->device->readLine();
82 buffer_list = tmp_buffer.split(
" ");
88 good_buffer_list = buffer_list;
90 int16_t unconverted_acc_x = good_buffer_list[1].toInt();
91 int16_t unconverted_acc_y = good_buffer_list[2].toInt();
92 int16_t unconverted_acc_z = good_buffer_list[3].toInt();
97 float acc_x = ((float)unconverted_acc_x*resolution)/((float)INT16_MAX);
98 float acc_y = ((float)unconverted_acc_y*resolution)/((float)INT16_MAX);
99 float acc_z = ((float)unconverted_acc_z*resolution)/((float)INT16_MAX);
101 QList<float> acc_list = {acc_x, acc_y, acc_z};
111 good_buffer_list.clear();