Отправка файла через последовательное соединение - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь написать приложение Windows Forms на Visual C ++, которое отправляет GCode на 3D-принтер.GCode может считываться так же, как любой текстовый файл, и для каждой строки файла существует только одна команда GCode для принтера.

Моя цель - передать первую строку / команду файла на принтер, дождаться подтверждения от принтера, которое представляет собой строку с надписью "ok", а затем перейти к следующей строке файлаи передать его, и т. д. Я впервые программирую с приложениями Windows Form, и я не уверен, как это сделать.Моя идея кода выглядела бы примерно так, как в этом псевдокоде, но я открыт для предложений, если есть лучший способ.

Редактировать: я обновил свой код до того, что у меня есть до сих пор.Я до сих пор не выяснил, как ждать сигнала подтверждения "ok" от последовательного соединения или как заставить его работать в своем собственном потоке.

    String^ fileName = "C:\\LUPrint\\profiles\\graphene\\temp.gcode";
    try
    {
        StreamReader^ din = File::OpenText(fileName);

        String^ str;
        int count = 0;
        while ((str = din->ReadLine()) != nullptr)
        {
            count++;
            this->serialPort->WriteLine() = str;
            // Find way to wait for ack
        }
    }
    catch (Exception^ e)
    {
        if (dynamic_cast<FileNotFoundException^> (e))
            this->textBox1->Text = "File not found";
        else
            this->textBox1->Text = "Problem reading file";
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...