I have used Xmega devices with AVR Studio 4 in C for many projects and have now migrated to Atmel Studio 6. While I'm happy to code from the ground up, I'm interested to explore the ATmega family with the Arduino and have read through the Engblaze Tutorial at http://www.engblaze.com/tutorial-using-atmel-studio-6-with-arduino-projects/. That shows how to create a library from a .cpp base project in the Arduino IDE. But it seems to involve installing and learning to use the Arduino IDE as just a stepping stone to AS6.
Can anyone suggest alternative routes to building an Arduino project directly with AS6, and if there are several options, what the pros and cons are?
The tutorial states, "Atmel Studio is a great choice for users that have outgrown the integrated Arduino IDE. The Arduino IDE does so much under the hood that it can actually be quite limiting for experienced programmers". I'm pretty competent in C and don't see what benefit I get from the Arduino IDE, apart from access to a pre-compiled Arduino library, which surely could be made available by the community. In what way would the Arduino IDE be easier for me?
Robin2, I get that you are a passionate advocate of the Arduino IDE, but you are not addressing my question. I would be delighted to hear from you again if you can, but I don't need evangelising.
I am trying to make an objective decision on whether to invest my time in a tool which seems to have limitations, and from all I've seen of it appears to be an obstacle to making the best use of the hardware. I want to evaluate the benefits of the Arduino architecture, both hardware and software, without the apparent capability ceiling inherent in the sketch approach. Bear in mind that from my perspective I'd already be downgrading from Xmega to Mega and downgrading the IDE as well would make Arduino a retrograde step for me. Perhaps I'm barking up the wrong tree with Arduino, but I'm hoping not.
If the sketch system and the Arduino IDE are prerequisites for using the Arduino architecture, then can anyone make the case for it for advanced users?
Otherwise, if these are not prerequisites, what alternative routes are there to using Arduino free from these constraints?
Bear in mind that from my perspective I'd already be downgrading from Xmega to Mega and downgrading the IDE as well would make Arduino a retrograde step for me. Perhaps I'm barking up the wrong tree with Arduino, but I'm hoping not.
I'm kind of with Robin2 on this, not out of being a arduino evangelist, but more from just simple practicability and experience. Have you actually used the arduino IDE and identified whatever 'retrograde steps' you think you are forced to take? If so please list them and we can comment on if there is a work around or misinformation on your part. If you don't have any experience using the Arduino IDE then I suggest you use it for awhile and take notes as to issues or features you can't live without and maybe someone here can help you with them. There are many, even professional software types around here (not me, my favorite programming language is solder) that seem to have no problem using the arduino IDE with whatever limitations or tools they don't get to use like at their work place.
The arduino IDE is simple on it's surface (and that was on purpose) so it certainly doesn't pretend to be a full on professional programmer's IDE, but it does have features and preferences you may not be aware of. For instance many experienced programmers complain about the rather simple text editor the Arduino IDE uses, but are you aware that one can set up a preference to have the IDE utilize any text editor you wish to use?
Keep in mind that the main objective of owning an arduino board is to build something interesting or fun, it's by no means meant or designed to be a industrial professional development system.
If the sketch system and the Arduino IDE are prerequisites for using the Arduino architecture, then can anyone make the case for it for advanced users?
I suggest that it is well worth investing 2 or 3 hours just to experience the system. I wouldn't dream of recommending the IDE for editing code, but it is an option in the preferences to use an external editor. If you select that option the IDE just loads the latest version of the file before it compiles and loads it.
What attracts me to the IDE is that "it just works". Plug in an Arduino, upload the program (sketch in Arduino speak) and open the serial monitor if you want to see output in a simple format.
Another important factor is that using the IDE will make it easier to take advantage of all the advice on this Forum as most people here also use it. You will be able to post sketches that others can compile, and vice versa.
I have no idea what an "advanced user" is. I am advanced in age, but not in mindset (I hope). My sense of "advanced user" is one who gets results with the minimum of effort. (Another interpretation might be a person who doesn't use C if s/he can avoid it)
What do you think you might like to do with an Arduino that could not be done using the Arduino IDE?
You may have the impression that the Arduino is a toy system because most Arduino sketches are contained in a single .ino file. However the IDE can easily work with multiple files for more complex projects. The extra files can be .ino files or regular .h and .cpp files. And the size of projects also reflects the very limited resources available in a micrprocessor compared with a PC.
Bottom line ... take some time to "suck it and see"
Well to be fair to both sides of this issue, there are some very valuable tools available on AS6 that even most arduino user would love to have, the debugging and simulation tools for example. The ability to change compiler options might benefit some, etc, etc.
But in spite of being a simple IDE it doesn't seem to have prevented some from developing very impressive project results and library offerings that are easily shared and used by a huge user population.
Okay chaps, thanks for the info. I'm getting the strong impression that the Arduino IDE is the route to accessing the shared Arduino resources. I'll give it a try and see how well it fits with what I want to do.
My $0.02: I'm pretty experienced assembler/C/C++ embedded developer, I was on a very short schedule and no experience with ATmega. I found the Arduino environment extremely easy, and the forum very helpful. That's where I discovered that I needed the SoftSerial lib for my app. I did look at AtmelStudio briefly, but did not see a quick and easy way to bring the SoftSerial lib over, and Arduino IDE was working pretty well. I learned to debug with print f's about 100 years ago, so the serial monitor was like old home week, did everything I needed. YMMV
Yep.
For XMega GitHub - Xmegaduino/Xmegaduino: Xmegaduino fork of Arduino
I atach the zipped hardware directory with extended XMega entry with additional 32A4(U), Xmega256A3U. The XMega 32E5 is not ready yet. The boatloader is inoperativ, but I have a PDI programmer and with AtmelStudio no need for that.
Copy the xmega directory in the IDE 1.5.7 hardware directory.