Giter VIP home page Giter VIP logo

workbench's Introduction

Workbench for Openpilot

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.

license

SEEKING MAINTAINERS

I'm no longer maintaining this...

Getting Started

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.
  • Automatic task scripts for EON configuration / maintenance.
  • Reinstall Comma Openpilot Release2

Upcoming Concepts / Features

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

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 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. Change to the newly cloned directory cd workbench
  3. 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
  4. Move to the cloned directory and install the dependencies: npm run setup
  5. Build the code and watch for changes: npm run dev
  6. Checkout a new branch for your feature... something like feature/what-is-it or bugfix/the-fix-for-something
  7. 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:

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

workbench's People

Contributors

jfrux avatar saranchockan avatar vanillagorillaa avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.