Releases: openxc/vi-firmware
Releases · openxc/vi-firmware
v6.0.3
v6.0.2
- BREAKING CHANGE: The PLATFORM environment variable must now be explicitly set
when running any of themake
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
v6.0
Changelog
- BREAKING CHANGE: Significantly refactored the
canread
andcanwrite
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
Improved frequency control, better write support, experimental binary output format
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