private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            stop();

            _lidarService.Dispose();
            _lidarService = null;
        }
        void updatePortList()
        {
            cbPort.Items.Clear();
            cbPort.Items.AddRange(LidarServiceUART.GetPorts());

            if (cbPort.Items.Count > 0)
            {
                cbPort.SelectedIndex = 0;
            }
        }
        public MainForm()
        {
            InitializeComponent();

            ConfigButton = true;

            _stopWatch = new Stopwatch();

            updatePortList();

            _lidarParser            = new LidarSensorParser();
            _lidarParser.OnWarning += _lidarParser_OnWarning;

            _lidarService = new LidarServiceUART();
            _lidarService.OnLidarDataReady += _lidarService_OnLidarDataReady1;
            _lidarService.OnStart          += _lidarService_OnStart;
            _lidarService.OnStop           += _lidarService_OnStop;
            _lidarService.OnLog            += _lidarService_OnLog;

            pbRealtime.Image = new Bitmap(400, 400);
        }