{"id":16897131,"url":"https://github.com/widgetii/mera-scales-java-pure-driver","last_synced_at":"2025-09-05T22:34:34.740Z","repository":{"id":137308534,"uuid":"104662373","full_name":"widgetii/mera-scales-java-pure-driver","owner":"widgetii","description":null,"archived":false,"fork":false,"pushed_at":"2017-09-24T17:19:38.000Z","size":915,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-03T04:25:16.487Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/widgetii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-24T17:19:21.000Z","updated_at":"2020-04-11T10:03:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"7f2487d1-2a3d-474b-9d5c-85f2c2487ffb","html_url":"https://github.com/widgetii/mera-scales-java-pure-driver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/widgetii/mera-scales-java-pure-driver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Fmera-scales-java-pure-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Fmera-scales-java-pure-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Fmera-scales-java-pure-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Fmera-scales-java-pure-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/widgetii","download_url":"https://codeload.github.com/widgetii/mera-scales-java-pure-driver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Fmera-scales-java-pure-driver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273832375,"owners_count":25176262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T17:35:12.080Z","updated_at":"2025-09-05T22:34:34.690Z","avatar_url":"https://github.com/widgetii.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Драйвер и приложение для тестирования весов \"Мера\"\n==================================================\n\nСборка\n------\n\nВ корне запустить команду\n\n    ant\n\nJAR файлы будут созданы в директории `target`.\n\n\nСтруктура проекта\n-----------------\n\nПроект состоит из нескольких модулей (подпроектов), каждый в своей директории:\n\n- `pjcomm` - доработанный и исправленный [PureJavaComm][]. Изменения:\n    - Исправлен баг [#38](https://github.com/nyholku/purejavacomm/issues/38).\n    - API дополнено возможностью передачи настроек по умолчанию при открытии\n      порта.\n    - В API добавлены классы, объединяющие настройки, обычно передаваемые как\n      отдельные параметры методов, но требующиеся в любом приложении.\n      Используются в том числе и в качестве параметров по умолчанию.\n    - Исправление множества предупреждений компилятора.\n    - Множественный рефакторинг с целью приведения кода к виду, более привычному\n      для Java программистов. PureJavaComm написан Си-программистами в\n      характерном для них стиле, а потому непонятно: кто и как будет развивать\n      PureJavaComm. Точно не Java-программисты, которых отучают писать такой\n      код.\n- `driver` - асинхронный драйвер для работы с весами. Зависит от `pjcomm`.\n  Содержит:\n    - клиентское API,\n    - API драйверов,\n    - драйвер для протокола [Byte9][],\n    - драйвер для автопротокола,\n    - тесты.\n- `tester` - тестовое приложение. Зависит от `driver`.\n\n[PureJavaComm]: https://github.com/nyholku/purejavacomm\n[Byte9]:        http://www.mera-device.ru/scales.pdf\n\nМодули можно собирать все вместе или по отдельности, при условии что\nзависимости модуля уже собраны.\n\n\nТестовое приложение\n-------------------\n\n### Запуск ###\n\nПосле сборки приложение для тестирования можно запустить командой\n\n    java -jar target/ru.aplix.mera.tester.jar\n\n\n### Порядок работы ###\n\nИз выпадающего списка выберите порт, к которому подключено устройство (весы)\nи протокол работы с ним. Например, `COM1 (Byte9)` означает устройство,\nподключённое к порту `COM1` и работающее по протоколу `Byte9`.\n\nПосле выбора порта осуществляется подключение к устройству. Статус подключения\nможно видеть в строке состояния внизу.\n\nЧтобы начать взвешивание, нажмите кнопку `Взвешивать`. Чтобы остановить\nвзвешивание - нажмите её же (надпись на кнопке во время взвешивания изменится на\n`Остановить`). При выборе другого устройства взвешивание останавливается\nавтоматически. Состояние и результат взвешивания отображается справа от кнопки.\n\nВсе действия и результаты работы также отображаются в основном окне приложения\nв виде текстовых сообщений.\n\n\n### Настройки ###\n\nНастройки влияют на работу драйверов и могут привести к неработоспособности.\n\nВ приложении предусмотрены разные типы настроек:\n\n- Общие настройки влияют на все устройства.\n- Настройки `Byte9` - только на устройства, работающие по этому протоколу.\n\nЕсли значение настройки не указано, то используется значение по умолчанию,\nзаданное драйвером. В противном случае используется указанное значение.\nУ некоторых настроек есть выпадающий список возможных, но не обязательно\nрабочих значений. Значения также можно указывать вручную.\n\nПоскольку нет способа определить автоматически, подключено ли устройство к\nвыбранному порту, драйвер периодически пытается подключиться к нему. В случае\nуспеха попытки прекращаются. Иначе драйвер пытается подключиться снова и снова,\nпостепенно увеличивая временной интервал между попытками. Границы этого\nинтервала в миллисекундах как раз и задаются настройками\n*Наименьшая задержка переподключения* и *Наибольшая задержка переподключения*.\n\nЗначение настройки *Период взвешивания* задаёт время в миллисекундах между\nвзвешиваниями. При изменении веса состояние меняется на \"Загружено\" или\n\"Разгружено\". Если три взвешивания подряд показывают одинаковый вес, то этот вес\nсчитается окончательным (стабильным). Этот вес и отображается. Данная настройка\nне влияет на устройства, которые самостоятельно рапортуют о результатах\nвзвешивания, например на устройства, работающие по автопротоколу.\n\nНастройки `Byte9`:\n\n- *Время ожидания подключения* - сколько времени ждать, пока порт не\n  освободится. Имеет значение, если порт используется другим приложением.\n- *Повторных посылок команды*. Команда, посланная весам, не всегда ими\n  выполняется с первого раза. Иногда приходится посылать команду повторно.\n  Данная настройка указывает, сколько раз можно пытаться это сделать.\n  0 означает, что команда не будет послана во второй раз в случае ошибки.\n  В случае, если команду послать так и не удалось, соединение с устройством\n  считается разорванным, все операции с ним (например, взвешивание)\n  прекращаются, а драйвер начинает попытки переустановить соединение.\n- *Время ожидания ответа* задаёт время в миллисекундах, которое драйвер будет\n  ожидать ответа от устройства. Если в течение отведённого времени ответ так и\n  не придёт, драйвер либо попытается послать команду повторно, либо выдаст\n  ошибку соединения, в зависимости от того, сколько повторных попыток отправки\n  команды разрешено сделать предыдущей настройкой.\n- *Задержка отправки данных* - время в миллисекундах между отправкой адреса и\n  тела пакета, содержащего команду (см. [Byte9][]). Какая-то задержка\n  необходима, поскольку без неё весы не отвечают.\n\n\n### Устройство-пустышка ###\n\nПорт этого устройство отображается в выпадающем списке как `TEST (Dummy)`.\n\nЭто устройство имитирует загрузку и разгрузку весов случайным весом каждые 10\nсекунд. Оно служит лишь для проверки внутренней функциональности приложения.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidgetii%2Fmera-scales-java-pure-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwidgetii%2Fmera-scales-java-pure-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidgetii%2Fmera-scales-java-pure-driver/lists"}