Skip to content

Releases: openxc/vi-firmware

v6.0.3

22 Jul 02:33
v6.0.3
Compare
Choose a tag to compare
  • 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)

v6.0.2

20 Jul 23:58
v6.0.2
Compare
Choose a tag to compare
  • 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.

v6.0.1

04 Jul 17:38
v6.0.1
Compare
Choose a tag to compare
  • Fixed a regression in CAN AF configuration on PIC32 platforms
    (#237)
  • 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.

v6.0

29 Apr 05:34
v6.0
Compare
Choose a tag to compare

Changelog

  • 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
    usefulness.
  • 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
    libraries.
  • BREAKING CHANGE: Changed the default platform when compiling from CHIPKIT to
    FORDBOARD.
  • BREAKING CHANGE: Standardized most Makefile flags to get ready for dynamic
    configuration. Check your environment variables against the new compilation
    docs!
  • 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
    module.
  • 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 .

v5.1.3

10 Feb 19:56
v5.1.3
Compare
Choose a tag to compare

Improved Bluetooth connections with Samsung and other devices.

Improved frequency control, better write support, experimental binary output format

30 Oct 18:55
v5.1
Compare
Choose a tag to compare

Contains 5.0 and 5.1:

v5.1

  • Add BENCHTEST flag to permit sending CAN ACKs when in small CAN network.
  • Add an optional binary output format (experimental)

v5.0

  • Rename project from "CAN Translator Firmware" to "Vehicle Interface Firmware"
  • BREAKING CHANGE: Remove the sendFrequency flag for a CanSignal and replace it
    with a FrequencyClock attribute that controls the maximum number of times per
    second a signal will be sent.
  • BREAKING CHANGE: Add frequency control to CAN messages to allow rate limiting.
  • BREAKING CHANGE: Decrease memory footprint by change some data types to const,
    splitting up CanMessage into 2 variants and optimizing all queue sizes.
  • An optional forceSendChanged attributed is added to CanSignal - if this is
    true, a changed value will be sent regardless of the maximum frequency.
  • Add CAN and output interface statistics logging (behind the __LOG_STATS__
    compile-time flag.
  • Fix receiving data over USB from some devices, e.g. Android.
  • Fix processing CAN messages with many CAN signals (15+) by flushing the
    pipeline mid-translation.
  • Add emhashmap as a dependency (script/bootstrap.sh will take care of it)
  • Add frequency control for CAN messages that aren't pre-defined in the
    signals.h implementation

v4.0.1

02 Jul 22:27
v4.0.1
Compare
Choose a tag to compare
  • Rename FleetCarma to CrossChasm C5 (to reflect true product name)
  • Fix build and issues with PIC32 USB interface, including C5