used black

This commit is contained in:
hhh
2024-11-02 00:10:24 +02:00
parent 1b1f217b75
commit e0a3d256d5
79 changed files with 658 additions and 733 deletions

View File

@@ -31,7 +31,7 @@ class RawSignatureHeader(LittleEndianStructure):
# field above,
# it can be inferred and subtracted so that we obtain the number of samples,
# and from the number of samples and sample rate we can obtain the length of the recording
("fixed_value", c_uint32)
("fixed_value", c_uint32),
# Calculated as ((15 << 19) + 0x40000) - 0x7c0000 or 00 00 7c 00 - seems pretty constant,
# may be different in the "SigType.STREAMING" mode
]
@@ -100,7 +100,9 @@ class DecodedMessage:
assert crc32(check_summable_data) & 0xFFFFFFFF == header.crc32
assert header.magic2 == 0x94119C00
self.sample_rate_hz = int(SampleRate(header.shifted_sample_rate_id >> 27).name.strip("_"))
self.sample_rate_hz = int(
SampleRate(header.shifted_sample_rate_id >> 27).name.strip("_")
)
self.number_samples = int(
header.number_samples_plus_divided_sample_rate - self.sample_rate_hz * 0.24
@@ -145,13 +147,17 @@ class DecodedMessage:
fft_pass_offset: int = raw_fft_pass[0]
if fft_pass_offset == 0xFF:
fft_pass_number = int.from_bytes(frequency_peaks_buf.read(4), "little")
fft_pass_number = int.from_bytes(
frequency_peaks_buf.read(4), "little"
)
continue
else:
fft_pass_number += fft_pass_offset
peak_magnitude = int.from_bytes(frequency_peaks_buf.read(2), "little")
corrected_peak_frequency_bin = int.from_bytes(frequency_peaks_buf.read(2), "little")
corrected_peak_frequency_bin = int.from_bytes(
frequency_peaks_buf.read(2), "little"
)
self.frequency_band_to_sound_peaks[frequency_band].append(
FrequencyPeak(
@@ -203,7 +209,9 @@ class DecodedMessage:
header.magic1 = 0xCAFE2580
header.magic2 = 0x94119C00
header.shifted_sample_rate_id = int(getattr(SampleRate, "_%s" % self.sample_rate_hz)) << 27
header.shifted_sample_rate_id = (
int(getattr(SampleRate, "_%s" % self.sample_rate_hz)) << 27
)
header.fixed_value = (15 << 19) + 0x40000
header.number_samples_plus_divided_sample_rate = int(
self.number_samples + self.sample_rate_hz * 0.24
@@ -211,7 +219,9 @@ class DecodedMessage:
contents_buf = BytesIO()
for frequency_band, frequency_peaks in sorted(self.frequency_band_to_sound_peaks.items()):
for frequency_band, frequency_peaks in sorted(
self.frequency_band_to_sound_peaks.items()
):
peaks_buf = BytesIO()
fft_pass_number = 0
@@ -225,13 +235,19 @@ class DecodedMessage:
if frequency_peak.fft_pass_number - fft_pass_number >= 255:
peaks_buf.write(b"\xff")
peaks_buf.write(frequency_peak.fft_pass_number.to_bytes(4, "little"))
peaks_buf.write(
frequency_peak.fft_pass_number.to_bytes(4, "little")
)
fft_pass_number = frequency_peak.fft_pass_number
peaks_buf.write(bytes([frequency_peak.fft_pass_number - fft_pass_number]))
peaks_buf.write(
bytes([frequency_peak.fft_pass_number - fft_pass_number])
)
peaks_buf.write(frequency_peak.peak_magnitude.to_bytes(2, "little"))
peaks_buf.write(frequency_peak.corrected_peak_frequency_bin.to_bytes(2, "little"))
peaks_buf.write(
frequency_peak.corrected_peak_frequency_bin.to_bytes(2, "little")
)
fft_pass_number = frequency_peak.fft_pass_number
@@ -245,7 +261,9 @@ class DecodedMessage:
header.size_minus_header = len(contents_buf.getvalue()) + 8
buf = BytesIO()
buf.write(header) # We will rewrite it just after in order to include the final CRC-32
buf.write(
header
) # We will rewrite it just after in order to include the final CRC-32
buf.write((0x40000000).to_bytes(4, "little"))
buf.write((len(contents_buf.getvalue()) + 8).to_bytes(4, "little"))