whoops
This commit is contained in:
@@ -17,6 +17,7 @@ def _command_wrapper(func: Callable[Concatenate[TEF6686, P], tuple[bytes, int |
|
|||||||
@wraps(func)
|
@wraps(func)
|
||||||
def inner(self: TEF6686, *args: P.args, **kwargs: P.kwargs) -> bytes | T:
|
def inner(self: TEF6686, *args: P.args, **kwargs: P.kwargs) -> bytes | T:
|
||||||
data, read_bytes, out_parser = func(self, *args, **kwargs)
|
data, read_bytes, out_parser = func(self, *args, **kwargs)
|
||||||
|
data, read_bytes, out_parser = self._pre_command_(func, data, read_bytes, out_parser)
|
||||||
|
|
||||||
if read_bytes: data = self.p.write_read_i2c(self.address, data, read_bytes)
|
if read_bytes: data = self.p.write_read_i2c(self.address, data, read_bytes)
|
||||||
else: data = self.p.write_i2c(self.address, data)
|
else: data = self.p.write_i2c(self.address, data)
|
||||||
@@ -33,6 +34,8 @@ def pack(*values: int | SignedInt):
|
|||||||
return struct.pack(struct_string, *values)
|
return struct.pack(struct_string, *values)
|
||||||
|
|
||||||
class TEF6686(BaseTEF668X):
|
class TEF6686(BaseTEF668X):
|
||||||
|
def _pre_command_(self, wrap: Callable, data: bytes, read_bytes: int | None, out_parser: Callable | None): return data, read_bytes, out_parser
|
||||||
|
|
||||||
class TuneTo_Mode(Enum):
|
class TuneTo_Mode(Enum):
|
||||||
Preset = 1
|
Preset = 1
|
||||||
Search = 2
|
Search = 2
|
||||||
@@ -333,6 +336,7 @@ def _7_command_wrapper(func: Callable[Concatenate[TEF6687, P], tuple[bytes, int
|
|||||||
@wraps(func)
|
@wraps(func)
|
||||||
def inner(self: TEF6687, *args: P.args, **kwargs: P.kwargs) -> bytes | T:
|
def inner(self: TEF6687, *args: P.args, **kwargs: P.kwargs) -> bytes | T:
|
||||||
data, read_bytes, out_parser = func(self, *args, **kwargs)
|
data, read_bytes, out_parser = func(self, *args, **kwargs)
|
||||||
|
data, read_bytes, out_parser = self._pre_command_(func, data, read_bytes, out_parser)
|
||||||
|
|
||||||
if read_bytes: data = self.p.write_read_i2c(self.address, data, read_bytes)
|
if read_bytes: data = self.p.write_read_i2c(self.address, data, read_bytes)
|
||||||
else: data = self.p.write_i2c(self.address, data)
|
else: data = self.p.write_i2c(self.address, data)
|
||||||
@@ -364,6 +368,7 @@ def _8_command_wrapper(func: Callable[Concatenate[TEF6688, P], tuple[bytes, int
|
|||||||
@wraps(func)
|
@wraps(func)
|
||||||
def inner(self: TEF6688, *args: P.args, **kwargs: P.kwargs) -> bytes | T:
|
def inner(self: TEF6688, *args: P.args, **kwargs: P.kwargs) -> bytes | T:
|
||||||
data, read_bytes, out_parser = func(self, *args, **kwargs)
|
data, read_bytes, out_parser = func(self, *args, **kwargs)
|
||||||
|
data, read_bytes, out_parser = self._pre_command_(func, data, read_bytes, out_parser)
|
||||||
|
|
||||||
if read_bytes: data = self.p.write_read_i2c(self.address, data, read_bytes)
|
if read_bytes: data = self.p.write_read_i2c(self.address, data, read_bytes)
|
||||||
else: data = self.p.write_i2c(self.address, data)
|
else: data = self.p.write_i2c(self.address, data)
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ def init_tef():
|
|||||||
tef = TEF6686(p)
|
tef = TEF6686(p)
|
||||||
tef.init(clock=CLOCK)
|
tef.init(clock=CLOCK)
|
||||||
tef.AUDIO_Set_Mute(False)
|
tef.AUDIO_Set_Mute(False)
|
||||||
tef.AUDIO_Set_Volume(30)
|
tef.AUDIO_Set_Volume(20)
|
||||||
tef.FM_Tune_To(TEF6686.TuneTo_Mode.Preset, INITIAL_FREQ)
|
tef.FM_Tune_To(TEF6686.TuneTo_Mode.Preset, INITIAL_FREQ)
|
||||||
tef.FM_Set_RDS(1)
|
tef.FM_Set_RDS(1)
|
||||||
tef.FM_Set_ChannelEqualizer(INITIAL_EQ)
|
tef.FM_Set_ChannelEqualizer(INITIAL_EQ)
|
||||||
@@ -202,19 +202,19 @@ def send_rds_data(tef: TEF6686, conn: socket.socket, state: dict):
|
|||||||
data = b""
|
data = b""
|
||||||
if (status & (1 << 13) == 0):
|
if (status & (1 << 13) == 0):
|
||||||
err = 0
|
err = 0
|
||||||
err |= ((dec_error >> 8) & 0x30) >> 4
|
err |= (dec_error & 0x30) >> 4
|
||||||
err |= ((dec_error >> 8) & 0xC)
|
err |= (dec_error & 0xC)
|
||||||
err |= ((dec_error >> 8) & 3) << 4
|
err |= (dec_error & 3) << 4
|
||||||
|
|
||||||
data = b"R"
|
data = b"R"
|
||||||
data += f"{B:04X}{C:04X}{D:04X}{err:02X}\n".encode()
|
data += f"{B:04X}{C:04X}{D:04X}{err:02X}\n".encode()
|
||||||
|
|
||||||
pi_error = (dec_error >> 14) & 0b11
|
pi_error = (dec_error >> 8) & 0b11
|
||||||
if pi_error < 3:
|
if pi_error < 3:
|
||||||
data += b"P" + f"{A:04X}".encode()
|
data += b"P" + f"{A:04X}".encode()
|
||||||
data += b"?" * pi_error + b"\n"
|
data += b"?" * pi_error + b"\n"
|
||||||
elif status & (1 << 12):
|
elif status & (1 << 12):
|
||||||
pi_error = (dec_error >> 10) & 0b11
|
pi_error = (dec_error >> 2) & 0b11
|
||||||
if pi_error < 3:
|
if pi_error < 3:
|
||||||
data += b"P" + f"{C:04X}".encode()
|
data += b"P" + f"{C:04X}".encode()
|
||||||
data += b"?" * pi_error + b"\n"
|
data += b"?" * pi_error + b"\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user