Changeset 216 for Evidence/Edd


Ignore:
Timestamp:
05/28/10 09:01:45 (15 years ago)
Author:
ogrimm
Message:
Changed service 'Status' to 'Message' for clarity, added client information in log file entries
Location:
Evidence/Edd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Evidence/Edd/Edd.cc

    r212 r216  
    3030  DimBrowser Browser;
    3131
     32  // If status service displayed as text history
     33  if (strstr(Service, "/Message") != NULL) return new EddText(Service);
     34
     35  // If service currently not available, default open as plot
    3236  Browser.getServices(Service);
    3337  if (Browser.getNextService(Name, Format) != DimSERVICE) return new EddPlot(Service, Index);
    3438 
     39  // Otherwise, determine from format if plot or text history
    3540  if (strlen(Format) == 1 && *Format != 'C') return new EddPlot(Service, Index);
    3641  else return new EddText(Service);
     
    205210
    206211  DimClient::sendCommand(Name.toAscii().data(), text().toAscii().data());
     212  clear();
    207213}
    208214
     
    276282  for (ItemNo=0; ItemNo<List.size(); ItemNo++) if (List[ItemNo].Name == Name) {
    277283
    278         // Service available?
    279         if (!SetStatus(this, Name, Time, Format)) return;
    280  
    281284        // If size limit reached, clear buffer
    282285    if (List[ItemNo].Signal->dataSize() > SizeLimit) List[ItemNo].Signal->setData(QPolygonF());
     
    284287        // If buffer empty, request new history buffer
    285288    if (List[ItemNo].Signal->dataSize() == 0) {
    286           int Time, Size, Count=0;
    287           void *Data;
     289          int Count=0;
     290          const struct EvidenceHistory::Item *R;
    288291          class EvidenceHistory *Hist;
    289292
    290293          if ((Hist = Handler->GetHistory(List[ItemNo].Name)) != NULL) {
    291294                double Number=0;
    292                 while (Hist->Next(Time, Size, Data)) {
     295                while ((R=Hist->Next()) != NULL) {
    293296                  switch (Format[0].toUpper().toAscii()) {
    294297                case 'I':
    295                         case 'L':  Number = *((int *) Data + List[ItemNo].Index);   break;
    296                 case 'S':  Number = *((short *) Data + List[ItemNo].Index);   break;
    297                 case 'F':  Number = *((float *) Data + List[ItemNo].Index);   break;
    298                 case 'D':  Number = *((double *) Data + List[ItemNo].Index);   break;
    299                 case 'X':  Number = *((long long *) Data + List[ItemNo].Index);   break;
     298                        case 'L':  Number = *((int *) R->Data + List[ItemNo].Index);   break;
     299                case 'S':  Number = *((short *) R->Data + List[ItemNo].Index);   break;
     300                case 'F':  Number = *((float *) R->Data + List[ItemNo].Index);   break;
     301                case 'D':  Number = *((double *) R->Data + List[ItemNo].Index);   break;
     302                case 'X':  Number = *((long long *) R->Data + List[ItemNo].Index);   break;
    300303                default: break;
    301304                  }
    302                   AddPoint(ItemNo, Time, Number);
     305                  AddPoint(ItemNo, R->Time, Number);
    303306                  Count++;
    304307                }
     
    309312        }
    310313
    311     // Append data
    312         QString Txt = Text;
    313         Txt = Txt.section(' ', List[ItemNo].Index, List[ItemNo].Index);
    314     AddPoint(ItemNo, Time, atof(Txt.toAscii().data()));
     314        // Appen data only if service available
     315        if (SetStatus(this, Name, Time, Format)) {
     316          QString Txt = Text;
     317          Txt = Txt.section(' ', List[ItemNo].Index, List[ItemNo].Index);
     318      AddPoint(ItemNo, Time, atof(Txt.toAscii().data()));
     319        }
    315320  }
    316321
     
    721726  if (!Pure) {
    722727        // Get history for this service
    723         int Time, Size;
    724         void *Data;
     728        const struct EvidenceHistory::Item *R;
    725729        class EvidenceHistory *Hist;
    726730
    727731        if ((Hist = Handler->GetHistory(Name)) != NULL) {
    728           while (Hist->Next(Time, Size, Data)) {
     732          while ((R=Hist->Next()) != NULL) {
    729733                moveCursor (QTextCursor::Start);
    730                 insertPlainText(QString("(")+QDateTime::fromTime_t(Time).toString()+") ");       
    731                 insertPlainText(QString((char *) Data) + "\n");   
     734                insertPlainText(QString("(")+QDateTime::fromTime_t(R->Time).toString()+") ");     
     735                insertPlainText(QString((char *) R->Data) + "\n");       
    732736          }
    733737        }
     
    780784
    781785  Mutex = new QMutex(QMutex::Recursive);
    782 
    783   MinuteVolume = 0;
    784   TotalVolume = 0;
     786  Volume = 0;
    785787
    786788  // Timer to calculate data rates
     
    815817          YEP(Name, ServiceList[i].TimeStamp, ServiceList[i].ByteArray, ServiceList[i].Format, ServiceList[i].Text);
    816818        }
     819        else YEP(Name, -1);
    817820        return;
    818821  }
     
    878881  QMutexLocker Locker(Mutex);
    879882
    880   float Rate = MinuteVolume/1024.0 * 6;
    881   float Total = TotalVolume/1024.0/1024.0;
    882 
    883   YEP("Edd/Rate_kBMin", time(NULL), QByteArray::number(Rate), "F", QString::number(Rate));
    884   YEP("Edd/Total_MB", time(NULL), QByteArray::number(Total), "F", QString::number(Total));
    885   MinuteVolume = 0;
     883  float Rate = Volume/1024.0/10;
     884
     885  YEP("Edd/Rate_kBSec", time(NULL), QByteArray::number(Rate), "F", QString::number(Rate));
     886  Volume = 0;
    886887}
    887888
     
    900901
    901902  // Update statistics only for Dim services
    902   if (!Name.startsWith("Edd/")) { 
    903         TotalVolume += Data.size();
    904         MinuteVolume += Data.size();
    905   }
     903  if (!Name.startsWith("Edd/")) Volume += Data.size();
    906904}
    907905
     
    11491147
    11501148  // Status display
    1151   EddLineDisplay *Line = new EddLineDisplay("ARDUINO/Status");
     1149  EddLineDisplay *Line = new EddLineDisplay("ARDUINO/Message");
    11521150  Line->setMaximumWidth(200);
    11531151  Layout->addWidget(Line, 0, 0, 1, 2);     
     
    11881186
    11891187  Layout->addWidget(Plot, 0, 4, 12, 3);
    1190   Line = new EddLineDisplay("Bias/Status");
     1188  Line = new EddLineDisplay("Bias/Message");
    11911189  Line->setMaximumWidth(200);
    11921190  Layout->addWidget(Line, 0, 0, 1, 3);     
     
    11951193  Layout->addWidget(Command, 10, 0, 1, 4);   
    11961194
    1197   EddText *Text = new EddText("Bias/StdOut", true);
     1195  EddText *Text = new EddText("Bias/Textout", true);
    11981196  Text->setFixedWidth(400);
    11991197  Layout->addWidget(Text, 11, 0, 4, 4);     
     
    12241222  //FeedbackLayout->addWidget(Graph, 10, 0, 10, 3);
    12251223
    1226   Line = new EddLineDisplay("drsdaq/Status");
     1224  Line = new EddLineDisplay("drsdaq/Message");
    12271225  Line->setMaximumWidth(200);
    12281226  Layout->addWidget(Line, 0, 0, 1, 2);     
     
    14091407  EddText *Text;
    14101408 
    1411   Line = new EddLineDisplay("Alarm/Status");
     1409  Line = new EddLineDisplay("Alarm/Message");
    14121410  Line->setMaximumWidth(200);
    14131411  Layout->addWidget(Line, 0, 0, 1, 2);     
     
    14221420  Layout->addWidget(Text, 1, 0, 1, 2);
    14231421
    1424   Line = new EddLineDisplay("DColl/Status");
     1422  Line = new EddLineDisplay("DColl/Message");
    14251423  Line->setMaximumWidth(200);
    14261424  Layout->addWidget(Line, 3, 0, 1, 2);     
    14271425
    1428   Line = new EddLineDisplay("DColl/DataSizekB");
     1426  Line = new EddLineDisplay("DColl/DataSizeMB");
    14291427  Layout->addWidget(Line, 4, 0, 1, 1);
    14301428
    1431   Line = new EddLineDisplay("DColl/LogSizekB");
     1429  Line = new EddLineDisplay("DColl/LogSizeMB");
    14321430  Layout->addWidget(Line, 4, 1, 1, 1);
    14331431
     
    14361434  Layout->addWidget(Line, 5, 0, 1, 3);
    14371435
    1438   Line = new EddLineDisplay("Config/Status");
     1436  Line = new EddLineDisplay("Config/Message");
    14391437  Line->setMaximumWidth(200);
    14401438  Layout->addWidget(Line, 6, 0, 1, 2);     
     
    14501448  Layout->addWidget(Button, 7, 1, 1, 1);
    14511449
    1452   Line = new EddLineDisplay("Edd/Rate_kBMin");
     1450  Line = new EddLineDisplay("Edd/Rate_kBSec");
    14531451  Layout->addWidget(Line, 8, 0, 1, 1);
    1454   Line = new EddLineDisplay("Edd/Total_MB");
    1455   Layout->addWidget(Line, 8, 1, 1, 1);
    14561452}
    14571453 
  • Evidence/Edd/Edd.h

    r212 r216  
    232232    QList<HistItem> HistoryList;
    233233
    234         long long TotalVolume;
    235         long long MinuteVolume;
     234        long long Volume;
    236235
    237236        void infoHandler();
Note: See TracChangeset for help on using the changeset viewer.