| 579 | } |
| 580 | |
| 581 | void 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 | |
| 611 | PrintStoppedReason DataTransfer::ReadPrintStoppedInfo() noexcept |
| 612 | { |
no test coverage detected