@emarsman emarsman released this May 11, 2016 · 36 commits to master since this release

  • BREAKING: This version requires updates to bootstrap. 'vagrant up --provision' must be run after 'git pull'.
  • Feature: Support for C5 BLE
  • Feature: Support for SD cards & RTC (real-time-clock) for C5 devices
  • Feature: TEST_MODE_ONLY compile option for hardware tests on C5
  • Feature: Support for MessagePack in addition to JSON & ProtoBuf


@emarsman emarsman released this Feb 17, 2016 · 166 commits to master since this release

  • Fix: Update nanpb repo location to Git.
  • Fix: Keep same setuptools version.
  • Fix: Update ChipKIT digitlent URL (requires disable SSL cert checks).
  • Fix: Minor doc updates.


@emarsman emarsman released this Oct 30, 2015 · 180 commits to master since this release

  • Feature: Added support for new CrossChasm C5 Cellular platform. Includes new http-parser submodule. Requires new v0.5+ of openxc-message-format
  • BREAKING: Update platform variable names from CROSSCHASM_C5 to CROSSCHASM_C5_BT or CROSSCHASM_C5_CELLULAR (fab c5bt or c5cell)
  • Improvement: Improved automatic release process.


@peplin peplin released this Aug 30, 2015 · 232 commits to master since this release

Fix: Delay at startup to allow timers to stabilize, to avoid shutting down too soon when using OBD2_IGNITION_CHECK power mode with DEBUG=0;


