This is a beta release for the new V1 release. This release is intended only for test purposes and as a draft for the stable 1.0.0 release.
Major Changes:
- new type system, removed the `Pack` and `Unpack` helper classes
- old: `Pack.uint(100)` -> new: `UINT.encode(100)`
- types as classes that can encode and decode any elementary or structured data type
- when parsing the tag list a type is created for every tag to encode or decode their value
- can create custom types for any struct, array, etc
- replaces the `data_format` arg for generic messaging
- TODO: full documentation on how to use types. Examples have been updated for now.
- Internal package structure changed, may break imports if not importing from top level package
- Lots of refactoring, decoupling, etc improvements internally, helping improve testability
- added a `configure_default_logger` method for simple logging setup
- packet contents are now logged with a custom VERBOSE log level
- removed the RequestPacket.VERBOSE_DEBUG option used previously
- improved the packet formatting too to look similar to wireshark
- [BREAKING] `generic_message` now uses the new type system. The `data_format` arg was replaced with `data_type`.
- added new `discover()` method to discover Ethernet/IP devices on the local network
**LogixDriver**
- upload of program scoped tags is now on by default, use `init_program_tags=False` in initializer to disable.
- removed the `init_info` and `micro800` init args, also removed the `use_instance_ids` property
- feature selection is all automatic now, if it needs to be customized, subclass and overwrite the `_initialize_driver` method