Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 19 of 19

Thread: Arduino 2 IDE coexistance with 1?

  1. #1
    Senior Member
    Join Date
    May 2022
    Posts
    260

    Arduino 2 IDE coexistance with 1?

    Really not sure where to post this. It seems this might be the best subforum, but feel free to move it to a better location if appropriate. Been on 1.8.19 for quite a while now. Thinking of upgrading the IDE to the latest stable release.

    Does the app image work for Ubuntu? Reason I'm asking is the app image doesn't work for FreeCAD and I had to compile the source to be able to use FreeCAD.

    If the app image doesn't work, what the heck does one do with the zip download? There's no readme for installation! The Arduino instructions just say use the app image...

    Arduino is using some fav of the year for their software development, and their build from source instructions assume you were born knowing what to do. I know nothing about their build environment, and don't want to spend 3 months figuring it all out. This is quite the contrast from a simple makefile and a list of dependencies.

    Does IDE 2 alter any 1.8.19 settings? (No matter how it is installed in Linux?) I have a working electronic lead screw project running on a Teensy 4.1 there and I don't want to "screw it up". There's a second unit in the field that I need to support, so blowing up 1.8.19 is not what I want to do.

  2. #2
    Senior Member
    Join Date
    May 2022
    Posts
    260
    Well, I think it won't screw things up, too bad. I ran the app image, but it knows nothing about Teensy under boards.
    My OS is Pop!OS 22.04, which is an Ubuntu derivative.

    Do I need to supply a url for Teensy related boards under preferences? If so, what is it?
    Or do I need to install a new Teensyduino? If so, where is the installation directory? I have no idea!

    At least the app came up fast. Made a copy of my ELS project, just in case...

    Any help would be greatly appreciated! Right now, under IDE 2.0.3 I'm dead in the water, because I can't access Teensy under Select Boards.

  3. #3
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,382
    Yes you can have IDE2 and IDE1 both installed on same machine.

    Appimage on Ubuntu: Currently has a minor issue that a shared library is not installed by default on Ubuntu.
    fixed by: sudo apt install libfuse2

    Covered several places including: https://itsfoss.com/cant-run-appimage-ubuntu/
    Arduino is working on update to their appimages to be more contained. Not sure if yet in daily builds or not.

    make files are easy? oops I did not update to say filex now depends on filez and it did not rebuild correctly....

    Build from Source? - Are you talking about building Arduino? or building your sketch? Yes their build setup to build the actual IDE is pretty complicated.

    Building your own sketch, depending on if your files are all in your sketch folder. You click on verify or upload...

    IDE2 update 1.8.19 settings? Unclear what you are asking? Note: Teensyduino installed under 1.8.19 does the installs of all of the Teensy stuff
    under whatever IDE you are installing over, as Paul needed to update some the underlying things of the IDE.

    With 2.x - Teensy install is like most any other board type. And it's files are installed in the standard Arduino boards location. In the Arduino15 location.
    So it does not use any of the same files. Obviously if you edit the same sketch using the two different IDEs, it will stay changed for both of them.

  4. #4
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,382

  5. #5
    Senior Member
    Join Date
    May 2022
    Posts
    260
    Quote Originally Posted by KurtE View Post
    Just found that. Thanks. Have 1.57.2 installed. Will give this a go.

  6. #6
    Senior Member
    Join Date
    May 2022
    Posts
    260
    Quote Originally Posted by KurtE View Post
    Yes you can have IDE2 and IDE1 both installed on same machine.

    Appimage on Ubuntu: Currently has a minor issue that a shared library is not installed by default on Ubuntu.
    fixed by: sudo apt install libfuse2

    Covered several places including: https://itsfoss.com/cant-run-appimage-ubuntu/
    Arduino is working on update to their appimages to be more contained. Not sure if yet in daily builds or not.

    make files are easy? oops I did not update to say filex now depends on filez and it did not rebuild correctly....

    Build from Source? - Are you talking about building Arduino? or building your sketch? Yes their build setup to build the actual IDE is pretty complicated.

    Building your own sketch, depending on if your files are all in your sketch folder. You click on verify or upload...

    IDE2 update 1.8.19 settings? Unclear what you are asking? Note: Teensyduino installed under 1.8.19 does the installs of all of the Teensy stuff
    under whatever IDE you are installing over, as Paul needed to update some the underlying things of the IDE.

    With 2.x - Teensy install is like most any other board type. And it's files are installed in the standard Arduino boards location. In the Arduino15 location.
    So it does not use any of the same files. Obviously if you edit the same sketch using the two different IDEs, it will stay changed for both of them.
    I didn't say trivial, but a makefile is easy. Yes, I had to buld FreeCAD from source because their app image didn't work. I just ran make. Done - well it took awhile. But at least it ran!

    The app image seems to run, sort of. Compiling my It can't find font_DroidSansMono.h any more. @KurtE, do you know where that might be found? Used to have it in IDE 1.

  7. #7
    Senior Member
    Join Date
    May 2022
    Posts
    260
    Hmm, is that font bundled with ILI9341_t3 ? It looks like it. In IDE 1, it found the font. IDE 2 can't.

  8. #8
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    27,408
    This library has the (many) extra fonts

    https://github.com/PaulStoffregen/ILI9341_fonts

  9. #9
    Senior Member
    Join Date
    May 2022
    Posts
    260
    Quote Originally Posted by PaulStoffregen View Post
    This library has the (many) extra fonts

    https://github.com/PaulStoffregen/ILI9341_fonts
    Thanks. Transition is almost complete. Got to figure out why EncoderTool isn't working. @luni made some changes to allow 64 bit counters.

  10. #10
    Senior Member
    Join Date
    May 2022
    Posts
    260
    It seems it is a lot more than that. I have dozens of errors in IDE2, whereas I had none in IDE 1.8.19. As I shipped a unit, I am alarmed at this, as I have a customer to support. At the moment, I am in a pickle, because I cannot create a working image!

    TeensyTimerTool has many errors. EncoderTool has many errors. ILI9341_t3n, ILI9341_fonts are generating errors and warnings. It seems ILI9341_fonts brings in ILI9341_t3, which generates conflicts with ILI9341_t3n.

    IDE2 seems to be a lot stricter. It also seems it wrote all over my existing libraries. I have no idea what it did, but it sure broke my working code. What a mess.

  11. #11
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    27,408
    Maybe this advice will come too late, but IDE 1.x has a feature called "portable mode". You create a folder named "portable", which causes that copy of the IDE to be completely self contained. The Teensyduino installer automatically detects this and installs as appropriate for that mode.

    Might be worthwhile to collect up all the libraries you need into a "portable" copy of IDE 1.8.19.

    Sadly, they didn't implement this in IDE 2.0.x.

  12. #12
    Senior Member
    Join Date
    May 2022
    Posts
    260
    Fixed the TeensyTimerTool errors by reverting to V1.0.0. It seems TTT>1.0.0 relies on Teensyduino 1.58beta or better. This is not shipped with IDE2.0.3.
    EncoderTool errors fixed by updating to latest by cloning @luni s repo.

    ILI9341_fonts is bringing in ILI9341_t3 which is conflicting with ILI9341_t3n. I was using features in ILI9341_t3n...
    Code:
    In file included from /home/bruce/Arduino/libraries/ILI9341_fonts-master/font_DroidSansMono.h:4:0,
                     from /home/bruce/Arduino/ELS_IDE2/touchdisplay.h:5,
                     from /home/bruce/Arduino/ELS_IDE2/ELS.h:16,
                     from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
    /home/bruce/.arduino15/packages/teensy/hardware/avr/1.57.2/libraries/ILI9341_t3/ILI9341_t3.h:176:0: warning: "ILI9341_SPICLOCK" redefined
     #define ILI9341_SPICLOCK 30000000
     ^
    In file included from /home/bruce/Arduino/ELS_IDE2/touchdisplay.h:2:0,
                     from /home/bruce/Arduino/ELS_IDE2/ELS.h:16,
                     from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
    /home/bruce/Arduino/libraries/ILI9341_t3n-master/src/ILI9341_t3n.h:253:0: note: this is the location of the previous definition
     #define ILI9341_SPICLOCK 30000000u
     ^
    In file included from /home/bruce/Arduino/libraries/ILI9341_fonts-master/font_DroidSansMono.h:4:0,
                     from /home/bruce/Arduino/ELS_IDE2/touchdisplay.h:5,
                     from /home/bruce/Arduino/ELS_IDE2/ELS.h:16,
                     from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
    /home/bruce/.arduino15/packages/teensy/hardware/avr/1.57.2/libraries/ILI9341_t3/ILI9341_t3.h:177:0: warning: "ILI9341_SPICLOCK_READ" redefined
     #define ILI9341_SPICLOCK_READ 6500000
     ^
    In file included from /home/bruce/Arduino/ELS_IDE2/touchdisplay.h:2:0,
                     from /home/bruce/Arduino/ELS_IDE2/ELS.h:16,
                     from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
    /home/bruce/Arduino/libraries/ILI9341_t3n-master/src/ILI9341_t3n.h:254:0: note: this is the location of the previous definition
     #define ILI9341_SPICLOCK_READ 2000000
     ^
    In file included from /home/bruce/Arduino/libraries/ILI9341_fonts-master/font_DroidSansMono.h:4:0,
                     from /home/bruce/Arduino/ELS_IDE2/touchdisplay.h:5,
                     from /home/bruce/Arduino/ELS_IDE2/ELS.h:16,
                     from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
    /home/bruce/.arduino15/packages/teensy/hardware/avr/1.57.2/libraries/ILI9341_t3/ILI9341_t3.h:170:3: error: conflicting declaration 'typedef struct ILI9341_t3_font_t ILI9341_t3_font_t'
     } ILI9341_t3_font_t;
       ^
    In file included from /home/bruce/Arduino/libraries/ILI9341_t3n-master/src/ILI9341_t3n.h:108:0,
                     from /home/bruce/Arduino/ELS_IDE2/touchdisplay.h:2,
                     from /home/bruce/Arduino/ELS_IDE2/ELS.h:16,
                     from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
    /home/bruce/Arduino/libraries/ILI9341_t3n-master/src/ILI9341_fonts.h:25:3: note: previous declaration as 'typedef struct ILI9341_t3_font_t ILI9341_t3_font_t'
     } ILI9341_t3_font_t;
       ^
    In file included from /home/bruce/Arduino/ELS_IDE2/touchdisplay.h:2:0,
                     from /home/bruce/Arduino/ELS_IDE2/ELS.h:16,
                     from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
    /home/bruce/Arduino/libraries/ILI9341_t3n-master/src/ILI9341_t3n.h:1166:29: error: redefinition of 'class ILI9341_Button'
     #define Adafruit_GFX_Button ILI9341_Button
                                 ^
    /home/bruce/.arduino15/packages/teensy/hardware/avr/1.57.2/libraries/ILI9341_t3/ILI9341_t3.h:560:7: note: in expansion of macro 'Adafruit_GFX_Button'
     class Adafruit_GFX_Button {
           ^
    /home/bruce/Arduino/libraries/ILI9341_t3n-master/src/ILI9341_t3n.h:1167:7: error: previous definition of 'class ILI9341_Button'
     class ILI9341_Button {
           ^
    Slowly working through this, but it is ugly...

  13. #13
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    27,408
    Quote Originally Posted by clinker8 View Post
    ... Teensyduino 1.58beta or better. This is not shipped with IDE2.0.3.
    1.58-beta3 is called "0.58.3" in IDE2's Boards Manager. Just click the drop-down list to select it and click "Install".

    The betas are numbered this way to prevent IDE2 from prompting every running the latest stable version to upgrade to a beta version.

  14. #14
    Senior Member
    Join Date
    May 2022
    Posts
    260
    Quote Originally Posted by PaulStoffregen View Post
    Maybe this advice will come too late, but IDE 1.x has a feature called "portable mode". You create a folder named "portable", which causes that copy of the IDE to be completely self contained. The Teensyduino installer automatically detects this and installs as appropriate for that mode.

    Might be worthwhile to collect up all the libraries you need into a "portable" copy of IDE 1.8.19.

    Sadly, they didn't implement this in IDE 2.0.x.
    Fortunately, I have a complete working IDE 1.8.19 running on two different RPI4's. (32bit and 64bit) All my source code is on a private git server. I am not totally lost. It's more of a setback. Still, I'd like to be able to use the newer IDE on my main computer. RPI4's are slow, even with an SSD. I may attempt to create a portable mode. You can be sure that will be backed up and moved to another location. The old IDE is awful slow if you ssh into the RPI4, especially if the RPI4 is wireless.

  15. #15
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,382
    Quote Originally Posted by clinker8 View Post
    Fixed the TeensyTimerTool errors by reverting to V1.0.0. It seems TTT>1.0.0 relies on Teensyduino 1.58beta or better. This is not shipped with IDE2.0.3.
    EncoderTool errors fixed by updating to latest by cloning @luni s repo.

    ILI9341_fonts is bringing in ILI9341_t3 which is conflicting with ILI9341_t3n. I was using features in ILI9341_t3n...

    Slowly working through this, but it is ugly...
    The version of ILI9341_font library from @mjs513 is setup to work with most all of our graphic libraries.

    The problem is that they depend on the font definition, which is not local to this, but instead part of each of the libraries. @mjs513 version has checks with the has include stuff to make it workable.

  16. #16
    Senior Member
    Join Date
    May 2022
    Posts
    260
    Quote Originally Posted by KurtE View Post
    The version of ILI9341_font library from @mjs513 is setup to work with most all of our graphic libraries.

    The problem is that they depend on the font definition, which is not local to this, but instead part of each of the libraries. @mjs513 version has checks with the has include stuff to make it workable.
    Did you try to say that I should uninstall Paul's and install mjs513's version, and it might work? Because, I didn't really quite understand you.

    Edit: This helped a lot. It cleaned out all the t3/t3n errors
    Last edited by clinker8; 01-25-2023 at 06:24 PM. Reason: update

  17. #17
    Senior Member
    Join Date
    May 2022
    Posts
    260
    All that's left is compatibility between EncoderTool 3.1.0 and TeensyTimerTool 1.2.0 on Teensy 0.58.3 running on Arduino 2.0.3.
    These are @luni s libraries.

    I will work on cleaning up some of my warnings. Got to do my part...

  18. #18
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,382
    Quote Originally Posted by clinker8 View Post
    Did you try to say that I should uninstall Paul's and install mjs513's version, and it might work? Because, I didn't really quite understand you.

    Edit: This helped a lot. It cleaned out all the t3/t3n errors
    Yes, the other positive side effect with Mike's version, is we converted it to an archive library.
    The benifit is, with the official version, if you include it, all of the fonts will be loaded into your sketch.
    With Mike's version, only those that have references to them will be included...
    (Note I should double check, maybe the official version also put this in after...)

  19. #19
    Senior Member
    Join Date
    May 2022
    Posts
    260
    All my warnings, like iso C++, unused variables are fixed and all of ILI9341_t3n issues are resolved. Thanks to all for your help.

    Only thing left generating issues are EncoderTool and TeensyTimerTool. The new compiler settings seem to be more severe. I am getting errors from those two libraries. The compiler put out 373 lines worth of errors... (Not 373 errors, but 373 lines of text.) Under IDE 1, just last week, there were 0 errors. Hoping luni can update his libraries soon.

Posting Permissions

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