HaWe
17.02.2015, 19:11
hallo,
eine neue textbasierte EV3-Programmiersprache steht zur Verfügung:
EV3-Basic, ganz neu und noch im Aufbau begriffen!
Basiert auf dem Microsoft Small Basic Compiler, der mithilfe selbstgebauter Compiler-DLLs direkt Bytecode für die Funktionen der Lego EV3 VM produziert. Besitzt libs für Fernsteuerung und autonomen Betrieb.
API für EV3-Sensoren (UART, ADC, I2C), Motoren samt den 4 Rotationsencoder-Sensoren, Screen, Buttons bereits als Grund-Funktionen vorhanden, wird noch weiter ausgebaut.
Daisy-chaining mehrerer EV3s über USB, Multitasking u.a.m. kommen als nächstes dran:
http://www.mindstormsforum.de/viewtopic.php?f=25&t=8529
http://www.mindstormsforum.de/viewtopic.php?f=25&t=8538
inzwischen in Version 0.7 inkl. einigen der oben angekündigten Features, neueste Versionen immer unter diesem Github Link:
https://github.com/c0pperdragon/EV3Basic
allererste EV3-Basic-Projekte:
http://www.mindstormsforum.de/viewtopic.php?f=70&p=66754#p66754
Da die Zielplattform die Original-VM von Lego ist (lms2012), werden auch (nur) die bereits von Lego implementierten Funktionen unterstützt. Dies ist aber gewollt, weil hier die Grafik-PL-Funktionen jetzt quasi 1:1 per Text-API-Funktionen angesprochen werden können, was Anfängern den Umstieg von GUI auf Text-IDE erleichert; auf diese Weise muss auch nicht die Original-Lego-Firmware ausgewechselt werden. (Nur schade, dass es keinen Microsoft Small-C-Compiler gibt ;) )
Es wurde entwickelt extra für Programmier-Anfänger, denen die mächtigeren Programmierumgebungen mit eigenen SD-Images für eigene Linux-Builds und Eclipse- oder VS- IDE (Java, C#, Python,...) gerade mit OOP zu komplex sind und die daher damit überfordert sind.
Für versierte Programmierer stehen dann gpp C/C++ für sehr schnelle native executables oder die genannten (ebenfalls auch recht schnellen) VMs zur Verfügung, wie z.B. der Java JIT compiler und Mono/C# etc. (auf der Basis des von Lego verwendeten Texas Instruments DaVinci Linux als auch für eine Debian Linux Distribution, diese erfordern aber schon bessere Kenntnisse von Linux und embedded-Programmierung)...
eine neue textbasierte EV3-Programmiersprache steht zur Verfügung:
EV3-Basic, ganz neu und noch im Aufbau begriffen!
Basiert auf dem Microsoft Small Basic Compiler, der mithilfe selbstgebauter Compiler-DLLs direkt Bytecode für die Funktionen der Lego EV3 VM produziert. Besitzt libs für Fernsteuerung und autonomen Betrieb.
API für EV3-Sensoren (UART, ADC, I2C), Motoren samt den 4 Rotationsencoder-Sensoren, Screen, Buttons bereits als Grund-Funktionen vorhanden, wird noch weiter ausgebaut.
Daisy-chaining mehrerer EV3s über USB, Multitasking u.a.m. kommen als nächstes dran:
http://www.mindstormsforum.de/viewtopic.php?f=25&t=8529
http://www.mindstormsforum.de/viewtopic.php?f=25&t=8538
inzwischen in Version 0.7 inkl. einigen der oben angekündigten Features, neueste Versionen immer unter diesem Github Link:
https://github.com/c0pperdragon/EV3Basic
allererste EV3-Basic-Projekte:
http://www.mindstormsforum.de/viewtopic.php?f=70&p=66754#p66754
Da die Zielplattform die Original-VM von Lego ist (lms2012), werden auch (nur) die bereits von Lego implementierten Funktionen unterstützt. Dies ist aber gewollt, weil hier die Grafik-PL-Funktionen jetzt quasi 1:1 per Text-API-Funktionen angesprochen werden können, was Anfängern den Umstieg von GUI auf Text-IDE erleichert; auf diese Weise muss auch nicht die Original-Lego-Firmware ausgewechselt werden. (Nur schade, dass es keinen Microsoft Small-C-Compiler gibt ;) )
Es wurde entwickelt extra für Programmier-Anfänger, denen die mächtigeren Programmierumgebungen mit eigenen SD-Images für eigene Linux-Builds und Eclipse- oder VS- IDE (Java, C#, Python,...) gerade mit OOP zu komplex sind und die daher damit überfordert sind.
Für versierte Programmierer stehen dann gpp C/C++ für sehr schnelle native executables oder die genannten (ebenfalls auch recht schnellen) VMs zur Verfügung, wie z.B. der Java JIT compiler und Mono/C# etc. (auf der Basis des von Lego verwendeten Texas Instruments DaVinci Linux als auch für eine Debian Linux Distribution, diese erfordern aber schon bessere Kenntnisse von Linux und embedded-Programmierung)...