Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jfrux/workbench

A desktop app to help aid on-boarding and porting vehicles to openpilot for the masses.
https://github.com/jfrux/workbench

autonomous-vehicles comma desktop eon macos openpilot openpilot-community self-driving vehicle workbench

Last synced: about 8 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

# Workbench for Openpilot
Workbench is a desktop application to help you manage openpilot driving agent running on a compatible Android device.
It also has a goal of providing easier porting of new vehicles.

[![license](https://img.shields.io/github/license/openpilot-community/workbench.svg)](https://github.com/openpilot-community/workbench/blob/master/LICENSE)

*For Support with Workbench, connect with me on the [Workbench Discord Channel](https://discord.gg/EvqPbw).*

## Getting Started

### [Download Workbench](https://github.com/jfrux/workbench/releases)

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

## Features

- [x] Scans your network for your EON so you don't need to find the IP.
- [x] Connects to EON via SSH (and automatically, installs SSH key for you)
- [x] Dumps you into an SSH shell connection to your EON with one click.
- [x] Has tabs for all of the various ZMQ messages sent in real-time over wifi from EON.
- [x] Automatic task scripts for EON configuration / maintenance.
- [x] Reinstall Comma Openpilot Release2

## Upcoming Concepts / Features

- [ ] Built-in Openpilot / EON IDE (code editor)
- [ ] Real-time tuning
- [ ] Backup videos
- [ ] Review videos
- [ ] Monitor uploads

## Contributing

I welcome any and all pull requests!
Please, if you see a bug that could use a fix - submit a PR and we can make this thing great together.
Any change, big or small should be included if it makes sense for the community as a whole.

Let's get some review processes together and work through the bugs!

## For Workbench Developers

1. Install necessary development dependencies:
* Windows
- Install `windows-build-tools`
`npm install -g windows-build-tools`
* macOS
- Install xcode build tools:
`xcode-select --install`
- Install Homebrew if you don't have it.
`/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`
- Install `nvm` or nodenv or some sort of nodejs version manager.
- Now install zmq
`brew install zmq`
* Linux(You can see [here](https://en.wikipedia.org/wiki/List_of_Linux_distributions) what your Linux is based on.)
- RPM-based
+ `GraphicsMagick`
+ `libicns-utils`
+ `xz` (Installed by default on some distributions.)
- Debian-based
+ `graphicsmagick`
+ `icnsutils`
+ `xz-utils`
2. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device
3. Change to the newly cloned directory `cd workbench`
4. Install a version of nodejs with `nvm` or your node version manager.
`nvm install 8.14.0` is the version I recommend.
`nvm use 8.14.0`
5. Install python 2.7.15 with `pyenv` or `asdf `.
`pyenv install 2.7.15` and set the current directory with `pyenv local 2.7.15`
6. Move to the cloned directory and install the dependencies:
`npm run setup`
7. Build the code and watch for changes:
`npm run dev`
8. Checkout a new branch for your feature... something like `feature/what-is-it` or `bugfix/the-fix-for-something`
9. Push your change up to your own GitHub fork and create a New Pull Request to request your new feature / bugfix branch be upstreamed into the master for inclusion in the next release.

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

```bash
npm 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 `npm run dist`

If you have issues in the `codesign` step when running `npm 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

#### To run on Arch Linux

1. Download latest appimage
2. open terminal and cd /home/user/Downloads
3. chmod +x Workbenchxxx.appimage
4. ./Workbenchxxx
5. It will ask if you want to integrate the appimage into system, select no