Device Manager
3/20/2020 • ☕️ 2 min read
What is it?
Device Manager is a set of software components that helps to abstract devices for Circle Laser Writing System. I was doing this project in laboratory of diffractive optics at IA&E SB RAS as part of my education at NSU. I have fantastic time here learning system-level programming and I produced amazing work that is still used. Most of user interfaces I implemented are used without major changes.
Architecture
Device Manager consists from:
- SDK to implement devices in C++
- Core module that loads device libraries and manages their configurations
- TCP server with custom command-based protocol for remote control and configuration
- UI client implemented in C#
Features
Device Manager is very useful :)
- It allows multiple configurations of virtual devices (aka virtual machines). The whole CLWS is represented as single virtual device with multiple device interfaces that can be linked to interfaces of real or software-emulated devices
- It can load and apply configurations at runtime without recompiling control program