Go Down

Topic: Compiling and Uploading from Command-Line (Read 549 times) previous topic - next topic

robgonnella

Hi All,

For anyone that might find this useful, or interesting, I wrote a light-weight wrapper around arduino-cli that lets you easily compile, upload, and watch logs from command-line. It will attempt auto detect your board and baud rate, and even gives you an option to watch for changes in your sketch file automatically triggering a recompile & re-upload.

This is for anyone that does not want to use the full IDE and just wants a simple mechanism for compiling, uploading and watching logs on the serial port from command line.

Instructions for installation and usage here: https://github.com/robgonnella/ardi

Feel free to make requests for additional features or report any bugs via the "issues" tab of that github link

liuzengqiang

Cool! I'll definitely check it out. Could you, in your README.md, mention the IDE version you based on? It will be relevant on the long run and when you update in case a newer IDE works slightly differently.
Serial LCD keypad panel,phi_prompt user interface library,SDI-12 USB Adapter

robgonnella

Thanks for checking it out!

I can definitely add something to the readme. Something along the lines of the below statement should suffice I think.

This tool is based directly on a specific commit of arduino-cli. The exact commit can be found in the go.mod file of ardi. When installing via "go get" be sure to omit the "-u" flag so as not to update dependencies as the cli may have changed and behave unpredictably with ardi

Code: [Select]

go get -v github.com/robgonnella/ardi - ok
go get -u github.com/robgonnella/ardi - bad

Pimmetje

I was about to write something about library handling. Maybe the people interested in this also want to give there view.

I see your code used a library folder where u can put libraries for the project. But i would like to suggest to make something like composer does for PHP. So a definition what libraries (and where, if there not in the default search path).
Than it can handle the updates of the libraries as well.

The reason i am looking for something like this is i use a auto build server. For the auto building it would be nice to have repeatable builds. Even if i update the library. (Now i have all libraries in one folder). But i can only build a project with the latest library. And that is not the way it should be :).

Pimmetje

Seems this is going in the same direction (but still not finished) https://github.com/arduino/arduino-cli

robgonnella

Thank you for taking a look and for your great suggestions! I will look into adding some kind dependency management feature for external libraries. As mentioned above, ardi is directly based on and uses arduino-cli under the hood so I may be able to build upon existing work there for this feature too. Feel free to request a feature enhancement via the issues tab of ardi. Thanks again for your input!

Go Up