• Stars
    star
    194
  • Rank 200,187 (Top 4 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created about 13 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenXC-compatible firmware for PIC32 and LPC1768

OpenXC Vehicle Interface Firmware

/docs/_static/logo.png

Version:8.2.1
Web:http://openxcplatform.com
Documentation:http://vi-firmware.openxcplatform.com
Source:http://github.com/openxc/vi-firmware
Keywords:vehicle, openxc, embedded
https://travis-ci.org/openxc/vi-firmware.svg?branch=master https://coveralls.io/repos/openxc/vi-firmware/badge.png?branch=master Documentation Status

The OpenXC vehicle interface (VI) firmware runs on a microcontroller connected to one or more CAN buses. It receives either all CAN messages or a filtered subset, performs any unit conversion or factoring required and outputs a generic version to a USB interface.

For more documentation, see the vehicle interface section on the OpenXC website or the vehicle interface documentation.

Installation

For the full build instructions, see the documentation.

Releasing

  • Make sure you release the Python library first if there are any updates
  • Update script/bootstrap/ci-requirements.txt to use released version at PyPI (i.e. the requirement should be openxc==<latestversion>)
  • Make sure you release the openxc-message-format library first if there are any updates
  • Update the src/libs/openxc-message-format with git submodule update --remote
  • Checkout next branch and make edits.
  • Bump the version using semantic versioning in - CHANGELOG.mkd - README.rst - src/config.cpp - docs/index.rst - docs/conf.py
  • Checkout master, merge in next
  • Run 'fab release', say yes to the tag and use the format v0.9.1
    • This will run the test suite, tag, and push to GitHub
  • Checkout the next branch, and edit the same files to change the version to the next development release (one patch release up with the -dev suffix, e.g. v0.9.2-dev
  • Go to https://github.com/openxc/vi-firmware/releases and promote the tag you just created to a new release - copy and paste the changelog into the description.
    • Attach the openxc-vi-firmware-*.zip from the releases directory to the release on GitHub

License

Copyright (c) 2012-2018 Ford Motor Company

Licensed under the BSD license.

This repository includes links to other source code repositories (as git submodules) that may be distributed under different licenses. See those individual repositories for more details.

More Repositories

1

uds-c

Unified Diagnostics Service (UDS) and OBD-II (On Board Diagnostics for Vehicles) C Library
C
617
star
2

android-webcam

Android library to access a USB webcam feed
C
323
star
3

isotp-c

An implementation of the ISO-TP (ISO15765-2) CAN protocol in C
C
289
star
4

openxc-android

Android library for accessing vehicle data from an OpenXC vehicle interface
Java
230
star
5

openxc-python

OpenXC Python library
Python
109
star
6

openxc-message-format

Specification for the OpenXC JSON message format
C
97
star
7

bitfield-c

Bit array parsing and encoding utility library in C
C
85
star
8

AT-commander

A C library to control a device via UART that responds to an AT command set (like an RN-42)
C
75
star
9

openxc-vehicle-simulator

Python
62
star
10

openxcplatform.com

Static website for openxcplatform.com
HTML
40
star
11

reference-vi

Open Source Hardware Schematics for OpenXC Vehicle Interface
HTML
38
star
12

bluetooth-audio-passthrough

Open source schematics for Bluetooth audio passthrough
21
star
13

nxpUSBlib

Fork of NXP's USB library for all LPC microcontrollers, with bug fixes
C
20
star
14

emhashmap

This library is an implementation of a hash map in C that maps integers to void pointers
C
20
star
15

web-logging-example

Example OpenXC web application in Python for vehicle data logging
Python
17
star
16

diagnostic-tool

OpenXC Android Tool for Sending OBD-II Requests to a Vehicle Interface
Java
16
star
17

rearview-camera

Rearview camera implemented as an Android app with OpenXC
Java
16
star
18

openxc-starter

OpenXC "hello world."
Java
15
star
19

openxc-ios-framework

OpenXC iOS framework for use with the C5 BLE device. Also see the openxc-ios-app-demo.
Swift
14
star
20

trace-analyzer

JavaScript visualization of OpenXC vehicle data traces
JavaScript
12
star
21

nxp-cdl

Fork with slight modifications to NXP's Common Driver Library, for LPCxxxx Microcontrollers
C
12
star
22

nightvision

Video-based object detection for forward collision warnings with OpenXC
Java
9
star
23

emqueue

An implementation of a queue in C that can support arbirtary element types.
C
9
star
24

arduino-transfer-benchmarking

Benchmarking USB and FTDI transfer rates on Arduino-compatible microcontrollers
C
8
star
25

openxc-ios-library

OpenXC iOS framework for use with the C5 BLE device. Example contains the OpenXC demonstration app that use all of the features of the OpenXC Framework.
Swift
8
star
26

nonstandard-android-measurements

Non-standard OpenXC Measurement and Unit types for Android
Java
7
star
27

emlist

A simple linked list in C for embedded applications
C
7
star
28

openxc-ios-app-demo

OpenXC demonstration app that use all of the features of the openxc-ios-framework. This can be a starting app for any OpenXC iOS application that wishes to use the C5 BLE device.
HTML
6
star
29

OpenXCAccessory

Contents of OpenXCAccessory directory on V2X and Modem devices
Python
6
star
30

shiftknob-android

Android application to control the OpenXC-enabled Haptic Shift Knob
Java
6
star
31

mpg

Java
5
star
32

openxc-c

C library to access data from an OpenXC vehicle interface
C
5
star
33

shiftknob-3Ddesign

3D design sources for the OpenXC-enabled Haptic Shift Knob
Perl
5
star
34

simple-hud

Firmware and Java connector for a Bluetooth-connected OpenXC module
Java
4
star
35

chipkit-vehicle-interface

Assembly instructions for a chipKIT-based OpenXC Vehicle Interface
CSS
3
star
36

smart-wiper

Java
3
star
37

openxc-data-tools

Python tools for OpenXC data analysis and visualization
Python
3
star
38

vi-windows-driver

Windows driver for USB OpenXC Vehicle Interface
3
star
39

rain

Android application to provide rain detection information to Weather Underground
Java
3
star
40

shiftknob-firmware

Embedded (Arduino) firmware for OpenXC-enabled Haptic Shift Knob
Arduino
2
star
41

MLA

Microchip Library Access for use on OpenXC vi-firmware
C
2
star
42

SimCrashDetection

Crash detection library for app testing purposes, triggers an event when crash is detected (currently crude algorithm)
Java
2
star
43

validation-android

Validation app used to verify signals from VI
Java
2
star
44

pixel-openxc-android

A smart brake light prototype using the pixelart board(http://ledpixelart.com/) utilizing the OpenXC platform (http://openxcplatform.com)
Java
2
star
45

shiftknob-hardware

Electrical schematics for the OpenXC-enabled Haptic Shift Knob
Ruby
1
star
46

EV_Coach_public

Continuation of the Ford EV Coach Efficiency Application Trainer
Java
1
star
47

SignalMonitor

Application to send all OpenXC signals only when a monitored signal crosses a designated threshold
1
star
48

nxp-bsp

Fork with slight modifications to NXP's Board Support Package, for LPCxxxx Microcontrollers
C
1
star
49

io-accessory

Open source schematics for a generic I/O extension for the OpenXC platform
1
star