Пример #1
0
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);
	}
Пример #3
0
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 */
}
Пример #4
0
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];
};