Teensyduino 1.29 Beta #2 Available

Status
Not open for further replies.

Paul

Administrator
Staff member
Here is a second (and probably final) beta test for Teensyduino 1.29.


EDIT: beta test link removed.


Changes since Teensyduino 1.29-beta1:

  • SPI setMOSI, setMISO, setCLK work after SPI.begin
  • Serial1 setTX, setRX support pins 24 & 25 on Teensy LC
  • Port Serial1.clear to Teensy3 (thanks KurtE)
  • Port digitalWriteFast & digitalReadFast to Teensy2 (thanks KurtE)
  • Port Arduino's AVR Serial1 optimization to Teensy2 (thanks KurtE)
  • Add missing hardware register defs (thanks Duff)
  • Fix undocumented flightsim callback (thanks jbliesener)
  • Fix Servo library compile issue on Arduino 1.6.9
  • Update libraries: FreqCount, LedDisplay, SerialFlash, Talkie, TFT_ILI9163C
 
I've only been able to play with the audio library (primarlly freeverb and Karplus-Strong) but haven't run into any problems.

Pete
 
Immagine.jpg
This is OK?
 
No, it's first time I see this too!
Apart that it install normally and everithing works...
Win7/64
 
I'm still on IDE 1.6.8 - but just put 1.29B2 on Win 10 and Win 7 and both looked right on the Serial Driver screen: no Win 10, and all good Win 7/64/Ultimate.

On Win 7 I did get this warn after OK:
129b2_warn.png
 
Last edited:
I got the same of Defragster with all version of Teensyduino I've used in the last 2 years as well but since it's just a warn I always ignored., ant the end it just run fine.
I have the same result with some old driver installer, pre win7.
 
Last edited:
A question...
I've installed on Win10/64, on Virtual Serial Driver I've got 'windows 10 USB serial driver found' but the update button is greyed out.
This not happened with windows 7 where application asked to update drivers.
I don't know if this should happen or not. Just reported!
 
A question...
I've installed on Win10/64, on Virtual Serial Driver I've got 'windows 10 USB serial driver found' but the update button is greyed out.
This not happened with windows 7 where application asked to update drivers.
I don't know if this should happen or not. Just reported!
I believe this is normal as Windows 10 added better USB support so I don't believe you need anything special for the Teensy
 
Looks like the installer needs some work on minor bugs, but I'm going to leave that 'til 1.30 or later.

The Windows 10 message probably needs better wording. No driver (INF) install is needed on Windows 10.
 
Hi Paul,

I just tried things out on an Ubuntu 16.04 machine and everything worked like a charm for me. Previously I have always been a little unsatisfied with downloading the newest Arduino build and putting it in an arbitrary location on my machine, so this time I started by installing Arduino 1.0.5 using the package manager and then overwrote the directory contents with the newer version. In case these installation steps are helpful to anyone, this is how I performed my installation:

First, install Arduino using the package manager:
- sudo apt-get install arduino

Next, download the Arduino Integrated Developer Environment:
- https://www.arduino.cc/en/Main/Software

Next, extract the downloaded arduino files, then overwrite the contents of the installed version of the Arduino IDE:
- cd Downloads/
- tar xf arduino-1.6.9-linux64.tar.xz
- sudo cp -R /home/mark/Downloads/arduino-1.6.9/. /usr/share/arduino/

Download the Teensyduino Installer and modify it’s properties to allow it as an executable:
- https://www.pjrc.com/teensy/td_download.html
- sudo chmod a+rwx TeensyduinoInstall.linux64

Download and save a copy of the udev linux specific rules then move the udev rules to the appropriate location in your environment:
- https://www.pjrc.com/teensy/49-teensy.rules
- sudo mv ~/Downloads/49-teensy.rules /etc/udev/rules.d/


Anyway, the main point is that everything is working for me. :) Thanks for the latest and greatest!

I hope you have a great day!

-Mark
 
