embedXcode: Teensy 3.0 on Xcode

Status
Not open for further replies.
Please find a new release of embedXcode.

embedXcode • Apr 28, 2013 release 47 • Pre-processing variable EMBEDXCODE

A project using embedXcode declares a pre-processing variable, EMBEDXCODE, with the release number as value.

Code:
EMBEDXCODE = 47

The variable and the value are passed on to the compiler as a -D variable:

Code:
-DEMBEDXCODE=47

This allows you to manage conditional #define and #include based on the IDE you use, either Xcode or one of the large Processing-based family.

The EMBEDXCODE variable is already used in the main.cpp code file so it is only considered when compiled by Xcode, and ignored by the Processing-based IDEs.

Interim releases include:
• embedXcode • Apr 19, 2013 release 43 • Release number check
• embedXcode • Apr 21, 2013 release 44 • Compatibility for MPIDE version 0x01000202
• embedXcode • Apr 21, 2013 release 45 • Support for chipKIT Max32 board
• embedXcode • Apr 26, 2013 release 46 • Excluded libraries from core, application and user


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 • May 04, 2013 release 48 • Compilation of main.cpp for embedxcode only
embedXcode • May 10, 2013 release 49 • Improved code-sense for core libraries


main.cpp has a conditional statement for compilation based on EMBEDXCODE.

The name of the IDE is included in the pre-processing variable use for code-sense.

3407177.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 • May 23, 2013 release 51 • Project configuration with user’s libraries

The automatic preparation procedure now includes the user's libraries for code-sense.

For example, if you select Teensy 3 as board when you create a new project, all the libraries under the sketchbook/libraries folder define in the Teensyduino / Arduino preferences are going to be included to the project.

8036313_orig.png
870719_orig.png


When I started the embedXcode project back in January 2012, I didn't expect to reach the 51st release!

Thank you for your support, feed-back and help you've provided me during all the development!

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 • May 28, 2013 release 52 • Project configuration stability enhancement

It appeared the tool in charge of configuring the project generated zombies, resulting in a cryptic Segmentation fault: 11 error message. The cause has been fixed and zombies are over now.

5983901_orig.png


More important, I'm going to resume playing with boards, sensors and displays. As my current Mac no longer provides enough power to run Xcode smoothly,

I plan to update my old Mac for a new one, as this year's target for contributions. Obviously, I continue to maintain and support embedXcode.

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

Enjoy :)
 
Problem with Teensy 2.0 ++ & embedXcode

Hey,

I ve been using embedXcode for the Arduino Uno in a Project with a couple people, and it's been just really awesome.
It is so much better to work with (embed)Xcode than with the Arduino ide itself but:

Now i wanted to program my Teensy 2.0 ++ with the embedXcode, but i keep running in several problems..
I repeated the process a couple times and reinstalled arduino, teensyduino as well as embed Xcode all one after the other.
Now I still get following error in Xcode:

Bildschirmfoto 2013-06-05 um 19.59.32.png

I believe that the problem is just that somehow the Arduino libraries are not connected to the Project ("Arduino.h") ?
It is really not to simple to spot the problem...
But that is the first error that occurs to every new created (teensy 2.0-)project!

I had similar problems with my teensy 3.0 but i figured to first get it to work with the teensy 2.0 ++…

/*
If you are interested what i am doing with the teensy 2.0 ++
Here is the project that was (until now) only programmed with the Arduino IDE.
www.tinyurl.com/controllerProject
*/

Any Help or Hints would be much appreciated! :)
 
The next release of the User Manual is going to be an iBook available on the iBookStore.

7271155.jpg


Discover the preview!

The iBook has been submitted and is currently under review and awaiting validation.
 
Last edited:
Please find a new release of embedXcode

embedXcode • Jun 30, 2013 release 55 • User Manual as E-Book

The User Manual is now a free e-book to be available on the iBookStore, allowing a much lighter installation package. The iBook is awaiting validation.

2718278_orig.png


Dealing with iBooks Author has been especially painful and slow, due to my old Mac.

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

• embedXcode • Jul 06, 2013 release 57 • Elapsed time for build and link
• embedXcode • Jul 08, 2013 release 58 • Management of file names with space
• embedXcode • Jul 10, 2013 release 59 • Stability enhancement for Doxygen


Interim release 57 includes a measure for the elapsed time of building and linking.

Release 58 features modifications to manage projects even if they include a space in their name or in their paths.

However, it is strongly recommended not to use space in project and folder names.

