Calliope Mini muss jedes Mal entfernt und wieder hinzugefügt werden

Hallo,

wir hatten anfangs schon Probleme mit dem Calliope, weil der Fehler „DFU Service not found“ aufgetreten ist. Dieses Problem ist mittlerweile Gottseidank behoben.

Leider kam dadurch ein neues Problem zutage: nach einmaliger Übertragung eines Programms bricht die Verbindung ab, die Schüler müssen ihren Calliope aus den Bluetooth-Geräten manuell entfernen („ignorieren“) und können sich dann erst wieder manuell neu verbinden. Das muss jedoch bei jeder Übertragung gemacht werden.

Das ist wirklich müßig und sicher nicht Sinn der Sache, gibt es dafür eine Lösung?

Viele Grüße
Tibor

Hallo @tiborc

ich vermute, dass ihr MakeCode nutzt?
Das ist ein aktuelles Bluetooth Problem. Dies wird erst mit dem kommenden Update behoben werden, weil sich ein Fehler im Kopplungsmodus eingeschlichen hat. Ihr könnt probieren, die Projekte mit „Keine Kopplung erforderlich“ in den MakeCode-Einstellungen auszuspielen (vorher das Muster in der App eingeben). Dann sollte allerdings am Ende der Stunde das Startprogramm auf den mini übertragen werden, weil das Muster ansonsten nicht auf dem mini angezeigt wird.
Die frisch aktualisierte Beta macht mobil momentan leider auch Probleme, deshalb ist das aktuell leider keine weitere Alternative.
Solltet ihr Open Roberta nutzen, wäre das verwunderlich, weil dort keine wirkliche Kopplung geschieht und deshalb die Geräte auch nicht ignoriert werden müssen – außer sie wurden vorher einmal mit MakeCode genutzt. Dann muss man das einmalig machen (bis das Update eingespielt wird).

Grüße
Jörn

Hallo @joern.alraun, das stimmt, wir benutzen MakeCode.
Vielen Dank für den Hinweis, wir werden dann erst mal auf OpenRoberta umswitchen, in der Hoffnung, dass es dort funktioniert. Ich gebe morgen mal eine Rückmeldung.

Viele Grüße
Tibor

Hallo @tiborc, Hallo @joern.alraun,
seit euren letzten Posts sind bereits einige Monate vergangen.
Gibt es Neuigkeiten mit der Bluetooth-Kompatibilät zwischen dem Calliope und dem MakeCode-Editor?
Ich persönlich setze seit Jahren auf den MakeCode-Editor und möchte die Oberfläche gerne auch auf den Tablets in den Klassen nutzen. Leider bricht die Bluetooth-Verbindung zwischen dem Calliope und den Tablets weiterhin ständig ab, nachdem ich ein Programm übertragen habe. In Verwendung sind aktuell die Calliopes in der Version 2.0.
Gibt es bereits einen neuen Stand (Software, Firmware…) der das Problem mit dem Verbindungsabbruch per Bluetooth löst?

Hallo @marhar,

benutze doch bitte Microsoft MakeCode for Calliope mini, in der kommenden Woche soll dieser zur finalen Version werden. Das Update der App kommt dann ebenfalls heraus und dann gibt es ein paar tolle Überarbeitungen und Features.

Grüße
Jörn

Hallo @joern.alraun,
deine Aussage klingt vielversprechend und ich werde die performantere Oberfläche, als auch die App in den kommenden Wochen testen.
Bin gespannt :slight_smile:

Hallo @marhar,

ein kurzes Update… Die Beta-Version hat noch zwei Probleme, die wir lösen möchten. Falls du sie getestet hast, ist dir evtl. aufgefallen, dass man aktuell nur zwischen 16 und 32 KB wechseln kann, wenn man danach einen reload macht…
Bei der App gibt es seit dem Sicherheitsupdate von Apple letzte Woche auch noch ein Problem, an dem wir dran sind.

Beste Grüße
Jörn

Die App ist jetzt aktualisiert. Das MakeCode Update kommt hoffentlich auch in den kommenden Tagen.

