# RUSProtocolTEST

RUSProtocolTEST — Windows-приложение для тестирования ККТ Custom по протоколу Custom_RU
Позволяет подключаться к устройству (RS232/USB/Ethernet), отправлять команды, читать и сохранять настройки, загружать/скачивать файлы и запускать макросы.

## Основные возможности
- Подключение к принтерам через RS232, USB и Ethernet
- Ручная отправка байтовых команд и просмотр ответов
- Чтение/сохранение конфигурации принтера (заголовки, операторы, коммуникация, OFD и т.д.)
- Загрузка и выгрузка файлов (логотипы, прошивки)
- Фоновые операции с индикатором прогресса и логированием

## Системные требования
- Windows 10 / 11 (x86/x64)
- .NET Framework 4.7.2
- Visual Studio 2022 (рекомендуется) для сборки из исходников
- Наличие `Custom.Fiscal.RUSProtocolAPI.dll` (должен быть в ссылках и скопирован в папку вывода)
- Драйверы для COM/USB-порта принтера
- Доступ в сеть для устройств по Ethernet

## Устранение проблем
- Сообщение "Unable to open connection to the device" обычно означает неверные параметры порта/сети, отсутствующие драйверы или неинициализированный `PrinterAPI`.
- Просмотрите лог приложения и сообщения об ошибках в UI для получения кодов ошибок и подсказок.

## Параметры запуска из командной строки:
  RUSProtocolTEST [commands] [options]

Commands:
  list 						получить список ККТ
  settings read				считать настройки ККТ
  settings write			записать настройки в ККТ
  register read				считать регистрационные данные ККТ (зарезервировано, ожидается в следующей версии)
  register write			перерегистрация ККТ (зарезервировано, ожидается в следующей версии)
  upgrade					обновление прошивки ККТ
  logo						загрузка логотипа в ККТ
  reboot					перезапуск ККТ

Options:
  --file <file> (REQUIRED)  	файл регистрационных данных или параметров в формате *.xml
  --firmware <file> (REQUIRED)  файл прошивки в формате *.lzb
  --logoname <file> (REQUIRED0)	лототип в формате *.bmp для загрузки в ККТ, должен быть 200x200 пикселей
  --logoindex <int> (REQUIRED)	индекс (номер) логотипа для загрузки в ККТ (1-25)
  --con <com|eth>           	тип подключения к ККТ com или eth для обновления всех найденных ККТ
  --port <port> (REQUIRED)  	имя COM-порта или IP-адрес для чтения/записи настроек только с одной ККТ
  -?, -h, --help            	Show help and usage information

---

# English 

RUSProtocolTEST is a Windows desktop test tool for Custom ECRs using the Custom_RU protocol.  
It provides UI utilities to connect to a device (serial, USB or Ethernet), send manual commands, read and save device settings, upload/download files (logos/firmware) and run macros for diagnostics.

## Key features
- Connect to fiscal printers via RS232, USB or Ethernet
- Send manual command bytes and view responses
- Read/save printer configuration (header/footer, operators, communication, OFD, etc.)
- Upload/download files and firmware
- Background operations with progress reporting and logs

## System requirements
- Windows 10 / 11 (x86 or x64)
- .NET Framework 4.7.2
- Visual Studio 2022 (recommended) for building from source
- `Custom.Fiscal.RUSProtocolAPI.dll` dependency (must be referenced and copied to output)
- Serial/USB drivers for your fiscal printer if connecting via COM/USB
- Network access for Ethernet-connected devices

## Troubleshooting
- If you see "Unable to open connection to the device", confirm the correct port/host, drivers and that `PrinterAPI` reference is initialized.
- Logs and progress are shown in the respective forms; check them for detailed API error codes.

---