@peplin peplin released this Nov 15, 2014 · 241 commits to master since this release

  • BREAKING: Update to latest OpenXC message format, including updated binary
  • BREAKING: Deprecate USB control commands for version and device ID - use
    generic control command type instead, with the same payload format as if
    sent via UART/BT.
  • BREAKING: Refactor tire and door handlers for use as signal decoders.
    DEFAULT_LOGGING_OUTPUT to be able to use UART, USB, or both for logging.
  • Feature: Support setting explicit CAN frame format when writing messages
  • Feature: Support control command to enable/disable passthrough of CAN messages
    on each CAN controller.
  • Feature: Support control command to dynamically change the status of the CAN
    acceptance filter (#301).
  • Feature: Support control command to dynamically change the payload format
    (#302). Note that binary commands sent to the VI are not yet supported,
    there are still bugs.
  • Feature: Support new action field of diagnostic requests from OpenXC message
  • Feature: Add a loopback property to CAN buses to support self-testing.
  • Improvement: Return a command response with a status for all diagnostic
    request commands.
  • Improvement: Update required GNU for ARM version to -4_8-2014q2-20140609
  • Improvement: Update required MPIDE version to 20140821 with associated updates
    to Arduino-Makefile
  • Improvement: Update to latest version of chipKIT peripheral libraries.
  • Improvement: Update required nanopb version to v0.3.1 (#269).
  • Improvement: Compile test with LLVM's Clang, which provides much better
    warnings. Fix a lot of minor but important things that it found.
  • Improvement: Use new self-receive capabilities in VI for a functional test
    suite that runs on actual hardware. See fab functionaltest.
  • Fix: Don't let defined CAN messages interfere with normal operation when the
    CAN AF is disabled (#260).
  • Fix: Pass a valid Pipeline object to signal handler (#263).
  • Fix: Fix double de-reference that caused the VI to crash when receiving
    commands while using the binary payload format.
  • Fix: Match diagnostic request command name to the OpenXC message format.
  • Fix: Improve build process to make sure stray signals definitions are not
    unintentionally included (#249).
  • Fix: Work around lack of symlinks in Windows when setting up development
    environment (#259).
  • Fix: Calculate correct payload size when receiving data via USB endpoint 0 on
  • Fix: Respect configuration of raw write permissions for I/O interfaces (#274).
  • Fix: Use blocking UART writes on LPC17xx to work around a race condition


@peplin peplin released this Jul 22, 2014 · 446 commits to master since this release

  • Fixed a regression with the ignoreDecoder, where signals were never marked as
    'received' (#254).

Build 2: Re-build v6.0.3 without an incorrect signals.cpp in the folder! (#249)


@peplin peplin released this Jul 20, 2014 · 452 commits to master since this release

  • BREAKING CHANGE: The PLATFORM environment variable must now be explicitly set
    when running any of the make goals.
  • BREAKING CHANGE: Move all platform-specific CAN code from generated
    signals.cpp to vi-firmware internals (requires an update to openxc-python).
  • Include a config for Vagrant to build a VI firmware development environment.
  • Deprecate support for compiling in Cygwin - now recommending Vagrant as it
    will be much more manageable to support.
  • Explicitly set all Makefile options when building binary releases.
  • Add compile shortcuts with Fabric and recommend that for most simple builds.


@peplin peplin released this Jul 4, 2014 · 492 commits to master since this release

  • Fixed a regression in CAN AF configuration on PIC32 platforms
  • Updated all shared handlers to use new V6.0 API, fixing the example
    configurations in the process.
  • Fix a regression where signal handlers were not being called if frequency was
    not unlimited.


@peplin peplin released this Apr 29, 2014 · 524 commits to master since this release


  • BREAKING CHANGE: Significantly refactored the canread and canwrite APIs to
    making custom handlers much easier to implement.
  • BREAKING CHANGE: Refactor time.h and FrequencyClock API for clarity and
  • BREAKING CHANGE: Use uint8_t[] for CAN message payloads everywhere instead of
    uint64_t to remove confusion about byte order.
  • BREAKING CHANGE: Using CanMessage struct in favor if loose id + data.
  • BREAKING CHANGE: Removed "reset" control command.
  • BREAKING CHANGE: Add "Pipeline" argument to custom signal read handler
    function prototype, to allow triggering arbitrary new output messages without
    decoding a signal by hand.
  • BREAKING CHANGE: Changed USB endpoint numbers to allow for optimal performance
    and a new logging channel.
  • BREAKING CHANGE: JSON delimiter for output data changed to '\0' from '\r\n' to
    match the required delimiter for input data. This requires updates to client
  • BREAKING CHANGE: Changed the default platform when compiling from CHIPKIT to
  • BREAKING CHANGE: Standardized most Makefile flags to get ready for dynamic
    configuration. Check your environment variables against the new compilation
  • Merge "canemulator" build into the mainline branch, controlled with the
    DEFAULT_EMULATED_DATA_STATUS compile-time flag.
  • Added support for request/response style diagnostic messages, and a special
    build to automatically query for and set up recurring requests for supported
    OBD-II PIDs.
  • Fix handling of 32-bit bitfields.
  • Add support for extended CAN IDs (29-bit).
  • Support configuration of CAN messages acceptance filters on the fly, rather
    than only at startup. This changed an API, but an internal one, so it is not a
    breaking change.
  • Add new control command to retrive a unique device ID (only works if Bluetooth
    module is installed right now).
  • Support control commands via UART in additional to USB.
  • Moved debug logging to a secondary USB endpoint by default - re-enable UART
    with UART_LOGGING flag.
  • Update MPIDE dependency to 2013-08* version. Re-run script/bootstrap.sh to get
    the latest version.
  • Refactored bootstrap scripts to target specific build environments, so not
    everyone needs every dependency.
  • Use new version of Arduino-Makefile which depends on Python and the PySerial
  • Switch RN-42 Bluetooth modules into pairing mode if they supported so client
    devices don't need to poll for a connection.
  • Add a power management mode that tries to infer if vehicle is running based on
    OBD-II engine RPM and vehicle speed.
  • Remove need for external wire indicatin if UART is to be enabled on PIC32
    after discovering a non-blocking USB status check API call .


@peplin peplin released this Feb 10, 2014 · 1015 commits to master since this release

Improved Bluetooth connections with Samsung and other devices.