diff --git a/term/basicdrawpane.cpp b/term/basicdrawpane.cpp index eecdc57c..fc59b2c8 100644 --- a/term/basicdrawpane.cpp +++ b/term/basicdrawpane.cpp @@ -44,13 +44,27 @@ void BasicDrawPane::paintNow() render(dc); } -void BasicDrawPane::plotvalue(int value, int channel) +void BasicDrawPane::plotvalue(int values[]) +{ + diff = wxGetUTCTimeMillis()-time; + time = wxGetUTCTimeMillis(); + //std::cout << "data:" << value << std::endl; + //data.at(xpos) += 0.1; + for (int i = 0; i 0){ buf[ret] = 0; - //if(uhu->GetValue()){ - for (int i=0; i>7)) { - drawpanel->plotvalue(((int)buf[i])+128/2,0); - }else{ - text->AppendText(buf[i]); - } - } - //} + if(uhu->GetValue()){ + for (int i=0; i>7)) { + drawpanel->plotvalue(((int)buf[i])+128/2); + }else{ + text->AppendText((char)buf[i]); + } + } + }else if(stmbl->GetValue()){ + for (int i=0; iplotvalue(values); + }else{ + values[addr] = (int)buf[i]; + std::cout << " data:" << (int)buf[i] << std::endl; + } + //drawpanel->plotvalue(values); + }else if ((buf[i]>>7)) { + //int values[] = {((int)buf[i])+128/2,((int)buf[i])+128/2,((int)buf[i])+128/2,((int)buf[i])+128/2}; + if((int)buf[i]-128 != 0 && addr == -1){ + addr = (int)buf[i]-128; + } + //drawpanel->plotvalue(((int)buf[i])+128/2,1); + //drawpanel->plotvalue(((int)buf[i])+128/2,2); + //drawpanel->plotvalue(((int)buf[i])+128/2,3); + }else{ + text->AppendText((char)buf[i]); + } + } + } //std::cout << buf; } wxMilliSleep(3);//örks diff --git a/term/mainframe.hpp b/term/mainframe.hpp index e6f43756..cc215695 100644 --- a/term/mainframe.hpp +++ b/term/mainframe.hpp @@ -43,10 +43,12 @@ private: void disconnect(); void listports(); static const int bufsize = 10; - char buf[MainFrame::bufsize+1]; + unsigned char buf[MainFrame::bufsize+1]; wxTextCtrl *text; wxTextCtrl *textinput; BasicDrawPane *drawpanel; std::vector history; int histpos; + int addr; + int values[8]; };