PDA

View Full Version : Teensyduino 1.29 Beta #1 Available



Paul
05-10-2016, 11:26 PM
Here is a first beta test for Teensyduino 1.29.

EDIT: beta test link removed.

Changes since Teensyduino 1.28:


Add support for Arduino 1.6.9
Add support for running on Raspberry Pi (Linux ARM)
Drop support for Arduino 1.6.3 and 1.6.6
USB Keyboard improved media keys, now Windows compatible
USB Touchscreen (up to 10 fingers)
USB Audio
USB Mouse adds horizontal scroll
More combinations in Tools > USB Type
Serial1.setTX() adds open drain option
Libraries updated: Audio, FastCRC, FreqMeasureMulti, PS2Keyboard, SerialFlash

ratkins
05-11-2016, 08:10 PM
Any chance of including the version number in the .dmg file name ("TeensyduinoInstall-1.29.dmg")? With the pace of Arduino and corresponding Teensy software updates it's hard to keep up with what's what in my Downloads folder :-(.

Theremingenieur
05-11-2016, 08:23 PM
I've given up on installing each single update. I forked the Teensy cores on github and "mirror" it via github desktop for Mac directly to the corresponding folder arduino.app/Contents/Java/hardware/teensy/avr/cores. Then, a simple click on the "Update from PaulStoffregen/master" button will keep my installation up to date.

PaulStoffregen
05-11-2016, 11:47 PM
This version adds more stuff into boards.txt to enable the new USB types. Your Tools > USB Type menu probably won't update without the installer.

There's a known bug (actually several) where the auto reboot doesn't know of about of the new USB types. I'm going to fix that soon. That also won't update by just mirroring github.

Nothing changed in the java patches, other than updating for the new Arduino 1.6.9. But when/if more java patches are made, you'll also miss them this way.

WMXZ
05-12-2016, 06:10 AM
This version adds more stuff into boards.txt to enable the new USB types. Your Tools > USB Type menu probably won't update without the installer.


Similar to Theremingenieur, I simply sync the GitHub core library from time to time (e.g. after seeing significant commits). I hardly use the installed Arduino/Teensyduino combo, only to run/test forum contributions, so I download only infrequently the installer.

However, it would help, if the revision description would have as 'headlines' the library (core, audio, etc) where the changes belong to.

Theremingenieur
05-12-2016, 08:28 AM
I'm not using the Arduino IDE for development, but jantje's eclipseArduino (Eclipse with his Arduino plugin) because it allows me to work simultaneously on my main code, libraries and core files (rarely needed for editing, but often interesting to look things up) in different tabs.

Edit: the platform.txt issue which I described earlier here, is solved. Obviously, my old file was not overwritten with the first attempt of running the Teensyduino install. I trashed everything and did a fresh install of Arduino 1.6.9 and Teensyduino 1.2.9 beta, and now the eclipse Arduino plugin works from scratch without patching whatever files. Please accept my apologies for having waisted your precious time!

PaulStoffregen
05-12-2016, 02:13 PM
I'm making progress on the Linux ARM (Raspberry Pi) version. Got it fully running for the first time, just now.

7149

Hope to have a final installer built later today.

KurtE
05-12-2016, 02:38 PM
Sounds great!

Paul
05-12-2016, 11:39 PM
I've updated the first post with the Linux ARM download.

Here's a couple more screenshots with the Raspberry Pi background. :)

7152

7153

adrian
05-12-2016, 11:50 PM
So now you are going to *make* me buy another raspberry pi. Thanks a lot :p

defragster
05-13-2016, 05:36 AM
Paul: did you see my post about 'Build options changed, rebuilding all (https://forum.pjrc.com/threads/34233-Build-options-changed-rebuilding-all?p=103948&viewfull=1#post103948)' - perhaps being caused by use of a sample from a read only library directory?

If my observation is correct for the general case, is there a way you can see to void that 'DIRTY sketch' file causing the rebuild all? Of course if you saw it to get it into 1.29 it would be Teensy only until the gods of Arduino adopted it.

Also - what Pi are you testing on? I have a Pi Zero . . .

adrian
05-13-2016, 07:07 AM
Ahhh !!!.... I have a pi 2 B thingy for various tasks ... the new pi 3 B thingy is a quad core!!! and god knows what debian distro it supports now .... So when you say " linux arm" will it support the quadcore (before I go and buy one)

defragster
05-13-2016, 07:29 AM
AFAIK - the Pi 3 is running a compatible version of the same Raspbian family to avoid such issues - so it should work. Doesn't take full advantage of the Pi CPU - but make all existing docs, etc work - so this EXE should run fine.

<edit> I just upgraded to Pi3:: Some (#81) Pi 3's left at SparkFun (https://www.sparkfun.com/products/13826) in their $90 kit for $78 for 5/13/16 - which means free shipping without padding the order - as long as you don't count the $38 for the 16GB microSD card w/OS, 5v 2.4A Power, USB cable, 20 leds, 4 buttons, 40 jumperwires, breadboard, Pi Wedge, 3.3v FTDI, Pi Tin, etc as padding.

PaulStoffregen
05-13-2016, 08:26 AM
I don't have a Pi 3. If anyone reports compatibility issues, I'll probably buy one for testing. But hoping that won't be necessary.

I tested on Pi 2, and did the building on a Pi 1.

Theremingenieur
05-13-2016, 11:40 AM
I for sure don't want to take the role of the killjoy, does it make sense to develop Teensy software on a Raspberry Pi? Please forgive my ignorance, but where is the practical application field?

KurtE
05-13-2016, 12:45 PM
I for sure don't want to take the role of the killjoy, does it make sense to develop Teensy software on a Raspberry Pi? Please forgive my ignorance, but where is the practical application field?
For me, the usage is something like:
I am using an Odroid Xu4 (could be RPI) on a robot, and I am using a Teensy 3.2 to control the Dynamixel Servos, and maybe I choose to put the Teensy somewhere inside of the robot and I wish to update the program, without having to tear the robot apart.

So I connect to my robot using VNC, bring up the Arduino IDE, make the change and download the updated firmware...

PaulStoffregen
05-13-2016, 01:10 PM
does it make sense to develop Teensy software on a Raspberry Pi?

Compared to an Intel i7 with SSD, Raspberry Pi is so painfully slow. Then again, some people use netbooks that are in about the same league.

I do know Raspberry Pi support has been requested many times. Obviously the Arduino devs have heard similar requests, since they've recently gone to the trouble of porting code and setting up their build system. Knowing this was coming, I had previously ported Teensy Loader and most of the other stuff, which really wasn't very difficult, other than waiting for the Pi to slowly build code.

Really, my only objection to supporting Raspberry Pi has been the same as supporting the packages from any distro. Nearly all the distros barely maintain their Arduino packages, and they make a lot of little changes to file locations and other stuff, and they all release on a different schedule, none of them in sync with Arduino's releases. That's far too much work to support Linux. I've always supported only Arduino's official releases. Now that Arduino is officially releasing for Linux ARM, I will support it too.

I guess we'll know in time whether anyone really uses it. Maybe? If anyone reading this really is going to seriously use Raspberry Pi or some other Linux ARM system for dev work, I'm curious to hear?

fretless_kb
05-13-2016, 01:43 PM
For me, the usage is something like:
I am using an Odroid Xu4 (could be RPI) on a robot, and I am using a Teensy 3.2 to control the Dynamixel Servos, and maybe I choose to put the Teensy somewhere inside of the robot and I wish to update the program, without having to tear the robot apart.

So I connect to my robot using VNC, bring up the Arduino IDE, make the change and download the updated firmware...

I believe you can transfer the files compiled from a PC as well and load them using the teensy loader? would you really want to make a change and compile on the machine controlling the robot? or would you develop test and simulate perhaps and then transfer the desired file? is your 'source' control on the robot? Seems like compiling with the R Pi is a novelty or niche market for training, but for me transfer and download to the T3 would be the key features and I believe this is supported.

Have fun.

WMXZ
05-13-2016, 02:43 PM
I for sure don't want to take the role of the killjoy, does it make sense to develop Teensy software on a Raspberry Pi? Please forgive my ignorance, but where is the practical application field?
For me, compiling for Teensy on RPI sound like: yes it can be done if you really wanted to do it, and Arduino/Teensyduino can and has been ported.

adrian
05-13-2016, 08:42 PM
A while ago I set up 2 of my windows machines with xming, and with a bit of futzing around on the rpi (xprotocol stuff), I had the rpi desktop on my windows machines! A variation on the vnc theme in #16... So I have a couple of windows laptops I can walk around with wirelessly connected to the rpi desktop which is soon to have teensyduino etc and be tethered to (or not tethered to) a teensy!!

So the quick answer is, for usage case, ITS FUN TO HAVE LOTS OF COMPUTERS!!!

I can easily see a case of the teensy and the rpi exchanging meaningful data, and having the ability to programme both 'together' would be 'gold' (maybe??)

adrian
05-15-2016, 01:09 AM
@PaulStoffregen ... thankyou for your work on arm. It all installed very nicely on my rpi 2 model B. So far so good. Here is a screenshot of teensyduino on the rpi running over X to my Xming install on a windows 7 machine. Cool!

7170

edit: FYI the teensyduino installer file had permission set to 'executable by NO-ONE'

KurtE
05-15-2016, 01:15 AM
Arm install worked on Odroid C1. At least it installed and compiled code. I have not tried the download yet.

Also tried on Odroid C2 (arm64), arduino fails to load...

PaulStoffregen
05-15-2016, 01:18 AM
Also tried on Odroid C2 (arm64), arduino fails to load...

Does Arduino not work even before installing Teensyduino? Or does Teensyduino mess it up somehow?

Or does the Teensyduino installer even run at all?

(I don't have any Odroid boards for testing... not sure if it's worthwhile to get any....)

KurtE
05-15-2016, 01:47 AM
C2 fails before I attempt to install Teensyduino

PaulStoffregen
05-15-2016, 01:56 AM
Is the installer able to run on C2, and at least show the intro page?

PaulStoffregen
05-15-2016, 01:58 AM
Has anyone tried on a Pi 3 yet? (I only have Pi 1, Pi 2, Pi A+ and Pi Zero... no Pi 3 here)

KurtE
05-15-2016, 02:28 AM
Is the installer able to run on C2, and at least show the intro page?
I downloaded the installer and it appears to start and run fine on the C2.

But if I start up Arduino, Arduino still crashes:

odroid@odroid64:~/arduino-1.6.9$ ./arduino
Picked up JAVA_TOOL_OPTIONS:
=============== DEBUG MESSAGE: Atomic load(jlong) unsupported on this platform ================

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x00000006, pid=2359, tid=3795117168
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b132) (build 1.8.0-b132)
# Java VM: Java HotSpot(TM) Client VM (25.0-b70 mixed mode linux-arm )
# Problematic frame:
# C 0x00000006
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/odroid/arduino-1.6.9/hs_err_pid2359.log
./arduino: line 34: 2359 Segmentation fault "$JAVA" "${JAVA_OPTIONS[@]}" processing.app.Base "$@"
odroid@odroid64:~/arduino-1.6.9$ ^C
odroid@odroid64:~/arduino-1.6.9$


Probably should report to Arduino...

PaulStoffregen
05-15-2016, 02:58 AM
Yup, it's definitely an Arduino problem. But really, it may be out of their hands, as it looks like a Java JRE compatibility issue.

Any chance you could try running the installer anyway, just to see if it's able to recognize that folder as a valid copy of Arduino and complete the installation of all files?

cartere
05-15-2016, 03:11 AM
Working for me on Raspberry PI 3, with latest upgrades, 25 sec to compile and download blink.

defragster
05-15-2016, 03:39 AM
@cartere - is that doing a 'rebuild all' first build? Opening an 'examples' copy? Doing a partial rebuild will be even more helpful on a Pi.

KurtE
05-15-2016, 12:44 PM
Yup, it's definitely an Arduino problem. But really, it may be out of their hands, as it looks like a Java JRE compatibility issue.

Any chance you could try running the installer anyway, just to see if it's able to recognize that folder as a valid copy of Arduino and complete the installation of all files?
Thanks,

I ran the installer and it did recognize the folder as a valid Arduino and it completed the installation.

PaulStoffregen
05-15-2016, 12:47 PM
Maybe try deleting the java folder from within arduino-1.6.9. Perhaps there's a JRE that works with the C2 and everything will magically start working if Arduino runs with a working JRE?

KurtE
05-15-2016, 02:20 PM
Thanks Paul,

Tried that and it now fails:


odroid@odroid64:~/arduino-1.6.9$ ./arduino
Picked up JAVA_TOOL_OPTIONS:
=============== DEBUG MESSAGE: Atomic load(jlong) unsupported on this platform ================

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x00000006, pid=4268, tid=3788280944
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b132) (build 1.8.0-b132)
# Java VM: Java HotSpot(TM) Client VM (25.0-b70 mixed mode linux-arm )
# Problematic frame:
# C 0x00000006
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/odroid/arduino-1.6.9/hs_err_pid4268.log
./arduino: line 34: 4268 Segmentation fault "$JAVA" "${JAVA_OPTIONS[@]}" processing.app.Base "$@"
odroid@odroid64:~/arduino-1.6.9$ mv java/ java_save
odroid@odroid64:~/arduino-1.6.9$ ./arduino
Picked up JAVA_TOOL_OPTIONS:
java.lang.UnsatisfiedLinkError: /home/odroid/arduino-1.6.9/lib/liblistSerialsj.so: /home/odroid/arduino-1.6.9/lib/liblistSerialsj.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.jav a:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java :1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at processing.app.Platform.loadLib(Platform.java:155)
at processing.app.Platform.<clinit>(Platform.java:150)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at processing.app.BaseNoGui.initPlatform(BaseNoGui.ja va:677)
at processing.app.Base.guardedMain(Base.java:151)
at processing.app.Base.main(Base.java:135)
/home/odroid/arduino-1.6.9/lib/liblistSerialsj.so: /home/odroid/arduino-1.6.9/lib/liblistSerialsj.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
Cannot load native library /home/odroid/arduino-1.6.9/lib/liblistSerialsj.so
The program has terminated!
odroid@odroid64:~/arduino-1.6.9$

