Arduino Forum

Topics => Education and Teaching => Topic started by: visualmicro on Sep 17, 2012, 05:35 pm

Title: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 17, 2012, 05:35 pm
The free Arduino Plugin for Visual Studio 2012 provides some very useful tools that makes learning Arduino a little bit easier. (Read how to get Visual Studio for free at the end of this post)

One of the tools is the "Class Diagram" which is available to all components of any Arduino project. Below you can see the relationship that exist in the Ardino core to the "Print" class.

(http://www.visualmicro.com/pics/VisualStudioClassDiagramArduinoPrintExample.png)

Development of both simple and advanced Arduino projects benefit from being able to quickly visualize and understand the  code.

The free Arduino pugin for Visual Studio 2012, 2010, 2008 is available from here (http://www.visualmicro.com).

Instructions of how to download a legal copy of Microsoft Visual Studio 2012 Professional for free from here (http://www.visualmicro.com/page/Offer-Visual-Studio-Professional-Free-For-3-Years.aspx)

Edit: Based on feedback from experienced users I have altered the picture to show a slightly simpler representation. The previous image showed all the Arduino connections to the Print class which was a little more complex.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: CrossRoads on Sep 17, 2012, 08:12 pm
I don't know about you, but that diagram does not do anything for me.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: dxw00d on Sep 17, 2012, 08:43 pm
I know what you mean. I used to get massive wall charts like that with each release of Delphi. They always stayed folded up in the box.

Quote
Instructions of how to download a legal copy of Microsoft Visual Studio 2012 Professional for free


Provided that you agree to have published a web based application through the WebSpark site within the first year, and keep your details regularly updated during the three year period.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 18, 2012, 01:54 am
@CrossRoads, I wouldn't expect seeing the relationships of the Print class to do much for a global moderator :) However, as an experienced user I think it is easy to loose sight of what new users do not know.

I think that new users trying to learn inheritance and how to structure code correctly will find this feature very useful which is why I specifically added this post to the "Education & Teaching" board.

No matter which project users might become involved with, the first job is to understand the structure of the program code. Being able to pick ANY class or area of code and have an diagram displayed instantly on the screen is very useful, as are other features of Microsoft Visual Studio such as jump to definition and code suggestions/completion.

Before looking at the diagram I wasn't entirely sure of the relationship the Print class has with other core Arduino code. I could have added a more complex example but I wanted to stick with something that most people will already be using, HardwareSerial (Serial.print) seems one of the the most common Arduino examples.

In the example in my first post, we can see how the arduino HardwareSerial is inherited by the Stream class which in turn is inherited by the Print class. The Arduino addin for Visual Studio will automatically recognize all Arduino projects and seamlessly configure Visual Studio to provide a 100% compatible Arduino development environment. So we get best of all worlds and a very informative programming tool.

I appreciate your feedback and will take some time over the next week to post more examples that might show the benefit of the Visual Studio (http://www.visualmicro.com) code explorers in more detail.

In the meantime here is an example of what I believe is very useful. The largest Arduino project I know of is the APM project at diydrones.com (http://www.diydrones.com). Apm is an extremely efficient Arduino program that supports a huge range of different sensors. The design of the apm gps class should be a good lesson for many new users, especially students attempting to increase their expertise in C++/Arduino programing.

Below is a dynamic class diagram of the apm gps system. In my own geeky way I love how easy it is to understand this clever code using Visual Studio

(http://www.visualmicro.com/pics/VisualStudioClassDiagramsCompressedExampleAPM.png)

Incidentally, the ground control telemetry project at diydrones is open source and is also built using Visual studio.

@dxw00d, yep the free tools also allow us to build windows, mobile and web applications. So we can build telemetry apps that display data from our Arduino projects or we can build Arduino programs. There are hundreds of thousands open source examples that we can modify, then we can even upload them to WebSiteSpark. However, it isn't policed that strictly so as long as we are learning Visual Studio then I am sure Microsoft won't complain :) As concerns keeping your details up to date, that isn't very difficult and it's worth it for so much pro software for free (http://www.visualmicro.com/page/Offer-Visual-Studio-Professional-Free-For-3-Years.aspx).



Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: dxw00d on Sep 18, 2012, 08:48 am
Yes, you are constantly pushing this 'free' offer, but not explaining that it isn't a free lunch, and that there are obligations placed on you for using the software. MS provide the express versions for those that do want to legally download VS for no cost at all. The WebSpark program was not intended to provide freeloaders with a full copy of VS.

Quote
as long as we are learning Visual Studio then I am sure Microsoft won't complain

Because, of course, you purchase a full license when the free one expires at the end of the three years.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 18, 2012, 02:22 pm
@dxw00d I don't that only Microsoft can comment on what the program is intended for. The few soft obligations do not cost any money, the product is free. I get many emails of thanks each week from the many users who are enjoying the free software and finding their Arduino coding to be much more fun. Some people have even blogged about it all so it is free and they are very happy.

In the last year Microsoft has relaxed the rules, previously we had to be considering a career in web design to gain Visual Studio and 1000's of dollars of extra software for free. The new rules are quite clear and can be found  here (http://www.microsoft.com/web/websitespark/support.aspx?tab=FAQs#que7) (the eligibility statement from Microsoft)

Quote
Who is eligible for WebsiteSpark?
To be eligible for WebsiteSpark, you must meet one of the following criteria at the time of joining:
Company: A privately held professional service firm whose primary business is providing Web development and design services for its clients and has no more than 10 members, which includes owners and employees (maximum of 25 members for Brazil, China, India, and Japan),
or
Individual: An individual that does not have his/her own company and/or does not work for a web design or development company.


BUT let me be even clearer that this is a free offer open to all. Back in November 2011 Microsoft decided to blog about the Arduino plugin for Visual Studio (http://www.visualmicro.com). In the comments of the blog I openly raised the point that Visual Studio can be downloaded for free. You can read the blog and the discussion on the Microsoft Codeing4Fun Blog http://channel9.msdn.com/coding4fun/blog/Visual-Studio-20082010-and-Arduino-Yep.

Microsofts Blog Title: Visual Studio 2008/2010 and Arduino? Yep!

Quote
While I don't usually highlight Arduino related projects, since there's often little Microsoft relation, I saw this and knew I had to post on it... I mean how much more Microsoft can you get!

A complete Arduino development system for Visual Studio 2008 and 2010


From my point of view I am very happy that this free solution is available to everyone. There is no cost to signing up and getting this software and there is nothing hidden or underhand about what we are doing. This solution helps so many people learn and program Arduino, I don't know why anyone would be negative about this free solution or why they would try to take this away from the community?
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: dxw00d on Sep 18, 2012, 02:38 pm
I'm not trying to take anything away from anyone. I am just trying to point out that it isn't simply a free lunch. If it was, there would be no need for the express editions of Visual Studio. At the end of the three year period, your license expires, and you should then purchase a full license to continue using the software (with the exception of Expression Web, which you get to keep), or stop using it.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 18, 2012, 03:29 pm
Yes you are right but who knows what will be available in 3 years. I am working on a version for the free Atmel studio which is also a version of Visual Studio (but not as functional as vs pro).

3 years is a long time, it would seem a shame to miss out on an easier and more fun environment just because it might not be free in a few years. To be honest, if I hadn't of written the plugin I would have moved away from Arduino a long time ago. It has been a lot of hard work but the end result is great fun and removes much of the constant need to look for Arduino reference guides.

I do see your point, I used to make a big thing of the three year time limit but in the end decided it is not a reason to avoid using the tools and that the 3 year limit is always clearly shown on the page that I link to.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: udoklein on Sep 18, 2012, 06:50 pm
I got burned by the "free" visual studio twice. So I will happily use it work but definitely not at home. With regard to the print class diagramm: it makes it blindingly obvious that the design for print is somewhat screwed. But I do not see how this facilitates any in depth understanding ;)
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 18, 2012, 08:07 pm
Hello, I am sorry to hear that, I am struggling to understand how you can get "burned" downloading free software direct from the Microsoft web site? If you can please explain so that I can add a knowlege base article of your experiences.

If it helps, here is a link (http://seti.net/Cosmic%20Rays/Engineering/engineering.htm) to a page published today by a new user that has happily installed Visual Studio and the Arduino plugin. The publisher has just joined the debug tool beta group so the article covers some extra stuff that you can ignore.

Quote
With regard to the print class diagramm: it makes it blindingly obvious that the design for print is somewhat screwed


It's very good to hear that seeing a graphical diagram can also be used to identify coding mistakes. In terms of understanding, it's just an example, maybe my 2nd example in this post is more relevent for experienced users.

I can say that we have good feedback from the people that are actually working with the 2nd example.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: retrolefty on Sep 18, 2012, 08:50 pm
Microsoft's free offer or not aside, it just at first appearance to me looks like that the MS studio IDE is much more intimidating and complex compared to the the very simple and easy to use and understand arduino IDE. I came to arduino with a lot of hardware experience but limited software experience. My limited experience was with Borland's original Turbo Pascal IDE. I found the Arduino IDE very easy to figure out from the very start, I think because of the few choices one has to figure out to get a sketch entered and verified and/or uploaded. I suspect I would have passed on the whole arduino platform if I was first presented with the studio IDE to navigate on my own.

So ease of use for raw beginners compared to the arduino IDE? Color me very very skeptical of that claim, unless you have hard data to back that claim, rather then just an opinion?

Simplicity is one of the corner stones that made the Arduino platform the success that it has become. A professional IDE does not seem to me to met that objective.

Lefty
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 18, 2012, 09:14 pm
Hi Lefty,

I agree that without the plugin (http://www.visualmicro.com) Visual Studio would be as impossible for new users as Eclipse, Netbeans or any other IDE than the Arduino.

However, the plugin does what the Arduino IDE does and is installed from a one-click installer. It makes things very easy yet provides intellisense suggestions and help.

Code completion suggestions as we type make it a must for anyone who does not know the Arduino syntax and especially for new users.

NB: If Eclipse is your preferred route then there is a great Eclipse plugin that also helps. As a Microsoft user I prefer Visual Studio but everyone has their own preferences

There is one click compile and upload, board selection, serial ports and a simple sketch creation system that just requires the name of a sketch. It's that easy!

There are plenty of articles on the web, not authored or associated to me, from people who are pleased to have this option instead of the Arduino IDE. I can provide some links if required but we all have google :)

The plugin (http://www.visualmicro.com) is free, there are no adverts on the visual micro web site and a forum/wiki is also provided free. It is a great option for many and this is the right place to tell people about it.

Below is an example that shows how we have, in Microsoft Visual Studio, the same simple options that are provided by the Arduino IDE. I know the image shows two Arduino projects open at the same time that some might consider confusing but this is an optional feature that I like to use in my testing. I also recognise some extra clutter on the tool bars which can be hidden using the right click menu. However, the "clutter" can be ignored, there are no options that need to be set other than a serial port (or programmer) and the board.

(http://www.visualmicro.com/pics/Arduino%20for%20Visual%20Studio%20Demo.png)

Finally, I do appreciate that there are many different types of "new users". I speak for the ones like myself a few years ago when I was suprised to find how little support the Arduino IDE provided. I had to search the web or open an example to learn every single command. I found it a painfully slow and fustrating process.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: Jantje on Sep 18, 2012, 09:42 pm

NB: If Eclipse is your preferred route then there is a great Eclipse plugin that also helps new users, but is not as easy as Visual Studio.

I'm happy to see you mention my "completely free open source plugin" (At least I hope it is eclipse.baeyens.it (http://eclipse.baeyens.it) you are referring to). :D
Not sure how it compares to the visual studio plugin so I can't confirm/deny that it  "is not as easy as Visual Studio". I hope you know what you are talking about.

I have been in software development for decades now with lots of different IDE's (amongst them microsoft visual studio) and from my experience I'm completely with Lefty when he states
Quote
just at first appearance to me looks like that the MS studio IDE is much more intimidating and complex compared to the the very simple and easy to use and understand arduino IDE.

The Arduino IDE is extremely simple letting the newbie focus on the important stuff. Any real IDE is to complex for a newbie. There are to many windows; to many buttons; to many short cuts; to many menu items; ....
I considered (but rejected) to make an "arduino simple perspective" in eclipse to have the same simplicity in Eclipse as the Arduino IDE offers. I decided not to do so because I would have to spend lots of time and never get to the Arduino IDE simplicity. Even if I could I would lose the power of the IDE.
What I'm trying to say: You have developed (or are supporting) a very well written free plugin in one of the worlds best (commercial) IDE's. Which is great work which will be appreciated by many. However any statement in the sense of "as simple as the arduino IDE" is undermining your credibility amongst the more experienced of us.
This is what makes me say "I hope you know what you are talking about." in the first part of this response; cause I think you do not.

All the best to you
Jantje
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 18, 2012, 10:01 pm
Hi Jantje,

Well it's always interesting to hear the opinions of god members :) I've looked at your eclipse plugin and as I said earlier it really helps but the install instructions alone are more complex to use.

I found installing Eclipse to be quite difficult so, unrelated to your plugin the Visual Studio install was easier.

As I have said before, what is a new user? I speak for people like myself that found the Arduino IDE very difficult to work with without intellisense. I also found that when loading existing Arduino projects it was very difficult to see how code was related. In Visual Studio we just right mouse click any code syntax to GoTo definition or to "Find all references". As a new user to any project this type of tool is VERY useful.

So this is a preference for some to have a full interface and good source navigation/help and for others an empty clean interface and no source code help. I don't think anyone can say which is the best. It is that all options are right but for different groups of users. It is up to each user to decide what they choose.

The Arduino Examples and Documentation explorer in Visual Studio allow users to easily open or clone existing Arduino examples which is great for new users. The Arduino IDE has some of this functionality I don't believe Eclipse has this yet.

Anyway I am not going to get into a bun fight. I am sure that Eclipse has some features that are not available in Visual Studio, I just found it a terrible pain to install and very difficult to use.

So I believe, from my perspective and many of the users of Microsoft Visual Studio perspectives that I do know exactly what I am talking about.

Thanks again for your feedback
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 18, 2012, 10:12 pm
Okay I have relooked at my words and altered them slightly. For fear of getting off point I have altered my statement to...

Quote
NB: If Eclipse is your preferred route then there is a great Eclipse plugin that also helps. As a Microsoft user I prefer Visual Studio but everyone has their own preferences


Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: Jantje on Sep 18, 2012, 10:20 pm
XD
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: udoklein on Sep 19, 2012, 08:16 pm
Quote

Hello, I am sorry to hear that, I am struggling to understand how you can get "burned" downloading free software direct from the Microsoft web site?


Download a "free" version and ignore the fine print that says that you will have to pay for this "advanced" "free" version later on. Start to develop with said "free" version and figure out later to either
1) pay
or
2) rework part of your stuff to work around the pay part.

With other words it is not free. Not like in "beer" and not like in "speech". More like in "drugs".

Quote

It's very good to hear that seeing a graphical diagram can also be used to identify coding mistakes. In terms of understanding, it's just an example, maybe my 2nd example in this post is more relevent for experienced users.


The coding mistakes where obvious from the code as well. Just not so graphic ;)
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 19, 2012, 10:32 pm
I am sorry to hear of your experiences but they are not relevant to this discussion for the following reasons:-

1) Our sketches in Visual Studio are always 100% compatible with the Arduino IDE so there will never be the re-work you experienced with your non-Arduino projects. This is already proven because users already have the option to switch between Arduino IDE and Visual Studio at any time

2) There is no obligation to buy any software from Microsoft, my instructions about this offer (http://www.visualmicro.com/page/Offer-Visual-Studio-Professional-Free-For-3-Years.aspx) have always stated VERY clearly that this is a 3 year free offer, as have Microsofts instructions. You do not have to read the small print to know this information. I always link to the same page about this free offer. The page title in bold states free microsoft software for 3 years (http://www.visualmicro.com/page/Offer-Visual-Studio-Professional-Free-For-3-Years.aspx), see for yourself, it is very clear.

3) At the end of the 3 years all Arduino projects will continue to provide intellisense in the free express version of Visual Studio. At that time users will need to switch to Arduino to upload but this is common for other less capable plugins so nothing new. At the end of the 3 years users will have to switch to Arduino to burn boot loaders but most other plugins don't provide this feature anyway

Our community is currently expanding at approx. 70 new users per day and has done so for some time. We have great feedback from many very happy and relieved Arduino programmers. This includes both novices and experts. The free offer that I have brought to peoples attention has been appreciated publicly in various blogs by happy users.

I have ensured that every feature of the Arduino IDE is available in Visual Studio, I do not request donations in return for adding what I consider to be fundamental features to a fully compatible and easy to use Arduino alternative.

There is nothing that the Arduino IDE can do that Visual Studio can not do but there are lots of things Visual Studio can do for Arduino that the Arduino IDE can not do.

Our setup and installation motto says something that other plugins are unable to say:-

Quote
If it works in the Arduino IDE then it will work in a valid copy of Visual Studio Professional. It is that easy!


I accept this solution is of no interest to some people on this forum but many other people have and are benefiting every day. Many of these people have read this and other Visual Micro articles and have happily benefited.

My posts are for the people who want to benefit from this information. If you don't like it and have nothing positive to say then maybe I can politely ask you to go and be negative elsewhere.

http://www.visualmicro.com
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: udoklein on Sep 19, 2012, 10:38 pm
Quote

Hello, I am sorry to hear that, I am struggling to understand how you can get "burned" downloading free software direct from the Microsoft web site?


Quote

I am sorry to hear of your experiences but they are not relevant to this discussion for the following reasons:


Seems your question was not relevant to this discussion in the first place. Sorry for answering it.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 19, 2012, 11:16 pm
100% Arduino compatible Visual Studio Professional works in the same way that we expect other professional editors to work, such as the spell checker in Google Chome or Microsoft Word.

Modifying Arduino code will automatically display intellisense (code explorer) whilst at the same time highlight errors. Mistakes in code are automatically highlighted in red squiggles and suggested corrections are automatically displayed.

The image below demonstrates automatic error detection and correction in Microsoft Visual Studio 2012 for the Arduino ArduPilot (http://www.diydrones.com) drone project.  Notice the letter 'x' has been mistakenly appended to 'handle_no_commands()'.

These features are a HUGE time saver for new and experienced Arduino users!

(http://www.visualmicro.com/pics/ArduPilotMicroExplorerExamplesAndIntellisenseCodeCorrection.png)

References

Download and read more about the free Arduino plugin for Visual Studio Professional (http://www.visualmicro.com)

Visual Studio Professional can be downloaded for free using these instructions (http://www.visualmicro.com/page/Offer-Visual-Studio-Professional-Free-For-3-Years.aspx).
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: dxw00d on Sep 20, 2012, 08:45 am
Quote
If you don't like it and have nothing positive to say then maybe I can politely ask you to go and be negative elsewhere.


Healthy attitude you have there.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 20, 2012, 06:22 pm
Quote
Healthy attitude you have there


Yep, I have been very positive up until comments such as yours which was negative and misleading.

Quote
Yes, you are constantly pushing this 'free' offer, but not explaining that it isn't a free lunch


If you had bothered to click the link you would see a page with this title. It couldn't more clear!!!

(http://www.visualmicro.com/pics/VM3YearOfferExample.png)

Further more the url of the page also says it is a 3 years offer and this would be clearly visible when anyone hovers their mouse over the link .Here is the page url so that you can see my point http://www.visualmicro.com/page/Offer-Visual-Studio-Professional-Free-For-3-Years.aspx

I always have linked any mention of a free Microsoft offer to the same page with the same title. I went to the effort to create the page so that things are clear, however if you click onto the Microsoft WebSiteSpark page to read more everything is once again stated very clearly. There isn't even any "fine" print, all the print is clear as day. So from my point of view you were extremely negative for no good reason!

So my positive and informative post deserved more than false accusations of attempting to pretend something isn't free forever. I feel that if you haven't got anything good to say then you should not spoil it for others. I don't post very often, unlike some we might know, so again, to say that "I am constantly pushing" is clearly unfair. I'm not even selling anything for you or anyone else to take grievance against.

If you like I can post the messages I receive EVERY day from very happy users who are grateful for this information. It is clear from their messages that these users are both relieved and happy that they finally have an IDE that works with them instead of against them.

Features such as intellisense make a huge difference to speed of development. In the following example we see what we are prompted with the relevant Arduino syntax when we type "Ser" in Visual Studio

(http://www.visualmicro.com/pics/ArduinoForVisualStudioIntellisense2012_1.png)

In this example prompted with the options for the "Serial" object

(http://www.visualmicro.com/pics/ArduinoForVisualStudioIntellisense2012_2.png)

In this example we can easily see two errors in the code.

(http://www.visualmicro.com/pics/ArduinoForVisualStudioIntellisense2012_3.png)

In this example we see that the Arduino files in our project can be expanded to show methods and more. If we double click we go to the code. We can also press F12 or right click any Arduino code in Visual Studio to "Go To Definition". We can also "Find all references" to ANY Arduino code.

(http://www.visualmicro.com/pics/ArduinoForVisualStudioExpandShowingPdeFunctions.png)

I have said that there are many people who enjoy this solution who do not need the 3 year offer. The 3 year offer is often for newbies who also appreciate the easier to use tools (Their words not mine so please allow them their views).

The first 3 years of Arduino development is obviously learning intensive so why would anyone want to take this away by being negative. 3 Years is a long time, other solutions will be available by then. For example, Atmel Studio is created by the manufacturer of the Arduino AVR chips, we will have a Atmel Studio plugin within 3 years.

I know that the Arduino dev team are also working on a new IDE which I hope will provide many of the features I have described. So there will be no loss of enjoyment and no reason not to benefit right now.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: udoklein on Sep 20, 2012, 09:55 pm
Quote

So my positive and informative post deserved more than false accusations of attempting to pretend something isn't free forever. I feel that if you haven't got anything good to say then you should not spoil it for others. I don't post very often, unlike some we might know, so again, to say that "I am constantly pushing" is clearly unfair. I'm not even selling anything for you or anyone else to take grievance against.


1) You are very agressive. I do not see how this implies positive.
2) You are massively advertising.
3) You seem to assume that we are not aware of the advantages of VS. Maybe you should learn that e.g. I am working with VS Ultimate AND Eclipse and other advanced (closed) tools as well. The point is not the quality of the tools. VS is a great tool. The point is that "free for 3 years" is a lot different from "free forever".
4) If you do not like to hear valid points that are against you opinion then you better not post in official discussion forums. If you can not stand it then push your advertising into channels that do not allow replies.

With regard to the ultimate clear superiority of your VS solution: I am running Arduino under Linux. So there is some obvious thing that Arduino IDE can do that VS can not: it runs under Linux without any dirty tricks.

One more thought that you will not like: if your solution is so great and there are so many people that love it, why didn't we here their praise in this forum? Is it so that there are thousands of Arduino newbies that use your superior solution that never show up in this forum? Strange indeed. Or is it more that you are running mad and screaming and shouting at others if they do not share your view of the world 100%? Now rush and buy some praise to flood this forum in order to drive your light of knowledge straight into our tiny brains.
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: Jantje on Sep 20, 2012, 11:05 pm

Quote

So my positive and informative post deserved more than false accusations of attempting to pretend something isn't free forever. I feel that if you haven't got anything good to say then you should not spoil it for others. I don't post very often, unlike some we might know, so again, to say that "I am constantly pushing" is clearly unfair. I'm not even selling anything for you or anyone else to take grievance against.


1) You are very agressive. I do not see how this implies positive.
2) You are massively advertising.
3) You seem to assume that we are not aware of the advantages of VS. Maybe you should learn that e.g. I am working with VS Ultimate AND Eclipse and other advanced (closed) tools as well. The point is not the quality of the tools. VS is a great tool. The point is that "free for 3 years" is a lot different from "free forever".
4) If you do not like to hear valid points that are against you opinion then you better not post in official discussion forums. If you can not stand it then push your advertising into channels that do not allow replies.

With regard to the ultimate clear superiority of your VS solution: I am running Arduino under Linux. So there is some obvious thing that Arduino IDE can do that VS can not: it runs under Linux without any dirty tricks.

One more thought that you will not like: if your solution is so great and there are so many people that love it, why didn't we here their praise in this forum? Is it so that there are thousands of Arduino newbies that use your superior solution that never show up in this forum? Strange indeed. Or is it more that you are running mad and screaming and shouting at others if they do not share your view of the world 100%? Now rush and buy some praise to flood this forum in order to drive your light of knowledge straight into our tiny brains.


I'm with Udo here; except for....
... Given his experience with code development he should be using my eclipse plugin in Linux.  ]:D

Best regards
Jantje
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 20, 2012, 11:44 pm
Quote
1) You are very aggressive. I do not see how this implies positive.


Eh? Here is the text of my post again. Your comments were the first aggressive comments.

Quote

The free Arduino Plugin for Visual Studio 2012 provides some very useful tools that makes learning Arduino a little bit easier. (Read how to get Visual Studio for free at the end of this post)

One of the tools is the "Class Diagram" which is available to all components of any Arduino project. Below you can see the relationship that exist in the Ardino core to the "Print" class.

Development of both simple and advanced Arduino projects benefit from being able to quickly visualize and understand the  code.

The free Arduino pugin for Visual Studio 2012, 2010, 2008 is available from here.

Instructions of how to download a legal copy of Microsoft Visual Studio 2012 Professional for free from here



Quote
2) You are massively advertising.


Eh? My post was accurate, positive and informative. I have changed my tone slightly after unrelated negative comments such as yours. If I encounter undue negativity it is natural for me (or anyone) to become louder.

Quote
3) You seem to assume that we are not aware of the advantages of VS. Maybe you should learn that e.g. I am working with VS Ultimate AND Eclipse and other advanced (closed) tools as well. The point is not the quality of the tools. VS is a great tool.


Yes Microsoft Visual Studio is a great tool but look at the number of posts you have made on this site. You are an expert so obviously you know VS but it seems strange that you don't realize that many people who use these forums are not experts like yourself. So if a post is obviously not applicable to you then why make the above comment? Do you feel that every post has to be made with your skills in mind?

This might have been a better thing for you to say...

"Visual Studio is a great tool but be clear that the free offer is for 3 years after which time you must stop using it or buy it"

That would have been a positive thing to say but instead you suggested that someone can get "burned" on this offer which implies the possibility of financial loss or code loss. Neither are applicable here. So you made the strong negative comment before I had done anything other than made a simple post. It seemed to me that you were trying to undermine the post.

Quote
The point is that "free for 3 years" is a lot different from "free forever".


Eh? I've covered this and, as stated earlier, this is VERY clearly shown in the link that I posted I didn't just link to the Microsoft offer, which is also clear, I linked to a page entitled "Free for 3 years?".

Quote
4) If you do not like to hear valid points that are against you opinion then you better not post in official discussion forums. If you can not stand it then push your advertising into channels that do not allow replies.


Eh? This forum is for sensible and constructive discussion, when there is some I will enjoy participating.

Quote
With regard to the ultimate clear superiority of your VS solution: I am running Arduino under Linux. So there is some obvious thing that Arduino IDE can do that VS can not: it runs under Linux without any dirty tricks


This is exactly my point! My post is for the millions of users of Microsoft Windows who do not want to use Linux and my post was for all the users that do not enjoy using the Arduino IDE because it is so limited. Again let's look at the number of posts you have made and the knowledge that you have about Arduino. It's huge, I am sure you could program Arduino using a text editor without the need for references! In this forum I bet you answer more questions that you ask?? Yep, so this means you are not the target audience doesn't it? Superiority of VS? Funny, it all depends on the audience. One happy new Arduino user today said this about moving from the Arduino IDE to Visual Studio 2012

Quote
This is quite powerful IDE, like going from a scooter to a Ducati.


Here is the blog (http://www.diydrones.com/profiles/blogs/graphical-display-of-apm-program-structure), see for yourself

Quote
One more thought that you will not like: if your solution is so great and there are so many people that love it, why didn't we here their praise in this forum? Is it so that there are thousands of Arduino newbies that use your superior solution that never show up in this forum


I recon they all stay away for fear of being jumped on by Microsoft haters :) I don't think that many of the users need to use this forum, it is more for people who are working in the dark with a text editor called an IDE.

There are 90+ followers on codeplex, many more signed up for email notifications, 400 in the forum and 20,000 + downloads per year.

Here is a post from the web, you can find many more if you search but I am not going to bother. All the stats are visible to the public.

Quote
When I first ran the Arduino IDE, I was a little bit disappointed but I thought It was the only one development environment to write "sketch" (Arduino program). It's evident that the Arduino environment allows you to do what has to be done, but let's say that I did not had a good feeling with it.
   
Surfing the web, I discovered a solution which could better meet my demands.
   
   
Visual Micro
Visual Micro is an Add-In for Microsoft Visual Studio allowing you to write, compile and upload Sketches to your Arduino board. Visual Micro exists for Visual Studio 2005/2008 and Visual Studio 2010.


http://www.funnyrobotics.com/2011/02/programming-arduino-from-visual-studio.html

I won't bother with the rest of your comment because it doesn't serve any purpose.

Arduino plugin for Visual Studio (http://www.visualmicro.com)
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 20, 2012, 11:50 pm
@Jantje

Quote
Given his experience with code development he should be using my eclipse plugin in Linux


Only if he pays you a donation so that you can hook up the "utility" folders for libraries :) I must remember to shove a donate button under peoples noses sometime.

When I do something for money then you can complain!

100% Compatible Arduino Plugin for Microsoft Visual Studio (http://www.visualmicro.com)
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: Jantje on Sep 21, 2012, 12:36 am
I couldn't help verifying my gut feeling.
I did a search for "visual micro" and "arduino eclipse plugin" (include the " when googling) . I got my gut feeling confirmed. I advice anyone who is interested in this discussion to do the same.
I also found the post you referred to (actually there are several very similar ones). The authors of these articles have names I also find back on in-correct denigrating remarks on my plugin.
Anyway one of the posts that starts with
Quote
When I first ran the Arduino IDE, I was a little bit disappointed but I thought It was the only one development environment

also contains the following
Quote
Conclusion
If you are used to write your code in Visual Studio, you may feel more confortable to work from within VS than from within the standard Arduino IDE.

This is not really the message you are giving.

Best regards
Jantje
Title: Re: Using Code Explorers and Diagrams to Learn Arduino
Post by: visualmicro on Sep 21, 2012, 01:37 am
You seem to be combining two different things here.

1)
I gave one example of someone who likes the VS plugin. So what has the message got to do with anything other than someone has publicly stated they like the plugin?

You might say that most of the 90 followers on http://visualmicro.codeplex.com also like the plugin. And a large proportion of the 20,000 people that have downloaded it over the last 11 months might also like it. But who cares how many, this is a useful tool for anyone who wants to use it. I say that because I find it useful.

2)
I don't understand. Why include Eclipse in the search? What has Eclipse got to do with "Class Diagrams" and development tools for new users (other than IT propeller heads). That is what this post is about!

3)
Many windows users tend to prefer msi installers and as you have said yourself, your Eclipse plugin is for advanced users. The Visual Studio plugin is for all levels of user. But again what has this got to do with this post? You are free to post about what eclipse can do for people, just as I am free to post about VS.

4) The Visual Micro plugin is an Arduino and a Microsoft solution. Users will look to both Arduino and Microsoft web sites to find this product so this is one or two places where I should tell people about this plugin.

..

Actually, I don't really know what we are discussing here. The Arduino plugin for Visual Studio is immensely useful for a wide range of users. There are other plugins for other users which yourself and others have the same opportunity to announce.  As I have said the xcode multi platform design really works well for some, your Eclipise plugin will work for advanced users. I know there are other plugins all at different stages of maturity but they are all well advertised and not my concern.

One thing is for sure, the Linux and Eclipse users are extremely vocal for their cause, whilst the Microsoft users seem to stay a little quieter. Time will show us what this means.

So back to my original post...

The Visual Studio plugin is very easy to use and provides great features such as the "Class Diagram" tool that I outlined at the start of this post (sigh). Visual Studio also provides some very useful code explorer tools such as the ability to right click any Arduino code and see a list of locations where the code is being used/referenced.

Features like this are a crucial aid for users who are new to any open source Arduino project (but maybe not the blink sketch). This is because code explorers make the code more visible and reduce the learning curve by a huge factor.

In some ways, for new users to any project, tools like this are the difference between being able to make code changes and not being able to make changes. The reason being is that we have to be sure of the the impact of any changes. This is usually a more difficult task using conventional code search such as "Find in files".

Class Diagram of the ArduPilot (http://www.diydrones.com) pressure sensor libraries using the free Arduino Plugin for Visual Studio (http://www.visualmicro.com)

(http://www.visualmicro.com/pics/BuildArduinoClassDiagramExampleReArrange.png)