Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 22 of 22

Thread: Suggested Development Tools for Mac

  1. #1
    Junior Member
    Join Date
    Nov 2012
    Posts
    1

    Suggested Development Tools for Mac

    Anyone have a preference for a non-arduino development environment on Mac? I just got a Teensy3.0 and am wanting to get started.

    -Matt

  2. #2
    Senior Member
    Join Date
    Nov 2012
    Posts
    136
    Hi!

    I've developed embedXcode, a template for Xcode that supports
    • Arduino 23 and 1.0,
    • chipKIT,
    • TI LaunchPad and FraunchPad,
    • Leaflabs Maple
    • and Wiring boards.

    Name:  1551017.png
Views: 469
Size:  23.1 KB

    Arduino Due with 1.5, TI StellarPad and Teensy 3.0 are currently on the pipe. Building and linking already work, I only need to wait for the boards to test uploading.

    Documentation is here and download there.

    Stay tuned

  3. #3
    Administrator Paul's Avatar
    Join Date
    Oct 2012
    Posts
    341
    The Xcode plugin should be pretty awesome.

    For a very "minimal" experience, use the makefile. Control-click on Arduino and choose "show package contents". The makefile is in Contents/Resources/Java/hardware/teensy/cores/teensy3. Documentation is in the makefile's comments.

  4. #4
    Senior Member
    Join Date
    Nov 2012
    Posts
    136
    I've created a specific thread for embedXcode: Teensy 3.0 on Xcode.

    Mac users, see you there

  5. #5
    Junior Member
    Join Date
    Sep 2013
    Posts
    18
    Has anybody (apart from Avenue33 that is) used embedXcode?
    If so, I would appreciate learning how you have got on and whether or not it lived up to your expectations.

    Thanks for your help.

  6. #6
    Senior Member
    Join Date
    Jan 2013
    Posts
    966
    You can also use Eclipse and the the Arduino Eclipse Plugin.
    I've posted some installation instructions on my blog.

  7. #7
    Senior Member duff's Avatar
    Join Date
    Jan 2013
    Location
    Las Vegas
    Posts
    976
    Quote Originally Posted by PaulG View Post
    Has anybody (apart from Avenue33 that is) used embedXcode?
    If so, I would appreciate learning how you have got on and whether or not it lived up to your expectations.

    Thanks for your help.
    I just started using it (Teensy 3.0) myself and its pretty nice so far though it had taken me a day to get it to compile test sketch. For some reason it will fail to compile with the default libraries that come with arduino 1.05. I didn't install ay extra libraries from the teensdunio application. I had to delete all the libraries to get it compile then add my libraries one by one. Some of them required some tweaks but I'm pretty new to this so its probably me doing something not right. The only real compliant i have so far is the compile time (build) is a lot slower than with the compiling with the arduino IDE. But so far its nice to have everything in one place with code completion and such.

  8. #8
    Junior Member
    Join Date
    Sep 2013
    Posts
    18
    Hi Headroom,

    Your instructions seemed well written, so I thought I would try Eclipse. Unfortunately, it has not been a happy experience:
    1. I downloaded the 64-bit version of Eclipse (because OS X Lion is 64-bit) and then discovered Jantje recommends the 32-bit version in his FAQ.
    2. You state download the Teensy Extension File. I am only interested in Teensy 3, so I thought I would need Teensyduino?
    3. I installed the TEF anyway, but got compiler file not found errors when I tried to compile a sketch.
    4. I experienced the Mac upload problem which Teensyduino 1.16 fixes. Unfortunately, Teensyduino1.16 only works with Arduino up to 1.0.5.
    5. I objected to the spyware behaviour of the Eclipse Arduino Plugin and was unwilling to install it for that reason.

    Oh well, I will have to investigate embedXcode. I just have a bad feeling that is going to be another time sink.

  9. #9
    Senior Member
    Join Date
    Jan 2013
    Posts
    966
    Yes, you should use the 32bit version of Eclipse Juno. Please Don't use Kepler! I'll add that to the instructions tonight.
    Also use Arduino 1.5.2 beta and not the newest 1.5.4 beta.
    If you download the Teensy Extension File you don't need Teensyduino as the Extension file covers that.
    Even though I know that Jantje may not like that I can add inductions of what needs to be done in case you don't want to download the extension file and only work with Teensyduino.

    What are your talking about with Spyware behavior of the Plugin ?
    During beta testing I've installed it dozens of times and I've not detected anything in respect to Spyware behavior.

    I would also very much appreciate it if you'd leave a comment on the blog when you encounter problems. This will allow me to respond on the blog and this will help other users as well.
    Last edited by Headroom; 09-17-2013 at 11:30 PM.

  10. #10
    Junior Member
    Join Date
    Sep 2013
    Posts
    18
    It doesn't seem right to have to use an (obsolete) unsupported beta of Arduino.
    Does the Teensy Extension File fix the Mac upload problem? If not, it is unusable for me.
    Teensyduino 1.16 does fix the Mac upload problem, but will it work with Arduino later than 1.0.5?

    The plugin states it is going to collect usage data and send it to a server. You cannot opt out other than not install the software.
    How do you know what data it is collecting? To me, that is spyware.

  11. #11
    Senior Member
    Join Date
    Jan 2013
    Posts
    966
    No, the extension file does not yet fix the upload problem, which BTW I have only rarely observed and I've programmed the teensy many times. I'll discuss with Jantje how we address that as I really don't like the Extension file myself.
    But then all the info from the Extension file is contained in Teensyduino. As Teensyduino comes in form of an Installer you'd have to install Arduino 1.0.5 ( or whatever is current now) and then run the Teensyduino Installer to be able to get to these files though.

    Honestly, I've never seen a message that indicates data will be sent to a server. If so it is likely Eclipse specific and not Plugin related. I doubt Jantje has the resources to collect and analyze that sort of data. As such I think this is Eclipse behavior can be turned off somewhere.

    Also, thanks for the feedback!

    Please PM me a screenshot where this occurs and Ill investigate.
    Last edited by Headroom; 09-17-2013 at 11:53 PM.

  12. #12
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,755
    Quote Originally Posted by PaulG View Post
    It doesn't seem right to have to use an (obsolete) unsupported beta of Arduino.
    I don't understand. What do you mean by "an (obsolete) unsupported beta"?

    Arduino 1.0.5 is the latest non-beta version of the Arduino software. Version 1.5.4 is clearly labeled as beta, according to Arduino's website.


    Teensyduino 1.16 does fix the Mac upload problem, but will it work with Arduino later than 1.0.5?
    Future versions will add support for Arduino 1.5.X.

    Just to keep things in perspective, the latest 1.5.4 version was released only 1 week ago (and the Windows version re-released due to a serious bug), and 1.5.3 was released 21 days ago (with important changes to the 3rd party APIs), after several months (since February) with no releases since 1.5.2. Until recently, I've considered 1.5.X a "moving target", especially with the substantial changes to the 3rd party APIs. It is still "beta" for some good reasons.

    There's little advantage to using 1.5.X, at least for Teensy. Most of the new features that are now appearing, which would be useful with Teensy, have been in Teensyduino for a very long time. Some are even now becoming part of Arduino proper because I contributed them. You'll see my name mentioned in a few places on Arduino's release notes, and several of the others not directly credited to me are things I've contributed to in various indirect ways.

    Still, as 1.5.X matures, I do recognize it's inconvenient to keep 2 copies of Arduino on your computer. I do intend to support 1.5.X. But it's a lower priority than a number of other things I have in development, that I believe will really benefit a lot of people and be useful in lots of projects.


    Regarding the Eclipse plugin, Jantje has poured a lot of work into that software over a long period of time, with virtually no financial gain. He's also contributed to Arduino in many ways and his name appears on Arduino's release notes file. I personally don't use Eclipse and I'm not familiar with this specific data collection issue. But I personally find it hard to believe someone who's done so much to help so many people on a volunteer basis would be engaging in "spyware".

  13. #13
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,755
    On the mac upload problems, if you upload even once using Teensyduino 1.16, it will update your bootloader. Thereafter, the upload problems should be fixed (using that particular Teensy3 board), even if you revert to version 1.15.

  14. #14
    Senior Member
    Join Date
    Jan 2013
    Posts
    966
    I'd like to add that Teensyduino currently "only" supports the 1.0.x Arduino versions. As Paul has explained in this and other threads, the 1.5.x Arduino is undergoing substantial changes which makes it very difficult to support as a lot of code hat to be rewritten to keep up to date with each new version.

    The disadvantage is that if you want to compile for Teensy and Arduino Due or Arduino Yun you'll have to use 1.0.5 for Teensy and 1.5.4 beta.

    Jantje decided to use 1.5.2 because the 3-rd party API (for example the separate boards.txt and platform.txt files) added substatial benefits for the Plugin that also suports all Arduino Boars including Due and Yun and because he could not divert his spare time to support two different IDE's. That is also the only reason that this Teensy Extension File exists. Once Teensyduino supports 1.5.x that will not be necessary anymore.

  15. #15
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,755
    On the next update, I'm also going to drop support for 1.0.3 and 1.0.4.

  16. #16
    Junior Member
    Join Date
    Sep 2013
    Posts
    18
    Hi Guys,

    Thanks for the detailed responses. I did not intend to cause such controversy! I will try to answer all your points in one reply.

    I don't understand. What do you mean by "an (obsolete) unsupported beta"?
    The Arduino web site clearly states:
    Previous IDE Versions
    These packages are not supported any longer by the development team:
    Arduino 1.5.3 BETA: Windows, Windows Installer, Mac OS X, Linux: 32 bit, 64 bit, source
    Arduino 1.5.2 BETA: Windows,Mac OS X, Linux: 32 bit, 64 bit, source
    1.5.2 is not the latest beta, so it's out of date, ergo obsolete.

    The upload problem was happening roughly 3 out of 4 times, so it was not something I could just ignore.

    I have never used Arduino before. I chose Teensy 3 because it is a very nice little board, not because it is Arduino compatible. At the moment I am not interested in any other Arduino boards, just the T3. I am moving a code base from mbed and I don't think the Arduino IDE is up to the job, hence my interest in Eclipse. I am not really bothered which version of Arduino is plugged into what version of Eclipse, I just want it to work, preferably first time. It is frustrating when the recommended components don't seem to be compatible with each other. Is it asking too much for you guys to synchronise your efforts?

    Future versions will add support for Arduino 1.5.X.
    That doesn't really help me right now.

    On the mac upload problems, if you upload even once using Teensyduino 1.16, it will update your bootloader. Thereafter, the upload problems should be fixed (using that particular Teensy3 board), even if you revert to version 1.15.
    Thanks Paul, that is a valuable point. I have updated the T3 bootloader so I should be able to use the TEF?

    As I said, I am new to Arduino and I am not familiar with Jantje or his contributions and I don't wish to impugn him. I just have an inherent distrust of software that collects data from my machine and then phones home. The message comes on the final dialogue of the plugin installation. I can't show you a screen shot as I've deleted the downloads. From memory and paraphrasing it says " the software collects usage data and sends it to a server. If you don't accept this, don't install the software". I personally find this a bit offensive; it is my machine and Jantje should ask my permission not dictate to me.

    I will give it another try later today with the correct versions of Eclipse, Arduino and TEF. Before installing the plugin, I will install an outgoing firewall.

  17. #17
    Junior Member
    Join Date
    Sep 2013
    Posts
    18
    Hi Headroom,

    I think I am almost there this time!

    Firstly, a minor point in the installation. At step 8 it is best to uncheck "Group Items By Category" before completing the dialogue box. Perhaps also mention that you are asked to restart Eclipse.

    I went through the First steps with the Blink sketch. At step 6 (Verify) I got an error from make: *** No rule to make target 'clean'.
    What should I do to fix this?

  18. #18
    Senior Member
    Join Date
    Jan 2013
    Posts
    966
    Good points on the Installation.

    It only generates that error the very first time when verifying/compiling a new sketch (I think). However, it should have proceeded to compile the sketch.

    So in case of the new "TestTestTest" sketch it starts like this:
    Click image for larger version. 

Name:	Screen Shot 2013-09-18 at 5.58.56 PM.png 
Views:	150 
Size:	76.3 KB 
ID:	943

    But ends with this, indicating a successfully compiled sketch:
    Click image for larger version. 

Name:	Screen Shot 2013-09-18 at 6.00.10 PM.png 
Views:	163 
Size:	55.3 KB 
ID:	944

  19. #19
    Junior Member
    Join Date
    Sep 2013
    Posts
    18
    Thanks for the screenshots. On studying them I realised I was looking at the Problems tab not the Console tab. It was actually working ok! Duh!!

    I have now built and uploaded several sketches into T3. I have to press the button on T3 to upload, but I can live with that.
    I can't get the Serial Monitor view to work. When I try to add the T3 port (/dev/tty.usbmodem11441) it says the port is in use. I don't think it is, because I can run CoolTerm and view the serial output on there. Any ideas?

    One final suggestion. Perhaps mention at the beginning of the instructions that if you are using a Mac and Teensy3, to ensure your T3 bootloader is the latest one before starting.

    Well, I now seem to have a working toolchain. Yay!! Next step is to learn how to drive Eclipse, then I will study your Importing libraries... instructions.

    Thanks very much for your instructions and your help.

  20. #20
    Senior Member
    Join Date
    Jan 2013
    Posts
    966
    Graet to hear it's working! Great feedback as well and really appreciated. I've tinkered around so many times with the Plugin that I am somewhat blindsided by details that new users may stumble over.

    Getting the serial ports to work on the mac is easy. It invloves creating a directlory and changing the permissions of it.
    I am not on my home machine but will post this later and add it to the Instructions. Actually I am somewhat surprised that you are the first one who is asking!

  21. #21
    Senior Member
    Join Date
    Jan 2013
    Posts
    966
    The problem with the serial monitor on the mac is described well in this thread/message on the Arduino Forum. The solution can also be found on Stackoverflow

    All you have to do is to open the terminal app and execute the following commands at the user prompt:

    sudo mkdir /var/lock
    sudo chmod 777 /var/lock

    This will create a directory and then change the directory permission to allow read/write/execute for all.
    Last edited by Headroom; 09-19-2013 at 10:31 PM.

  22. #22
    Junior Member
    Join Date
    Sep 2013
    Posts
    18
    Yep, that worked!
    Curiously, I did not need to do this with Arduino 1.0.5.

    Thanks again for your help.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •