Forum Rule: Always post complete source code & details to reproduce any issue!
Page 1 of 2 1 2 LastLast
Results 1 to 25 of 29

Thread: Teensyduino 1.37 Beta #1

  1. #1
    Administrator Paul's Avatar
    Join Date
    Oct 2012
    Posts
    306

    Teensyduino 1.37 Beta #1

    Here is a first beta test for Teensyduino 1.37.


    Old beta download links removed. Please use the latest version:
    https://www.pjrc.com/teensy/td_download.html


    Changes since Teensyduino 1.36:

    SD lib, handle larger than 64K read/write
    SPI lib - unified SPIClass, constexpr
    Wire lib - constexpr
    Use gnu++11 for 32 bit Teensy
    MTP fixes
    add MTP Disk to USB Type menu
    Print, Stream, Serial, Serial# constexpr
    analogWriteResolution returns prior setting
    add missing kinetis.h register defines
    availableForWrite & flush in Print class
    map() improvements
    fix exp10 and stricmp
    Audio: improved envelope, added TDM, Waveshaper, PWM Synth, CS42448, fix I2S slave
    FastLED fixes
    Update MIDI to latest version
    Fix PS2Keyboard
    Tlc5940 fixes
    XPT2046_Touchscreen interrupt fix on non-Teensy boards
    Fix auto-reboot on Windows 10 rev 1703 (Creator's Update)

  2. #2
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    6,858

    Had to CLOSE MALWAREBYTES to get install to run

    w/1.37b1 Now able to upload under Win 10 Creator's Update winver=1703 and IDE 1.81

    Used MSFT Win10 ISO DVD to get Creator's Update on my Win 10 Pro box - TyCommander okay - but Teensy.exe only did any upload with button press - even when IDE 'port' saw "COM7 (Teensy)".

    So decided to put the 1.37b1 on this machine with IDE 1.81 and got this ERROR stoppage:
    Click image for larger version. 

Name:	td_1.37b1err.png 
Views:	339 
Size:	32.4 KB 
ID:	10725

    This persisted with the following::
    Unblocked the "TeensyduinoInstall_1.37b1.exe", and ran as ADMIN.
    Closed IDE and SubLimeText with Stino - already UN-Integrated TyCommander and it was closed.
    Nothing relevant in TaskMan

    FOUND IT - Had to CLOSE MALWAREBYTES.
    This is the first new TeensyInstall since Malwarebytes went hard core in upgrade from 2.x to 3.x and added anti ransom ware and other new stuff.

    <edit>: BTW
    > Malwarebytes slows compiles horribly unless RansomWare is turned off.
    > If Win 10 machine is SLOW and Net freaky - the Creators Update may be failing - my four are and some customer machines. I make a disk from here - do 'Upgrade from within Windows': Create Windows 10 installation media
    Last edited by defragster; 06-03-2017 at 03:52 AM.

  3. #3

  4. #4
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    3,653
    I have to turn off MCAfee real time scanning when I install Teensyduino... Have had to do this for sometime now....

  5. #5
    Senior Member+ Theremingenieur's Avatar
    Join Date
    Feb 2014
    Location
    Colmar, France
    Posts
    1,899
    Installed well on macOS Sierra 10.12.6 beta.

    Motivated by the ongoing "templating" (apparently, the Teensy community woke up), I optimized some of my classes successfully by using templates. Part of this is my ftmCapture stuff which I wanted to wrap into non-templated more Arduino-ish classes, for example for a new and more performant release of the freqMeasureMulti library. But I ran into a weird issue:
    Code:
    ../libs/dVoxControl.h:68:27: warning: variable templates only available with -std=c++14 or -std=gnu++14
      static reData<pinA,pinB> d;
                               ^
    Thus I have two choices: 1) Wrapping a whole templated class into non-templated classes (immediate workaround, but less efficient), or 2) wait for gnu++14 to be able to use partly templated members in non-templated classes
    Is there a timeline for the c++14/gnu++14 transition?
    Last edited by Theremingenieur; 06-03-2017 at 02:11 PM.

  6. #6
    Senior Member
    Join Date
    Nov 2012
    Posts
    953
    I've just installed 1.37 b1 as administrator over 1.3.6 without any problems. Win 10 Creator Pro x64.
    BTW I'm using Kaspersky for a/v

    Pete

  7. #7
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    18,354
    Quote Originally Posted by Theremingenieur View Post
    Is there a timeline for the c++14/gnu++14 transition?
    Tentatively planned for 1.39, or about 4-6 months if Arduino releases force us to release faster than the normal ~3 month cycle.

  8. #8
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    6,858
    17 TD releases since IDE 1.6.0 28 months back and TD 1.20 and the dream of a 3-4 month release cycle still keeps popping up as NORMAL

  9. #9
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    18,354
    Here's the release dates I see:

    1.25 Sep 18 2015 (Arduino 1.6.5-r5 on Aug 28)
    1.26 Nov 11 2015 (Arduino 1.6.6 on Nov 3)
    1.27 Jan 5 2016 (Arduino 1.6.7 on Dec 17)
    1.28 Apr 10 2016 (Arduino 1.6.8 on Mar 9)
    1.29 Jul 9 2016 (Arduino 1.6.9 on May 10)
    1.30 Sep 6 2016 (Arduino 1.6.11 on Aug 17)
    1.31 Nov 8 2016 (Arduino 1.6.12 on Sep 21)
    1.32 Dec 9 2016 (Arduino 1.6.13 on Nov 22)
    1.33 Dec 14 2016
    1.34 Dec 27 2016
    1.35 Jan 17 2017 (Arduino 1.8.1 on Jan 9)
    1.36 Mar 31 2017 (Arduino 1.8.2 on Mar 22)

    We did have a rapid release of 1.33 and 1.34 due to new bugs, entirely my fault, when I rewrote the communication between Arduino and Teensy Loader.

    The plan has been every 3 months, but of course when Arduino releases faster we have to track their releases.
    Last edited by PaulStoffregen; 06-03-2017 at 08:07 PM.

  10. #10
    Senior Member+ Theremingenieur's Avatar
    Join Date
    Feb 2014
    Location
    Colmar, France
    Posts
    1,899
    I don't think that Paul needs to explain himself (though he did it) - it's his business.

    I can imagine that his balancing act is not always easy.
    On one side, he tries to maximize compatibility with the 8bit AVR world and wants his products to be accessible even to self declared noobs who want just to put together 2 shields and 5 breakouts (without soldering!), copy/paste some code from 2007 found via Google, and want that "project" to run without even asking how and why it works. Most times it doesn't work and these people seek for help and support on the internet instead of learning/studying everything systematically.
    On the other side there are the power users who push the Teensy towards or even beyond its limits, be it because they have true complex projects, or be it out of scientific curiosity, or a combination of both. These users are able to write "true" constructors and destructors without begin() and end(), there are public const pointers towards private class members (to make these read only) instead of read(). They would like to have always bleeding edge technology and nightly builds of Teensyduino, and most of them would probably be happy to see all that old fashioned 8bit AVR stuff and Arduino compatibility disappear once for all, and they, after years long study and practice, wouldn't care about the copy/paste noobs cited above and their problems.

    I admire Paul's diplomacy and his ability to satisfy (more or less) both camps. I think that this is part of the PRJC company's success. Thus we all (independent of each one's individual camp) should accept that there are "the others", and that these are needed too to make the Teensy products available and evolve in the long term.

  11. #11
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    6,858
    Quote Originally Posted by PaulStoffregen View Post
    Here's the release dates I see:

    1.25 Sep 18 2015 (Arduino 1.6.5-r5 on Aug 28)
    ...
    1.36 Mar 31 2017 (Arduino 1.8.2 on Mar 22)
    Thanks Paul - I hit the "Teensyduino History" page and it didn't show dates - it slowed down more than I realized from 1.20 in Feb 2015 - of course multiple betas make it seem like even more. Driven indeed mostly by the onslaught of IDE updates . . .

  12. #12
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    4,536
    Something is wrong with my ILI9341 DMA Display code with this version :-(
    I have strange display effects every few seconds with 1.37 (only with 1.37)
    I had'nt time to follow the forum during the last weeks. Which change/update can possible influence SPI or DMA ?

  13. #13
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    3,653
    Hi Frank,

    The SPI code has changed, but not sure how that would impact your code. Unless you changed it, doesn't your code simply use a single update of the whole screen the normal way (in order to get the SPI into data mode) and then you start of a DMAChain which cycles through, so at that point the default SPI code is not doing anything?

    We now have the beginnings where all of the SPI objects are now of one class.

  14. #14
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    4,536
    Hm. Not sure, but now it seems to be a wrong alarm... maybe a bad connection on the pinheaders (?) or something like that.
    it works now..

    big sorry.

  15. #15
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    4,536
    @Paul: -mpure-code ?

    :-)

  16. #16
    Senior Member
    Join Date
    Jul 2014
    Location
    New York
    Posts
    1,839
    ok. Gave 1.37-beta1 a whirl with a BNO055, Adafruit Motor Shield and a VL53L0X on I2C and no issues. The sketch is using the following libraries:
    Code:
    #include <Wire.h>
    #include <EEPROM.h>
    #include <StopWatch.h>
    #include <elapsedMillis.h>
    #include <Streaming.h>
    #include <StopWatch.h>
    #include <Servo.h>
    //#include <vector>
    #include <Adafruit_MotorShield.h>
    #include "utility/Adafruit_MS_PWMServoDriver.h"
    #include <Adafruit_Sensor.h>
    #include <Adafruit_BNO055.h>
    #include <utility/imumaths.h>
    #include <VL53L0X.h>
    Everything compiled fine and ran. Even using a RC controller to move the rover manually and no issues with that either. I also have a openmv camera sending info over Serial3 and no issues. The only issue is with including "vector" which is throwing an error which I mentioned in the Arduino 1.8.3 thread.

    Mike

  17. #17
    Senior Member
    Join Date
    Jul 2014
    Location
    New York
    Posts
    1,839
    Just tried to run a simple example for using cout and cin and receiving the following errors which is the same as I received for vector:
    Code:
    In file included from c:\local programs\arduino-1.8.2\hardware\tools\arm\arm-none-eabi\include\c++\5.4.1\bits\char_traits.h:39:0,
                     from c:\local programs\arduino-1.8.2\hardware\tools\arm\arm-none-eabi\include\c++\5.4.1\ios:40,
                     from c:\local programs\arduino-1.8.2\hardware\tools\arm\arm-none-eabi\include\c++\5.4.1\ostream:38,
                     from c:\local programs\arduino-1.8.2\hardware\tools\arm\arm-none-eabi\include\c++\5.4.1\iostream:39,
                     from C:\Users\CyberPalin\Desktop\sketch_jun04a\sketch_jun04a\sketch_jun04a.ino:3:
    
    c:\local programs\arduino-1.8.2\hardware\tools\arm\arm-none-eabi\include\c++\5.4.1\bits\stl_algobase.h:243:56: error: macro "min" passed 3 arguments, but takes just 2
    
         min(const _Tp& __a, const _Tp& __b, _Compare __comp)
    
                                                            ^
    
    c:\local programs\arduino-1.8.2\hardware\tools\arm\arm-none-eabi\include\c++\5.4.1\bits\stl_algobase.h:265:56: error: macro "max" passed 3 arguments, but takes just 2
    
         max(const _Tp& __a, const _Tp& __b, _Compare __comp)
    
                                                            ^
    
    Error compiling for board Teensy 3.5.
    Here is sketch that threw the error:
    Code:
    // i/o example
    #include <iostream>
    
    void setup() {
      //
    }
    
    void loop() {
      int i;
      cout << "Please enter an integer value: ";
      cin >> i;
      cout << "The value you entered is " << i;
      cout << " and its double is " << i*2 << ".\n";
      
    }
    Mike

  18. #18
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    18,354
    Quote Originally Posted by mjs513 View Post
    Just tried to run a simple example for using cout and cin and receiving the following errors which is the same as I received for vector:
    As far as I know, C++ cin & cout have never worked in any version. Likewise, bare printf() is also unsupported.

    You do get Serial.printf(), and there is a Streaming library by Mikal Hart that adds the C++ streaming syntax.

  19. #19
    Senior Member
    Join Date
    Jul 2014
    Location
    New York
    Posts
    1,839
    Never knew that one, but then again never gave it a try before. Always used the Streaming library before because I was always using Arduino's, primarily Mega's, until recently. Moved over to the teensy 3.5 only because it 5v tolerate, easier for my robot projects.

    Thanks
    Mike

  20. #20
    Administrator Paul's Avatar
    Join Date
    Oct 2012
    Posts
    306
    Please let me know if there are any issues with the Streaming lib on Teensy 3.5. As far as I know, it should "just work". I don't personally use the Streaming syntax for printing, so I'm depending on feedback for that library....

  21. #21
    Senior Member
    Join Date
    Jul 2014
    Location
    New York
    Posts
    1,839
    Been using Streaming with the 3.5 from day one and through 1.37-beta1 with absolutely no issues so far. All works well. The sketches I use for my robotics projects I pretty much listed in message #16 above. The only one I have not tested yet is NeoGPS which seems to give me better results that TinyGPS.

  22. #22
    Senior Member xxxajk's Avatar
    Join Date
    Nov 2013
    Location
    Buffalo, NY USA
    Posts
    460
    I know this thread is old, but, just had to respond to this... :-)

    Quote Originally Posted by PaulStoffregen View Post
    As far as I know, C++ cin & cout have never worked in any version. Likewise, bare printf() is also unsupported.

    You do get Serial.printf(), and there is a Streaming library by Mikal Hart that adds the C++ streaming syntax.
    That is kind of funny, especially since I have used printf(); on Arduino and Teensyduino and on many other platforms that integrate into Arduino, for many, many years. You just need to know the special sauce to do it across all platforms.

    I have actually included this support in UHS3.0 because serial.print and all the other fluff simply is not normal or natural to me, besides, there is a lot of RAM on these Freescale chips, so malloc really has never been an issue, once you protect it from ISRs, which UHS3.0 also does. This allows you to use printf from within an ISR, which is more informative than blinking an LED or watching on your scope for a pin to change levels. I can even redirect STDERR and STDOUT to two different hardware serial ports, thus I get debug and no corrupted data, and a normal API.

  23. #23
    Senior Member
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    253
    @xxxajk sounds interesting, care to give some details about "the special sauce"?

  24. #24
    Senior Member xxxajk's Avatar
    Join Date
    Nov 2013
    Location
    Buffalo, NY USA
    Posts
    460
    Sorry it took a bit to reply, busy doing some SMT rework...

    yeah, I can share :-)

    https://github.com/felis/UHS30/blob/...rintf_HELPER.h
    It is part of UHS30.

  25. #25
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    4,536

Posting Permissions

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