async def on_init(self): # init controls self.nsg = NSGamepadSerial() self.nsg.begin() self.io.register_inputs( { "left_joystick": NSJoystick( self.nsg.leftXAxis, self.nsg.leftYAxis ), "right_joystick": NSJoystick( self.nsg.rightXAxis, self.nsg.rightYAxis ), "dpad_up": NSDPadSwitch(self.nsg, NSDPad.UP), "dpad_left": NSDPadSwitch(self.nsg, NSDPad.LEFT), "dpad_right": NSDPadSwitch(self.nsg, NSDPad.RIGHT), "dpad_down": NSDPadSwitch(self.nsg, NSDPad.DOWN), "Y": NSSwitch(self.nsg, NSButton.Y), "X": NSSwitch(self.nsg, NSButton.X), "A": NSSwitch(self.nsg, NSButton.A), "B": NSSwitch(self.nsg, NSButton.B), "left_throttle": NSSwitch(self.nsg, NSButton.LEFT_THROTTLE), "left_trigger": NSSwitch(self.nsg, NSButton.LEFT_TRIGGER), "right_throttle": NSSwitch(self.nsg, NSButton.RIGHT_THROTTLE), "right_trigger": NSSwitch(self.nsg, NSButton.RIGHT_TRIGGER), "minus": NSSwitch(self.nsg, NSButton.MINUS), "plus": NSSwitch(self.nsg, NSButton.PLUS), "left_stick": NSSwitch(self.nsg, NSButton.LEFT_STICK), "right_stick": NSSwitch(self.nsg, NSButton.RIGHT_STICK), "home": NSSwitch(self.nsg, NSButton.HOME), "capture": NSSwitch(self.nsg, NSButton.CAPTURE), }, )
async def on_init(self): # init controls self.nsg = NSGamepadSerial() self.nsg.begin() self.io.register_inputs( { "left_joystick": NSJoystick(self.nsg.leftXAxis, self.nsg.leftYAxis), "right_joystick": NSJoystick(self.nsg.rightXAxis, self.nsg.rightYAxis), "dpad_up": NSDPadSwitch(self.nsg, NSDPad.UP), "dpad_left": NSDPadSwitch(self.nsg, NSDPad.LEFT), "dpad_right": NSDPadSwitch(self.nsg, NSDPad.RIGHT), "dpad_down": NSDPadSwitch(self.nsg, NSDPad.DOWN), "Y": NSSwitch(self.nsg, NSButton.Y), "X": NSSwitch(self.nsg, NSButton.X), "A": NSSwitch(self.nsg, NSButton.A), "B": NSSwitch(self.nsg, NSButton.B), "left_throttle": NSSwitch(self.nsg, NSButton.LEFT_THROTTLE), "left_trigger": NSSwitch(self.nsg, NSButton.LEFT_TRIGGER), "right_throttle": NSSwitch(self.nsg, NSButton.RIGHT_THROTTLE), "right_trigger": NSSwitch(self.nsg, NSButton.RIGHT_TRIGGER), "minus": NSSwitch(self.nsg, NSButton.MINUS), "plus": NSSwitch(self.nsg, NSButton.PLUS), "left_stick": NSSwitch(self.nsg, NSButton.LEFT_STICK), "right_stick": NSSwitch(self.nsg, NSButton.RIGHT_STICK), "home": NSSwitch(self.nsg, NSButton.HOME), "capture": NSSwitch(self.nsg, NSButton.CAPTURE), "capture_frame": CaptureScreen(), }, ) # init image rec self.image_rec_task = asyncio.create_task(self.image_rec_main()) self.image_rec_task.add_done_callback(self.image_rec_done_cb) # init frame saving logging.info(f"SAVING FRAMES TO {SAVE_DIR_PATH}") Path(SAVE_DIR_PATH).mkdir(parents=True, exist_ok=True)
async def on_init(self): self.prepare = True # init controls self.nsg = NSGamepadSerial() self.nsg.begin() self.io.register_inputs( { "left_joystick": NSJoystick( self.nsg.leftXAxis, self.nsg.leftYAxis ), "right_joystick": NSJoystick( self.nsg.rightXAxis, self.nsg.rightYAxis ), "dpad_up": NSDPadSwitch(self.nsg, NSDPad.UP), "dpad_left": NSDPadSwitch(self.nsg, NSDPad.LEFT), "dpad_right": NSDPadSwitch(self.nsg, NSDPad.RIGHT), "dpad_down": NSDPadSwitch(self.nsg, NSDPad.DOWN), "Y": NSSwitch(self.nsg, NSButton.Y), "X": NSSwitch(self.nsg, NSButton.X), "A": NSSwitch(self.nsg, NSButton.A), "B": NSSwitch(self.nsg, NSButton.B), "left_throttle": NSSwitch(self.nsg, NSButton.LEFT_THROTTLE), "left_trigger": NSSwitch(self.nsg, NSButton.LEFT_TRIGGER), "right_throttle": NSSwitch(self.nsg, NSButton.RIGHT_THROTTLE), "right_trigger": NSSwitch(self.nsg, NSButton.RIGHT_TRIGGER), "minus": NSSwitch(self.nsg, NSButton.MINUS), "left_stick": NSSwitch(self.nsg, NSButton.LEFT_STICK), "right_stick": NSSwitch(self.nsg, NSButton.RIGHT_STICK), "capture_frame": CaptureScreen(), "reset_trinkets": reset_trinkets(), "plus": NSSwitch(self.nsg, NSButton.PLUS), }, ) self.io.register_inputs( { "home": NSSwitch(self.nsg, NSButton.HOME), "capture": NSSwitch(self.nsg, NSButton.CAPTURE), "debug_switch": debug_switch(), }, admin=True, ) # init image rec self.image_rec_task = asyncio.create_task(self.image_rec_main()) self.image_rec_task.add_done_callback(self.image_rec_done_cb) # init frame saving logging.info(f"SAVING FRAMES TO {SAVE_DIR_PATH}") Path(SAVE_DIR_PATH).mkdir(parents=True, exist_ok=True) self.curUser = "******" self.userID = "eu-west-1:dummydummydummydummydummydummydummyd"
async def on_init(self): # init controls # connect to pigpio daemon self.pi = pigpio.pi() if not self.pi.connected: raise RuntimeError("Could not connect to pigpio") # init joystick splitter, enable physical joystick by default self.pi.set_mode(20, pigpio.OUTPUT) self.pi.set_mode(21, pigpio.OUTPUT) self.pi.write(20, 1) self.pi.write(21, 1) self.nsg = NSGamepadSerial() self.nsg.begin() self.io.register_inputs( { "left_joystick": NSJoystick(self.nsg.leftXAxis, self.nsg.leftYAxis), "right_joystick": NSJoystick(self.nsg.rightXAxis, self.nsg.rightYAxis), "dpad_up": NSDPadSwitch(self.nsg, NSDPad.UP), "dpad_left": NSDPadSwitch(self.nsg, NSDPad.LEFT), "dpad_right": NSDPadSwitch(self.nsg, NSDPad.RIGHT), "dpad_down": NSDPadSwitch(self.nsg, NSDPad.DOWN), "Y": NSSwitch(self.nsg, NSButton.Y), "X": WeplayXSwitch(self.nsg, NSButton.X), "A": WeplayASwitch(self.nsg, NSButton.A), "B": WeplayBSwitch(self.nsg, NSButton.B), "left_throttle": NSSwitch(self.nsg, NSButton.LEFT_THROTTLE), "left_trigger": WeplayTriggerSwitch(self.nsg, NSButton.LEFT_TRIGGER), "right_throttle": NSSwitch(self.nsg, NSButton.RIGHT_THROTTLE), "right_trigger": WeplayTriggerSwitch(self.nsg, NSButton.RIGHT_TRIGGER), "minus": WeplayMinusSwitch(self.nsg, NSButton.MINUS), "plus": NSSwitch(self.nsg, NSButton.PLUS), "left_stick": NSSwitch(self.nsg, NSButton.LEFT_STICK), "right_stick": NSSwitch(self.nsg, NSButton.RIGHT_STICK), "home": NSSwitch(self.nsg, NSButton.HOME), "capture": NSSwitch(self.nsg, NSButton.CAPTURE), }, ) self.lock = asyncio.Lock() # create capture self.cap = await AsyncVideoCapture.create("/dev/video21") # get home current detector self.has_home_current_game_selected = get_pixel_detector( HOME_CURRENT_GAME_SELECTED_PIXELS, close=35) self.has_maybe_game_over = get_pixel_detector(MAYBE_GAME_OVER_PIXELS) self.image_rec_task = asyncio.create_task(self.image_rec_main()) self.image_rec_task.add_done_callback(self.image_rec_done_cb) self.inputs_can_be_enabled = False if SAVE_FRAMES: logging.info(f"SAVING FRAMES TO {SAVE_DIR_PATH}") Path(SAVE_DIR_PATH).mkdir(parents=True, exist_ok=True) # single press B, this will exit MAP_MENU/ITEMS_MENU, # to PLAYING game_state (weplay_switches.py) logging.info("single pressing B to get away from menus") await single_press(NSButton.B, self.nsg)
async def on_init(self): # init controls self.nsg = NSGamepadSerial() self.nsg.begin() self.io.register_inputs({ "left_joystick": NSJoystick(self.nsg.leftXAxis, self.nsg.leftYAxis), "dpad_up": NSDPadSwitch(self.nsg, NSDPad.UP), "dpad_left": NSDPadSwitch(self.nsg, NSDPad.LEFT), "dpad_right": NSDPadSwitch(self.nsg, NSDPad.RIGHT), "dpad_down": NSDPadSwitch(self.nsg, NSDPad.DOWN), "X": NSSwitch(self.nsg, NSButton.X), "A": NSSwitch(self.nsg, NSButton.A), "B": NSSwitch(self.nsg, NSButton.B), "left_throttle": NSSwitch(self.nsg, NSButton.LEFT_THROTTLE), "right_throttle": NSSwitch(self.nsg, NSButton.RIGHT_THROTTLE), }) self.io.register_inputs( { "right_joystick": NSJoystick(self.nsg.rightXAxis, self.nsg.rightYAxis), "Y": NSSwitch(self.nsg, NSButton.Y), "left_trigger": NSSwitch(self.nsg, NSButton.LEFT_TRIGGER), "right_trigger": NSSwitch(self.nsg, NSButton.RIGHT_TRIGGER), "minus": NSSwitch(self.nsg, NSButton.MINUS), "plus": NSSwitch(self.nsg, NSButton.PLUS), "left_stick": NSSwitch(self.nsg, NSButton.LEFT_STICK), "right_stick": NSSwitch(self.nsg, NSButton.RIGHT_STICK), "home": NSSwitch(self.nsg, NSButton.HOME), "capture": NSSwitch(self.nsg, NSButton.CAPTURE), }, admin=True, ) # get detectors self.has_4_ready_to_start = get_pixel_detector(HAS_4_READY_PIXELS) self.has_flag = get_pixel_detector(FLAG_PIXELS) self.has_finish_text = get_pixel_detector(FINISH_TEXT_PIXELS) self.position_detectors = { 1: get_pixel_detector(POS_1_PIXELS), 2: get_pixel_detector(POS_2_PIXELS), 3: get_pixel_detector(POS_3_PIXELS), 4: get_pixel_detector(POS_4_PIXELS), } # init image rec self.image_rec_task = asyncio.create_task(self.image_rec_main()) self.image_rec_task.add_done_callback(self.image_rec_done_cb) self.image_rec_task_cancelled = False # frame saving if SAVE_FRAMES: logging.info(f"SAVING FRAMES TO {SAVE_DIR_PATH}") Path(SAVE_DIR_PATH).mkdir(parents=True, exist_ok=True) if SAVE_POS_FRAMES: logging.info(f"SAVING POS FRAMES TO {SAVE_POS_DIR_PATH}") Path(SAVE_POS_DIR_PATH).mkdir(parents=True, exist_ok=True) # game state self.has_started = False self.has_finished = False self.failed_score_reads = 0 self.pre_game_ready_sent = False self.score_sent = False