|
@@ -643,9 +643,7 @@ class CC1101:
|
|
|
|
|
|
def __str__(self) -> str:
|
|
|
sync_mode = self.get_sync_mode()
|
|
|
- output_power_levels_hex = tuple(
|
|
|
- map("0x{:x}".format, self.get_output_power_levels())
|
|
|
- )
|
|
|
+ output_power_settings_hex = tuple(map("0x{:x}".format, self.get_output_power()))
|
|
|
attrs = (
|
|
|
"marcstate={}".format(
|
|
|
self.get_main_radio_control_state_machine_state().name.lower()
|
|
@@ -668,10 +666,10 @@ class CC1101:
|
|
|
else "=",
|
|
|
self.get_packet_length_bytes(),
|
|
|
),
|
|
|
- "output_power_levels=({})".format(
|
|
|
- ",".join(output_power_levels_hex)
|
|
|
- if len(output_power_levels_hex) > 1
|
|
|
- else output_power_levels_hex[0] + ","
|
|
|
+ "output_power=({})".format(
|
|
|
+ ",".join(output_power_settings_hex)
|
|
|
+ if len(output_power_settings_hex) > 1
|
|
|
+ else output_power_settings_hex[0] + ","
|
|
|
),
|
|
|
)
|
|
|
return "CC1101({})".format(", ".join(filter(None, attrs)))
|
|
@@ -809,22 +807,22 @@ class CC1101:
|
|
|
)
|
|
|
)
|
|
|
|
|
|
- def _set_patable(self, levels: typing.Iterable[int]):
|
|
|
- levels = list(levels)
|
|
|
- assert all(0 <= l <= 0xFF for l in levels), levels
|
|
|
- assert 0 < len(levels) <= self._PATABLE_LENGTH_BYTES, levels
|
|
|
- self._write_burst(start_register=PatableAddress.PATABLE, values=levels)
|
|
|
+ def _set_patable(self, settings: typing.Iterable[int]):
|
|
|
+ settings = list(settings)
|
|
|
+ assert all(0 <= l <= 0xFF for l in settings), settings
|
|
|
+ assert 0 < len(settings) <= self._PATABLE_LENGTH_BYTES, settings
|
|
|
+ self._write_burst(start_register=PatableAddress.PATABLE, values=settings)
|
|
|
|
|
|
- def get_output_power_levels(self) -> typing.Tuple[int, ...]:
|
|
|
+ def get_output_power(self) -> typing.Tuple[int, ...]:
|
|
|
"""
|
|
|
- Returns the enabled output power levels
|
|
|
+ Returns the enabled output power settings
|
|
|
(up to 8 bytes of the PATABLE register).
|
|
|
|
|
|
- see .set_output_power_levels()
|
|
|
+ see .set_output_power()
|
|
|
"""
|
|
|
return self._get_patable()[: self._get_power_amplifier_setting_index() + 1]
|
|
|
|
|
|
- def set_output_power_levels(self, power_levels: typing.Iterable[int]) -> None:
|
|
|
+ def set_output_power(self, power_settings: typing.Iterable[int]) -> None:
|
|
|
"""
|
|
|
Configures output power levels by setting PATABLE and FREND0.PA_POWER.
|
|
|
Up to 8 bytes may be provided.
|
|
@@ -836,15 +834,15 @@ class CC1101:
|
|
|
For OOK modulation, exactly 2 bytes must be provided:
|
|
|
0 to turn off the transmission for logical 0,
|
|
|
and a level > 0 to turn on the transmission for logical 1.
|
|
|
- >>> transceiver.set_output_power_levels((0, 0xC6))
|
|
|
+ >>> transceiver.set_output_power((0, 0xC6))
|
|
|
|
|
|
See "Table 39: Optimum PATABLE Settings for Various Output Power Levels [...]"
|
|
|
and section "24 Output Power Programming".
|
|
|
"""
|
|
|
- power_levels = list(power_levels)
|
|
|
+ power_settings = list(power_settings)
|
|
|
|
|
|
- self._set_power_amplifier_setting_index(len(power_levels) - 1)
|
|
|
- self._set_patable(power_levels)
|
|
|
+ self._set_power_amplifier_setting_index(len(power_settings) - 1)
|
|
|
+ self._set_patable(power_settings)
|
|
|
|
|
|
def _flush_tx_fifo_buffer(self) -> None:
|
|
|
|