Ejemplo n.º 1
0
 def __init__(self):
     self.__elevator_interface = ElevatorInterface()
     self.__panel_interface = PanelInterface()
     self.__elevator_queue_key = Lock()
     self.__master_queue_key = Lock()
     self.__internal_queue_key = Lock()
     self.__floor_panel_key = Lock()
     self.__elevator_queue = [[0 for button in range(0, 3)]
                              for floor in range(0, N_FLOORS)]
     self.__master_queue = [0] * N_FLOORS * 2
     self.__saved_master_queue = [0] * N_FLOORS * 2
     self.__internal_queue = [0] * N_FLOORS
     self.__saved_internal_queue = [0] * N_FLOORS
     self.__floor_panel_up = [0] * 4
     self.__floor_panel_down = [0] * 4
     self.__last_master_id = 0
     self.__position = (0, 0, DIRN_STOP)
     self.__thread_run_elevator = Thread(target=self.__run_elevator,
                                         args=(),
                                         name="Run elevator thread")
     self.__thread_build_queues = Thread(target=self.__build_queues,
                                         args=(),
                                         name="Build queues thread")
     self.__thread_set_indicators = Thread(target=self.__set_indicators,
                                           args=(),
                                           name="Set indicators thread")
     self.__start()