Linting
This commit is contained in:
parent
9e0a8ec584
commit
f06503b6fb
2 changed files with 24 additions and 29 deletions
4
dance.py
4
dance.py
|
@ -11,12 +11,12 @@ from enum import Enum
|
|||
import aiohttp
|
||||
import hid
|
||||
from aiohttp import WSMsgType, web
|
||||
from pycon import ButtonEventJoyCon, JoyCon
|
||||
from pycon.constants import JOYCON_PRODUCT_IDS, JOYCON_VENDOR_ID
|
||||
|
||||
from joydance import JoyDance, PairingState
|
||||
from joydance.constants import (DEFAULT_CONFIG, JOYDANCE_VERSION,
|
||||
WsSubprotocolVersion)
|
||||
from pycon import ButtonEventJoyCon, JoyCon
|
||||
from pycon.constants import JOYCON_PRODUCT_IDS, JOYCON_VENDOR_ID
|
||||
|
||||
logging.getLogger('asyncio').setLevel(logging.WARNING)
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import asyncio
|
||||
import time
|
||||
from typing import Optional
|
||||
from typing import Optional, Tuple
|
||||
|
||||
import hid
|
||||
|
||||
|
@ -15,13 +15,13 @@ class JoyCon:
|
|||
_INPUT_REPORT_PERIOD = 0.015
|
||||
_RUMBLE_DATA = b'\x00\x01\x40\x40\x00\x01\x40\x40'
|
||||
|
||||
vendor_id : int
|
||||
product_id : int
|
||||
serial : Optional[str]
|
||||
vendor_id: int
|
||||
product_id: int
|
||||
serial: Optional[str]
|
||||
simple_mode: bool
|
||||
color_body : (int, int, int)
|
||||
color_btn : (int, int, int)
|
||||
stick_cal : [int, int, int, int, int, int, int, int]
|
||||
color_body: Tuple[int, int, int]
|
||||
color_btn: Tuple[int, int, int]
|
||||
stick_cal: Tuple[int, int, int, int, int, int, int, int]
|
||||
|
||||
def __init__(self, vendor_id: int, product_id: int, serial: str = None, simple_mode=False):
|
||||
if vendor_id != JOYCON_VENDOR_ID:
|
||||
|
@ -85,7 +85,7 @@ class JoyCon:
|
|||
]))
|
||||
self._packet_number = (self._packet_number + 1) & 0xF
|
||||
|
||||
def _send_subcmd_get_response(self, subcommand, argument) -> (bool, bytes):
|
||||
def _send_subcmd_get_response(self, subcommand, argument) -> Tuple[bool, bytes]:
|
||||
# TODO: handle subcmd when daemon is running
|
||||
self._write_output_report(b'\x01', subcommand, argument)
|
||||
|
||||
|
@ -131,6 +131,8 @@ class JoyCon:
|
|||
|
||||
def _read_joycon_data(self):
|
||||
color_data = self._spi_flash_read(0x6050, 6)
|
||||
self.color_body = tuple(color_data[:3])
|
||||
self.color_btn = tuple(color_data[3:])
|
||||
|
||||
self._read_stick_calibration_data()
|
||||
|
||||
|
@ -147,19 +149,15 @@ class JoyCon:
|
|||
# print(f"Calibrate {self.serial} IME with factory data")
|
||||
imu_cal = self._spi_flash_read(0x6020, 24)
|
||||
|
||||
self.color_body = tuple(color_data[:3])
|
||||
self.color_btn = tuple(color_data[3:])
|
||||
|
||||
self.set_accel_calibration((
|
||||
self._to_int16le_from_2bytes(imu_cal[ 0], imu_cal[ 1]),
|
||||
self._to_int16le_from_2bytes(imu_cal[ 2], imu_cal[ 3]),
|
||||
self._to_int16le_from_2bytes(imu_cal[ 4], imu_cal[ 5]),
|
||||
self._to_int16le_from_2bytes(imu_cal[0], imu_cal[1]),
|
||||
self._to_int16le_from_2bytes(imu_cal[2], imu_cal[3]),
|
||||
self._to_int16le_from_2bytes(imu_cal[4], imu_cal[5]),
|
||||
), (
|
||||
self._to_int16le_from_2bytes(imu_cal[ 6], imu_cal[ 7]),
|
||||
self._to_int16le_from_2bytes(imu_cal[ 8], imu_cal[ 9]),
|
||||
self._to_int16le_from_2bytes(imu_cal[6], imu_cal[7]),
|
||||
self._to_int16le_from_2bytes(imu_cal[8], imu_cal[9]),
|
||||
self._to_int16le_from_2bytes(imu_cal[10], imu_cal[11]),
|
||||
)
|
||||
)
|
||||
))
|
||||
|
||||
def _read_stick_calibration_data(self):
|
||||
user_stick_cal_addr = 0x8012 if self.is_left() else 0x801D
|
||||
|
@ -213,16 +211,13 @@ class JoyCon:
|
|||
|
||||
def set_accel_calibration(self, offset_xyz=None, coeff_xyz=None):
|
||||
if offset_xyz and coeff_xyz:
|
||||
self._ACCEL_OFFSET_X, \
|
||||
self._ACCEL_OFFSET_Y, \
|
||||
self._ACCEL_OFFSET_Z = offset_xyz
|
||||
self._ACCEL_OFFSET_X, self._ACCEL_OFFSET_Y, self._ACCEL_OFFSET_Z = offset_xyz
|
||||
|
||||
cx, cy, cz = coeff_xyz
|
||||
self._ACCEL_COEFF_X = (1.0 / (cx - self._ACCEL_OFFSET_X)) * 4.0
|
||||
self._ACCEL_COEFF_Y = (1.0 / (cy - self._ACCEL_OFFSET_Y)) * 4.0
|
||||
self._ACCEL_COEFF_Z = (1.0 / (cz - self._ACCEL_OFFSET_Z)) * 4.0
|
||||
|
||||
|
||||
def get_actual_stick_value(self, pre_cal, orientation): # X/Horizontal = 0, Y/Vertical = 1
|
||||
diff = pre_cal - self.stick_cal[2 + orientation]
|
||||
if (abs(diff) < self.deadzone):
|
||||
|
|
Loading…
Reference in a new issue