Changeset - 1c804a335df5
[Not reviewed]
add-textview
0 2 0
Hasan Yavuz Ă–ZDERYA - 10 years ago 2015-07-05 21:43:23
hy@ozderya.net
move binary sample printing to its own function
2 files changed with 20 insertions and 12 deletions:
0 comments (0 inline, 0 general)
mainwindow.cpp
Show inline comments
 
@@ -574,18 +574,34 @@ void MainWindow::selectNumberFormat(Numb
 

	
 
template<typename T> double MainWindow::readSampleAs()
 
{
 
    T data;
 
    this->serialPort.read((char*) &data, sizeof(data));
 

	
 
    printBinarySample((char*) &data, sizeof(data));
 

	
 
    if (ui->rbLittleE->isChecked())
 
    {
 
        data = qFromLittleEndian(data);
 
    }
 
    else
 
    {
 
        data = qFromBigEndian(data);
 
    }
 

	
 
    return double(data);
 
}
 

	
 
void MainWindow::printBinarySample(char* data, int size)
 
{
 
    // print data in hex format
 
    if (ui->cbEnableTextView->isChecked())
 
    {
 
        QTextCursor cursor(ui->ptTextView->document());
 
        cursor.movePosition(QTextCursor::End);
 
        QByteArray ba((char*) &data, sizeof(data));
 
        QByteArray ba(data, size);
 
        QScrollBar* vbar = ui->ptTextView->verticalScrollBar();
 
        bool isEnd = (vbar->value() == vbar->maximum());
 

	
 
        cursor.insertText(ba.toHex() + " ");
 
        // `53` is selected for minimum width of the main window
 
        if (cursor.positionInBlock() >= 53)
 
@@ -596,23 +612,12 @@ template<typename T> double MainWindow::
 
        // scroll if we were at the end of the display
 
        if (isEnd)
 
        {
 
            vbar->setValue(vbar->maximum());
 
        }
 
    }
 

	
 
    if (ui->rbLittleE->isChecked())
 
    {
 
        data = qFromLittleEndian(data);
 
    }
 
    else
 
    {
 
        data = qFromBigEndian(data);
 
    }
 

	
 
    return double(data);
 
}
 

	
 
bool MainWindow::isDemoRunning()
 
{
 
    return ui->actionDemoMode->isChecked();
 
}
mainwindow.h
Show inline comments
 
@@ -96,12 +96,15 @@ private:
 

	
 
    const int SPS_UPDATE_TIMEOUT = 1;  // second
 
    QLabel spsLabel;
 
    unsigned int sampleCount;
 
    QTimer spsTimer;
 

	
 
    // prints to text view if its is enabled
 
    void printBinarySample(char* data, int size);
 

	
 
    // demo
 
    QTimer demoTimer;
 
    int demoCount;
 
    bool isDemoRunning();
 
    QwtPlotTextLabel demoIndicator;
 

	
0 comments (0 inline, 0 general)