-------------
:Date: 30-October-2022
* Adding gpio_input case for testing lookup of compatible pins.
* Setting ``frozen=True`` for static abstraction dataclasses,
this is for hash-ability. This change was required for 3.11
support due to the
`dataclass changes <https://github.com/python/cpython/issues/88840>`_.
* Device definitions are shifted into private modules within a
devices packages. The intended API avoids having to be aware of this
complexity.
* Correcting a mistake in the arduino_nano device definition.
This had 9x pins defined where only 8x exist on this device.
* Redesigning the analog and digital pins to define aliases where
they physically are the same pin.
* Removing interrupt and bus information from Pin definitions as
this wasn't implemented and likely would need a redesign if it was
added.
* Defining the arduino uno as a separate device to the nano.
Functionally these are equivalent besides the fewer ADC inputs
on the uno.