-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Right now, anyone who wants to work on our Telemetry code has to manually install a bunch of stuff. To get around this, let's create some scripts to do everything for us!
To-Do
- Decide which language we should write the build scripts in:
- Python: portable, but may require using libraries and, thus, using the global environment or maintaining our own. What a pain...
- Rust: everyone will have it already, but we'll have to wait for it to compile no matter what. It may also be longer than necessary. On the bright side, we can just "include it" with
cargo runonjust's end, making everything a lot easier to maintain. - Ruby: portable, with a real package manager, but older syntax. I don't think anyone has a great knowledge of it, either...
- [ ]: Nushell: combines the ease of Rust with the annoyances of shell. Probably not worth it?
Dependencies
Users must install the dependencies to get everything working as expected. Let's guide them through it! :)
- Change the
READMEto guide the user to installjust,git, andcargo. Then, tell them how to open a new terminal window,git clone, and thenjustinstall the dependencies.- That way, the user only has to install these... and everything else comes for free. :)
- Create dependency installation script.
- Cross-platform compatibility required - check for the current platform, then do stuff.
- Windows
- Install
Scoop - Deps
- Install
- macOS
- Still TODO ngl
- Linux
- by distro
- All of them use the same Cargo command to install
ravedude.
- Consideration: when everything is complete, generate a
.depsfile in the repo root?
sender
Usually, running an Arduino binary takes only a bit of knowledge in the GUI. Here, you need to know how to open a terminal window, but it's still easier than doing it yourself!
- Ensure dependencies are installed.
.deps???- Provide good error messages in case something isn't installed. For example, we can tell them in color to run the other
justcommand first.
- Provide good error messages in case something isn't installed. For example, we can tell them in color to run the other
- Let users input their Arduino model and serial port (either
/dev/somethingon Linux/Unix orCOMxon Windows.- List serial/COM ports when we can't find the Arduino connected. Instruct users to try these different ones until they find one that works.
- Upload the
senderbinary withcargo run --release! (make sure it should actually be release tho)
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo