Convenient IDE for Mono C# for EV3 needed!

HomeForumsMonoBrick EV3 FirmwareConvenient IDE for Mono C# for EV3 needed!

This topic contains 29 replies, has 6 voices, and was last updated by Author Image Helmut Wunder 2 years, 11 months ago.

Viewing 15 posts - 1 through 15 (of 30 total)
  • Author
    Posts
  • #4360
    Author Image
    Helmut Wunder
    Participant

    I 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?

    #4361
    Author Image
    Helmut Wunder
    Participant

    what 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 3 years, 3 months ago by Author Image Helmut Wunder.
    #4410
    Author Image
    Helmut Wunder
    Participant

    such a simple and easy IDE would be fine to have for Mono/EV3, too:

    Attachments:
    You must be logged in to view attached files.
    #4422
    Author Image
    Anders Søborg
    Key Master

    Hi 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

    #4427
    Author Image
    Helmut Wunder
    Participant

    Xamarin…
    Xamarin Studio

    Sketch

    well…. well...

    • This reply was modified 3 years, 2 months ago by Author Image Helmut Wunder.
    #4480
    Author Image
    Zoltan Szilagyi
    Participant

    Hi, 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,
    Zoltan

    #4481
    Author Image
    Anders Søborg
    Key Master

    Hi

    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

    Attachments:
    You must be logged in to view attached files.
    #4489
    Author Image
    Helmut Wunder
    Participant

    well,
    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).

    #4492
    Author Image
    Дмитрий Н
    Participant

    Do 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?

    #4497
    Author Image
    Дмитрий Н
    Participant

    Sorry, 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! ))

    #4501

    I 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,
    Rad

    #4503
    Author Image
    Helmut Wunder
    Participant

    Radoslav,
    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 3 years, 1 month ago by Author Image Helmut Wunder.
    #4505
    Author Image
    Zoltan Szilagyi
    Participant

    Hi, 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,
    Zoltan

    #4508
    Author Image
    Tcm0
    Participant

    bricxCC 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?

    #4509
    Author Image
    Helmut Wunder
    Participant

    I’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#p63287

    Unfortunately 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!

Viewing 15 posts - 1 through 15 (of 30 total)

You must be logged in to reply to this topic.

Posted in

Make a donation