Habe es heute mit MakeCode getestet. Calliope muss nicht mehr manuell entfernt („ignorieren“) werden, allerdings bricht die Verbindung nach jeder Übertragung ab und muss neu erstellt werden, (Calliope in den Pairing-Modus setzen). In OpenRoberta ist die Bluetooth-Verbindung stabil. Ist das bei Euch auch so? Gibt es aktuelle Entwicklungen bei MakeCode?

MakeCode ist inzwischen in einer neuen Version verfügbar, sofern du die neuste Version der App (2.5) nutzt und die aktuelle Version von MakeCode sollte das von dir geschilderte Problem nicht auftauchen. Allerdings solltest du auch das jeweilig sinnvolle iOS Projekt (1.3/2.0) nutzen, damit es möglichst gut funktioniert. Dieses findest du auf der MakeCode Startseite.

Grüß
Jörn

Besten Dank für die schnelle Antwort. Ich habe tatsächlich das falsche Template benutzt. Bluetooth-Verbindung ist nun stabil :slight_smile:

Viele Grüße

Robert

1 „Gefällt mir“

Leider funktioniert es bei mir in der Schule mit den neuen Calliope 2.1 und iPads auch immer wieder anders.

  1. Das Zahnrad ist immer noch verdeckt, ich kann in der App nicht nachgucken, ob 1.3 oder 2.0 eingestellt ist.
  2. Mit dem Template 2.0 scheint Partial Flashing zu funktionieren. Nach einer Änderung geht die Übertragung (in dem Kreis bis 100%) schneller. Wenn ich dann ein anderes 2.0 Projekt aus MakeCode übertragen will, dann wird das auch schneller übertragen, wenn es sich kaum von dem vorherigen unterscheidet. Es geht aber schief, wenn Partial Flashing sich entscheiden müsste, dass keine Übereinstimmung gefunden wird und wieder alles neu zu übertragen ist.
    Dann koppelt es erfolgreich, beginnt die Übertragung und der Kreis wird dann rot.
    Wenn aus dem Flash Programm 25 geladen wurde, geht die Übertragung wieder. Aber immer nur für das selbe 2.0 Projekt.
  3. Wenn ein Projekt per Bluetooth übertragen wurde und danach soll eine Änderung übertragen werden, dann geht die zweite Übertragung manchmal sofort ohne (A+B + Reset) und manchmal müssen zuvor die Tasten gedrückt werden. Was ist denn da der Unterschied?
  4. Wenn ich auf dem Calliope 2.0 / 2.1 konsequent das 1.3 Template nehme, dann muss ich zwar immer (A+B + Reset) drücken und die lange Übertragung abwarten, aber es koppelt wenigstens immer - ohne zwischendurch das Startprogramm 25 wieder neu zu laden.
  5. In den Bluetooth Einstellungen auf dem iPad erscheint kein Calliope mehr, oder jedenfalls nicht immer. Was ist denn da richtig und zu erwarten?
  6. Was ist zu befürchten, wenn in der nächsten Woche die 10 iPads und 10 Calliope untereinander vertauscht werden? Das Muster neu rein malen und alles ist gut? Oder kommt die Bluetooth Konfiguration durcheinander?

Zu Punkt 6 – am besten in der App Muster nicht speichern einstellen und dann ist alles so, wie es bislang war. Warum bei dir die Probleme mit den 2.0 Template sind, wenn Partial Flashing nicht geht. Das ist ja eigentlich immer beim ersten Übertragen der Fall, darum ist es komisch, dass es erst geht und dann nicht. Das prüfen wir aber gerade durch und schauen, welche Fehlermeldungen da erscheinen.

Was ist denn der Unterschied zwischen den 3 Templates bei MakeCode - außer der Voreinstellung 16 KB RAM und 32 KB RAM? Gibt es einen Unterschied zwischen ‚Neues Projekt‘ und ‚Neues Projekt (iPad) Calliope mini 1.x‘?

Wenn ich die selbe .hex-Datei (ohne sie mit einem Editor anzufassen) vom iPad per Bluetooth oder vom Windows per USB-Kabel übertrage, ist dann auf den Calliope immer das selbe drauf? Oder wird beim iPad noch Bluetooth Code mit übertragen?

Und hängt das vielleicht davon ab, welches Template ich am Anfang gewählt habe?

Wie sehe ich einer .hex-Datei an, mit welchem Template sie erzeugt wurde?

Lutz

Was für ein iPad nutzt du denn? Bei unseren iPads (iPad, iPad Air, iPad Pro) sehe ich das Zahnrad…

iPad 7.Gen und 8.Gen. Das Problem begann mit iPadOS 16. Vielleicht habt ihr noch die 15, da war das Zahnrad zu sehen…

Wenn ich es drehe ist es auch verdeckt, nur näher am Fragezeichen.

Calliope mini App Version 2.5

Ich schreibe jetzt mal zu der Liste, weil ich sie nun sehr häufig durchgespielt habe.
Generell eine Sache, die Aufgefallen ist. Es gibt einige Calliope mini 2.x bei denen der Auslieferungszustand nicht den kompletten Bluetooth-Teil im Softwarecode enthält. In diesem Fall kann man das Muster sehen, aber es findet keine Kommunikation zwischen iPad und Calliope mini statt. Das Problem ist (wie im Text unten auch beschrieben) über den Aufruf von Programm 25 aus dem Flashspeicher zu beheben. Generell empfehle ich immer das Programm zu nehmen und nicht aus der App heraus das Demo-Programm. Allein schon, weil es so viel schneller geht!

  1. Das Zahnrad ist immer noch verdeckt, ich kann in der App nicht nachgucken, ob 1.3 oder 2.0 eingestellt ist.

Das stimmt, ich habe es nochmal kontrolliert. Auf dem einen iPad war iOS15. Das passen wir an.

  1. Mit dem Template 2.0 scheint Partial Flashing zu funktionieren. Nach einer Änderung geht die Übertragung (in dem Kreis bis 100%) schneller. Wenn ich dann ein anderes 2.0 Projekt aus MakeCode übertragen will, dann wird das auch schneller übertragen, wenn es sich kaum von dem vorherigen unterscheidet. Es geht aber schief, wenn Partial Flashing sich entscheiden müsste, dass keine Übereinstimmung gefunden wird und wieder alles neu zu übertragen ist.

Das Template 2.0 hat Partial Flashing integriert, ja. Bei den eben nochmals durchgeführten Tests (unter iOS15 und iOS16) verbindet sich nach dem Überspielen der Calliope mini immer wieder automatisch (das habe ich in den Einstellungen aber auch so aktiviert gelassen). Es geht auch mit komplett anderen 2.0 Programmen und alten Programmen, die Partial Flashing ebenfalls aktiviert haben.

Dann koppelt es erfolgreich, beginnt die Übertragung und der Kreis wird dann rot.

Das ist bei mit nicht so! Der Kopiervorgang findet – wie erwartet – statt. Ich vermute, dass es bei dir dann keine 32KB Programme sind (mehr dazu unten).

Wenn aus dem Flash Programm 25 geladen wurde, geht die Übertragung wieder. Aber immer nur für das selbe 2.0 Projekt.

Das ist egal, es gehen 2.0 oder 1.x Programme. Das Demo-Programm ist übrigens auch ein 1.x Programm.

  1. Wenn ein Projekt per Bluetooth übertragen wurde und danach soll eine Änderung übertragen werden, dann geht die zweite Übertragung manchmal sofort ohne (A+B + Reset) und manchmal müssen zuvor die Tasten gedrückt werden. Was ist denn da der Unterschied?

Das liegt anscheinend an iOS, irgendwann wird nicht mehr wirklich gesucht und der mini muss aktiv die Verbindung fordern. Hier klappt ein Neustart des Systems, dann ging es wieder.

  1. Wenn ich auf dem Calliope 2.0 / 2.1 konsequent das 1.3 Template nehme, dann muss ich zwar immer (A+B + Reset) drücken und die lange Übertragung abwarten, aber es koppelt wenigstens immer - ohne zwischendurch das Startprogramm 25 wieder neu zu laden.

Das ist hier nicht so. Template 2 funktioniert ohne Startprogramm etc.
Wenn ich aber die Programme mische, dann taucht hier jetzt auch ein Fehler auf. Das soll natürlich nicht sein und sollte auch im Update (der App) gefixt werden. Allerdings sollte man eh bei 2.0 Programmen bleiben, damit man Partial Flashing nutzen kann. So geht es ja schneller. Die Files könnte man direkt im Editor konvertieren. Bei dem Calliope mini 2.x benötigt man die Demo-Version auf der app ohnehin nicht, weil man die ja im Flash-Speicher (an Stelle 25 hat). Der Aufruf darüber ist eh schneller. Werden wir aber natürlich trotzdem mit dem Updaten beheben.

  1. In den Bluetooth Einstellungen auf dem iPad erscheint kein Calliope mehr, oder jedenfalls nicht immer. Was ist denn da richtig und zu erwarten?

Es wird noch verbunden, aber auch auf jedes ausgewählte Gerät die Datei überspielt, egal ob eine Kopplung durchgeführt wurde.

  1. Was ist zu befürchten, wenn in der nächsten Woche die 10 iPads und 10 Calliope untereinander vertauscht werden? Das Muster neu rein malen und alles ist gut? Oder kommt die Bluetooth Konfiguration durcheinander?

Ja, wenn du in den Einstellungen „Muster speichern“ nicht aktiviert hast, müssen die eh mit jedem Start erneut verbunden werden.

Vielen Dank für die vielen Tests und die ausführliche Antwort.

Ich habe das diese Woche in der Schule mit den Calliope 2.1 und iPads noch mal getestet. Wenn auf dem Calliope ein 2.x Programm war und es soll ein anderes 2.x Programm übertragen werden, dann hat es in der Regel funktioniert.

Das große Problem ist, dass man an einer .hex-Datei nicht sieht, mit welchem Template sie angelegt wurde. Man sieht auch am Calliope nicht, welches Template aktuell drauf ist. So ist die Wahrscheinlichkeit hoch, dass es nicht übereinstimmt und die Bluetooth Übertragung abbricht.

Kann man in der App bei den schwarzen Balken drauf schreiben, welche Version die .hex-Datei hat? Oder kann man die Balken rot und blau machen?

Kann man auf der MakeCode Startseite das dritte Template entfernen und die zwei anderen in der oberen Zeile anzeigen? Das rote und blaue ist in der App erst durch scrollen sichtbar.

Noch besser wäre, in der App (z.B. als Parameter an die URL) das Template vor zu geben, was MakeCode (standardmäßig) nimmt. In einer Schule mit den selben iPads gibt es ja nur eine Sorte Calliope 1.3 oder 2.x. Da muss man ja nicht vor die Wahl des Template gestellt werden, als Grundschüler.

Ich habe mal alle 3 Templates mit dem iPad und mit Windows angelegt und gleich wieder gespeichert. Die Anzahl der Bytes ist mit iPad und Windows jeweils gleich.
Damit sollte es egal sein, ob die auf dem Calliope befindliche Datei mit dem USB Kabel übertragen wurde. Und das Partial Flashing vom iPad funktioniert trotzdem - oder nicht?

Die Templates grün und blau (1.x) unterscheiden sich in der Byte Anzahl geringfügig.
Die .hex-Dateien mit dem roten Template 2.x sind etwas größer.

Wie kann ich aus der .hex-Datei heraus lesen, welches Template drin ist? Das muss doch unter irgend einer Adresse da drin gespeichert sein.

Ist es wirklich so einfach möglich, im Editor MakeCode durch Ändern der Speichergröße über das Zahnrad, das „Template“ zu ändern? (De-) Aktiviert das auch Partial Flashing?
Das heißt, wenn die Bluetooth-Übertragung abbricht, ändere ich die Speichergröße und dann geht’s? (Kann ich nicht testen ohne Zahnrad.)

Langsam kommen wir zum Ziel…
Lutz

Ja, du kannst einfach lang auf den Balken drücken und dann den Text editieren (und mehr)…

Open Roberta hat inzwischen ein Update bekommen und nun funktioniert das wieder wie gewohnt.
Jetzt gibt es noch das Problem mit der Demo-Datei, aber die spielt für alle minis seit der Version 2.0 ja keine Rolle und eigentlich braucht man die auch nicht. Da ist der Weg über den Flash-Speicher besser (und vor allem auch schneller).

Ja, partial flashing kannst du ändern. Du kannst auch die Speichergröße anpassen, must dazu aber die Werte kennen. Das geht auch im Browser, dann sicherst du einfach die Datei und importierst sie in MakeCode innerhalb der App…