MCPcopy Create free account
hub / github.com/Duet3D/RepRapFirmware / ReadPrintStartedInfo

Method ReadPrintStartedInfo

src/SBC/DataTransfer.cpp:581–609  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

579}
580
581void DataTransfer::ReadPrintStartedInfo(size_t packetLength, const StringRef& filename, GCodeFileInfo& info) noexcept
582{
583 // Read header
584 const PrintStartedHeader *header = ReadDataHeader<PrintStartedHeader>();
585 info.Init();
586 info.numFilaments = header->numFilaments;
587 info.numLayers = header->numLayers;
588 info.lastModifiedTime = header->lastModifiedTime;
589 info.fileSize = header->fileSize;
590 info.layerHeight = header->layerHeight;
591 info.objectHeight = header->objectHeight;
592 info.printTime = header->printTime;
593 info.simulatedTime = header->simulatedTime;
594 info.isValid = true;
595
596 // Read filaments
597 memset(info.filamentNeeded, 0, ARRAY_SIZE(info.filamentNeeded) * sizeof(float));
598 const char *data = ReadData(packetLength - sizeof(PrintStartedHeader));
599 size_t filamentsSize = info.numFilaments * sizeof(float);
600 memcpyf(info.filamentNeeded, reinterpret_cast<const float *>(data), info.numFilaments);
601 data += filamentsSize;
602
603 // Read file name
604 filename.copy(data, header->filenameLength);
605 data += header->filenameLength;
606
607 // Read generated by
608 info.generatedBy.copy(data, header->generatedByLength);
609}
610
611PrintStoppedReason DataTransfer::ReadPrintStoppedInfo() noexcept
612{

Callers 1

ExchangeDataMethod · 0.80

Calls 2

copyMethod · 0.80
InitMethod · 0.45

Tested by

no test coverage detected