Last edited:
I've been trying the open drain support for HardwareSerial in this version and it seems to be doing what I expect.

This is using a system where multiple devices all have their Rx and Tx lines connected and there is a /DROP line that's also open drain and pulled up.

A device that wishes to transmit will wait until the /DROP line is not low, then pull it low to signal that it has the bus, transmit the packet and release the /DROP line.

I've set up the serial and drop lines as follows:
Code:
	// set the Tx and Drop pins to be open drain
	pinMode(dropPin, OUTPUT_OPENDRAIN);
	digitalWrite(dropPin, HIGH);
	pSerial->begin(19200);
	pSerial->setTX(txPin, true);
The order seems to matter, both setting the drop pin high after setting the pinMode and setTX after begin.

Sending a packet is done like this:
Code:
	timeoutMs = millis() + TIMEOUT_MS;

	// wait for DROP line to become inactive
	while (digitalRead(dropPin) == 0)
	{
		if (millis() > timeoutMs)
			return false;
	}
	// set DROP low
	digitalWrite(dropPin, LOW);

	// send the buffer
	pSerial->clear();
	pSerial->write(buffer, packetSize);
	pSerial->flush();
	// release the drop line
	digitalWrite(dropPin, HIGH);

	// check input, should match what was sent.
	// if it doesn't this indicates a collision
	for (size_t i = 0; i < packetSize; i++)
	{
		while (!pSerial->available())
		{
			if (millis() > timeoutMs)
				return false;
		}
		byte b = pSerial->read();
		Serial.print(b,HEX); Serial.print(", "); Serial.println(buffer[i],HEX);
		if (b != buffer[i])
			return false;        // todo have a way to back off and retry
	}
	Serial.println("OK");
	return true;
I can see the tx and drop lines being pulled low and drifting high, unless I add pullup resistors - for the Tx line connecting the Rx line seems to be enough.

Hope this helps.

Chris
 
I installed arduino 1.6.9 and TD 1.29 beta #2 and got the following compile error for an ino that compiles on arduino 1.6.8 and the TD 1.29 beta #1 from April.

Code:
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/WProgram.h:26:0,

                 from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/Arduino.h:1,

                 from C:\Users\ADRIAN~1\AppData\Local\Temp\buildc1369ec5eb87138205b2f1f2e587e1ca.tmp\sketch\myController13Re.ino.cpp:1:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/usb_keyboard.h: In member function 'void usb_keyboard_class::set_media(uint16_t)':

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/usb_keyboard.h:92:29: error: 'usb_keymedia_release_all' was not declared in this scope

    usb_keymedia_release_all();

                             ^

Error compiling for board Teensy 3.2 / 3.1.

I tried installing the current TD 1.29 beta #1 back over TD 1.29 beta #2, but got a write permission problem with the installer ....

So I did a fresh install of arduino 1.6.9 and the current TD 1.29 beta #1 (got a strange windows warning ... whatever) and ... same compile error as above....

doublechecked that 1.6.8 and TD 1.29 beta #1 (from April) worked .... Hmmm ... they do!

The only weird thing about my setup is a custom usb type using usb_desc.h (a midi / keyboard device) ... but it is 'sweet as' on 1.6.8 and TD 1.29 beta #1 (from April) ..
 
Last edited:
Wondering, while playing with the Serial code to add Serial4 and Serial5 objects for T3.5 board, I was wondering about the
method setTX. In particular to create the Serial4 and Serial5 objects I started off with the Serial3 object, when I look at the implementation for setTX we see:

Code:
void serial3_set_tx(uint8_t pin, uint8_t opendrain)
{
	#if defined(KINETISL)
	uint32_t cfg;

	if (opendrain) pin |= 128;
	if (pin == tx_pin_num) return;
	if ((SIM_SCGC4 & SIM_SCGC4_UART2)) {
		switch (tx_pin_num & 127) {
			case 8:  CORE_PIN8_CONFIG = 0; break; // PTD3
			case 20: CORE_PIN20_CONFIG = 0; break; // PTD5
		}
		if (opendrain) {
			cfg = PORT_PCR_DSE | PORT_PCR_ODE;
		} else {
			cfg = PORT_PCR_DSE | PORT_PCR_SRE;
		}
		switch (pin & 127) {
			case 8:  CORE_PIN8_CONFIG = cfg | PORT_PCR_MUX(3); break;
			case 20: CORE_PIN20_CONFIG = cfg | PORT_PCR_MUX(3); break;
		}
	}
	tx_pin_num = pin;
	#endif
}
So if I am reading this right this only works for Teensy_LC? I understand that there is only one TX3 pin, however this does not add the open drain support for Serial3 on T3.2...

Is this right, or with my Serial4/5 code should I add in #if for KINETISK and allow pin 8. Looking at the Serial2 implemention, it has code in for KINETISK but not KINETISL.

Kurt
 
Screenshot (1008).png
i got this error once
i quit the installer and rightclicked it - run as admin
still the same bug
the arduino-core.jar is NOT read only
but the lib folder was , i removed the read only on the lib folder and subfiles and re tried
same error
when up a folder in the tree , removed the readonly
tried again , same error
and removed the read only on all the folders in the tree
E:\Program Files (x86)\Arduino\lib
same error

i m on windows 10 pro N
 
Confirm the IDE is closed and that no JAVA processes are active in TaskMan ( perhaps reboot ) - someone reported and I reproduced a similar effect when the IDE/JAVA was active - perhaps on the 1.29 Beta #1 thread.
 
No problems with installing

downloaded Arduino 1.6.9 (as zip)
extracted into documents
run Arduino: found my sketches
downloaded teensyduino 1.29 b2
installed teensyduino (no problems)
compiled and uploaded own sketck (no problems)

All on windows 10

edit:
with Arduino IDE open
teensy downloader says in status line:
testSerial.ino.hex 5% used
after closing Arduino IDE status changes to
testSerial.ino.hex (unreadable)

This may be as per design, but I thought I mention it anyway
 
Last edited:
It happend to me once, the reason was: some java file processing was still running.
In brief, did you try to perform the installation after a fresh boot?
 
Download issue

Teensy 3.2, Arduino 1.6.9 (Arduino 2), empty sketch. Verify is OK but download results in 'download complete' from Arduino IDE but

Teensy did not respond to a USB request to automatically reboot
Please press the PROGRAM MODE BUTTON on your Teensy to upload your sketch

No amount of pressing that button/in any order before/during/after the above error results in anything but a repeat of that error message.

Thoughts?
 
When this happens to me I go back and load the Blink application, usually using the basic Arduino IDE. This restores the processor to normal operation.

Then I go back and find the fault in my code. Bugs can cause the processor to become unresponsive and all that pressing the button does is cause the bad code to be reloaded.

Chris
 
I posted about the read-only thing this morning , the IDE was running , i closed , saved everything , restarted and retried
it worked

I m sorry for this noobish error , i know better than that .
Thanks
 
Linux installation documentation bug.

at http://www.pjrc.com/teensy/td_download.html#linux_issues

Linux: By default, the teensyduino.32bit and teensyduino.64bit files will not have execute permission enabled when saved by most web browsers. Use a file manager or type "chmod 755 teensyduino.32bit" in a terminal to make the file executable. Then you can run it. In a terminal, type "./teensyduino.32bit". Replace "32" with "64" if using the 64 bit version.

results in
chmod: cannot access 'teensyduino.64bit': No such file or directory
it should read

Linux: By default, the TeensyduinoInstall.linux32 and TeensyduinoInstall.linux64 files will not have execute permission enabled when saved by most web browsers. Use a file manager or type "chmod 755 TeensyduinoInstall.linux32" in a terminal to make the file executable. Then you can run it. In a terminal, type "./TeensyduinoInstall.linux32". Replace "32" with "64" if using the 64 bit version.
 
Status
Not open for further replies.
Back
Top