//##ModelId=46FA2134003A void UI_StationTest::Run() { U32 result = FAILURE; if (gStationId != -1) { result = CreateStation(gStationId); if (result == SUCCESS) { UartMode oldUartMode = lib.rs232.SetUartMode(BLT_SIE); bool rs232enabled = lib.rs232.DisableOutput(); _station->Test(); if (rs232enabled) { // restore RS232 status lib.rs232.EnableOutput(); } lib.DelayMS(1000); lib.rs232.SetUartMode(oldUartMode); } else { bool rs232enabled = lib.rs232.EnableOutput(); lib.rs232.Print("No this station #%d\r\n", gStationId); if (!rs232enabled) { // restore RS232 status lib.rs232.DisableOutput(); } } } }
float CreateNewInstance(Station*** stations, Task*** tasks, unsigned int seed) { int nbStations; int nbTasks; float A = 0; // to calculate the cycle time bound int i = 0; int j = 0; int k = 0; float timeBound; srand(seed); nbStations = (rand() % STATION_NB_VALUES) * STATION_STEP + STATION_MIN; nbTasks = (rand() % OPERATION_NB_VALUES) * OPERATION_STEP + OPERATION_MIN; // init stations free(*stations); *stations = (Station**)malloc(nbStations * sizeof(Station*)); for (i = 0; i < nbStations; i++) { (*stations)[i] = CreateStation(i); } // init tasks free(*tasks); *tasks = (Task**)malloc(nbTasks * sizeof(Task*)); for (i = 0; i < nbTasks; i++) { int processingTime = (rand() % PROC_TIME_NB_VALUES) * PROC_TIME_STEP + PROC_TIME_MIN; int workersLB = (rand() % WORKERS_LB_NB_VALUES) * WORKERS_LB_STEP + WORKERS_LB_MIN; int workersUB = workersLB * 2; (*tasks)[i] = CreateTask(i, (float)processingTime, (*stations)[rand() % nbStations], workersLB, workersUB); A += processingTime * (workersLB + workersUB) / 2; } // init time bound A /= nbStations; timeBound = rand() % (int)(0.5 * A) + A; // init precedences for (i = 0; i < nbStations; i++) { for (j = (*stations)[i]->nbTasks - 1; j >= 0; j--) { for (k = j - 1; k >= 0; k--) { if (rand() / RAND_MAX <= PRECEDENCE_PROBABILITY) { AddPredecessor((*stations)[i]->tasks[j], (*stations)[i]->tasks[k]); } } } } return timeBound; }
MainWindow::MainWindow(const std::string &simulationName) { this->m_dw = NULL; this->m_gen = new Generator(simulationName); // // Menu // QMenu *menuFichier = menuBar()->addMenu("&File"); /* QAction *menuOpen = menuFichier->addAction("Open"); menuOpen->setDisabled(true); QAction *menuNew = menuFichier->addAction("New"); menuNew->setDisabled(true); QAction *menuSave = menuFichier->addAction("Save"); menuSave->setDisabled(true); QAction *menuSaveAs = menuFichier->addAction("Save as"); menuSaveAs->setDisabled(true); */ QAction *menuSavePix = menuFichier->addAction("Save as picture"); connect(menuSavePix, SIGNAL(triggered()), this, SLOT(SavePicture())); QAction *menuXml = menuFichier->addAction("Save as XML"); connect(menuXml, SIGNAL(triggered()), this, SLOT(SaveXml())); QAction *menuXmlLoad = menuFichier->addAction("Load XML file"); connect(menuXmlLoad, SIGNAL(triggered()), this, SLOT(LoadXml())); QAction *actionQuit = menuFichier->addAction("Quit"); connect(actionQuit, SIGNAL(triggered()), qApp, SLOT(quit())); QMenu *menuEdit = menuBar()->addMenu("&Edit"); QAction *actionConfig = menuEdit->addAction("Configuration"); actionConfig->setDisabled(true); //connect(actionConfig, SIGNAL(triggered()), this, SLOT(ConfigurationMenu())); QMenu *menuView = menuBar()->addMenu("&Generate"); QAction *actionCpp = menuView->addAction("&C++"); connect(actionCpp, SIGNAL(triggered()), this, SLOT(GenerateCpp())); QAction *actionPython = menuView->addAction("&Python"); connect(actionPython, SIGNAL(triggered()), this, SLOT(GeneratePython())); QMenu *menuHelp = menuBar()->addMenu("&Help"); QAction *menuOnlineHelp = menuHelp->addAction("Online Help"); menuOnlineHelp->setDisabled(true); //connect(menuOnlineHelp, SIGNAL(triggered()), this, SLOT(Help())); QAction *menuAbout = menuHelp->addAction("About"); connect(menuAbout, SIGNAL(triggered()), this, SLOT(About())); menuAbout = menuAbout; menuHelp = menuHelp; // // toolbar for add equipements. // QToolBar *toolBarFichier = addToolBar(""); //PC QIcon pcIcon(":/Ico/Pc.png"); QString pcString("Terminal"); QAction *pcAction = toolBarFichier->addAction(pcIcon, pcString); connect(pcAction, SIGNAL(triggered()), this, SLOT(CreatePc())); //Pc-group QIcon pcgIcon(":/Ico/Pc-group.png"); QString pcgString("Terminal Group"); QAction *pcgAction = toolBarFichier->addAction(pcgIcon, pcgString); connect(pcgAction, SIGNAL(triggered()), this, SLOT(CreatePcGroup())); //PC-Emu QIcon emuIcon(":/Ico/Emu.png"); QString emuString("PC with emu"); QAction *emuAction = toolBarFichier->addAction(emuIcon, emuString); connect(emuAction, SIGNAL(triggered()), this, SLOT(CreateEmu())); //PC-Tap QIcon tapIcon(":/Ico/Tap.png"); QString tapString("PC with tap"); QAction *tapAction = toolBarFichier->addAction(tapIcon, tapString); connect(tapAction, SIGNAL(triggered()), this, SLOT(CreateTap())); //AP-Wifi QIcon apIcon(":/Ico/Ap-Wifi.png"); QString apString("AP Wifi"); QAction *apAction = toolBarFichier->addAction(apIcon, apString); connect(apAction, SIGNAL(triggered()), this, SLOT(CreateAp())); //StationWifi QIcon stasIcon(":/Ico/StationWifi.png"); QString stasString("Station Wifi"); QAction *stasAction = toolBarFichier->addAction(stasIcon, stasString); connect(stasAction, SIGNAL(triggered()), this, SLOT(CreateStation())); //Hub QIcon hubIcon(":/Ico/Hub.png"); QString hubString("Hub"); QAction *hubAction = toolBarFichier->addAction(hubIcon, hubString); connect(hubAction, SIGNAL(triggered()), this, SLOT(CreateHub())); //Switch QIcon switchIcon(":/Ico/Switch.png"); QString switchString("Switch"); QAction *switchAction = toolBarFichier->addAction(switchIcon, switchString); connect(switchAction, SIGNAL(triggered()), this, SLOT(CreateSwitch())); //Router QIcon routerIcon(":/Ico/Router.png"); QString routerString("Router"); QAction *routerAction = toolBarFichier->addAction(routerIcon, routerString); connect(routerAction, SIGNAL(triggered()), this, SLOT(CreateRouter())); //separator toolBarFichier->addSeparator(); // Wired Link QIcon linkIcon(":/Ico/WiredLink.png"); QString linkString("Wired Link"); QAction *linkAction = toolBarFichier->addAction(linkIcon, linkString); connect(linkAction, SIGNAL(triggered()), this, SLOT(CreateWiredLink())); // Station link QIcon stasLinkIcon(":/Ico/Link.png"); QString stasLinkString("Station Link"); QAction *stasLinkAction = toolBarFichier->addAction(stasLinkIcon, stasLinkString); connect(stasLinkAction, SIGNAL(triggered()), this, SLOT(CreateWifiLink())); //P2P link QIcon p2pLinkIcon(":/Ico/P2pLink.png"); QString p2pLinkString("P2P Link"); QAction *p2pLinkAction = toolBarFichier->addAction(p2pLinkIcon, p2pLinkString); connect(p2pLinkAction, SIGNAL(triggered()), this, SLOT(CreateP2pLink())); //separator toolBarFichier->addSeparator(); QIcon appsLinkIcon(""); QString appsLinkString("Application"); QAction *appsLinkAction = toolBarFichier->addAction(appsLinkIcon, appsLinkString); connect(appsLinkAction, SIGNAL(triggered()), this, SLOT(CreateApplication())); //separator toolBarFichier->addSeparator(); //Delete button QIcon delIcon(":/Ico/Del.png"); QString delString("Delete"); this->m_delAction = toolBarFichier->addAction(delIcon, delString); this->m_delAction->setDisabled (true); connect(this->m_delAction, SIGNAL(triggered()), this, SLOT(DeleteObject())); // // Creation of Drag N Drop Area. // QHBoxLayout *dragLayout = new QHBoxLayout; this->m_dw = new DragWidget(); dragLayout->addWidget(this->m_dw); QWidget *zoneCentral = new QWidget; zoneCentral->setLayout(dragLayout); this->setCentralWidget(zoneCentral); // // // this->m_dw->SetMainWindow(this); }