Arduino on Xcode Project — Official Thread

davidhux:
I have run Blink under OSX Arduino - on port tty.usbmodem*, (As reported by /dev/tty) and no problem.

It would appear that I need to have the Arduino plugged in when I use XCode (?)

As mentioned page 49 of the User Manual, each target has a specific agenda:

• All cleans the files from a previous compilation, compiles and links, uploads and opens a serial window in Terminal.

So you need the board to be plugged-in to upload.

• Build compiles all the files, changed and unchanged, and links them.

No plugged-in board is required.

davidhux:
I then returned to Xcode and set the Option to BUILD (as suggested) and got 30 plus failures concerned with wiFi.cpp - e.g. wifi_drv.h no such file or directory. No Serial Port error reported.

Please, you're going too fast...

If the blink example works on the Arduino IDE, have you tried it on Xcode before trying a more complex example?

You need to validate each step, with one single change per step.

About the WiFi, I guess some specific libraries need to be installed. Have you installed them? Does the sketch compile on the Arduino IDE? Have you check the sketchbook is correctly defined —page 9 sq., ibid.? Have you restricted some libraries for faster compilation —page 51, ibid.?

oops - I will slow down -

Blink runs in Arduino under OSX

Now I understand the Build Options - I get a clean build but when I try to UPLOAD the Blink app I get:

/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -D -patmega328p -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -carduino -b115200 -P/dev/tty.usbmodem26421 -Uflash:w:Builds/embeddedcomputing.hex:i

Avrdude: can't open input file Builds/embeddedcomputing.hex: No such file or directory

Looks as though I have not done something!

My thanks and apologies for any confusion.

The target UPLOAD requires the file Builds/embeddedcomputing.hex to be ready.

Have you checked that the file Builds/embeddedcomputing.hex is available?

Use instead the target ALL = CLEAN + BUILD the sketch + ULPOAD to the board + SERIAL console.

It might be easier to use the contact form to send me the content of the Log Navigator.

The maintenance of the embedXcode template is really difficult due to Apple secrecy around and lack of documentation on Xcode.

So I'm considering switching from Xcode to another IDE.

Here's an open letter to Apple Xcode team. Feel free to send it to members of the Apple Xcode team you know.

Thank you for your help :slight_smile:

Open Letter to Apple Xcode Team:
Dear Xcode Team,

Xcode offers superior features and ergonomics compared with other IDEs running on OS X.
Unfortunately, its restricted documentation prevents from using many of its features.

I'm using Xcode as a development tool for embedded computing platforms.
As at today, the embedXcode template supports Arduino, Diligent chipKIT with MPIDE, Texas Instruments' Launchpad with Energia, Leaflab Maple, Teensy, Wiring, and has received a warm welcome from the embedded computing community.

The issues I'm currently facing are mostly linked to the lack of available documentation.
The books available on Xcode focus on how to use the tool, not on how to customise it. Similarly, Apple doesn't provide any clues about its inner structure.
For example, keywords used by the templates are not documented. Neither is using other tool-chains, albeit the specific Toolchains folder.

Is Xcode solely limited OS X and iOS development?
By just releasing some documentation on Xcode inner organisation and customisation, Apple can easily make Xcode the best choice for developers.

Otherwise, I'd have no option but to switch to another IDE and to abandon OS X.

Looking forward to hearing from you,
Best regards,

--- Rei Vilo
http://embedxcode.weebly.com

Please find the new release of embedXcode

**embedXcode • Nov 24, 2012 release 23 • Fixed WiFi issue on Arduino 1.0.2 and 1.5.x **
User Manual • Nov 24, 2012 release 17 • New section Dealing with Issues

embedXcode release 23 includes the additional optional parameter EXCLUDE_LIBS in the main makefile to black-list libraries.

Issues have been reported for the WiFi library on Arduino 1.0.2 and the Firmata library with Teensy 3.0.

Edit the makefile on you project and add the names of the libraries to exclude:

# List the libraries to be excluded
# For example, WiFi may crash on Arduino 1.0.2
# For example, Firmata may crash on Teensy 3.0
#
EXCLUDE_LIBS = Firmata WiFi WiFi/utility

The user manual includes a check-list when facing an issue on embedXcode.

As always,
• Website: http://embedxcode.weebly.com
• Download: http://embedxcode.weebly.com/download
• User guide: http://embedxcode.weebly.com/tutorial

Enjoy :wink:

Please find the new release of embedXcode

embedXcode • Dec 10, 2012 release 23 • Fixed MAPLE_IDE variable and added Energia 9 support for Stellaris
User Manual • Dec 10, 2012 release 18 • New section Dealing with Issues

The user manual includes check-lists when facing an issue on embedXcode.

As always,
• Website: http://embedxcode.weebly.com
• Download: http://embedxcode.weebly.com/download
• User guide: http://embedxcode.weebly.com/tutorial

Enjoy :wink:

Please find the new releases of embedXcode

embedXcode • Dec 14, 2012 release 25 • New target for distribution
User Manual • Dec 14, 2012 release 19 • New target for distribution

The new Distribute target creates a specific folder Distribution which contains:
• all the headers and code files,
• documentation in PDF if available,
• and main sketch —.pde or .ino— in a folder with the appropriate name.

As always,
• Website: http://embedxcode.weebly.com
• Download: http://embedxcode.weebly.com/download
• User guide: http://embedxcode.weebly.com/tutorial

Enjoy :wink:

I'm having issues getting my sketch to compile in Xcode for the Uno. It works fine in the Arduino IDE.

When I run a compile, I get the error:

/Applications/Arduino.app/Contents/Resources/Java/libraries/Esplora/Esplora.cpp:54: error: 'A11' was not declared in this scope
make: *** [Builds/libs/Esplora/Esplora.o] Error 1

I've attached the full error log.

I get this same error with a fresh embedxcode project too. Any ideas where I've gone wrong?

error.log (47.7 KB)

This is strange as your target is UNO.

I suggest you to edit the makefile on you project and add the names of the libraries to exclude:

# List the libraries to be excluded
# For example, WiFi may crash on Arduino 1.0.2
# For example, Esplora may crash on Arduino 1.0.3
# For example, Firmata may crash on Teensy 3.0
#
EXCLUDE_LIBS = Firmata WiFi WiFi/utility Esplora

It seems the Processing IDE is reaching its limits with the new Arduino products.

Thank you for reporting this issue. Please keep me informed of the result as I'm focused on the 1.5.x release

Excluding the Esplora lib worked. Thanks.

Thank you for the feed-back.

Please find the new release

embedXcode • Jan 08, 2013 • Fix for Esplora issue on Arduino 1.0.3

As always,
• Website: http://embedxcode.weebly.com
• Download: http://embedxcode.weebly.com/download
• User guide: http://embedxcode.weebly.com/tutorial

Enjoy :wink:

Running into another problem: I'm trying to build a project on the Due, and I get the following error:

---- Compile ----
1.1-CORE: .o < .c 	arduino_due_x	Builds/	WInterrupts.c
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc -c -mmcu= -DF_CPU= -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/cores/Arduino -I/Applications/Arduino.app/Contents/Resources/Java/libraries/LiquidCrystal -I/Applications/Arduino.app/Contents/Resources/Java/libraries/SD -I/Applications/Arduino.app/Contents/Resources/Java/libraries/SD/utility -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/EEPROM -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/Ethernet -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/Ethernet/utility -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/SPI -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/Servo -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/SoftwareSerial -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/Stepper -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/Wire -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries/Wire/utility  -g -Os -w -Wall -ffunction-sections -fdata-sections -I/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/variants/ -DARDUINO=150  /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/cores/Arduino/WInterrupts.c -o Builds/WInterrupts.o
cc1: error: missing argument to "-mmcu="
make: *** [Builds/WInterrupts.o] Error 1

