forked from BACuTPOH/r245
-
Notifications
You must be signed in to change notification settings - Fork 1
bsv/r245
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Репозиторий для драйвера считывателя R245. Каждый коммит описываем тут. _________________________________________________________________________ Соглашение об именовании: Имена переменным даём строчные, при необходимости используем нижнее подчёркивание sample_variable Константы - прописными CONSTANT_MAIN Имена функций - MyNewFunction() _________________________________________________________________________ TODO-List: - Определиться, каким способом будут добавляться транзакции (с помощью таймера или отдельным потоком). Пока используется таймер. - Сделать учет событий программы.(открытие, закрытие программы, изменение настроек). Все события записываются в один log файл. - Разделить несовместимые по времени события. Исключить ситуации, когда сигналы приходят во время операций с данными. При таких случаях программа иногда аварийно завершается. _________________________________________________________________________ Коммиты: 1. README + демонстрационный проект на питоне. 2. Заголовочный файл драйвера 3. Добавил в README соглашение по поводу стиля кода и TODO-лист 4. Написал функции: R245_InitDev, R245_PacketForm, R245_UpdateCRC, R245_CRCCount, R245_PacketSend, R245_CorrectFA, R245_AuditEn, R245_GetVersion Для ожидания ответа от считывателя использовал функцию WaitForSingleObject. 5. Поправил исходник, чтобы можно из него сделать dll. 6. Добавил схему GUI. 7. Отредактировал интерфейс программы. Добавил окно настроек. В драйвере написал функции: R245_API FT_STATUS R245_Init(); R245_API void R245_Destroy(); R245_API R245_DEV_INFO * R245_GetDevInfo(); R245_API FT_STATUS R245_CloseDev(DWORD num_dev); Также добавил описание структуры для хранения данных об устройствах (может потом стоит её удалить): struct_r245_dev_info 8. Выложил одобренный интерфейс. 9. Добавил в драйвер функции для работы с памятью транзакций считывателя. Для примера, реализовал копирование записей из журнала считывателя в таблицу монитора по нажатию на кнопку "Очистить". 10. Реализовано меню настроек. Считывание и сохранение настроек происходит посредством xml файла определенной структуры. После настройки и подключения нужных устройств появляется возможность следить за поступающими транзакциями. Пока в тестовом режиме транзакции по таймеру каждые 2 секунды получаются от считывателя и отбражаются в окне монитора. При этом id устройств и тегов заменяются на символьные имена, указанные в окне настроек. 11. Добавил парсер для файла журнала в стиле sax. Теперь можно добавлять события в файл журнaла с помощью функции addLogNode() класса SettingsObj. 12. Начал реализовывать обработку событий. 13. Обработку событий нужно проверить. Интерфейс программы теперь масштабируется. 14. Начал реализовывать фильтрацию - нужно переопределять filterAcceptsRow(), чтобы можно было делать фильтрацию сразу по нескольким колонкам. 15. Доделал фильтрацию, как она должна работать - теперь нужно её заставить это делать. 16. Фильтрация - работает всё, кроме даты и времени. 17. Фильтрация работает по всем полям. 18. Реализована тестовая версия отчетов. 19. Псевдонимы редактируются в реальном времени. 20. Добавлено событие "реакция оператора". 21. Теперь показывается окно progressDialog в местах, где требуется обработка большого объема данных. Увеличина скорость загрузки журнала в окно монитора. Теперь программа быстрее реагирует на выбор "только информация о метках" в окне монитора. 22. Переделал отчеты с pdf на csv, который легко открывается в excel. Если будет нужно, то сохранять в xls тоже можно,но процесс длительный. Добавил фильтрацию по типам событий. Некоторые куски кода задокументировал в стиле doxygen, чтоб автоматизировать процесс документации кода. Теперь кнопка "Очистить" в окне монитора становится неактивной на время получения транзакций от считывателя. Добавил в исходники драйвера функцию R245_ClearTrans. Пока не компилировал в библиотеку. 23. Добавил копку для создания файлов настроек и журнала в интерфейс программы. Программа показывает окно ошибки, если не нашла библиотеки r245.dll или ftd2xx.dll в каталоге с программой. 24. Добавил черновой вариант руководства пользователя. Изменил "Номер устройства" на "ID/Имя устройства" во вкладке параметров фильтрации в окне монитора. 25. Исправил баг с большими буквами. Теперь всё корректно сохраняется в файлы. 26. Переделал таблицу с устройствами, но пока ничего не проверял. 27. Добавил контекстное меню в таблицу с устройствами. 28. Окна разворачиваются на весь экран. Побольше шрифт стал в сообщениях. Теперь два события записываются в лог, когда оператор реагирует на сообщение (при потере и обнаружении тага). Добавлены раскрывающиеся списки в таблице с событиями для имен меток и устройств. Вроде работает замена псевдонимов в зависимых таблицах. Всё необходимо протестировать. 29. Поправил документацию (но её всё равно надо дописать). 30. Поравил баг с вылетанием при изменении синонимов меток, загруженных из файла настроек (SettingsWindow::updateTagList()).
About
Monitoring system for reader
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 67.3%
- C 28.8%
- Python 3.9%