Skip to content

Releases: sdwilsh/siobrultech-protocols

v0.14.0

08 Dec 04:43
78196f6
Compare
Choose a tag to compare

What's Changed

  • Be API compatible for set_packet_send_interval by @sdwilsh in #236

Full Changelog: v0.13.0...v0.14.0

v0.13

28 Oct 17:51
Compare
Choose a tag to compare

Breaking Changes

  • Temperature values can now be None when the packet contains an invalid temperature (#205)

Full Changelog: v0.12.0...v0.13.0

v0.12

30 May 22:18
Compare
Choose a tag to compare

New Features

  • The close method has been restored to PacketProtocol. It was removed in v0.10 based on a misunderstanding of how asyncio.Server keeps track of connections.

v0.11

14 May 19:57
Compare
Choose a tag to compare

New features

  • API helper methods now have a timeout parameter to control the timeout

Fixes

  • call_api now honors the serial_number parameter again

v0.10.0

13 May 23:43
Compare
Choose a tag to compare

New Features

  • ECM-1240 API support
    • get_serial_number
    • set_packet_send_interval
    • ApiCall can be used to add support for more APIs outside of this library
  • Ability to make GEM API calls without pausing packet sending, making them vastly faster than before. This is experimental for now; pass send_packet_delay=True to BidirectionalProtocol's constructor to enable.
  • Support for API calls that have no response (pass None for the parser parameters to ApiCall)

Fixes

  • ECM-1240 serial numbers are now parsed correctly

Breaking Changes

  • PacketProtocol no longer has a close() method. Users should close the transports directly. For example, if self._server is an asyncio.Server:
            for s in self._server.sockets:
                s.shutdown(socket.SHUT_RDWR)
                s.close()
  • BidirectionalProtocol no longer has send_api_request and receive_api_response methods. Instead, there is now an invoke_api method that takes a Future which will be completed as soon as the API response comes in. See README.md for more details on its use. This change allows API responses to be returned to the caller much faster.
  • The serial_number field for ECM-1240 packets is now treated as a 16-bit little-endian value. Previous versions treated it as a big-endian value. ECM-1240 packets received with this version of the library will thus have a serial number field that is in the opposite byte order from those returned by the previous verson.

v0.9.0

08 Apr 04:51
Compare
Choose a tag to compare

New Features

  • Added packet helper functions for ECM-1240 aux values

Fixes

  • Fixed protocol behavior when devices ignore API calls
  • Avoid divide by zero if no time has elapsed between packets

v0.8.0

07 Apr 00:15
Compare
Choose a tag to compare

New Features

  • Added support for ECM-1220 and ECM-1240 packets

v0.7.0

30 Oct 22:43
77d5c8f
Compare
Choose a tag to compare

New Features

  • Added the ability to set the packet clear time for API commands. This can be useful if the default of three seconds was too slow for the GEM to finish sending a packet.

Breaking Changes

  • siobrultech_protocols.gem.protocol.T and siobrultech_protocols.gem.protocol.R have been removed. Any imports should replace them with siobrultech_protocols.gem.api.T and siobrultech_protocols.gem.api.R, respectively.
  • The constant PACKET_DELAY_CLEAR_TIME from siobrultech_protocols.gem.protocol has been removed. A new constant, PACKET_DELAY_CLEAR_TIME_DEFAULT is added to siobrultech_protocols.gem.const, which is the default value we use if a value is not provided to the BidirectionalProtocol.

Full Changelog: v0.6.0...v0.7.0

v0.6.0

05 Jun 22:59
07f5602
Compare
Choose a tag to compare

New Features

  • Added a new method, get_average_power, to Packet to get the average power between the Packet and another Packet for a given channel index.
  • Added a new method, get_average_pulse_rate, to Packet to get the average pulse rate between the Packet and another Packet for a given pulse counter index.

Full Changelog: v0.5.0...v0.6.0

v0.5.0

06 Jan 05:28
Compare
Choose a tag to compare

Breaking Changes

  • The Queues used by PacketProtocol/BidirectionalProtocol now contain PacketProtocolMessages instead of Packets.

New Features

  • Send API commands to a specific serial number
  • Protocol implementations now include a close method and send messages to their Queues for connections made and lost

What's Changed

  • Run GitHub workflows on release branches too by @sdwilsh in #41
  • Add some documentation for properties on a Packet by @sdwilsh in #42
  • Bump pre-commit from 2.15.0 to 2.16.0 by @dependabot in #46
  • Update protocol logging by @jkeljo in #50
  • Enable callers to properly close protocol transports by @jkeljo in #51
  • Support targeting API requests to a specific serial by @jkeljo in #52

Full Changelog: v0.4.1...v0.5.0