Eigene GitHub Erweiterung in MakeCode über URL laden

Ich habe mit MakeCode in der JavaScript im Explorer eine Datei i2c.ts hinzu gefügt. Der Code funktioniert und es werden auch eigene Blöcke angezeigt.

Jetzt habe ich in einem Public GitHub Repository die Datei hinzu gefügt.

Wie kann ich jetzt in MakeCode über den URL die Erweiterung laden?

Es kommt die Meldung:

Was muss ich in GitHub dazu einstellen / hinzu fügen?

Vielen Dank
Lutz

1 „Gefällt mir“

Hallo Lutz,

ich hatte mal eine Anleitung auf hackster dazu erstellt. Die stimmt soweit noch, allerdings benötigst du jetzt nicht mehr die microbitversion sondern kannst alles mit Makecode füe Calliope machen.

Viel Erfolg

Michael

2 „Gefällt mir“

Ich habe es geschafft. Es ist zwar möglich, mit makecode.calliope.cc ein leeres Repository anzulegen. Die Anmeldung mit dem Entwicklertoken funktioniert auch.

Dann scheitert der Versuch, es mit der neuen URL zu importieren, an der Stelle:

Hier kommt makecode.microbit.org zum Einsatz. Der legt nämlich die fehlenden Dateien im Repository an. Das scheint ein Fehler bei makecode.calliope.cc zu sein.

Zurück bei makecode.calliope.cc ‚Importiere URL…‘ passiert nichts - wenn vom ersten Versuch schon ein Projekt in der Liste ‚Meine Projekte‘ steht. Das muss erst wieder gelöscht werden. (Alle anzeigen - Haken rein - Löschen) Zurück - Importieren - Importiere URL. Und jetzt öffnet makecode.calliope.cc tatsächlich das GitHub Repository.

Dann eine eigene .ts-Datei anlegen und über die Zwischenablage Code rein kopieren. Hochladen funktioniert dann. Es wird nach der Lizenz gefragt. Versionsnummern…

Ich habe das gleich intensiv genutzt und neu programmierte Erweiterungen für vier i2c Module (6 DIP Schalter oder 5-Way-Switch, LCD 16x2 mit und ohne RGB, Qwiic OpenLog, RTC Uhr) veröffentlicht. Dazu drei Demo-Projekte:

calliope-net (github.com)

Der Test verläuft erfolgreich. Viele i2c Module gleichzeitig am Calliope am linken Grove Steckverbinder, nur mit USB Kabel - ohne zusätzliche Stromversorgung. Lückenlose Dateien auf der Speicherkarte (Uhrzeit, Temperatur, Lagesensor, …) im Dauerbetrieb…

FG Lutz

2 „Gefällt mir“

Bei mir funktioniert es mit 1. Importieren, 2. dein github repository
neu erstellen → Los geht´s!
Dann sollten alle Dateien da sein.



1 „Gefällt mir“

Deine Erweiterungen, speziell die zur Uhr ist super! Sie ist die einzige die sich nicht nach einer Weile aufhängt. Wenn Du Interesse hast schicke ich Dir einen aktuellen Callicolorprototyp, der hat nämlich den besagten Uhrenbaustein. Schicke mir einfach ein private Nachricht mit deiner Adresse und nach meinem Urlaub denke ich dann hoffentlich dran :wink:

Viele Grüße

Michael

1 „Gefällt mir“

Ja, ein Repository entsteht bei mir auch. Aber da ist nur eine Datei .gitignore drin. Kommt bei dir überhaupt die Meldung auf meinem Bild: Wir müssen ein paar Dateien…? Eigentlich sollten doch gleich die Dateien angelegt werden.

Ich habe Windows 11 und Edge, vielleicht liegt’s daran.


Noch eine Frage: Wie bekomme ich ein Bild hier rein:

Eine Datei icon.png ist darin vorhanden:
(https://github.com/calliope-net/i2c-test/blob/master/icon.png)
Was fehlt noch, damit die angezeigt wird?

1 „Gefällt mir“

Hallo Lutz,

die Bilder erscheinen nur bei Erweiterungen die geprüft wurden. Diese erscheinen dann in der nächsten Version von makecode entweder direkt, wenn sie in der prefered-Liste stehen oder sind zumindest bequem suchbar.
Wäre natürlich nett wenn die Bilder immer erscheinen würden. Dazu müsstest du bei makecode für den microbit auf github bei Issues eine Featureanfrage stellen, da die Version für den Calliope davon abgeleitet ist.

Viel Erfolg!

Michael

1 „Gefällt mir“

Die listen sind so unterschiedlich, dass gerne direkt bei pxt-calliope ein issue oder pull request erstellt werden darf - der Abgleich mit den Microbit listen findet nur sporadisch statt.

1 „Gefällt mir“

@Juri Bei der Methode, mit makecode.microbit.org die erforderlichen Dateien ins Repository zu bekommen, bearbeite ich ja hinterher ein microbit Projekt und kein Calliope Projekt.

Jedenfalls die Einstellung für Calliope 2.x mit 32 KB RAM ist verschwunden.

Der sichtbare Unterschied ist, dass in pxt.json „core“ drin steht und bei Calliope 2.x steht dort „mini2“.

Reicht es, den Eintrag von „core“ in „mini2“ zu ändern, um ein Calliope 2.x Projekt mit 32 KB RAM zu bekommen, und mit GitHub weiter zu pflegen?

Seit es möglich ist, Dateien von der Speicherkarte zu lesen, kann ich RAM gut gebrauchen. Es gab dabei schon Abstürze.

Vielen Dank
Lutz

1 „Gefällt mir“

Du kannst über Erweiterungen nach „mini2“ suchen und durch laden der Erweiterung die 32KB Einstellungen bekommen. Andersherum kannst du aus einem Calliope 2.x-Projekt auch eines für den Calliope 1.x machen, in dem du in der JavaScript-Ansicht die Erweiterung entfernst.

Das gilt für die aktuelle Version von MakeCode. Mit dem nächsten großen Versionssprung ändert sich das ggf. noch mal, aber da gibt es mit der dann kommenden Beta auch noch die Möglichkeit Feedback zu geben :slight_smile:

Edit: Das ändern der pxt.json wie von dir beschrieben sollte zum selben Ergebnis führen.

1 „Gefällt mir“