3.5 KB


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.



  • command cc1101-export-config to export / inspect config register values after configuration via command-line arguments & options matching cc1101-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

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-blocking flock on the SPI device file /dev/spidev?.?
  • method .unlock_spi_device() to release flock manually

2.2.0 - 2020-12-08


  • select arbitrary device via CC1101(spi_bus=?, spi_chip_select=?)
  • added explanation to PermissionError on

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