Skip to content

bsv/r245

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 

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

No packages published

Languages

  • C++ 67.3%
  • C 28.8%
  • Python 3.9%