Hey Leute, hat hier jemand schon mal GitHub Copilot oder ähnliche Tools für Mikrocontroller-Projekte ausprobiert? Mich würde vor allem interessieren, ob das auch mit exotischeren Teilen wie dem CH32V003 von WCH klappt. Wie sinnvoll ist Copilot bei so Embedded-Kram überhaubt? Was an Aufgaben kann Copilot übernehmen? Ich mein es gibt ja für vieles mittlerweile ein HAL... Darauf könnte der ja zugreifen... Eure Erfahrungen? Michael
Ich habe es in VSCode installiert und bin überrascht wie gut es Gedanken lesen kann. Mit den CH32 habe ich Copilot noch nicht benutzt, aber mit Mbed und das ist ja auch recht exotisch geworden. Ich weiß nicht woher die Infos für die Vorschläge kommen, aber das API kennt es, wobei das könnte auch aus dem Intellisense kommen.
J. S. schrieb: > Ich weiß nicht woher > die Infos für die Vorschläge kommen, aber das API kennt es, wobei das > könnte auch aus dem Intellisense kommen. der nimmt einem einfach die Fleißarbeit ab.. Erinnert mich an die Java Api.. wenn man weiß wie man die liest, ist das nur noch logisch folgern.
J. S. schrieb: > bin überrascht wie gut es Gedanken lesen kann. Unter VisualStudio (C#) finde ich es teilweise schon nervig: Wenn die vorgeschlagene "Antwort" erscheint, muss man die erst mal lesen, um festzustellen, dass man was ganz anderes machen will und u.U. dadurch den roten Faden verloren hat Wenn sie passt, ist ja alles gut (passiert sogar relativ häufig, sogar bei Kommentaren).
Michael H. schrieb: > hat hier jemand schon mal GitHub Copilot oder ähnliche Tools für > Mikrocontroller-Projekte ausprobiert? Mich würde vor allem > interessieren, ob das auch mit exotischeren Teilen wie dem CH32V003 von > WCH klappt. Wie sinnvoll ist Copilot bei so Embedded-Kram überhaubt? Was > an Aufgaben kann Copilot übernehmen? Ich mein es gibt ja für vieles > mittlerweile ein HAL... Darauf könnte der ja zugreifen... Eure > Erfahrungen? CoPilot hat u.a. GitHub gelesen. Dort gibt es 367 Projekte zum CH32V003. Könnte also schon sein, dass es da sinnvolle Antworten liefern kann. Bei einem STM32 benutzt es die HAL, aber die gibt es ja auch schon lange und es gibt Zigtausend Projekte mit STM32 auf GitHub. Prinzipiell gilt: Manchmal ist man überrascht, was für komplexe Sachen es lösen kann und dann versaut es irgendwas total einfaches. Was es für Dich tun kann hängt auch stark von Deinen Kenntnissen ab. Wie lange programmierst Du schon? Ist das Dein 2. oder Dein 25. Projekt mit Irgendwas (z.B. I²C)? Denn wenn Du mit etwas sehr erfahren bist, dann kann es durchaus sein, dass es viel schneller ist das direkt selber zu machen als es Copilot auch nur zu erklären. Dann hängt es natürlich davon ab, wie komplex das Projekt ist. Wenn es sehr einfach ist (Temperatursensor+Anzeige), dann kann es schon sein, dass es das vollständig alleine machen kann, aber wenn es komplex ist, dann kann es auch sein, dass es einen Teil der Anforderungen vergisst und man muss es nochmal darauf hinweisen und dann passt das alles irgendwie nicht zusammen. Was man auch beachten muss: Es gibt gerade bei Mikrocontrollern wie z.B. den STM32 sehr viele Varianten, die sehr ähnlich, aber doch verschieden sind. Die kann es nicht immer auseinanderhalten. Gleiches gilt für Bibliotheken, die es in verschiedenen Versionen gibt. Insgesamt gilt: Probier es aus. Die Stärken und Schwächen von dem System sind ganz anders als bei einem Menschen. Man muss ein Gefühl dafür bekommen, was es kann und was nicht. Ich habe es gerade mit ChatGPT 4o probiert. Mir ist nicht ganz klar, worin die Unterschiede zu Copilot bestehen. Ist das nur ein anderer Name oder ist Copilot kleiner? Anfrage war "Bitte schreibe einen Code für einen CH32V003, um per I²C einen TMP101 Temperatursensor anzuschließen und auf einer gemultiplexten Temperaturanzeige darzustellen." Ergebnis siehe Anhang. Ich habe nur kurz drauf geschaut. Er benutzt die HAL, aber ich kenn die nicht und kann nicht sagen, ob das so passt. Die Temperatur in der Hauptschleife zu lesen, wenn man eine multiplexte Anzeige hat, ist keine gute Idee, denn dann wird ja die letzte Stelle länger dargestellt. Das Delay zwischen den Stellen ist akzeptabel, wenn der Gesamtcode so einfach bleibt. Sonst hätte man da eher ein Interrupt benutzt, aber dafür gabs ja auch keine Anforderungen. Das es eine vierstellige Anzeige benutzt, obwohl es eigentlich nur 2 Stellen benutzen will ist so eine Eigenheit vom dem System. Es lebt ja von dem gelesenen Code und macht deswegen oft irgendwelche Annahmen, die eben aus diesem Code kommen. Das kann hilfreich sein, weil man nicht alles bis ins letzte Detail spezifizieren muss, aber manchmal passen die Annahmen eben nicht zum Problem. Dass es die nicht benutzten Stellen mit 0en rechts auffüllt ist auch nicht so geschickt. Es fehlt natürlich noch das Errorhandling vom I²C, aber da war ja auch nichts spezifiziert.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.