Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 e9c927ed4316abc7e2bb61356ecd08b8
Профессиональная разработка ПО - Web, Desktop, System, Embedded

Калибратор Блока Управления лазером / Calibrator of laser control unit

Добавлено 15 сен 2016 в 16:43
Программа калибровки блока управления(БУ) лазером. Интерфейс к БУ - обычный COM-порт, БУ может быть несколько.
Задачи калибровки: считывание текущих калибровок, сохранение их в файл, калибровка линий задержки лазерных импульсов. Требования к калибровке - расхождение в диапазоне задержки сигнала не должна превышать половины наносекунды. Расчет параметров производится по специфической формуле для прошивки БУ. Была использована клиент-серверная архитектура приложения. В качестве GUI использовалась связка Html+jQuery+NodeWebkit, при этом возможность использовать любой браузер осталась. Так же была достигнута идентичность GUI во всех основных браузерах. Весь основной функционал был реализован отдельным приложением с собственным веб-сервером, через который и работает GUI. Выбор данной архитектуры был вызван в связи c наличием в winapi глюков, а так же его переусложненностью для создания GUI. Так же необходимо было оставить возможность легкой доработки GUI для других языков, т.к. лазеры поставляются и в другие страны, а в перспективе и кросплатформенность.
Процесс калибровки реазлизован в виде пошагового мастера с картинками.

Program for precise tuning laser control unit(LCU). LCU have 2 controllers: FPGA and Mega.
Interface to LCU - com-port. Few LCU can be connected to one PC.
Calibration logic: get current calibration parameters and save them to file, then step-by-step calibration of every line of laser impulse delays.
Demands: delay calibration precise must be from -0,25 to +0,25 nanoseconds. It calculating with complicated formula and unique for every controller and LCU.

Technologies
GUI: NodeWebkit, jQuery, Font Awesome
Core: SP-Forth, web-sockets
6c0989c5cf 5d64cfe454 E7ed44bc1c