-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Add new programmer class - for remote upload #2047
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Sounds like you can already do something like this, just define a new tool in Having native support for a setup like this in the IDE is unlikely to ever make it, I expect. It is a complicated setup, that requires some fairly advanced know-how (setting up SSH, installing avrdude, connecting everything correctly), while the IDE primarily focuses on novice users. Having said that, perhaps we can tweak the IDE so an advanced user can set this up a custom script for this if he wants to (but perhaps you already can, like I suggested above). Disclaimer: I'm not an official developer, so this is just a personal opinion. |
Thanks for the pointer Matthijs. I had missed platform.txt (I know its in the same folder ... didn't get its purpose on first look) I now have working remote upload capability - develop on Windows PC, script that SCP's to Raspberry Pi, then SSH's into Pi and run script that runs a modified (kcuzner) version of avrdude that completes the task. All with the output logged to the IDE's output window. |
Cool! |
@tchilton have you released you script anywhere yet? I looking into doing something similar myself for an upcoming project. |
Hi Lauszus, I have it mostly 95% working. The scripting side of things is working fine, I can write code on my Windows PC, compile and send to the remote system over a wireless network link to a Raspberry Pi, the Pi has a script that programs the Arduino using a local version of AVRDUDE and all the screen output goes back to my PC's text window in the Arduino IDE. I hit a couple of problems, they are:
My outstanding problem is a noisy SPI bus - even with 50R resistors in series, per other articles, it works 50% of the time, but not always and its re-bricks the mega again a couple of times. I could do remote USB over Serial programming but I want the serial port free in my design as I also SSH into the Raspberry Pi and connect over the USB to serial interface to get the Arduino console output. Due to some time pressures, I've reverted back to standard USB upload from the PC to allow me to move my project forward, but I will fix the issue in the next couple of weeks. If you want the pre-release versions of the script, then I'll make them available on the project web site http://www.chicken-pi.co.uk in the next couple of days. I just need to find some time to upload them there too. Why do these projects always take longer than you expect :-) |
@tchilton I won't be uploading via SPI anyway, as it will just be temporarily while I work on the project :) Just let me know when you have uploaded the code - I would really appreciate it. |
Hi Lauszus I have finally found some time to write up the scripts and make them available for others. You can obtain them on Github as the farduino project. Here's the link.https://github.com/tchilton/farduino |
Thanks @tchilton, I will take a look :) |
I believe #4107 resolves this, but let me know if it doesn't we can re-open. |
As its easier and faster to develop on a desktop PC, yet many embedded systems end up in hard to access places, it would be really helpful if there was a two-staged programming option for example :
I note that the Yun has a SSH / SCP capability. Could this be expanded to make it more general ?
This would also allow for increased flexibility such as SPI programming of remote systems. Conversely, remote serial port redirection to support upload is far harder to do in such situations.
Alternately, could the programmers.txt file be enhanced to allow for a call-out to an OS script file that could do whatever the programmer requires to upload - Just pass it the argument of the .hex file and similar.
The text was updated successfully, but these errors were encountered: