embedXcode: Teensy 3.0 on Xcode

Status
Not open for further replies.

Avenue33

Well-known member
Develop your sketches for Teensy 3.0 using Xcode!

6593998_orig.png


Direct links:
• Website: http://embedxcode.weebly.com
• Download: http://embedxcode.weebly.com/download
• User guide: http://embedxcode.weebly.com/tutorial

Enjoy :)




I've developed embedXcode, a template for Xcode that supports Arduino 23, 1.0 and 1,5, chipKIT, Texas Instruments' LaunchPad, FraunchPad and StellarPad, Leaflabs Maple, Wiring boards, and now Teensy 3.0!

1551017.png

Please find the new release of embedXcode

  • Oct 26, 2012 release 18 • Support for Arduino Due
  • Oct 28, 2012 release 19 • Support for StellarPad
  • Nov 09, 2012 release 20 • Support for Teensy 3.0

The user manual has been updated too

  • Nov 09, 2012 release 16 • Updated with new boards

Please note the Arduino 1.5, Energia for StellarPad and Teensy 3.0 softwares are in development.

I've tested build, link and upload successfully for all boards except for the Arduino Due I don't own.


Enjoy ;)
 
Last edited:
Thank you Avenue 33!

The Arduino IDE works great for very small stuff but is IMHO completely useless on bigger projects. Looking forward to play around using embedXcode.
 
Please find the new release of embedXcode

Nov 17, 2012 release 22 •*New Make and Fast optimised targets

embedXcode release 22 includes two new targets: Make and Fast.

9158627_orig.png


The Make and Fast targets feature an optimisation for the build of the foundation libraries.

The new targets are much faster than the corresponding Build and All targets. This is especially important for the ARM-based boards.

Learn more.

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

Enjoy ;)
 
Does not work with Teensy 3.0 beta8

Thanks! Was looking forward to this, but could not manage to get it working.

Does not work with latest beta8: http://forum.pjrc.com/threads/430-Teensy-3-0-quot-beta8-quot-Software

Error:
Code:
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:282: #error "Please edit Boards.h with a hardware abstraction for this board"
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:300: 'IS_PIN_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:300: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:301: 'IS_PIN_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:301: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:302: 'IS_PIN_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:302: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:303: 'IS_PIN_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:303: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:304: 'IS_PIN_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:304: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:305: 'IS_PIN_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:305: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:306: 'IS_PIN_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:306: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:307: 'IS_PIN_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:307: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:346: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:347: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:348: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:349: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:350: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:351: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:352: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Boards.h:353: 'PIN_TO_DIGITAL' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Firmata.cpp:93: 'VERSION_BLINK_PIN' was not declared in this scope
/Applications/Teensy.app/Contents/Resources/Java/libraries/Firmata/Firmata.cpp:431: 'VERSION_BLINK_PIN' was not declared in this scope

Followed http://embedxcode.weebly.com/uploads/1/1/6/2/11624344/embedxcode_usermanual.pdf strictly.
 
I need more information as many different elements are involved.


• Does the standard blink sketch compile successfully with Xcode on your installation?

I tested Teensy beta 8 on embedXcode with small and large sketches successfully.


• Did your sketch including Firmata library use to compile successfully with the previous release of Teensy, beta 7?


• Does your sketch including Firmata compile successfully with the Teensy IDE?

If compilation fails on the Teensy IDE, the Firmata library may be the culprit.

I don't know whether the Firmata library is compatible with Teensy.

Please refer to the thread Is library "Firmata" working on the Teensy 3?
 
Last edited:
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 :)


Open Letter to Apple Xcode Team said:
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
 
Hi Avenue,

I did not use nor install the Firmata library.
I believe it came with Teensy App beta 8.
Please keep up the great work. Will forward the mail to apple.

Heri
 
To avoid having issues with Firmata, just
  • upgrade embedXcode to release 23
  • open makefile on you project
  • and add Firmata on the line EXCLUDE_LIBS = Firmata

Code:
# 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 = WiFi Firmata

This is a black list of libraries to avoid!
 
Last edited:
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:

Code:
# 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 ;)
 
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.

7251380_orig.png


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

Enjoy ;)
 
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.

The issue mentioned in the previous post is still there: objects archived by arm-none-eabi-ar seem not to be available for link. As a temporary solution, embedXcode doesn't use archives for Teensy 3.0.

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

Enjoy ;)
 
Please find a new release of embedXcode:

embedXcode • Feb 28, 2013 release 29 • Support for Digispark (build and link tested)

The Digispark by Digistump is an incredibly small —0,69x0,75" or 17,5x19,0mm only— but fully featured board —with I²C, SPI, ADC or PWM!

593967221.jpg


More tests are required for the upload as the process is not standard.

140781_orig.png


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

Enjoy :)
 
Please find a new release of embedXcode:

embedXcode • Mar, 05 2013 release 30 • Full support for Digispark
embedXcode • Mar, 05 2013 release 31 • Automatic project configuration

Thanks to the Digispark boards received from Digistump, I ran the tests for the upload. build, link and upload work fine now.

477479_orig.jpg
Enjoy the power of a square inch!


The automatic project configuration procedure saves a lot of time. Before, a newly created project used to require many manual procedures, like declaring the .ino or .pde sketch file as C++ code file for colour syntaxing, or defining the directories for click-to-error, ... Now, you need just a click!

8069618_orig.jpg


This new automatic project configuration works for all the supported platforms: Arduino, chipKIT, Digispark, LaunchPad MSP430 + FRAM + Stellaris, Maple and Wiring.


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


Enjoy :)
 
I'm presently working on extending the automatic project configuration to include all the manual procedures, except for adding the user's libraries.

5517385_orig.png


The major challenge is to understand how Xcode stores and structures the configuration of a project.

Stay tuned :)
 
Please find a new release of embedXcode:

embedXcode • Mar 15, 2013 release 32 • Full automatic project configuration

This new release enhances the automatic project configuration and includes:
• Declare .pde or .ino file as C++ code for code-sense, and
• Define the directory for the targets,
• Add all the cores, variants and libraries from the installed platforms under the group Resources,
• Declare all the files of the project for code-sense.

6574469_orig.png
9554119_orig.png


Major impact: project are much lighter, typically 2 MB instead of 16 MB!

The only remaining manual procedure is adding user's libraries.

The User Manual has been updated accordingly.

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

Enjoy :)
 
Please find a new release

embedXcode • Mar 15, 2013 release 33 • Patch for libraries Libraries in sketchbook

This release fixes an annoying bug on the the folder name for the user's libraries.

The folder with the user's libraries in the sketchbook can now be spelled with or without a capital L.

Both libraries and Libraries names are valid.

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

Enjoy :)
 
Please find a new version of mbedXcode

embedXcode • Apr 05, 2013 release 36 • Stability enhancement with revised main()

The revised main() function includes now copies of the main files from each platform and architecture. An issue with arm-none-eabi-ar release 4.7.1 has also been fixed. Teensy 3.0 and LaunchPad Stellaris were concerned.

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

Enjoy :)
 
Please find a new release of embedXcode

embedXcode • Apr 12, 2013 release 39 • Arduino architecture new variables
embedXcode • Apr 13, 2013 release 40 • Arduino Duemilanove configuration file
embedXcode • Apr 16, 2013 release 41 • Estimated RAM usage


Arduino 1.5 new compilation variables are now included.
Estimated RAM usage and total RAM are displayed after compilation.

Code:
---- Size ----
Binary sketch size:  654 bytes (of a 16384 byte maximum)
Estimated SRAM used: 8 bytes (of a 512 byte maximum)
==== Make done ====

2461115_orig.png

Based on the results of the survey, support for chipKIT, Maple and Wiring is put on hold until new boards or new versions of the IDEs are released.

As always,
• Website: http://embedxcode.weebly.com
• Download: http://embedxcode.weebly.com/download
• User guide: http://embedxcode.weebly.com/tutorial
 
Please find a new release of embedXcode

embedXcode • Apr 19, 2013 release 42 • Release number check

During the first compilation of the project, a dialog box may prompt if a new release of embedXcode is available.

5386828_orig.png


The dialog box closes automatically after 5 seconds. Click on Go to Download to download the new release or OK to ignore it.


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

Enjoy :)
 
Status
Not open for further replies.
Back
Top