I'm hoping there is a way that we can send a compiled Teensy 3.2 program to a customer and have them install it. They could install and use TeensyDuino, but not practical for them to have to use the Arduino IDE and recompile. We are working on a pretty complex commercial product and need to be able to send them prebuilt updates to load and test on their system. My guess is this must be a pretty common need.
I'm on Arduino 1.6.8 and TD 1.28 but plan to move to 1.6.9 and TD 1.29 later today.
I did google and search on the forums here but had no luck. I don't even know where the Arduino IDE (I only use it to compile, not to edit) puts its object and HEX files. I am on Windows 7 Pro 64 and also Windows 10 64 mainly (still working on the Linux thing).
I can see some Arduino files C:\Users\BAB\AppData\Local\Arduino15 updated today. preferences.txt is there and also a number of packages files (I don't know what those do) such as package_index.json also changed today.
From the compiler output window there should be files in a "buildxxx..." folder under Local\Temp but I don't see any such folder. But if I search the Temp folder for "build" I can see the folder name (build858bc...) - what is going on there? I can't see it in Windows Explorer but I can find it in a search? The path returned by search is really weird:
- so where are these files, really? I do have Windows Control Panel Personalization set to show hidden files and folders and also to show operating system files.
There are files {sketchname}.eep, .elf, and .hex, so that is presumably what I need.
If I use the Teensy Loader app file menu, it is already aimed at the right file, in the folder I can't see in Windows Explorer: C:\Users\BAB\AppData\Local\Temp\build858bc23e5e69eeef06542b849ff25dff.tmp, and there is just the HEX file.
Trying to send it from Teensy Loader manually doesn't seem possible. The program and reboot buttons are grayed out, whether or not "Auto" mode is enabled. Pressing the program button on our board (the Teensy is harder to reach so we added PGM and RESET buttons on the edge of our PCB) works and loads the .hex file. Cool. That looks workable.
For now the customer will be able to reach the PGM button we've put there but it would easier for them to do it with a click on the screen. I read that the old loader CLI is not moving ahead and as long as TD can do the job that is actually preferable in this case.
At some point this may need to be done by a field service person, usually a contract electrician who has no familiarity with any of this hardware. If they could just plug in a USB stick or a uSD card and push a button that would be ideal. We will have Ethernet implemented so some way to push or pull an update from LAN or WAN might also be a future option. I'm guessing both of these are probably pipe dreams at this point.
Back to reality: remaining questions:
I'm on Arduino 1.6.8 and TD 1.28 but plan to move to 1.6.9 and TD 1.29 later today.
I did google and search on the forums here but had no luck. I don't even know where the Arduino IDE (I only use it to compile, not to edit) puts its object and HEX files. I am on Windows 7 Pro 64 and also Windows 10 64 mainly (still working on the Linux thing).
I can see some Arduino files C:\Users\BAB\AppData\Local\Arduino15 updated today. preferences.txt is there and also a number of packages files (I don't know what those do) such as package_index.json also changed today.
From the compiler output window there should be files in a "buildxxx..." folder under Local\Temp but I don't see any such folder. But if I search the Temp folder for "build" I can see the folder name (build858bc...) - what is going on there? I can't see it in Windows Explorer but I can find it in a search? The path returned by search is really weird:
Code:
search-ms:displayname=Search%20Results%20in%20Temp&crumb=location:C%3A%5CUsers%5CBAB%5CAppData%5CLocal%5CTemp\build858bc23e5e69eeef06542b849ff25dff.tmp
There are files {sketchname}.eep, .elf, and .hex, so that is presumably what I need.
If I use the Teensy Loader app file menu, it is already aimed at the right file, in the folder I can't see in Windows Explorer: C:\Users\BAB\AppData\Local\Temp\build858bc23e5e69eeef06542b849ff25dff.tmp, and there is just the HEX file.
Trying to send it from Teensy Loader manually doesn't seem possible. The program and reboot buttons are grayed out, whether or not "Auto" mode is enabled. Pressing the program button on our board (the Teensy is harder to reach so we added PGM and RESET buttons on the edge of our PCB) works and loads the .hex file. Cool. That looks workable.
For now the customer will be able to reach the PGM button we've put there but it would easier for them to do it with a click on the screen. I read that the old loader CLI is not moving ahead and as long as TD can do the job that is actually preferable in this case.
At some point this may need to be done by a field service person, usually a contract electrician who has no familiarity with any of this hardware. If they could just plug in a USB stick or a uSD card and push a button that would be ideal. We will have Ethernet implemented so some way to push or pull an update from LAN or WAN might also be a future option. I'm guessing both of these are probably pipe dreams at this point.
Back to reality: remaining questions:
- Is there a way to make TeensyDuino send the HEX file from its on-screen load button?
- Where can I easily find and copy the .hex file from a compile?
- What's going on with the inability to see the "build858..." folder in Windows Explorer?
- Where does Arduino put object files, symbol tables, etc from a build?
- Would some or all of this be easier on Linux (on our developer end, not the field service end)?