If I had a magic wand for Arduino/Teensy development with multiple devices on one PC

Status
Not open for further replies.

bboyes

Well-known member
If this is already discussed or solved please point me there: I did try a quick search and found nada.

I find myself today using only 3 different Arduinos and pulling out my hair.
  1. COM71 Adafruit M0 Pro with new W5500 ethernet shield so I can test the official libraries for that
  2. COM41 Teensy 3.2 with Wix850io running big application code
  3. COM71 Teensy 3.0 running PMBus test code

It's a headache. The Adafruit M0 Pro will only work with 1.7.X from Arduino.org. I don't know why but that is the Arduino that makes the libraries for the M0 Pro, and I cannot get it to work with Arduino.cc IDE. That Arduino.org IDE is a dog. Takes forever (like 10+ seconds each, on multiple steps) to start up and do anything.

The other Teensies I am using 1.6.11 and TD 1.30. That IDE and TD are so much better. But I cannot have a project with settings for each of the systems #2 and #3, so switching back and forth is a hassle.

This morning Windows (I think it is the guilty part, or maybe a java serial port issue) and Arduino 1.6.11 would not show me any serial monitor output. TD would program the board. This was in the midst of multiple Windows7 updates and reboots. Three reboots later finally the serial monitor works. There went the better part of an hour.

I try to use TyQt. I close TD. Start TyQt.

But there is no binary easily available... Arduino hides that in a strange place! Grrr. I can Export Compiled Binary. OK I load that.

Now I want to load code into the COM41 Teensy. Start another Tyqt. Arduino Export Binary fails because I am working on a "library" in place. Grrr. So I build it and find the hidden folder: C:\Users\BAB\AppData\Local\Temp\buildbd3cd89c6f37409c07723e38f9c24e83.tmp

Load the code, now I have two TyQt windows with different serial monitors.

This is nice.

Every time I build the COM41 TD starts and I have to close it manually.

Arduino IDE only has the idea of one "project" and opening other *.ino has no memory of the settings needed.

What might be great:
  1. A way to define "arduino projects" with a target, target options, COM port, etc. Those would persist and be re-usable. These settings for gcc should be scrapeable somehow from the Arduino IDE I would think. How does it determine all the build options? Arduino only allows a single "preferences" file. I don't see a way around that.
  2. A way to build Arduino programs, based on the "project" definition from #1 just above, even in a command line window. All I want are the correct build options, HEX or ELF output, and error messages. I use Sublime or other editor to edit the code. So I don't need to edit in the Arduino IDE. It is all grayed out for me since I select "use external editor".
  3. A way to have multiple Arduino targets running at the same time in their own TyQt windows, building and downloading without clash. TyQt provides most of this now.

Is there any way to do this now? Is the Linux dev environment better for this? Any discussion on PJRC or anywhere else? I'm willing to put some $$$ and time into this.

Sincerely
Bruce
 
Last edited:
There is a Belgian guy called "Jantje" who developed an Arduino Plugin for the Eclipse IDE which works very well,with the Teensys, too. For each project, one may setup different compiler options, include paths and so on. This should solve your problem. A ready-to-install bundle of the Eclipse IDE and the aforementioned Plugin is available under the name "Sloeber".

BTW: Live editing of libraries and/or the core files is not a problem.

And it's free!
 
Hmmm, thanks. I did try that a year ago and ran into multiple problems. I will give it another look.
 
Check out http://platformio.org

It's highly configurable and super easy to get going. Plus the support is awesome. I've completely uninstalled the Arduino app but build arduino-based applications for a variety of target hardware. (Teensy 3.2/LC, ESP8266, and a variety of atmel AVR).

It's quite magical how well it works.
 
KurtE taught me that opening a second copy of Arduino.exe gives a unique independent environment - versus open another sketch within the already open IDE.

I usually have multiple Teenys plugged in and TYQT is great at that - but to avoid fights with TD it needs to have IDE closed and then in TYQT 'Tools / Integrate to Arduino' done for the chosen IDE - then re-open the IDE and then TYQT will prompt for and associate to a specified Teensy.

Note: some IDE recompile speedup came with 1.6.12 and after - and there is a newer TeensyDuino.
 
I usually have multiple Teenys plugged in and TYQT is great at that - but to avoid fights with TD it needs to have IDE closed and then in TYQT 'Tools / Integrate to Arduino' done for the chosen IDE - then re-open the IDE and then TYQT will prompt for and associate to a specified Teensy..
Hey, I never knew TyQt could do that. This is a useful improvement. I can still save only one choice of board, port, speed, etc from the Arduino Tools menu, but this is a better way to have multiple serial monitors open. Once I have each Arduino build set up (in a separate instance of Arduino, as you suggest; I've been doing that) then I can rebuild without reselecting Tools options.
 
Yes, TYQT is the best thing I've found that makes Teensy experience better overall - gets rid of what are limitations and my grief points from the IDE SerMon - and the single minded focus of Teensy.exe that requires Verify/Button to program selected units when multiple are attached. And the Serial interface of TYQT doesn't take knowing an assigned port# - it just shows up with Teensy type and serial number once exposed. Also has does comms when in HID mode and no USB port is associated.

It is fast, picks up on Teensy reset/restart and doesn't use even more IDE JAVA to drain my system. And when time permits Koromix has been very responsive to any bug/failure I've found - as well as coming up with surprising new features and clear and usable UI. Scan the other menu items - Ctrl+H is nice to hide the left pane, and Ctrl+N for NEW window when you want to see what multiple Teensys are doing at once. Plus the GUI Ctrl+R Reset of a Teensy, associating a friendly name to each unique Teensy, and Ctrl+S to start/stop a serial connection for when another app needs to get serial access to the Teensy.

Would be nice if the IDE would denote multiple instances somehow - right now I have 9 sketches open and it I opened a second IDE they would all open again and you can't tell one from the other. I don't need 9 open of course - but stuff happens.
 
Status
Not open for further replies.
Back
Top