• Stars
    star
    230
  • Rank 174,053 (Top 4 %)
  • Language
    Java
  • License
    BSD 3-Clause "New...
  • Created about 13 years ago
  • Updated almost 2 years ago

Reviews

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

Repository Details

Android library for accessing vehicle data from an OpenXC vehicle interface

OpenXC Android Library

Build Status

This library is a part of the OpenXC project.

This Android library contains the tools required to read vehicle data from the vehicle's CAN bus through the OpenXC vehicle interface in any Android application.

Visit the OpenXC project page for installation instructions, usage details, and the source code documentation.

Building from Android Studio

Make sure you have Android SDK 22 installed (the default in newer versions of Android Studio might be later, e.g. 23 - you need to install SDK 22 to build OpenXC).

Open the library or enabler projects in Android Studio - done!

Tests

To run the unit tests suite:

$ ./gradlew test

To run the instrumentation tests (must have an attached Android device or emulator):

$ ./gradlew conectedCheck

Building from Command Line

The project requires Android Studio and is configured to build with Gradle.

Releasing the App and Library

  • Update CHANGELOG.mkd.
  • Update enabler/src/main/play/en-US/whatsnew
  • Merge into master, run fab release which will tag and push to GitHub.
  • Travis CI will take care of the rest.
  • Check out next, bump the version in build.grade to the next release.

The release of the Enabler to the Play store and the library to JCenter and the Maven Central Repository is managed automatically with Travis CI. The Travis build environment must be configured with these encrypted environment variables:

  • KEYSTORE_PASS - password to the release keystore in this repository.
  • ALIAS_NAME - alias of the release key in the keystore.
  • ALIAS_PASS - password for the release key.
  • SERVICE_EMAIL - Google Play service account email, for API access to the Play store.
  • BUGSNAG_TOKEN - Bugsnag API key, used to upload the Proguard mapping during the build and crash reporting in the release version of the app.

If you want to deploy from a local machine, you can either define those in your environment or in the local.properties file.

Crash Reporting

The pre-built version of the Enabler available through GitHub and the Google Play store uses Android Crash Reporting by Bugsnag. We're thankful to Bugsnag for offering their service to open source projects for free.

If you wish to link your own build of the app to a different Bugsnag account, you can set your own BUGSNAG_TOKEN in the build config (see above).

Contributing

Please see our Contribution Documents.

License

Copyright (c) 2011-2017 Ford Motor Company Licensed under the BSD license.

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

vi-firmware

OpenXC-compatible firmware for PIC32 and LPC1768
C++
194
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