I also made sure I had default-jre installed. Likewise tried installing: default-jre:armhf to see if that would help.

Posted this information up to Odroid forum as well. Maybe someone up there will have some other ideas as well.

Thanks again.

P.S. - I also installed on Odroid XU4, which works. As a side note you need to remember to do the standard Linux stuff and download and install rules file.

FYI - After initial download download of blink, I edited to change delays to 500 and clicked download. The compile and download were done under 10 seconds...

KurtE
05-15-2016, 02:54 PM
Another side note: More Arduino issue.

I install the new Arduino IDE on a virgin machine, example Odroid XU4, I install Teensyduino and let it install all of the libraries.

I now start up Arduino, and the library manager complains that I have several out of date libraries installed, with the option to go into library manager to potentially update some/all of these libraries.

Since the only User libraries I have installed are with Teensyduino, how does one know if the libraries that the library manager says is out of date are actually valid updates which include the changes to make them properly work with Teensy?

defragster
05-15-2016, 06:54 PM
Another side note: More Arduino issue. ... I now start up Arduino, and the library manager complains ... how does one know if the libraries that the library manager says is out of date are actually valid updates which include the changes to make them properly work ... ?

That is a good question in general KurtE - I see that on the system I set up to OTA program ESP8266 and I am torn between picking an offered update that may be harmless or fatal as the name means nothing with regard to how I use the system. So far I've ignored the noise because it seemed like some default install not related to Teensy or ESP8266.

jbliesener
05-17-2016, 03:10 AM
Paul, I've just sent you a personal mail with a very specific issue (maybe timing related) in the Flightsim USB stack. If you want, I can repeat it here, but I'm not sure if the required level of detail would be useful for most of the readers.

The thing is that, in general, the Flightsim plugin seems to freeze when you have more than 16 datarefs or commands. The issue doesn't seem to be new and seems to be somewhere deep in the Flightsim USB stack. If I enable the debug output in usb_free it seems to go away. Can you take a look at that, please?

Do you want me to repeat the full issue here?

PaulStoffregen
05-17-2016, 09:06 AM
Paul, I've just sent you a personal mail

Saw it, replied, and it's already deleted. I don't track problems via email, so there's little point sending me any email to report a problem. You must post here or in a github issue. Generally, use the forum is the issue needs investigation, use github if you've isolated the problem to specific code.



The thing is that, in general, the Flightsim plugin seems to freeze when you have more than 16 datarefs or commands. The issue doesn't seem to be new and seems to be somewhere deep in the Flightsim USB stack.


I need you to post this as a new thread in the bug reports forum.

https://forum.pjrc.com/forums/4-Suggestions-amp-Bug-Reports

Your message must have enough info to reproduce the problem. I know this probably sounds harsh, but if your bug report is lacking info, I will not even begin any investigation.

