void ElevatorSystem::setElevatorSysInfo(int num, int maxLoad, int inSpeed, int instayTime) { /**E0,E1的初始化**/ elevatorList.push_back(Elevator(ElevatorInfo(1,1,40,1))); elevatorList.push_back(Elevator(ElevatorInfo(1,1,40,1))); /**E2,E3的初始化**/ elevatorList.push_back(Elevator(ElevatorInfo(1,25,40,1))); elevatorList.push_back(Elevator(ElevatorInfo(1,25,40,1))); /**E4,E5的初始化**/ elevatorList.push_back(Elevator(ElevatorInfo(1,1,25,1))); elevatorList.push_back(Elevator(ElevatorInfo(1,1,25,1))); /**E6,E7的初始化**/ elevatorList.push_back(Elevator(ElevatorInfo(1,2,40,2))); elevatorList.push_back(Elevator(ElevatorInfo(1,2,40,2))); /**E8,E9的初始化**/ elevatorList.push_back(Elevator(ElevatorInfo(1,1,39,2))); elevatorList.push_back(Elevator(ElevatorInfo(1,1,39,2))); /**s设置电梯的相应参数**/ for (int i = 0; i < 10; i++) { elevatorList[i].setElevatorInfo(maxLoad, inSpeed, instayTime); } elevatorNum = num; elevatorMaxload = maxLoad; speed = inSpeed; }
//Constructor Scheduler::Scheduler() { // Initializing Serial.println("Constructor Invoked. Hi!"); elevator[0] = Elevator(0,0); elevator[1] = Elevator(0,1); elevator[2] = Elevator(0,2); }
static portTASK_FUNCTION(AppTask, pvParameters) { (void)pvParameters; /* not used */ RTC1_TTIME time; RTC1_TDATE date; if (RTC1_GetRTCTimeDate(&time, &date)==ERR_OK) { TmDt1_SetDate((uint16_t)date.year+2000, date.month, date.day); TmDt1_SetTime(time.hour, time.min, time.sec, 0); } else { for(;;) {} /* error */ } (void)NEO_ClearAllPixel(); (void)NEO_TransferPixels(); #if HAS_CLOCK (void)NEOL_PixelTrail(0x00, 0x00, 0xFF, NEO_PIXEL_FIRST, NEO_PIXEL_LAST, 8, 25, 20); (void)NEOL_PixelTrail(0x00, 0xff, 0x00, NEO_PIXEL_FIRST, NEO_PIXEL_LAST, 16, 25, 15); (void)NEOL_PixelTrail(0x00, 0x50, 0xff, NEO_PIXEL_FIRST, NEO_PIXEL_LAST, 16, 25, 10); CLOCK_Init(); #endif for(;;) { #if HAS_ELEVATOR Elevator(); FRTOS1_vTaskDelay(1000/portTICK_RATE_MS); #else CLOCK_Update(); FRTOS1_vTaskDelay(50/portTICK_RATE_MS); #endif } /* for */ }
Bilding::Bilding(int l, int n, float height) : allLevel(l),numberElevator(n),heightFloor(height) { cout << "Constructor bilding... " << endl; if (n >=10) n = 10; for (int i = 0; i < n ; i++) { elevators.push_back(Elevator(1.0)); } for (int i = 0; i < l ; i++) { levels.push_back(new level(0x0F&rand())); } cout << "Size elevators =" << n <<endl; cout << "Size levels = " << levels.size() << endl; call = new direction[n]; };