Dear avenue33,
I'm a complete newbie on Xcode but since I wanted to have a bit more advance IDE than the Arduino provided one and I'm on a Mac, I went for Xcode and your template embedXcode. I've tried to follow your installation guide but I must say it could be more extensive when it comes to where a certain dropdown menu is instead of just saying "the dropdown menu", like on page 37 when selecting a target. And the pictures could also be of higher resolution so one can actually se what's written in them. But I'm not just wining, I'm giving you hopefully constructive feedback because I really want this to work!
Also, when I build the default code in a new project I get the following error message:
Argument list too long: recursive header expansion failed at /Applications/Preview.app/Contents.
And loads of messages of the following type:
Warning: no rule to process file '$(PROJECT_DIR)/TestOfXcode/Arduino/cores/arduino/Arduino.h' of type sourcecode.c.h for architecture i386
According to the message, it seems the Index target is selected.
The Index target is a dummy target and should not be used. It always throws the error you mention.
Please select the Build target to compile only, and the All target to compile and upload.
About the quality of the images, the full quality PDF is 6 GB. I'm obliged to reduce the size because the host for the website limits the size of the files. Uploading larger files would require a non-free plan.
Please don't consider my user manual is an introduction to Xcode. There are excellent books about Xcode: for example, I recommend Xcode 4 Unleashed by Fritz F. Anderson I've purchased thanks to contributions.
The user manual I wrote only focuses on how to use the template. Xcode, like all other professional IDEs —to name a few: Visual Studio, Eclipse, NetBeans, Qt, ...—, has a steep learning curve. The magic of the Arduino IDE relies in its instant plug-and-play gratification.
As a matter of fact, I'm still using the Arduino IDE when I don't need the power of Xcode.
Obsolescence Notice The following features are planned to become obsolete in a future release:
Support for Arduino 0023 is planned to be be discontinued.
The code for multiple platforms is managed in two ways: the MCU variables like AVR_ATmega328P and the IDE variables like ARDUINO=101. The MCU variables are going to be suspended in favour the IDE variables. This enables a more compact code and an easier maintenance.
I've downloaded the latest guide and embedXcode after downloading the Arduino 1.0.1 IDE, but I'm a little lost as to where my Sketchbook\Libraries folder is (mentioned on page 23). When I launched Arduino, it created a ~\Documents\Arduino directory, but seemingly nothing else.
I see in the guide and this forum that 1.0 is supposed to be supported, and with 1.0.1 being a minor point release, I figured perhaps it would be fine. Is 1.0.1 not supported?
I loaded 1.0 and then re-ran the embedXcode installer. I still have no "Library" or "Libraries" folder under that Sketchbook path.
Right - I knew that the Library directory was for the Arduino IDE, but the instructions in the guide regarding it confused me. It made me think that the Arduino IDE was going to also create and insert its default libraries there. And then by some quirk of the whole X Code template situation, I might need to add (but not copy) those libraries so that the compiler can find everything. In digging into the template though, I see that all default Arduino libs are actually included as part of the project.
Anyhow, my mistake. It seems this step is only relevant if one actually has additional libraries they want to include at the time of creating their project.
So just to make sure I understood everything so far, should the SKETCHBOOK_DIR be pointed at my ~/Documents/Arduino path (where the IDE identifies the Sketchbook and where Library will soon be) or the X Code project's Sketchbook directory?
At this point I can build the Build target, but code sense is still not working on PDE files despite having their type set to C++ Source and re-indexing 3 times now.
None of the other standard C/C++ file types are having this issue. It's as if the if-def header isn't being processed properly in specifically the PDE file despite it otherwise being treated like a C/C++ file.
EDIT - Per your suggestion, I eliminated the larger if-def block in place for just Android.h since that's the only platform I am working with. After re-indexing, everything seems to be fine.
Thank you so much for setting this whole thing up.
Oct 21, 2012 • Selection of pde, ino or cpp extension for the sketch
When creating a new project, select the extension on the drop-down list:
• Choose pde for Arduino 0023, chipKIT MPIDE, Wiring and Leaflabs Maple,
• Choose ino for Arduino 1.0 and Energia,
• Choose cpp optionally for a standard C++ file.
Using a pde or ino extension allows to edit the sketch with the standard IDEs of the boards.
I have installed embedXcode but get stuck since a couple of days when trying to execute the build target.
I get errors that suggest that the compiler would not accept overloading functions. (screenshot attached)
Also, the UDPbytewise library seems to request a "Types.h" include that cannot be found.
What kind of confuses me is also that those are "Shell Script Invocation Errors".
Any idea if this is a compiler flag not set or something of that sort? I really would like this to work, as I have a project that I need to separate into different libraries and classes to be maintainable, and the Arduino IDE is just not made for that.