Ich habe mit der Calliope App und NEPO das Problem, das ich nach jeder Übertragung eines Programms den Calliope für eine erneute Übertragung neu verbinden muss.
Ich erstelle also ein Programm in NEPO, verbinde zum ersten Mal den Calliope über das Icon oben rechts. Dann klicke ich auf „Play“ und sage „Lade dein Programm als Datei herunter“. Daraufhin wird das Programm übertragen und auf dem Calliope übertragen und es erscheint „Flashen beendet“
Wenn ich nun das Programm verändere und wieder „Play“ drücke (danach „Herunterladen“) kommt nur die Meldung „Kein Calliope mini verbunden“
Wenn ich das gleiche Verhalten in MakeCode nachstelle, ist das fortlaufende Übertragen von Programm dort möglich und der Calliope bleibt verbunden.
Das dauernde neue Erstellen einer Verbindung ist schon arg nervig. Wieso geht dieses super Verhalten von MakeCode bei OpenRobertaLab nicht?
Welche Anpassungen wären hierfür nötig?
Mit freundlichen Grüßen,
Tim Heinken
@joern.alraun Können Sie mir vielleicht hier weiterhelfen? Ist das ein Problem von OpenRobertaLab oder hat da die Calliope App auch etwas damit zu tun?
Es handelt sich um einen Calliope mini 3?
Es wird, im Gegensatz zu MakeCode, dort ein MicroPython Hex-File erstellt. Da aktuell MicroPython Bluetooth deaktiviert, muss man beim Calliope mini 3 – 3x kurz hintereinander die Reset-Taste drücken, damit Bluetooth aktiviert wird. Dann geht das auch dort. Allerdings halt jedes mal, weil eben immer Bluetooth deaktiviert ist…
Open Roberta müsste einfach (wie bei den vorherigen Versionen) PXT, also den MakeCode Unterbau integrieren, um die Datei zu kompilieren.
Die Lösung ist zu MakeCode zu wechseln…
Ja, es handelt sich im einen Calliope Mini 3.
Ein Wechsel zu MakeCode hört sich zwar sinnvoll an, das von mir erworbene Lernbuch für meinen Sohn erklärt aber alle Schritte leider an OpenRobertaLab. Wie ich jetzt auch feststellen muss, wohl eine schlechte Wahl.
Wissen Sie, wieso MicroPython Bluetooth deaktiviert? Dieses kann wahrscheinlich nicht so einfach aktiviert werden?
Der Speicher bei den älteren Geräten war zu klein, um Funk und Bluetooth parallel aktiv zu halten, deshalb muss man Bluetooth per Tastendruck aktivieren. Ob das mal überarbeitet wird, ist aktuell unklar.
Ok, das heißt beim Calliope Mini 3 wäre es technisch machbar? Wer wäre denn hier der richtige Ansprechpartner um diese Änderung einzubringen?
Naja, technisch ist das sicherlich machbar. Das wäre zum einen die MicroPython-Community, die da zwar dran ist, aber schon lange zu dem Thema nichts mehr gemacht hat und sicherlich irgendwie auch das Open Roberta Team…
Wäre dieses github repo (GitHub - calliope-edu/micropython-calliope-mini-v3: MicroPython for Calliope mini V3) der richtige Ort um den Feature Requests des Aktivierten Bluetooth einmal einzusprechen? Vielleicht passiert dann ja auch etwas.
Um was handelt es sich denn bei der Einstellung MICROBIT_BLE_ENABLED, die man in der Config in Ihren Fork findet (micropython-calliope-mini-v3/src/codal_app/codal.json at master · calliope-edu/micropython-calliope-mini-v3 · GitHub)
Nach der Doku unter Advanced - micro:bit runtime hört sich das schon etwas nach der Lösung an:
Enable/Disable Bluetooth during normal operation. If disabled, no Bluetooth communication is possible, but radio functionality is made possible, and an additional 8K of SRAM is released
Das könnte für die V3 vielleicht schon eine Lösung sein. Die müsste dann natürlich noch bei Open Roberta hinzugefügt werden. Neben der RAM-Größe hat das aber vermutlich noch andere Implikationen, ansonsten wäre das sicherlich schon eingebaut worden. Bei anderen Files konnten wir damit die Lösung erreichen und haben das auch generell für den Einsatz mit Funk vor, in dem Fall kann ich es mir aber fast nicht vorstellen.
Haben Sie da die Möglichkeit das zu testen, oder wie können wir das nun rausfinden, ob dieser Flag schon die Lösung wäre?
Soweit ich das so sehe, ist das Problem ist vermutlich, dass dann Funk wohl nicht mehr geht. Aktuell kann man ja per 3xReset den Bluetooth-Modus wecken, für Funk gibt es das nicht (und so schlimm ist das mit den 3xReset ja auch nicht, weil man nicht permanent Dateien überträgt). Wir können das aber mal testen.