Skip to content
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

Create build scripts for our different Telemetry projects. #2

Open
19 tasks
onkoe opened this issue Sep 16, 2023 · 0 comments
Open
19 tasks

Create build scripts for our different Telemetry projects. #2

onkoe opened this issue Sep 16, 2023 · 0 comments

Comments

@onkoe
Copy link
Member

onkoe commented Sep 16, 2023

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 run on just'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 README to guide the user to install just, git, and cargo. Then, tell them how to open a new terminal window, git clone, and then just install 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
    • 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 .deps file 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 just command first.
  • Let users input their Arduino model and serial port (either /dev/something on Linux/Unix or COMx on 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 sender binary with cargo run --release! (make sure it should actually be release tho)
@onkoe onkoe added this to Telemetry Sep 16, 2023
@onkoe onkoe converted this from a draft issue Sep 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

1 participant