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); } }
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; }
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; }