This is with Arduino 1.5.1 and the latest embedxcode. I can compile and upload form Arduino, but even a brand new project in embedxcode fails to compile. Full log is attached

build.log (15.6 KB)

Problem is, I don't own an Arduino Due, so I can't proceed with the required tests.

I'll see what I can do.

Attached file displays

Error 503 Service Unavailable
Service Unavailable
Guru Meditation:
XID: 1076264504
Varnish cache server

Please find an updated version of embedXcode with successful compilation for Arduino Due.

Please let me know how the upload works so I could improve it.

Thank you!

Please find a new release of embedXcode

embedXcode • Jan 15, 2013 release 26 • Support for Arduino Due — Build, link and upload tested

Arduino Due is now fully supported thanks to the help of a user who proceeded with the build, link and upload tests.

Many thanks to Mike!

As always,
• Website: http://embedxcode.weebly.com
• Download: http://embedxcode.weebly.com/download
• User guide: http://embedxcode.weebly.com/tutorial

Enjoy :wink:

Hi Avenue33,

thanks for this development, I still have problems creating index and by trying to understand found that in the step1.mk file you also exclude OneWire :

# List of sub-paths to be excluded
#
EXCLUDE_NAMES  = Example example Examples examples Archive archive Archives archives Documentation documentation Reference reference
EXCLUDE_NAMES += ArduinoTestSuite OneWire
EXCLUDE_NAMES += $(EXCLUDE_LIBS)
EXCLUDE_LIST   = $(addprefix %,$(EXCLUDE_NAMES))

Any special reason for this ?
Thanks !

Yes, the OneWire library used to be incompatible with the chipKIT MPIDE IDE.

Just remove OneWire from step1.mk file.

New place for excluding libraries is the makefile file:

# List the libraries to be excluded
# For example, WiFi may crash on Arduino 1.0.2
# For example, Esplora may crash on Arduino 1.0.3
# For example, Firmata may crash on Teensy 3.0
# For example, OneWire may crash on MPIDE 0023
#
EXCLUDE_LIBS = Firmata WiFi Esplora OneWire

The template has been updated accordingly.

Please find a new release of embedXcode

embedXcode • Feb 02, 2013 release 27 • Support for Teensyduino release 1.12

Teensyduino for Teensy 3.0 is no longer in beta; the plug-in for Arduino has reached release 1.12 and is based on gcc 4.7.2.

As always,
• Website: http://embedxcode.weebly.com
• Download: http://embedxcode.weebly.com/download
• User guide: http://embedxcode.weebly.com/tutorial

Enjoy :wink:

Hello people, I'm new in this forum and also English isn't my first language so forgive me if I have some mistakes.
I'm having problems with Xcode and user libraries, I follow every process of the manual( obviously I forgot something) but I couldn't make it build all.
It's a small code that only uses the IRremote library just that.
I was able to build all without the library, and then I added the files in the a sketchbook tree node on Xcode also in the index for code sensing(witch is working) but when I build all, Xcode complains aboud not finding the ir methods.
I notice also something strange, in the arduino IDE we have the path library, but in embedxcode you have used Libraries, since Mac OS is caps oriented this has some issue, or I'm wrong?
Thanks in advance
Eduardo

¡Bienvenido!

Where the IR library is on the hard disk? The tree on the left pane is part link, part real files.

  • Have you run the Arduino IDE once and declared the SketchBook folder? —see §1.2. Install the IDEs of the Boards
  • Is the IR library inside the library folder inside the sketchbook folder? —see §3.3. Add User's Libraries
  • Is the IR library a user library —you've wrote it— or a standard library —supplied with Arduino? —see §5.2 Manage the Libraries for Compilation

If you new to the Arduino world, I'd recommend to go step-by-step and start with the standard Arduino IDE before switching to Xcode, which is a very rich IDE.