All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- compatibility with
python3.7
&python3.8
3.0.0 - 2023-05-04
- declare compatibility with
python3.11
- allow parametrization of
spi_max_speed_hz
duringC1101
class instantiation to solve issue-128
CC1101.transmit
: raiseRuntimeError
instead ofException
when attempting to transmit in non-idle state
- compatibility with
python3.5
&python3.6
2.7.3 - 2021-04-20
- change
IOCFG0.GDO0_CFG
as recommended in docs to "optimize RF performance"
2.7.2 - 2021-03-12
- recommend to check wiring & bus selection when receiving chip version
0
2.7.1 - 2021-02-08
- close & unlock SPI device file when error occurs while entering context
2.7.0 - 2021-01-24
- method
set/get_output_power
to configure/retrieve output power settings (PATABLE
andFREND0.PA_POWER
) - all commands: added parameter
-p/--output-power
- command
cc1101-export-config
: append values ofPATABLE
register as comment
- default config via private/unstable method
_set_power_amplifier_setting_index
: no longer setFREND0.LODIV_BUF_CURRENT_TX
to0
(default:1
)
2.6.1 - 2021-01-16
- private/unstable method
_set_modulation_format
: fixed incorrect configuration ofMDMCFG2
register
2.6.0 - 2021-01-04
- command
cc1101-export-config
to export / inspect config register values after configuration via command-line arguments & options matchingcc1101-transmit
cc1101-transmit
command:- set
flock
on SPI device file to avoid race conditions, if other processes attempt to use the same transceiver - configure transceiver after reading from stdin to avoid delay between configuration and transmission, if pipe is slow
- set
2.5.0 - 2020-12-30
- added command
cc1101-transmit
to transmit via command-line interface - warn when selecting frequency below supported range
2.4.0 - 2020-12-13
- support chip version
0x04
2.3.0 - 2020-12-11
- option
CC1101(lock_spi_device=True)
sets an advisory, exclusive, non-blockingflock
on the SPI device file/dev/spidev?.?
- method
.unlock_spi_device()
to releaseflock
manually
2.2.0 - 2020-12-08
- select arbitrary device via
CC1101(spi_bus=?, spi_chip_select=?)
- added explanation to
PermissionError
onSpiDev.open()
2.1.0 - 2020-12-04
- method
.get_sync_word()
- method
.set_sync_word()
- method
.get_preamble_length_bytes()
- method
.set_preamble_length_bytes()
- preamble length & sync word in string representation
2.0.0 - 2020-12-03
transmit()
: prepend length byte in variable packet length mode internally to avoid accidental incomplete transmissions and TX FIFO underflows
1.2.0 - 2020-12-02
- support for fixed packet length mode
via new method
set_packet_length_mode(PacketLengthMode.FIXED)
- new enum
options.PacketLengthMode
- new method
get_packet_length_mode()
- method
get_packet_length_bytes()
is now public - new method
set_packet_length_bytes()
- added configured packet length to
CC1101
's string representation (≤n
indicates variable length mode,=n
fixed length mode)
1.1.0 - 2020-12-01
- method
disable_checksum()
to disable automatic CRC sum appending in TX mode and checking in RX mode
1.0.0 - 2020-09-02
CC1101
class providing- context manager to open SPI port
transmit()
for buffered transmission- context manager
asynchronous_transmission()
for manual signal generation get_configuration_register_values()
to read all configuration registers
- OOK modulation
- configurable symbol rate & sync mode
- optional manchester encoding
- disabled data whitening
- automatic calibration