Arduino 1.6.2 support

Status
Not open for further replies.
@olarevver: No worries, I just read it very literally. At their defence they also ask for you OS and installed software version.
 
I try joystick complete example and the compile is ok but with warnings:

In file included from C:\tmp\Arduino Compilateur\arduino-1.6.2\hardware\teensy\avr\cores\teensy3/WProgram.h:28:0,
from C:\tmp\Arduino Compilateur\arduino-1.6.2\hardware\teensy\avr\cores\teensy3/Arduino.h:1,
from Complete.pde:16:
C:\tmp\Arduino Compilateur\arduino-1.6.2\hardware\teensy\avr\cores\teensy3/usb_joystick.h: In function 'void loop()':
C:\tmp\Arduino Compilateur\arduino-1.6.2\hardware\teensy\avr\cores\teensy3/usb_joystick.h:118:62: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
usb_joystick_data[1] = (usb_joystick_data[1] & 0xFFFFFFF0) | val;
^
C:\tmp\Arduino Compilateur\arduino-1.6.2\hardware\teensy\avr\cores\teensy3/usb_joystick.h:108:26: note: 'val' was declared here
uint32_t val;
 
I use Stino with Sublime Text as my main IDE, and when using Teensyduino 1.21 or 1.22 and Arduino 1.6.1 or 1.6.2, I get an error when attempting to compile anything:

Code:
"/bin/sh: arm-none-eabi-g++: command not found"

I think its a Stino issue, and I opened a bug a few weeks back but it hasn't gotten any traction.

I am curious if it could be a configuration issue on my end, but I can't think of what it could be...


Here is the issue I opened.
https://github.com/Robot-Will/Stino/issues/248

the same sketches compile just fine with Stino + Arduino 1.0.6 + Teensyduino 1.21
 
Teensyduino puts the toolchain into hardware/tools/arm. All Stino needs to do is use "<arduino>/hardware/tools/arm/bin" as the path to run the compiler.
 
I just got my first Teensies today and installed this version of Teensyduino. Where do you want bug reports? In this thread? Github?

The "upload to I/O board" button doesn't appear in the Arduino IDE. I'm on Windows 8.1, downloaded the latest Arduino today. The push-button method is working for my Teensy. I also don't get "upload" as a menu option but that may be Arduino's fault - ctrl-shift-u was having problems with my previous Arduino 1.5.8.
 
@ MorganS, just to confirm you are using the beta Teensyduino version on this thread and Arduino 1.6.2, or the version from
https://www.pjrc.com/teensy/td_download.html
with a manually selected Arduino 1.6.1?

Mixtures of those to will probably not end well, and at least for this week would suggest the version for arduino 1.6.1 with the version of TeensyDuino from the download page as a base point to confirm hardware function etc.
 
I just got my first Teensies today and installed this version of Teensyduino. Where do you want bug reports? In this thread? Github?

If it's related to using the 1.22-beta version, here is the best place.


The "upload to I/O board" button doesn't appear in the Arduino IDE. I'm on Windows 8.1, downloaded the latest Arduino today.

Wow, that's a new one!

Can you post a screenshot?
 
Hi,
I tried to install the (linux 64) Beta from this thread, but the install procedure is a bit too strict on my Arduino version. It complaints about
BaseNoGui.Class having the wrong size ...
This is certainly true because I built my own distribution package of 1.6.2 from the latest GitHub sources.

Is there a way to override this specific test (or any others checks which can not be fulfilled with a self compiled version of the Arduino IDE)?

Eberhard
 
Maybe just for user sanity check - there was an issue with release 1.6.1 having two Windows unique builds. A workaround wasn't released - but a new updated installer was released.

That would be one issue with a forked GitHub - you'd have to code a way around that check.

Is that an install only check or a TeensyDuino run time check as well?

Supposing it is install - and if not installed right - then it won't run as it would 'patch' the installed Java files?
 
No, the installer doesn't allow overriding the checks. It replaces java binary objects, so the strict matching really is important.

But you can get the full source here:

https://github.com/PaulStoffregen/Arduino-1.6.2-Teensyduino

To build the IDE, you'll probably have to undo this commit, or just copy an unmodified build.xml from Arduino's original copy. Or you can just copy the freshly compiled copies of pde.jar and arduino-core.jar into a copy of 1.6.2. Or you can make a copy of 1.6.2 with those 2 files replaced by symbolic links to the source tree's compiled jar files. That's what I do... which shaves many seconds off each rebuild, if using my compile-only build.xml. :)

Of course, if you have code changes too, you can merge the 2 code bases together, then compile the IDE.

After building the IDE, you'll also need to run the installer on an original copy. Then grab the hardware/teensy and hardware/tools folders and put them into your custom compiled IDE.
 
FYI: I just put 1.22b1 on my IDE 1.6.1 Windows 8.1 machine. IDE upload options display and work just fine to a T3.1.
 
I think you are right, I noticed a bunch of new stuff checked in, like new splashscreen, theme...

Does not look like it is released yet. Looked at the arduino.cc main page. One thing I noticed was that they now have opened a US store. http://store-usa.arduino.cc/
Currently about the only Arduino board you can buy there is the Edison mini breakout board for $75 + ($2.50+ shipping). Not sure if they will get many sales as you can buy it considerably cheaper elsewhere. Example newegg for $55 + $.99 for shipping But that is sort of off topic.
 
I've uploaded another beta version. The links on the original post have been updated.

The main change is an attempt to clean up harmless but annoying compiler warnings.

If you give this copy a try, please report any libraries that still have compiler warnings. Let me know which board and USB Type setting you used. I'm sure there's still many more lurking in the code.
 
I just downloaded the latest teensyduino and noticed in the Teensy installer that the Snooze library check box doesn't have description of what it is. Maybe something simple like: "Low Power Library for Teensy 3.x/LC"?
 
1.The Library Manager don't see the Teensy libraries .

2.In each library we can found 2 new files:
-library.properties
-README.adoc

library.properties:
Code:
name=Librairies Asynchrones
version=1.0.0
author=LOUSSOUARN Philippe
maintainer=LOUSSOUARN Philippe <info@p.loussouarn.free.fr/arduino/asynchrone/asynchrone.html>
sentence=Programmer des sketches orientés "Radio-Commande" en mode asynchrone à l'aide d'une collection de librairies non bloquantes pour Arduino UNO, MEGA, ATtiny84, ATtiny85 et ATtiny167.
paragraph=Asynchrone signifie qu'il n'est pas nécessaire d'attendre qu'une action soit finie avant de rendre la main au micro-contrôleur.
category=Device Control
url=http://p.loussouarn.free.fr/arduino/asynchrone/asynchrone.html
architectures=avr

README.adoc:
Code:
= Librairie Asynchrone pour Arduino =

Introduction

Sur les différents forums de discussion "Arduino", on lit souvent:
"Je fais clignotter une LED toutes les 5 secondes avec la fonction delay() et 
je mesure la largeur d'une impulsion provenant d'un récepteur RC avec pulseIn(), 
puis après traitement, je pilote un servo à l'aide de la librairie <SoftwareServo>. 
Mon servo fait n'importe quoi. Je constate que je rate beaucoup d'impulsions et 
que mon servo ne reçoit pas d'impulsion pendant le délai de 5 secondes:  il est "mou". 
Comment puis-je faire ces 3 actions en même temps."
Voilà typiquement, un cas programmation dit "synchrone": la fonction delay() de 5 secondes 
est une fonction bloquante, le micro-contrôleur ne fait (quasi) rien d'autre que d'attendre 
que les 5 secondes se soient écoulées.

Pour pulseIn(), c'est la même chose, si aucune impulsion, n'arrive, par défaut, 
cette fonction ne rend pas la main avant une seconde:  il s'agit d'une fonction quasi bloquante. 
A l'échelle des capacités de traitement des micro-contrôleurs, une seconde, c'est une éternité!
L'asynchrone: une solution élégante, efficace et abordable

