Функции драйвера ~~~~~~~~~~~~~~~~ .. |br| raw:: html
Cоздание объекта ---------------- Перед началом работы с устройством необходимо получить указатель на конкретный экземпляр объекта, с помощью которого будем использовать функции драйвера. .. code:: C++ std::unique_ptr device = std::make_unique(); Oткрытие порта -------------- Далее для работы с устройством необходимо открыть серийный порт. Для этого необходимы не только правильные параметры порта, но и модель и протокол весов. Для этого нужен объект структуры Connection. .. code:: C++ CppWrapper::Connection data{}; data.portname = "COM3"; data.model = "M-ER 221F-32.5 III(средний)"; data.protocol = "POS2MProV1"; Переменная для ошибок --------------------- Последний параметр функций драйвера является переменной для ошибок. .. code:: C++ CppWrapper::ErrorCase ecase = CppWrapper::ErrorCase::Correct; Для передачи в функцию она должна иметь значение приведенное сверху. Функция Open ------------ Предназначена для открытия серийного порта. .. code:: C++ device.Open(data, ecase); Функция Close ------------- Предназначена для закрытия серийного порта. .. code:: C++ device.Close(ecase); Функция IsOpen -------------- Предназначена для проверки открытости серийного порта. .. code:: C++ if(device.IsOpen(ecase)) ....... Функция ExecuteCommand ---------------------- Предназначена для выполнения команды. .. code:: C++ device.ExecuteCommand(CppWrapper::Command::SetLightLevel, ecase); Функция SetParam ---------------- Предназначена для установки параметра и значения. .. code:: C++ device.SetParam(CppWrapper::ParamType::LightLevel, "1", ecase); Функция GetParam ---------------- Предназначена для получения значения по параметру. .. code:: C++ std::string result = device.GetParam(ptype, param, ecase); Примеры использования --------------------- Установить время автовыключения: .. code:: C++ device.SetParam(CppWrapper::ParamType::AutoOff, "1", ecase); device.ExecuteCommand(CppWrapper::Command::SetAutoOff, ecase); Получить уровень подсветки: .. code:: C++ device.ExecuteCommand(CppWrapper::Command::GetLightLevel, ecase); std::string result = device.GetParam(CppWrapper::ParamType::LightLevel, ecase); Перезагрузить весы: .. code:: C++ device.ExecuteCommand(CppWrapper::Command::Reboot, ecase); Cтатус весового канала (POS): .. code:: C++ device.ExecuteCommand(CppWrapper::Command::POSStatusOfWeightChannel, ecase); std::string weight = device.GetParam(CppWrapper::ParamType::Weight, ecase); std::string tare = device.GetParam(CppWrapper::ParamType::Tare, ecase); std::string state = device.GetParam(CppWrapper::ParamType::WeightState, ecase); .. hint:: Cписок всех поддерживаемых команд, типов параметров и значений приведён в разделе `"Kоманды настроек весов" `_. Функция CurrentVersion ---------------------- Предназначена для получения версии драйвера. .. code:: C++ std::string version = CppWrapper::CurrentVersion(ecase); .. _LoggingPath: Функция LoggingPath ------------------- Предназначена для получения пути к файлу логов драйвера. .. code:: C++ std::string path = CppWrapper::LoggingPath(ecase); Функция ChangeLoggingConfigFile ------------------------------- Предназначена для изменения конфигурационного файла логгирования драйвера. .. code:: C++ CppWrapper::ChangeLoggingConfigFile(config, ecase); Функция GetDataFromLogConfigFIle -------------------------------- Предназначена для получения данных из конфигурационного файла логгирования драйвера. .. code:: C++ std::map currentSettings = CppWrapper::GetDataFromLogConfigFIle(ecase); Функция GetErrorCaseDescription ------------------------------- Предназначена для получения более детального описания ошибки (можно получить на русском языке). .. code:: C++ CppWrapper::ErrorCase info = CppWrapper::ErrorCase::BoostSerialPortError; CppWrapper::ErrorCase ecase = CppWrapper::ErrorCase::Correct; std::wstring error = CppWrapper::GetErrorCaseDescription(info, CppWrapper::ErrorCaseDescriptionLanguage::Russian, ecase); Kоманды ~~~~~~~ .. toctree:: :maxdepth: 2 :numbered: driver_functions/scale_settings driver_functions/weight_channel