The absolute bare minimum info is a complete program I can copy into Arduino and run on a Teensy. Ideally it should not need external hardware (printing to the Arduino Serial Monitor is best), but if it does, complete info about how to replicate the necessary hardware is required. I am usually willing to spend some money to buy necessary hardware, but I will not spend time guessing about it. Time is the precious commodity I have in limited supply, and nothing wastes time worse than trying to reproduce a bug without clear & complete info! Missing links to the place to buy, unclear info about which parts or how they're connected, or what they should or shouldn't do that I used to observe the problem will mean I do not even begin an investigation.

I also need you to be very clear and specific about the setup and steps in X-Plane. Please understand I haven't actually used X-Plane for over a year. It's not even installed one any of my machines at this time. I need to know which version, which plugins (hopefully as few as possible), and the steps to take.

Please also know I am not a pilot. I can't even fly a simulated aircraft. I'm not familiar with avionics jargon. I've probably spent less than 1 hour total ever using X-Plane, and nearly all of that time was with the Cessna plane still sitting on the runway... pretty much the view shown in the video I posted a couple years ago. Almost everything I do know about X-Plane is the SDK API, and pretty much nothing about how to actually use it for actual flight sim. I'm not familiar with aircraft control panels, so for a 17 dataref test, at a bare minimum I will need some screenshots showing exactly which places to look for the effects of Teensy's changes, and which places to do things to change the datarefs. When/if I dig into this issue, I'll be installing X-Plane again from scratch, not having touched it in a long time. Please write your instructions with the assumption I've forgotten anything and everything about X-Plane (or it's changed since the version I installed years ago).

I have 2 events coming up, so early June is the absolute earliest I can really do anything. In fact, I might miss the thread if posted before then, so remind me. But if you send private email, please just give me a link to the forum thread. I do keep a list of forum threads needing investigation (it's a long list...) so if I miss it over the next couple weeks, remind me in June.

Since I did this flight sim stuff 4 years ago, a number of these issues have come up. So few people use this feature... pretty much any sane business decision would be to simply discontinue it. But I would like to keep it going... I just can't put a lot of time into maintenance. I'll probably dig into these issues deeply and throughly, but only once (at least for the next couple years). So please, give me a very detailed and clear set of info, so we can make that one-time effort really count!

jbliesener
05-17-2016, 11:22 AM
OK, thank you, Paul.

I've posted the issue (https://forum.pjrc.com/threads/34536-Flightsim-USB-Stack-Teensy-freezing?p=104612#post104612), together with a minimal sketch that doesn't require any additional hardware or X-Plane operations. Cessna on runway is fine.

KurtE
05-17-2016, 07:38 PM
Very minor question:

If I compile a sketch for Teensy2 and the sketch needs eeprom.h in one of it's cpp files that is part of that sketch, I include eeprom.h in my main.ino file: #include <EEPROM.h>

And this produces a warning message:

In file included from C:\Users\Kurt\Documents\Arduino\GitHub\Teensy_USBT oAX\Teensy_USBToAX.ino:11:0:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\EEPROM/EEPROM.h:151:20: warning: 'EEPROM' defined but not used [-Wunused-variable]

static EEPROMClass EEPROM;

^

Again harmless...

Theremingenieur
05-17-2016, 07:45 PM
That is harmless. That means that the EEPROM library instantiates a static class to prevent you from creating multiple instances of it with someEEPROM = new EEPROMclass(); If you use EEPROM in the main (.ino) file, the compiler will understand that it's not only included, but also used. But if the static EEPROM instance is only used in "side files" (in Arduino terms spoken), then the compiler can't see it and warns you because it thinks that you have included EEPROM for nothing.

KurtE
05-17-2016, 08:09 PM
Thanks,

As I mentioned, I know that it is harmless, but I typically try to get my compiles to not have any warnings. As in this case, the eeprom.h is part of Teensyduino, I mentioned it in case Paul decides to try to suppress this warning through something like #pragma or something like __attribute__((unused))

Again probably not worth it, but thought I would mention it.

Thanks again.

KurtE
05-17-2016, 08:28 PM
Paul,

I should ask, these types of comments here, or separate topics or...

Again playing with Teensy 2, by adapting some of the T3.2 code, and mention things I run into.

Example: in the code, when I run (Use Teensy as AX servo controller), when I receive bad data from the host, I wish to clear out all of the receive pending data from the USB.

On Teensy 3.2, I was using:

usb_serial_flush_input();

This does not exist for Teensy 2.0. However it looks like I can do:

Serial.clear();

However if I attempt to then compile for 3.2 this fails. Wondering if this should be added for 3.2 as you can do Serial1.clear().

Kurt

manmoi01
05-24-2016, 02:56 AM
Hi, I'm trying to compile a program with Servo.h library, and arduino 1.6.9 gives me the following error

arduino-1.6.9\libraries\Servo\src/Servo.h:69:2: error: #error "This library only supports boards with an AVR, SAM or SAMD processor."

#error "This library only supports boards with an AVR, SAM or SAMD processor."

when i usearduino 1.6.8 compiled correctly.

Thanks
Manuel

RudyH
05-24-2016, 01:12 PM
For me, the usage is something like:
I am using an Odroid Xu4 (could be RPI) on a robot, and I am using a Teensy 3.2 to control the Dynamixel Servos, and maybe I choose to put the Teensy somewhere inside of the robot and I wish to update the program, without having to tear the robot apart.

So I connect to my robot using VNC, bring up the Arduino IDE, make the change and download the updated firmware...

This doesn't have anything to do with the new software, but for future projects or if you tear your robot apart again it's fairly easy to setup an external USB port for the Teensy 3.2. Me and one of my friends soldered onto the pads on the back of the Teensy that break out the USB connection to install a external port on our quad copter project and it's saved us a bunch of time (and saved us from breaking any more USB connectors on Teensys). Just watch out for non-standard wire colors on external USB ports and use a short jumper of 24 gauge stranded from the Teensy to the USB cable (much easier to solder to the board than the wires inside the cable).

KurtE
05-24-2016, 02:07 PM
This doesn't have anything to do with the new software, but for future projects or if you tear your robot apart again it's fairly easy to setup an external USB port for the Teensy 3.2. Me and one of my friends soldered onto the pads on the back of the Teensy that break out the USB connection to install a external port on our quad copter project and it's saved us a bunch of time (and saved us from breaking any more USB connectors on Teensys). Just watch out for non-standard wire colors on external USB ports and use a short jumper of 24 gauge stranded from the Teensy to the USB cable (much easier to solder to the board than the wires inside the cable).
Thanks, I might consider that on some projects. Luckily I have only broken 1 USB connector on Teensy.

But I do like having the option on some of my robots of being able to update the code on the Teensy without having to change any wires.
As for speed, it may depend on which ARM processor you are using. For example it runs reasonably fast on my Odroids. Either my Xu4 ( 8 cores, 4 of which run at 2ghz) or C1+ (4 cores running at 1.5ghz), both using EMMC storage.

PaulStoffregen
05-24-2016, 11:46 PM
Hi, I'm trying to compile a program with Servo.h library, and arduino 1.6.9 gives me the following error

arduino-1.6.9\libraries\Servo\src/Servo.h:69:2: error: #error "This library only supports boards with an AVR, SAM or SAMD processor."

#error "This library only supports boards with an AVR, SAM or SAMD processor."

when i usearduino 1.6.8 compiled correctly.


Oh, looks like a change in Arduino 1.6.9 is causing the IDE to use the wrong non-Teensy library. They changed library selection yet again, now also depending on the library.properties architectures setting. Not nice.

Looks like a change to library.properties to "architectures=avr" can fix this. I'll have this in the next beta.

manmoi01
05-25-2016, 10:32 PM
Oh, looks like a change in Arduino 1.6.9 is causing the IDE to use the wrong non-Teensy library. They changed library selection yet again, now also depending on the library.properties architectures setting. Not nice.

Looks like a change to library.properties to "architectures=avr" can fix this. I'll have this in the next beta.

Hello
Thanks for the reply

PaulStoffregen
06-04-2016, 03:32 AM
1.29-beta2 has been published, with this Servo issue (hopefully) fixed.

https://forum.pjrc.com/threads/34732-Teensyduino-1-29-Beta-2-Available

Any chance you could give it a try on a fresh copy of Arduino and let me know if it fully solves the problem for you?

KurtE
06-29-2016, 02:42 PM
Arm install worked on Odroid C1. At least it installed and compiled code. I have not tried the download yet.

Also tried on Odroid C2 (arm64), arduino fails to load...
Thought I would mention, that there is hope here :D, today I tried updating C2 to latest stuff (sudo apt-get update/upgrade/dist-upgrade), Arduino 1.6.9 still failed. I then downloaded Arduino nightly build (ARM version), and this now runs... So hopefully after Arduino does the next release and Teensyduino is reved for it...

unix_guru
07-07-2016, 08:01 PM
Thanks for all of your hard work Paul. Truly appreciated.

What would it take to port to ARM 64bit? aka Raspberry Pi 3b / Ubuntu-Mate 64bit.
The 32bit arm "http://www.pjrc.com/teensy/td_129-be...stall.linuxarm" doesn't even throw an error, but just returns to prompt.

Of course I had to be difficult and not accept the default Raspian distro for my Rover. Would be nice to configure the 4 Teensy's onboard directly.

PaulStoffregen
07-07-2016, 08:41 PM
The 32bit arm "http://www.pjrc.com/teensy/td_129-be...stall.linuxarm" doesn't even throw an error, but just returns to prompt.


Maybe something else is wrong? Other people have used it on Raspberry Pi 3.

I could be wrong about this, but my understanding is the Raspbian system is all still 32 bits, even though the hardware could theoretically run 64 bit code.

JBeale
07-07-2016, 10:00 PM
Raspbian still is 32-bit, as you say. Apparently 'unix-guru' selected a rather less-travelled path and installed Ubuntu-Mate 64-bit on his RPi3.

defragster
07-07-2016, 11:21 PM
Indeed - My Pi 3 came with the 32 bit Jesse on Flash. For compatibility I understand they are staying with 32 bit. Still only 1 GB RAM so going 64bit would be a mixed bag with no need to break existing work.

PaulStoffregen
07-08-2016, 01:18 PM
Arduino publishing 64 bit ARM software on their website would be necessary before I publish Teensyduino to install to it.

KurtE
07-08-2016, 01:53 PM
Thanks for all of your hard work Paul. Truly appreciated.

What would it take to port to ARM 64bit? aka Raspberry Pi 3b / Ubuntu-Mate 64bit.
The 32bit arm "http://www.pjrc.com/teensy/td_129-be...stall.linuxarm" doesn't even throw an error, but just returns to prompt.

Of course I had to be difficult and not accept the default Raspian distro for my Rover. Would be nice to configure the 4 Teensy's onboard directly.
As I mentioned elsewhere, the Odroid C2 installs a 64 bit Ubuntu 16.04. The Released 1.6.9 ARM version failed to run for me and I tried several different things...

Recently I tried installing the daily build and it worked for me. However did not try then installing Teensyduino on it as it is not a released version...
I talked more about it on Odroid forum (http://forum.odroid.com/viewtopic.php?f=136&t=21249) as well as Arduino forum (http://forum.arduino.cc/index.php?topic=400808)

unix_guru
07-08-2016, 01:55 PM
Yes, I have successfully tested 1.29 on Raspian on this board (I love the fact that changing an OS is as simple as swapping a micro SD card -- or multibooting from noobs)
I'm grabbing the standard 32bit aarch32 (ARMv7) version of Ubuntu Mate now, and will work from that.

Thanks for the quick reply Paul.

unix_guru
07-08-2016, 02:01 PM
Hmmm... I'm going to spin a few more cycles trying to see if I can throw an error message. Was talking with an engineer over at ARM, and he insists that one of the architecture features of 64bit arm is the ability to run 32bit code natively within a 64bit OS. Sorry for the back and forth.

unix_guru
07-08-2016, 02:03 PM
I need (really want) the 64bit processing for the map manipulations I'm doing on my rover. I've got almost real-time LIDAR mapping surroundings and attempting path planning from A-B. There's a significant benefit to doing this in 64bit.

MichaelMeissner
07-08-2016, 02:05 PM
Hmmm... I'm going to spin a few more cycles trying to see if I can throw an error message. Was talking with an engineer over at ARM, and he insists that one of the architecture features of 64bit arm is the ability to run 32bit code natively within a 64bit OS. Sorry for the back and forth.

But the OS has to release the appropriate libraries, and have the ability to switch from 64-bit OS to 32-bit user level code. It is all doable in hardware, but there are various pieces that need to be in place.

Note, on other platforms (x86, PowerPC), the Linux distros have been dropping providing the 32-bit libraries. There are several benchmarks that run faster in 32-bit mode (mainly due to the cache being more effective since pointers are 32-bit instead of 64-bit, and stack frames are smaller), but in general for x86/PowerPC, 64-bit is perceived as the path forward, due to the larger address space that is available.

IIRC, the 64-bit ARM compiler is completely different from the 32-bit ARM compiler (unlike x86/PowerPC where you have an integrated compiler for both bit modes).

unix_guru
07-08-2016, 02:21 PM
Yes, I have successfully tested 1.29 on Raspian on this board (I love the fact that changing an OS is as simple as swapping a micro SD card -- or multibooting from noobs)
I'm grabbing the standard 32bit aarch32 (ARMv7) version of Ubuntu Mate now, and will work from that.

Thanks for the quick reply Paul.

7579
1.29 working fine on 32bit Ubuntu Mate 16.04. I'm quite fine with this. thank you again everyone. appreciated as always.

Michael

unix_guru
07-08-2016, 02:25 PM
Thank you Michael. I'm early enough on in my project to realize that this won't likely be my only stumbling block, so have dropped to the "known stable" 32bit track.
i'm here to build a robot, not trailblaze 64bit arm. lol

MichaelMeissner
07-08-2016, 03:02 PM
Thank you Michael. I'm early enough on in my project to realize that this won't likely be my only stumbling block, so have dropped to the "known stable" 32bit track.
i'm here to build a robot, not trailblaze 64bit arm. lol

Well, 64-bit ARM GCC should be stable at this point. The Linux distros are another matter.

I bought (but have not installed) a pine64, and I believe that is only 64-bit, and you can't run raspberry pi binaries. However, they are extremely early in their support and they have a world of hurt beyond trying to run Raspberry Pi binaries -- but it strikes me given the size of the Pi user base, that eventually they would want to run Raspberry pi binaries unchanged.

I would not expect a 64-bit installer (or support for any ARM system that is not a Raspberry Pi) from Phil any time soon, because of the work involved, and the few number of customers that would want it.

unix_guru
07-08-2016, 03:42 PM
Yep. Agreed. I too have a pine64. Brought it up one night... and back to the Pi (I've got six of them for various projects. Two in the rover alone, a 3b for overall command and control, as well as a Zero for Open CV)
Again. Thank you for your insight.

Paul
07-10-2016, 08:07 PM
Teensyduino 1.29 has been released.

http://www.pjrc.com/teensy/td_download.html