L'auteur de ces lignes propose donc une solution: la programmation en mode dit "asynchrone" à l'aide 
d'une collection de  librairies non bloquantes taillées pour les applications orientées "Radio-Commande". 
Pour les évènements entrants  (ex: lecture impulsion) Asynchrone signifie qu'il n'est pas nécessaire 
d'attendre qu'une action soit finie avant de rendre la main au micro-contrôleur. Le simple test d'un 
indicateur via une fonction de la librairie suffit à savoir si l'action est terminée ou pas. 
Pour les évènements sortants (ex: génération d'une impulsion), Asynchrone signifie qu'ils sont 
exécutés dans la boucle principale, dès que le moment est arrivé, ou bien en interruption timer.
 
Thought I would give it a try, so I downloaded a windows version of 1.6.2 (zip file version), unziped to c:\ then I downloaded your latest exe.
I run the Arduino 1.6.2 to verify that it would work and forgot I left the exe running.

I started up the Teensyduino install, and it went part way, then failed to overwrite some jar file. The error messages said maybe you need to run as administrator with the only option was cancel (which I did), closed the Arduino window and reran... Wonder if the message might want to warn the user that the file was in use and maybe have the ability to retry? Yes, I know that it was a dumb user error. It has been awhile since doing PC software, so don't remember if you can detect difference between access denied versus file in use.

Kurt
 
I'm completely new to the Teensy world and frankly somewhat new to Arduino itself so take my comments with a grain of salt.

I've always resisted doing that. I did for a short time in the Teensy 3.0 beta testing, but my goal has always been to avoid a complete fork. It's easier, and everyone else like me does it (probably because it's easier), but I've never been about taking the easiest path.
That is understandable I rather not see projects forked if they don't have to be forked! Have you considered an alternative cross platform IDE. Here I was thinking Eclipse which is yes a massive bloated IDE but also an IDE that is cross platform, written in Java and has some AVR support already form what I understand.

As it is I don't know of any other cross platform IDE that is as well supported as Eclipse. There is EMACS but I've never really got into that.
But I do believe it's time to start hosting a copy of the actual Arduino IDE files together with the Teensyduino installers. Then there'll be a set of everything needed, with version that agree, all from the same page.
This may be a silly question but like I said I'm new to the Arduino world, but why do you need new Teensyduino installers for every minor release of the IDE? I guess I'm looking at this from the standpoint of developing on other platforms where minor releases of an IDE are normally bug fixes that don't materially impact compilers, libraries and the such.

In other words the handling of the Arduino IDE seems to be sloppy even before the advent of the "political" problems.
If the situation becomes much worse, of course I'll reconsider. But I really don't think it's going to get worse.

Sure, the Arduino guys are at war with Musto & Smart Projects. Releasing faster with features like this dynamic update gives them some advantage. But I'm pretty sure they also really want to retain the goodwill and support of a large community of 3rd party makers, even if we sell boards somewhat in competition to theirs. The huge community support is what makes them the authority and the software everyone turns to. Musto's obviously going to try drawing people away and onto his version. Already they're both publishing a lot of rhetoric aimed at convincing all of us to trust them the one true future of Arduino as a platform.
From what you describe above I really think things will get worst before they get better.
Right now, I know the Arduino devs are hearing a lot of angry comments about how 1.6.2 broke 3rd party boards and software. I don't believe they meant to do so. They probably just underestimated the difficulty of such a large release without any community beta testing, nightly builds or release candidates. I'm pretty sure we're going to see 1.6.3 by the end of this week, and probably a more careful approach on future releases.

Well you might want to mention to them that even Apple puts releases of Xcode not beta form and asks the community to test the release. Sometimes simply mentioning Apple inflames an open source developer to do something useful instead of arguing.

Speaking of Xcode, Visual Studio and other more focused IDE's, have you considered using them? You obviously loose some of the features useful for embedded work but they are commonly available solutions.
 
Ok I installed 1.6.2 plus latest beta. I then tried compiling my ILI9341_tlc graphic test program:

It is using a version of the ILI9341 library to run on LC on SPI1 using FIFO... Still work to go on library.
If I compile it on: 1.61 with Teensyduino 1.21 at 48mhz Optimized, the code compiles:
Code:
Sketch uses 57,292 bytes (90%) of program storage space. Maximum is 63,488 bytes.
Global variables use 4,412 bytes (53%) of dynamic memory, leaving 3,780 bytes for local variables. Maximum is 8,192 bytes.
If I try with 1.6.2 with beta 1.22beta2 again optimized 48mhz, I see:
Code:
Sketch uses 65,092 bytes (102%) of program storage space. Maximum is 63,488 bytes.
Global variables use 4,416 bytes (53%) of dynamic memory, leaving 3,776 bytes for local variables. Maximum is 8,192 bytes.
processing.app.debug.RunnerException: Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
	at processing.app.debug.Compiler.size(Compiler.java:338)
	at processing.app.debug.Compiler.build(Compiler.java:121)
	at processing.app.Sketch.build(Sketch.java:1170)
	at processing.app.Sketch.build(Sketch.java:1143)
	at processing.app.Editor$BuildHandler.run(Editor.java:2050)
	at java.lang.Thread.run(Thread.java:745)
Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
Did OPtimize options change?

Note: if I compile at 68mhz, both IDEs appear to generate the same size exe...

Code:
Sketch uses 52,832 bytes (83%) of program storage space. Maximum is 63,488 bytes.
Global variables use 2,236 bytes (27%) of dynamic memory, leaving 5,956 bytes for local variables. Maximum is 8,192 bytes.
 

Attachments

  • graphicstest_tlc-150401a.zip
    2.5 KB · Views: 127
Last edited:
KurtE - odd - I don't see a difference in the boards.txt where the obvious changes I know of would have been. I wonder what you see on the 'non-optimized'?
 
Paul: I see this w/TD_1.22.b1 - may not be new and perhaps something from Windows - but here it is : During 1.6.1 Upload - all went well this time. Last night I had a ghost port or something and it was forcing me to hit the button - that may have been under TD_1.21.

Opening Teensy Loader...
Teensy Loader is currently busy with another operation (r). Please try again in a few seconds, or restart Teensy Loader.
 
Hey there guys,

We're working with Teensy3.1 's with Arduino 1.6.2 and the beta Teensyduino (Windows) from the first post in this thread.

Using the EEPROM library, we're able to compile a basic sketch using several EEPROM functions with Arduino Uno selected as our board. We run into a problem when changing to Teensy3.1 , with the EEPROM library giving us

error: 'class EEPROMClass' has no member named 'get'

Could there be a simple fix in the EEPROM.h that would allow us to run EEPROM.get on Teensy, or is there maybe a hardware restriction that's accounted for and preventing this?

Any help would be appreciated
 
Wow, that was fast. You're already using the just-released new EEPROM library functions.

I still need to port those over to Teensy's version. Will look at it later today.
 
Status
Not open for further replies.
Back
Top