Release 59 improves stability for Doxygen by avoiding unrecognised characters. For example, © is changed to (c). Doxygen is the tool used for writing [urlhttp://embedxcode.weebly.com/self-document-the-project.html]documentation[/url], directly from the code into PDF, HTML and native Xcode help file formats.

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 • Jul 27, 2013 release 101 • Stability enhancements
embedXcode • Jul 29, 2013 release 102 • Improved utilities


Interim release 101 initiates the simplification process, as the template has grown in complexity, making it difficult to maintain. The idea is to focus on the main features.

Release 102 improves the utilities for checking the availability of new releases and preparing the project with all the references.

The User Manual is also being reviewed and is under approval.

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 • Aug 10, 2013 release 103 • First release of embedXcode+

I'm introducing a second and more elaborate version of embedXcode, embedXcode+, available soon.

9345388_orig.png


A new release of the User Manual as e-book is also available.

I take this opportunity to announce that embedXcode is joining forces with Visual Micro, to share experience and release exciting new features.

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

Enjoy :)
 
Last edited:
Please find a new release of embedXcode.

embedXcode • Sep 01, 2013 release 104 • Improved utilities
embedXcode+ • Sep 01, 2013 release 104 • Improved utilities and select among two connected boards


Release 104 inaugurates the new embedXcode+ edition with extended features.

In case two similar boards are connected, for example two Arduino boards, a windows lists the connections and ask to select one:
6051142_orig.png


• To select the first port, press Enter, click on the button 1 or wait 10 seconds.
• To select the second port, click on the button 2.

This feature works with the Arduino boards and similar boards using a serial through USB connection.

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

Enjoy :)
 
Nice work!

2 questions though:

1. Is the basic version supposed to highlight .ino as C++? Cause it doesn't on my install.
2. Is there a way to uninstall this "the easy way"? The Uninstall.app in Documents doesn't seem to get rid of everything, and while I can mess around with pkgutil a nice uninstall script would be handy :). I wanted to completely clean up the old version before installing a new one.

Thanks!


Edit: ok, just saw the instructions on your website, gonna give them a try.
 
Nice work!

You're welcome!


2 questions though:

1. Is the basic version supposed to highlight .ino as C++? Cause it doesn't on my install.[/QUOTE]

You need to compile a first time so the Xcode project has all the references.

Please refer to chapter 2 Create a New Project section 2 Prepare the Project:

The template doesn't define all the parameters, so the newly created project needs to be prepared.
This is done automatically during the first compilation. Simply select one target, as Build or Make and click on Run.


2. Is there a way to uninstall this "the easy way"? The Uninstall.app in Documents doesn't seem to get rid of everything, and while I can mess around with pkgutil a nice uninstall script would be handy :). I wanted to completely clean up the old version before installing a new one.

Thanks!

Edit: ok, just saw the instructions on your website, gonna give them a try.

Uninstall.app should delete all the files installed. A manual procedure is available at chapter 1 Install the Template section 3 Install embedXcode paragraph Uninstall the Template.

The package installer manages the versions and overwrites the files from a former version. For example, version 104 overwrites the files of version 103.

Please let me know if you have futher questions.
 
Xcode 5 was officially released to the public and I rushed to test it.

Existing projects created with embedXcode on Xcode 4 open with no problem, although the utilities aren't compatible with Xcode 5.

However, creating a new project based on the embedXcode templates fails: Xcode quits unexpectedly.

697375_orig.png


Is it a bug due to the embedXcode templates, a bug due to this new Xcode release, or a new —and undocumented— standard for the templates?

I know and understand how impatient you are to play with this new release of Xcode.

I have also to cope with the extra power this new release of Xcode requires and makes my old MacBook really slow.

In the meantime, stick with Xcode 4 and please, give me time to investigate and work on the next release that works.

Thank you!
 
Last edited:
Please find a new release of embedXcode.

• embedXcode • Sep 20, 2013 release 107 • Support for Xcode 5 on OS X 10.8
• embedXcode+ • Sep 20, 2013 release 107 • Support for Xcode 5 on OS X 10.8


1379697824.jpg
6593998_orig.png


I also checked that the new release of Teensyduino 1.16 works fine.

embedXcode now supports the new Xcode 5 on OS X 10.8. Support for OS X 10.7 is deprecated

For more details, please refer to the Release Notes.

Thank you to the users who helped me with the implementation of Xcode 5!

Next challenge: update my old Mac!

Download
 
Hi Avenue33,

I was wondering where I find the program size and estimated memory size after building? I can't find it, is there log window i can open to show this? I'm using Xcode 4.6.3, and embedxcode release 104.

thanks,
duff
 
Go to the Log navigator.

Program and estimated data sizes are shown after compilation (target=Build) and before upload (target=All).

---- Size ----
Binary sketch size: 12116 bytes (of a 131072 byte maximum)
Estimated SRAM used: 3440 bytes (of a 16384 byte maximum)
Elapsed time: 9.2 s
==== Make done ====
 
Last edited:
Thanks got it is there way to have that come up in the Toolbar menu? One more thing it takes a lot longer to compile compared to using just arduino IDE, is this normal?
 
Thanks got it is there way to have that come up in the Toolbar menu?

IMHO, displaying the size in the toolbar menu represents a whole new project and I don't know Mac OS X intricacies.

I prefer to focus on improving embedXcode core features.

One more thing it takes a lot longer to compile compared to using just arduino IDE, is this normal?

Depending on the edition of embedXcode you use, you have two options:

  • Build and All targets build and link everything, so it could be lengthy.
  • Make and Fast additional targets only build the main sketch and the libraries on the local folder, so it goes much faster, up to 10x.
 
Please find a new release of embedXcode.

• embedXcode • Oct 12, 2013 release 108 • Support for Arduino Uno USBtinyISP
• embedXcode+ • Oct 12, 2013 release 108 • Support for Arduino Uno USBtinyISP and improved update management


875633_orig.png


The embedXcode+ edition brings an improved update management for future release. The improved update management allows to update the projects when a new release of the template is available. This applies for project initially created with release 108, for example with next release 109 of the template.

Download

Happy coding :)
 
Hi, Avenue33. Your tool makes Arduino programming so much more elegant - I hit the limits of the Arduiono editor pretty fast and was glad to find embedXcode.

I have an issue with the OctoWS2811 library on Teensy 3.0. It gives a link error that the linker can't find _kill and _getpid. It links fine when used directly from the Arduino editor. Any thoughts you might have on what's happening here would be appreciated.


Steps to reproduce:
Install the OctoWS2811 library from the link above.
Create an empty project in Arduino, include OctoWS2811.h and create empty setup() and loop() methods.
Build and run.
Note that the build succeeds. Then:

Create an empty project in Xcode for the Teensy 3. (Change no code.)
Build.
Note that the build succeeds. Then:

Add OctoWS2811 to APP_LIBS_LIST in the Makefile.
Build.

Result:
Build fails to link. Here's the complete log of the linking stage:

---- Link ----
7.2-LINK: .elf < . teensy3 Builds/ .
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/arm-none-eabi/bin/arm-none-eabi-gcc -mcpu=cortex-m4 -Wl,--gc-sections -Os -mthumb -T/Applications/Arduino.app/Contents/Resources/Java/hardware/teensy/cores/teensy3/mk20dx128.ld -o Builds/embeddedcomputing.elf Builds/LocalLibrary.o Builds/main.o Builds/analog.o Builds/eeprom.o Builds/keylayouts.o Builds/math_helper.o Builds/mk20dx128.o Builds/nonstd.o Builds/pins_teensy.o Builds/serial1.o Builds/serial2.o Builds/serial3.o Builds/touch.o Builds/usb_desc.o Builds/usb_dev.o Builds/usb_joystick.o Builds/usb_keyboard.o Builds/usb_mem.o Builds/usb_midi.o Builds/usb_mouse.o Builds/usb_rawhid.o Builds/usb_seremu.o Builds/usb_serial.o Builds/yield.o Builds/AudioStream.o Builds/HardwareSerial1.o Builds/HardwareSerial2.o Builds/HardwareSerial3.o Builds/IPAddress.o Builds/IntervalTimer.o Builds/Print.o Builds/Stream.o Builds/Tone.o Builds/WMath.o Builds/WString.o Builds/avr_emulation.o Builds/usb_flightsim.o Builds/usb_inst.o Builds/libs/OctoWS2811/OctoWS2811.o -LBuilds -lm
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/bin/ld: section .ARM.extab.text.dma_ch3_isr loaded at [0000000000003d68,0000000000003d73] overlaps section .data loaded at [0000000000003d68,000000000000431b]
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib/thumb2/libc.a(lib_a-signalr.o): In function `_kill_r':
signalr.c:(.text+0x14): undefined reference to `_kill'
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib/thumb2/libc.a(lib_a-signalr.o): In function `_getpid_r':
signalr.c:(.text+0x28): undefined reference to `_getpid'
collect2: error: ld returned 1 exit status
make: *** [Builds/embeddedcomputing.elf] Error 1
Command /Applications/Xcode.app/Contents/Developer/usr/bin/make failed with exit code 2


Versions:
OSX: 10.8.4
Xcode: 4.6.3
Arduino: 1.0.5
Teensy loader: 1.15 and 1.16
Hardware: Teensy 3.0
embedXCode: 107
Mac: MacBookPro 2010 Core 2 Duo
 
Last edited:
Status
Not open for further replies.
Back
Top