Home→Forums→MonoBrick EV3 Firmware→Convenient IDE for Mono C# for EV3 needed!
- This topic has 29 replies, 6 voices, and was last updated 10 years, 2 months ago by Helmut Wunder.
-
AuthorPosts
-
May 18, 2014 at 11:24 #4360
Helmut WunderParticipantI don’t get along with Visual Studio.
a hundred millions of weird settings, a hundred millions of weird paths, a hundred millions of weird error messages, a hundred millions of weird and nested project-, class-, program-, bin-, and what-else-more -folders. Appears to be the same crap as for leJOS and Eclipse. 🙁
I urgently need a simple IDE just for Mono C# and EV3, just like it’s by BCC for NXC and NXT.
What is availbale here?
May 18, 2014 at 12:09 #4361
Helmut WunderParticipantwhat I need to have and to do is simply what BCC is featuring and providing for NXT and EV3, just:
– start the IDE with editor window
– include all existing “uses” all at once (not type the entire Encyclopedia Britannica each time at the start)
– – or: load an existing program file into the editor (via browser or recent files)– connect to brick (e.g., F3 by USB)
– write or change my program code
– fix error issues if needed (e.g., F1 for context-sensitive help)
– save as… (filename) to my code directory
– – if a different version is to be saved intermediately:
– – just again save as… (e.g. other filename to either directory)– compile to an exe file (e.g., F5)
– upload it to the EV3 (e.g., F6)
– run the program on EV3.
Just that easy….
As BCC is perfect for Mindstorms programming and BCC already can connect to EV3/Linux and it’s settings allow to target gpp CSLite it possibly might be an option to patch those settings to match to Mono/C# instead… ❓
Or maybe there is already a similar simple IDE for Mono ❓- This reply was modified 10 years, 6 months ago by Helmut Wunder.
June 14, 2014 at 12:43 #4410
Helmut WunderParticipantsuch a simple and easy IDE would be fine to have for Mono/EV3, too:
Attachments:
You must be logged in to view attached files.June 18, 2014 at 17:54 #4422
Anders SøborgKeymasterHi Helmut
We have a add-in for Xamarin Studio. Once I get the time to finish the next release it will be released. It allows you to upload programs to the brick as well as debug programs directly from the IDE.
Anders
June 18, 2014 at 19:54 #4427
Helmut WunderParticipantJuly 9, 2014 at 19:21 #4480
Zoltan SzilagyiParticipantHi, Helmut:
I absolutely agree with your request and I liked your Xamarin/Arduino comparison, the contrast is huge between them. A few month ago I tried to figure out how to set up and use an IDE. I wanted to try Visual Studio with Python (IronPython) since I have some experience with that language. It was a nightmare and eventually I give up. After reading your post I realized the key is not the programming language, but a self-explanatory, easy to use IDE – just like the one of Arduino boards.
After a few month neglect I’d like to play with my EV3 again. Do you have any suggestion where to start? I am thinking of trying leJOS/Eclipse. What do you think?
Thanks,
ZoltanJuly 9, 2014 at 19:51 #4481
Anders SøborgKeymasterHi
Since you are debating using screenshots here are some of the upcomming addin for Xamarin studio. I think that Helmut is way off comparing low level programming for I/O pins with a list-view controller for a for a IOS device. I actually don’t see the point. Anyway the plugin allows you to upload and debug programs directly from the IDE. It works for both USB and WiFi.
Anders
- This reply was modified 10 years, 4 months ago by Anders Søborg.
Attachments:
You must be logged in to view attached files.July 9, 2014 at 22:14 #4489
Helmut WunderParticipantwell,
actually Sketch C is not low-level-programming in my opinion. It’s more like NXC or RobotC, i.g. ANSI C featuring pointers and recursions plus C++ objects (which are automatically included).
I/O pins are not much different from NXT or EV3 ports:
You may read them digitally or analog, so readDigital(p) is like SensorTouch(p) and readAnalog(p) is like SensorRaw(p) or SensorADC(p).
Driving a motor forward by x% pwm , e.g, On(p, pwm) for the NXT or EV3 is exactly like writeAnalog(p,pwm) for an Arduino.
So to my experience -for robot programming – there’s 1 like the other.
Even reading i2c sensor data is as easy as switching on a bedside lamp:
while(Wire.available()) { i2cInput[i] = Wire.read(); ++i; }
I meanwhile managed to set up a i2c connection between a NXT and an Arduino, I managed to set up simultaneous PID controls by NXC for the NXT and by Sketch for an Arduino. It was a matter of a couple of days to write it top-down, I didn’t have to struggle with new, implements, extends, derivate methods, throw exceptions, private or public or make one to the kind of the other, and I don’t have to deal with trillions of classes or uses or headers or dynamic linked libs and included project files or makefiles and all the mess.
If I need a function foo or sensor or motor or screen access I just write it down and don’t need a class for it to combine a extend by another class. Sketch also uses objects, but I don’t need to think even 1 microsecond of what class it’s about.And if I compile a source file to an executable, I get just 1 executable file (what I expect to get) and not half a disk space full of directories and subdirectories and additional files and even more files and more extra sub-subdirectories and some where inside and in between there is – sic! – also the desired executable file – if you look hard enough.
In this respect, C# plus Mono and VC is not much different from Lejos and Java plus Eclipse. It both strike me dead.
As simple as Sketch and NXC as programming languages are, the same kind of simplicity is in the IDE which is needed an used: BCC and the Sketch IDE both are exactly-made-to-measure IDEs, no ballast which is not needed for robots.
And all and everything installed and set up by just 1 single setup file.Finally I want to program just 1 (ONE) Robot with all available sensors and motors and additional I/Os (and not a high culture of robots and not a troop of webservers or multiplayer browser games).
July 15, 2014 at 07:10 #4492
Дмитрий НParticipantDo I understand correctly that the plugin is not yet ready? I’m just going to try C# for ev3 (and C# at all) and simple IDE is very important to me… When you will try the plugin? Sorry for English – use online translator.
And another question: can I use plugins in Xamarin Starter edition?
July 16, 2014 at 04:31 #4497
Дмитрий НParticipantSorry, I just now realized that Xamarin Studio, this is a continuation MonoDevelop up and it’s probably free, unlike Xamarin Platform that provides tools for developing for Android and iPhone, and therefore it is not free. And only now I understood that the use of Xamarin Studio I can and without the plugin, simply do I need to download program to brick a more complex way. As the saying goes: first Read the manual! )
PS My English is bad but not so bad that would not understand that he is bad! ))
July 18, 2014 at 21:05 #4501
Radoslav RadivojevicParticipantI attended all Xamarin University classes recently and I would like to start real cross-platform mobile development and I would like to combine it with programming EV3 robots.
Is there a way to create a video about simple project you can build and establishing development environment.
I would like to also include iOS and Windows Phone 8+.
Is MonoBrick library implemented as PCL and thus usable from iOS and Windows 8?How difficult is to port MonoBrick Remote and MonoBrick tunneling to iOS?
Please let us see the big picture and we may help you porting some code to other platforms.
Can you download Xamarin Studio plug-in (I suppose it is Mac only version)? Any plans for Visual Studio plugin for iOS and Android extensions?Thanks,
RadJuly 18, 2014 at 21:40 #4503
Helmut WunderParticipantRadoslav,
your intention seem to counteract my intentions from my TOP:
My intentions are to size-down either IDE to make it small and clear and customized to just let one program Mindstorms robots by it.
So I suspect your post is off-topic here in my thread:
A convenient, simple, down-sized, exactly-made-to-measure IDE for Mono C# for EV3/NXT is needed, similar to BricxCC for NXT/RCX and the Arduino IDE for C/Sketch for Atmel CPUs!And I don’t need anything for Apple devices:
Apple is nothing else but: “High Walls and Holy Gardens”.
So I never would purchase anything by Apple and won’t ever need anything for it.BTW, I also won’t ever need anything for Linux PCs.
So all I ever needed is a crosscompiler for Windows (XP32 and 7/64) plus a super-downsized IDE for it.
- This reply was modified 10 years, 4 months ago by Helmut Wunder.
July 21, 2014 at 20:20 #4505
Zoltan SzilagyiParticipantHi, Helmut:
I am glad to hear about BricxCC for NXT/RCX because I just tried that last week. I am also looking for a simple tool to program EV3. Probably you are aware of that BricxCC can be used for EV3 as well. Unfortunately I was not able compile the simplest program with that. The installation is a bit tricky, maybe something went wrong during its installation. BricxCC could communicate with EV3 via USB connection, but for example the color coding did not appeared in the editor and the compiler did not give any informative error message, and I am stuck again.
About two months ago I tried to install leJOS on an SD card. The installation was not the simplest thing but then I liked the smooth wifi connection with my PC. I did not have time to try the programming itself, then I got excited about the simple-looking BricxCC.
What do you think? What would you recommend? Where do you expect the desired simple IDE? I have even thought of BUYING RobotC, but I realized in time that its development for EV3 support is far from being completed. Anyway, my feelings are similar to yours towards Apple products, but I think Linux is a great thing (do not forget Kindle and EV3 are based on that).
Best regards,
ZoltanJuly 22, 2014 at 12:25 #4508
Tcm0ParticipantbricxCC only supports the EV3 for it’s tools (like port view). You can’t program it with BCC.
You might want to look at this template if you use the visual studio from Microsoft to program. It uploads the files directly to your EV3.
I have a german guide on how to install MonoBrick, but it probably won’t help you much. Do you have seen this guide?July 22, 2014 at 20:26 #4509
Helmut WunderParticipantI’m not sure if I understand you both correctly:
of course you can programm the EV3 via BCC and gpp C/C++ feat. Code Sourcery Lite 2009 toolchains:http://bricxcc.sourceforge.net/test_releases/readme_1st.txt
but the API functions are rudimentary (no sensor API), partially incomplete (e.g., motors, screen) or missing (multitasking), and in other respects partially bugged (buttons, screen).
E.g., in the current lms2012.h release it’s not possible to chain several different i2c devices to 1 sensor port and read or write them individually.Anyhow, multitasking has been successfully implemented by me using POSIX pthread (linked to dynamically via makefile):
http://www.mindstormsforum.de/viewtopic.php?f=25&t=7991&p=63128&hilit=pthread#p63287Unfortunately many additional bugs are due to Lego firmware and module lib issues (lms2012.h). Many people say the Lego has really screwed and messed up that thing.
There have been approaches to fix some bugs and extend API functions though (batchwise just for specific cases and meanwhile mostly stalling).
But in my limited understanding it could be definitely possible to use BCC also for different firmwares or cross compilers (e.g., ev3def, C#/Mono).
Java would be NEVER an option for me: far too many different classes and inaccessibly encapsulated objects!
One should have 1 Ueber-Class
class ev3robot
which features and provides all methods and objects and procedures which currently have to be excruciatingly be searched and implemented and extended by other inaccessibly encapsulated classes.Moreover, already the IDE (Eclipse) is a big crap, starting off from the installation procedure.
No way!
-
AuthorPosts
You must be logged in to reply to this topic.
Follow