Bug in binary gcode specification, thumbnail block
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 55/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- cpp
- Bereich
- documentation
Rechercherichtung
Beginne mit dem Thumbnail-Abschnitt in doc/specifications.md und vergleiche dessen Blocklayout mit src/LibBGCode/core/core.cpp und dem verlinkten Parser ThumbnailBinaryGCode.m. Bestätige, wie die Thumbnail-Daten und die nachfolgenden vier Bytes dargestellt werden, und aktualisiere anschließend die Spezifikation, sodass das dokumentierte Layout dem beobachteten Format entspricht.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I wrote my own binary gcode parser ThumbnailBinaryGCode.m because your sample code
core.cpp had too many dependencies for me to get it to compile. In that core.cpp, block_parameters_size() claims that the block header for a Thumbnail block is longer than the others by two sizeof(uint16_t). This matches what the thumbnail spec says, but it isn't actually true.
In reality, a thumbnail block, is the same length as all the other blocks. The following data is either a PNG file, a QOI file, or a JPG file. Following the compressed data are 4 bytes that I don't know what they are, and the next block starts after that. (both PNG and QOI start with a 4 byte magic number, then the width and height.
Since core.cpp doesn't actually try to show the thumbnail, that code doesn't detect the error.
Please correct the thumbnail spec to say that there is a single sizeof(uint16_t) parameter at the end of the block, then the uncompressed data of the thumbnail, then 4 bytes of ?what?, and then the next block.
- Vorherrschende Sprache
- G-code
- Sterne
- 73
- Forks
- 23
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus prusa3d/libbgcode
-
Extending bgcodeOffen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
Broken on big-endian architecturesEvtl. vergeben @onitake hat das vor 306 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
-
PyPI releaseEvtl. wieder frei @tomasbedrich hat das vor 1008 Tagen übernommen, und es ist kein Pull Request offen. Offen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
Alle Issues in prusa3d/libbgcode
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
TarteelAI/quranic-universal-library#916 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
phivk/rubiks-lab#33 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Publish Showroom setupOffenenhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
sync-en
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 1 Tag
-
sync-en
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 2 Tagen