Exemplo n.º 1
0
void MainWindow::reDraw(){
  scene = new QGraphicsScene(this);
  //set background color
  QColor myColor( 50, 100, 100,  255 );
  ui->graphicsView->setBackgroundBrush(QBrush(myColor, Qt::SolidPattern));
  ui->graphicsView->setScene(scene);

  //set window to view
  scene->setSceneRect(0,0,400,400);

  //update background colors according to their temperatures
  updateTemperatures();


  //redraw robots

  // NOTE -IF WE FIX UPDATES USE robots[i].updateDrawPosition(scene)
  for(unsigned i = 0; i<robots.size(); i++){
    //robots[i].randUpdateDrawPosition(scene);
    robots[i].updateDrawPosition(scene);
  }

  //redraw environment objects
  for(unsigned i = 0; i<environmentObjects.size(); i++){
    environmentObjects[i].updateDrawPosition(scene);
  }
}
Exemplo n.º 2
0
float PTIDSensors::readTemperature(UInt32 index)
{
    mach_timespec_t now;
    
    clock_get_system_nanotime((clock_sec_t*)&now.tv_sec, (clock_nsec_t*)&now.tv_nsec);
    
    if (CMP_MACH_TIMESPEC(&temperatureNextUpdate, &now) <= 0) {
        mach_timespec_t next;
        
        temperatureNextUpdate.tv_sec = now.tv_sec;
        temperatureNextUpdate.tv_nsec = now.tv_nsec;
        next.tv_sec = 1;
        next.tv_nsec = 0;
        
        ADD_MACH_TIMESPEC(&temperatureNextUpdate, &next);
        
        updateTemperatures();
    }
    
    if (temperatures) {
        if (OSNumber *number = OSDynamicCast(OSNumber, temperatures->getObject(index))) {
            UInt64 value = number->unsigned32BitValue();
            return (value == 0x80000000) ? 0 : (float)((value - 0xAAC) / 0xA);
        }
    }
    
    return 0;
}
Exemplo n.º 3
0
float PTIDSensors::readTemperature(UInt32 index)
{
    if (ptimer_read() - temperaturesLastUpdated >= NSEC_PER_SEC) {
        updateTemperatures();
        temperaturesLastUpdated = ptimer_read();
    }
    
    if (temperatures) {
        if (OSNumber *number = OSDynamicCast(OSNumber, temperatures->getObject(index))) {
            UInt64 value = number->unsigned32BitValue();
            return (value == 0x80000000) ? 0 : (float)((value - 0xAAC) / 0xA);
        }
    }
    
    return 0;
}