WIP to G-code export parallelization through pipelining:
GCodeProcessor is called during the G-code export,
the G-code is no more reopened and re-read, but it is pipelined
from the G-code generator.
This commit is contained in:
Vojtech Bubnik 2021-09-08 15:06:05 +02:00
parent a8a7efddc5
commit beee18f229
7 changed files with 57 additions and 28 deletions

View file

@ -186,7 +186,7 @@ public:
private:
class GCodeOutputStream {
public:
GCodeOutputStream(FILE *f) : f(f) {}
GCodeOutputStream(FILE *f, GCodeProcessor &processor) : f(f), m_processor(processor) {}
~GCodeOutputStream() { this->close(); }
bool is_open() const { return f; }
@ -209,6 +209,7 @@ private:
private:
FILE *f = nullptr;
GCodeProcessor &m_processor;
};
void _do_export(Print &print, GCodeOutputStream &file, ThumbnailsGeneratorCallback thumbnail_cb);