/workbench

A desktop app to help aid on-boarding and porting vehicles to openpilot for the masses.

Primary LanguageJavaScriptMIT LicenseMIT

Build status

license

Workbench is a desktop application to help you manage your Comma EON(s) as well as assisting with installing Openpilot. It also has a goal of providing easier porting of new vehicles.

It's in its infancy so it doesn't actually fulfill that mission above quite yet but it's getting better by the day.

Help Support Openpilot Community Efforts

The Openpilot Community nor jfrux are funded by Comma.ai, Inc. or any other commercial entity. Your support is all we have. Growing expenses with opc.ai, cloud hosting, and costs running great services for the community is not free. If you have a few bucks, please consider becoming a patreon for the Openpilot Community and support further uptime and dev time. Finances will be out in the open on the patreon page for everyone to see.

https://patreon.com/openpilotcommunity

Usage

Download the latest version from the links below.

Usage

IMPORTANT: Workbench manages your EON over SSH. You must enable SSH in your Settings on EON.

Features

  • Scans your network for your EON so you don't need to find the IP.
  • Connects to EON via SSH (and automatically, installs SSH key for you)
  • Dumps you into an SSH shell connection to your EON with one click.
  • Has tabs for all of the various ZMQ messages sent in real-time over wifi from EON.

Ideas / Concepts

  • Automatic task scripts for EON configuration / maintenance.
  • Reinstall Comma Openpilot Release2
  • Backup videos
  • Review videos
  • Monitor uploads

Contribute

Regardless of the platform you are working on, you will need to have Yarn installed. If you have never installed Yarn before, you can find out how at: https://yarnpkg.com/en/docs/install.

  1. Install necessary packages:
  • Windows
    • Be sure to run yarn global add windows-build-tools to install windows-build-tools.
  • macOS
    • Once you have installed Yarn, you can skip this section!
  • Linux(You can see here what your Linux is based on.)
    • RPM-based
      • GraphicsMagick
      • libicns-utils
      • xz (Installed by default on some distributions.)
    • Debian-based
      • graphicsmagick
      • icnsutils
      • xz-utils
  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Install the dependencies: yarn
  3. Build the code and watch for changes: yarn run dev
  4. Note: You may have to run yarn run package once before to get the node-pty binaries in place.
  5. Checkout a new branch for your feature... something like feature/what-is-it or bugfix/the-fix-for-something
  6. Push your change up to GitHub and create a Pull Request to merge your new feature / bugfix branch into the master branch.

To make sure that your code works in the finished application, you can generate the binaries like this:

yarn run package

After that, you will see the binary in the ./releases folder!

Known issues that can happen during development

Error related to node-pty-prebuilt

If after building during development you get an alert dialog related to node-pty issues, make sure its build process is working correctly by running yarn run package.

Error with codesign on macOS when running yarn run dist

If you have issues in the codesign step when running yarn run package on macOS, you can temporarily disable code signing locally by setting export CSC_IDENTITY_AUTO_DISCOVERY=false for the current terminal session.

Bug Reports / Feature Requests

Feel free to create issues for feature requests and/or bugs.

License

MIT