# `unitechRFID`

## Summary
The `unitechRFID` module is designed to facilitate communication and control of RFID readers.
It provides classes and protocols for detecting devices, managing connections, and executing RFID-related operations.
The module supports various functionalities such as reading, writing, and configuring RFID tags, while ensuring compatibility across different reader models.

## Class Description

---

## `DetectReader`

The `DetectReader` class is a critical component for managing Unitech accessory connectivity within your iOS application. It provides functionality to detect, connect, and disconnect Unitech RFID devices.

### Key Features

- **Delegate Support**: Allows setting a delegate conforming to the `DetectReaderDelegate` protocol to handle connection and disconnection events.
- **Detection Management**: Provides methods to start and stop the detection process for Unitech accessories.

### Key Methods

- `startDetect()`: Initiates the detection process for Unitech accessory devices.
- `stopDetect()`: Stops the detection process and unregisters notifications.

### Properties

- `isDetecting`: Indicates whether the detection process is active.
- `delegate`: Allows setting a delegate conforming to the `DetectReaderDelegate` protocol.

---

## `DetectReaderDelegate`

The `DetectReaderDelegate` protocol is an essential interface for handling events related to Unitech accessory readers. It enables your application to respond to connection and disconnection events for Unitech devices.

### Key Methods

- `didConnectReader(_:)`: Invoked when a Unitech accessory reader is successfully connected. It provides the connected `UnitechDevice` object as a parameter.
- `didDisconnectReader(_:)`: Called when a Unitech accessory reader is disconnected. It provides the disconnected `UnitechDevice` object as a parameter.

---

## `UnitechDevice`

The `UnitechDevice` class simplifies the process of managing Unitech accessory devices within iOS applications by providing a unified interface for accessing device information and establishing communication.

### Key Properties

- `eaaccessory`: Represents the connected accessory and contains various device-related information.
- `manufacturer`: Provides the manufacturer of the device.
- `deviceName`: Contains the user-friendly name of the connected accessory.
- `firmwareVersion`: Stores the firmware version of the device.
- `connectionID`: Represents an identifier associated with the connection of the accessory.
- `protocolStrings`: Provides information about the supported protocols by the connected accessory.
- `deviceType`: Categorizes the connected accessory based on the defined `DeviceType` enumeration.
- `serialNumber`: Contains the unique identifier associated with the connected accessory.
- `protocolString`: Provides the specific protocol string for communication with the device.

### Initializers

- `init(accessory: EAAccessory)`: Creates an instance of the `UnitechDevice` class based on a provided `EAAccessory`.
- `init()`: Creates an instance of the `UnitechDevice` class for use with an emulator.

---

## `BaseReader`


## Known Issues
