Revision history for Device-Chip

0.26    2023-10-18
        [CHANGES]
         * Optional read buffer in `Test::Device::Chip::Adapter` to assist
           UART-based unit tests
         * The `->returns()` back-compatibility wrapper now prints a
           deprecation warning
         * Updates for Object::Pad v0.800:
            + use field initialiser expressions
         * Module style updates
            + Swap unit tests from `Test::More` to `Test2::V0`

0.25    2022-10-30
        [CHANGES]
         * Updates for Object::Pad v0.70:
            + `ADJUST :params`

0.24    2022-10-04
        [CHANGES]
         * Update to Test::ExpectAndCheck::Future v0.04

0.23    2022-09-01
        [CHANGES]
         * Define the concept of sanity-check bounds on sensor values, to
           discard obviously-bad readings
         * Use the new `field` from Object::Pad 0.66

0.22    2022-04-20
        [CHANGES]
         * General improvements to documentation, especially Authoring guide

        [BUGFIXES]
         * Requires Object::Pad version 0.63 to get `:experimental` import tag

0.21    2022-04-19
        [CHANGES]
         * Use the new `:isa` and `:does` from Object::Pad 0.57
         * Quiet the experimental warnings of Object::Pad 0.61
         * Added ->cached_write_reg_masked method to
           Device::Chip::Base::RegisteredI2C

        [BUGFIXES]
         * Permit ->cached_write_reg to write buffers that include a "\n" byte

0.20    2021-10-18
        [CHANGES]
         * Use ADJUST blocks from Object::Pad to avoid BUILD blocks
         * Define an I²C transaction helper ->write_then_read method

0.19    2021-07-06
        [CHANGES]
         * Support 'counter' sensor types in addition to 'gauge'

0.18    2021-06-04
        [BUGFIXES]
         * Fix I²C ->txn API for concurrency: pass a "helper" instance on
           which to call ->write/->read methods

0.17    2021-06-03
        [CHANGES]
         * Added I²C protocol ->txn method
         * Updated for Object::Pad 0.38
         * Make Sensor->format( undef ) return undef
         * Return just the first scalar from list-returning sensor methods

0.16    2021-01-01
        [CHANGES]
         * Initial implementation of Device::Chip::Sensor API
         * Updated base classes to use Object::Pad

0.15    2020-11-25
        [CHANGES]
         * Migrate Test::Device::Chip::Adapter testing logic into
           Test::ExpectAndCheck

0.14    2020-11-13
        [CHANGES]
         * Migrated Tickit UI files into their own distribution
         * Permit Test::Device::Chip::Adapter to use the ->read method on SPI
           protocol
         * Use new `catch ($var)` syntax from Syntax::Keyword::Try 0.16

0.13    2020-06-10
        [CHANGES]
         * Beginnings of a UART protocol type, sufficient for transmit-only or
           PC-first request/response communications

0.12    2020-04-26
        [CHANGES]
         * Don't get confused by Device::Chip::Adapter implementations that
           don't subclass
         * Define a $protocol->meta_gpios method
         * Various improvements to Device::Chip::Ex::GPIOTickitBox
         * Default Device::Chip::Adapter description from $DEVICE_CHIP_ADAPTER
           environment variable
         * Cope with multibyte cached reads and writes in D:C:B:RegisteredI2C

        [BUGFIXES]
         * Squash substr() to rvalue before passing it into ->done to avoid
           weird warnings about string index

0.11    2018-03-13 14:00:25
        [CHANGES]
         * Define a 'wordsize' parameter for SPI protocol
         * Define ->write_then_read and ->read methods for SPI protocol
         * Created a Device::Chip::ProtocolBase::SPI base class
         * Further expand the Tickit-based GPIO demo app into supporting SPI
           as well

0.10    2017/07/27 17:31:30
        [CHANGES]
         * Allow Device::Chip::Base::RegisteredI2C to work on data sizes
           larger than 8 bits

        [BUGFIXES]
         * Fixes for recent Test::Builder::Tester output format changes
           (RT114210)

0.09    2016/10/02 20:57:15
        [CHANGES]
         * Defined a ->sleep method on adapters
         * Allow test expectations to expect failures

0.08    2016/06/06 15:20:32
        [CHANGES]
         * Declare dependence on perl5.10 for use of // syntax

        [BUGFIXES]
         * Remember to implement I²C ->read method on Test::Device::Chip::Adapter
         * Avoid perl5.14ism of package NAME BLOCK

0.07    2016/05/05 15:14:10
        [CHANGES]
         * Defined a ->read method on I2C protocol
         * Moved the Tickit-based GPIO example code into an installable module
           so that other distributions can easily reuse it

0.06    2016/01/21 16:00:24
        [CHANGES]
         * Added methods to perform 'split transaction' SPI operations
         * Added ->tris_gpios method

        [BUGFIXES]
         * Ensure Test::Device::Chip::Adapter can handle GPIO methods

0.05    2015/11/24 19:24:10
        [CHANGES]
         * Added Test::Device::Chip::Adapter

0.04    2015/11/18 01:16:47
        [CHANGES]
         * Define the GPIO protocol and the methods a protocol instance can
           use to provide access to GPIO lines
         * Added some example scripts for GPIOs
         * Pass mount options through to PNAME_options
         * Added ->mount_from_paramstr as a further script convenience for
           mount-time options

0.03    2015/11/13 00:32:07
        [CHANGES]
         * Added Device::Chip::Base::RegisteredI2C
         * Optionally invoke $chip->PNAME_options to configure a protocol at
           mount time

0.02    2015/11/12 00:30:29
        [CHANGES]
         * Renamed ->connect to ->mount
         * Added Adapter->new_from_description as a utility for wrapper
           scripts
         * Define I2C protocol

0.01    2015/11/09 23:42:42
        First version, released on an unsuspecting world.
