Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
emarsman authored Nov 14, 2018
2 parents 77b0754 + 70b8260 commit f1d517f
Show file tree
Hide file tree
Showing 28 changed files with 187 additions and 146 deletions.
5 changes: 4 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
#keep Ubuntu 12.04 on Travis to match Vagrant
dist: precise
language: c
dist: precise
compiler:
- clang
script: PLATFORM=TESTING make test
install:
- gem install coveralls-lcov
before_install:
- sudo apt-get update -qq
- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq -y libgd2-xpm ia32-libs
- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq -y libgd2-xpm ia32-libs libsubunit-dev
ia32-libs-multiarch; fi
- travis_wait script/bootstrap.sh
- cd src
Expand Down
11 changes: 10 additions & 1 deletion CHANGELOG.mkd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenXC Vehicle Interface Firmware Changelog

## v7.2.1-dev
## v7.3.0

* BREAKING: Removed fine_odometer_since_restart from emulator.
* Feature: Added sending evented messages from emulator.
Expand All @@ -13,6 +13,15 @@
and the command line. The response will mimic the request's bus, message ID, mode, and PID (if sent).
The response will also include a randomly generated value between 0 and 100.
Recurring diagnostic messages when running emulator firmware are currently not supported.
* Update: Moved Vagrant VM to xenial64. Several updated packages.
* Fix: Fixed a few bugs with C5 support from initial release:
- BLE Broadcast name and MAC
- CAN2 access
- UART debug access
- Updated flash instructions
* Feature: Add PLATFORM command



## v7.2.0

Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTING.mkd
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ top of things.
## Reporting an Issue

* Make sure you have a [GitHub account](https://github.com/signup/free)
* Check if a ticket already exists for your issue on [GitHub](gh-issues).
* If one does not already exist, [create a new ticket](gh-issues)
* Check if a ticket already exists for your issue on [GitHub](https://github.com/openxc/vi-firmware/issues).
* If one does not already exist, [create a new ticket](https://github.com/openxc/vi-firmware/issues/new)
* Clearly describe the issue including steps to reproduce when it is a bug.
* Make sure you include in the earliest version that you know has the issue.

## Making Changes

* If you haven't already, create a new issue on [GitHub](gh-issues) for your bug
* If you haven't already, create a new issue on [GitHub](https://github.com/openxc/vi-firmware/issues/new) for your bug
fix or new feature.
* Fork the repository on GitHub
* Create a topic branch from where you want to base your work.
Expand All @@ -30,7 +30,7 @@ top of things.
* Make sure your commit messages are in the [proper format](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
* Make sure you have added the necessary tests for your changes in the
`openxc-it` sub-project
* Run the [full test suite](https://github.com/openxc/vi-firmware/blob/master/README_developers.mkd) to assure nothing else was accidentally broken.
* Run the [full test suite](http://vi-firmware.openxcplatform.com/en/master/testing.html#test-suite) to assure nothing else was accidentally broken.

## Submitting Changes

Expand All @@ -42,6 +42,6 @@ top of things.
# Additional Resources

* [General GitHub documentation](http://help.github.com/)
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
* [GitHub pull request documentation](https://help.github.com/articles/about-pull-requests/)

[gh-issues]: https://github.com/openxc/vi-firmware/issues
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ OpenXC Vehicle Interface Firmware

.. image:: /docs/_static/logo.png

:Version: 7.2.1-dev
:Version: 7.3.0
:Web: http://openxcplatform.com
:Documentation: http://vi-firmware.openxcplatform.com
:Source: http://github.com/openxc/vi-firmware
Expand Down Expand Up @@ -82,7 +82,7 @@ Releasing
License
=======

Copyright (c) 2012-2014 Ford Motor Company
Copyright (c) 2012-2018 Ford Motor Company

Licensed under the BSD license.

Expand Down
24 changes: 23 additions & 1 deletion Vagrantfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
# -*- mode: ruby -*-
# vi: set ft=ruby :

Expand All @@ -9,10 +10,31 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# vagrantup.com.

# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "ubuntu/precise64"
config.vm.box = "ubuntu/xenial64"

# Check for proxy enviroment variable and set it
if ENV['HTTP_PROXY'] || ENV['HTTPS_PROXY']
if Vagrant.has_plugin?("vagrant-proxyconf")
if ENV['HTTP_PROXY']
config.proxy.http = ENV['HTTP_PROXY']
config.apt_proxy.http = ENV['HTTP_PROXY']
end
if ENV['HTTPS_PROXY']
config.proxy.https = ENV['HTTPS_PROXY']
config.apt_proxy.https = ENV['HTTP_PROXY']
end
if ENV['NO_PROXY']
config.proxy.no_proxy = ENV['NO_PROXY']
end
else
abort("ERROR, vagrant-proxyconf not installed run ‘vagrant plugin install vagrant-proxyconf’ to install it")
end
end


config.vm.provision "shell", privileged: false, keep_color: true do |s|
s.inline = "ln -fs /vagrant vi-firmware;"
s.inline += "VAGRANT=1 vi-firmware/script/bootstrap.sh"

end
end
4 changes: 3 additions & 1 deletion docs/advanced/rtc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ Real Time Clock

Real time Clock Configuration
------------------------------
For correct time stamping it is necessary that the RTC is configured with the correct time.
For correct time stamping it is necessary that the RTC is configured with the correct time.
A new rtc configuration command is added to the `OpenXC message format <https://github.com/openxc/openxc-message-format>`_.

Example JSON command

{ "command": "rtc_configuration", "unix_time": "1448551563"}

To set the RTC to the correct unix time on Windows Git Bash, Mac, or Linux shell, use the following command:

``% TIME=$(date +%s); openxc-control set --time $TIME``
26 changes: 13 additions & 13 deletions docs/compile/example-builds.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,27 +48,27 @@ want to send diagnostic requests through a VI:
The Makefile will always print the configuration used so you can double check.

* This default configuration will run on a _`Ford reference VI
<http://vi.openxcplatform.com/>` (``PLATFORM`` is ``FORDBOARD``) running the
* This default configuration will run on a `Ford reference VI <http://vi.openxcplatform.com/>`_
(``PLATFORM`` is ``FORDBOARD``) running the
pre-loaded bootloader (``BOOTLOADER`` is ``1``).
* Debug mode is off (``DEBUG`` is ``0``) so no log messages will be output via
USB for maximum performance.
* If the VI configuration :ref:`allows raw CAN writes <raw-write-config>`, they
will only be permitted if set via USB (``DEFAULT_ALLOW_RAW_WRITE_USB`` is ``1``
but the ``*_UART`` and ``*_NETWORK`` versions are ``0``.
* The data sent from the VI will be serialized to JSON in the format defined by
the _`OpenXC message format <https://github.com/openxc/openxc-message-format>`.
the `OpenXC message format <https://github.com/openxc/openxc-message-format>`_.
* The VI will go into sleep mode only when no CAN bus activity is detected for a
few seconds (the ``DEFAULT_POWER_MANAGEMENT`` mode is ``SILENT_CAN``).
* The CAN controllers will be initialized as listen only unless the VI
configuration explicitly states they are writable (``DEFAULT_CAN_ACK_STATUS``
is ``1``). This means that the VI may not work in a bench testing setup where
nothing else on the bus is ACKing.
* :ref:`Mass storage device <msd-storage>` (``MSD_ENABLE`` is ``0``) is disabled
by default and is available on certain C5 devices which have a provision to connect
a SD card. The time intervals at which the data is logged is
* :ref:`Mass storage device <msd-storage>` (``MSD_ENABLE`` is ``0``) is disabled
by default and is available on certain C5 devices which have a provision to connect
a SD card. The time intervals at which the data is logged is
(``DEFAULT_FILE_GENERATE_SECS`` is ``180``) set to 180 seconds by default.

.. NOTE::
There's a shortcut for this default build, using the Fabric tool and an
included script. This will build the default build for the reference VI
Expand Down Expand Up @@ -117,7 +117,7 @@ options:
- 0 = TEST_MODE_ONLY
- 0 = DEBUG
- 0 = MSD_ENABLE
- 180 = DEFAULT_FILE_GENERATE_SECS
- 180 = DEFAULT_FILE_GENERATE_SECS
- 0 = DEFAULT_METRICS_STATUS
- 1 = DEFAULT_ALLOW_RAW_WRITE_USB
- 0 = DEFAULT_ALLOW_RAW_WRITE_UART
Expand Down Expand Up @@ -162,9 +162,9 @@ to a vehicle, but you don't care about the actual vehicle data being generated,
you can compile a build that generates random vehicle data and sends it via the
normal I/O interfaces.

If you are building an app, you'll want to use a _`trace file
<http://openxcplatform.com/resources/traces.html>` or the _`vehicle simulator
<https://github.com/openxc/openxc-vehicle-simulator>`.
If you are building an app, you'll want to use a `trace file
<http://openxcplatform.com/resources/traces.html>`_ or the `vehicle simulator
<https://github.com/openxc/openxc-vehicle-simulator>`_.

The config a VI to emulate a vehicle:

Expand Down Expand Up @@ -202,7 +202,7 @@ There are 2 changes from the default build:
* ``DEFAULT_POWER_MANAGEMENT`` is ``ALWAYS_ON``, so the VI will not go to sleep
while plugged in. Make sure to clear this configuration option before making a
build to run in a vehicle, or you could drain the battery!

.. NOTE::
This build also has a shortcut using the Fabric script. Just add the keyword
``emulator`` before ``build`` in your call to ``fab`` at the command line.
Expand Down Expand Up @@ -256,7 +256,7 @@ while this builds the default firmware, ready for OBD2 requests for the chipKIT:
.. code-block:: sh
fab chipkit obd2 build
You can specify the message format with ``json``, ``protobuf``, or ``messagepack``:

.. code-block:: sh
Expand Down
2 changes: 1 addition & 1 deletion docs/compile/native-development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ installer - during the installation process, select these packages:

.. code-block:: sh
make, gcc-core, patchutils, unzip, python, check, curl, libsasl2, python-setuptools
make, git, gcc-core, patchutils, unzip, python, check, curl, libsasl2, python-setuptools
After it's installed, open a new Cygwin terminal and configure it to ignore
Windows-style line endings in scripts by running this command:
Expand Down
6 changes: 3 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,16 @@

# General information about the project.
project = 'OpenXC Vehicle Interface Firmware'
copyright = '2016, Ford Motor Company'
copyright = '2018, Ford Motor Company'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '7.2.1-dev'
version = '7.3.0'
# The full version, including alpha/beta/rc tags.
release = '7.2.1-dev'
release = '7.3.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion docs/config/bit-numbering.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Bit Numbering and Byte Order
When dealing with binary data like CAN messages, there are two important details
- byte order and bit numbering.

Byte order, or _`endianness <http://en.wikipedia.org/wiki/Endianness>`, determines
Byte order, or `endianness <http://en.wikipedia.org/wiki/Endianness>`_, determines
the convention used to interpret a sequence of bytes as a number. Given 4 bytes
of data, e.g. ``0x01 02 03 04``, the endianness determines which byte is the
"zero-th" byte and which is the last. There are only two options: big endian
Expand Down
3 changes: 1 addition & 2 deletions docs/getting-started/compiling-emulator.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ e.g. for the ``CHIPKIT`` platform it will be at
Finally, test that you can receive the emulated data output stream using the
OpenXC Python library:

#. You should already have the OpenXC Python library installed after running the
``bootstrap.sh`` script, but if not, `install the library
#. If you don't already have the OpenXC Python library installed, `install the library
<http://python.openxcplatform.com/#installation>`_ with ``pip``. Don't forget
a `USB backend <http://python.openxcplatform.com/en/latest/#usb>`_.
#. Attach the programmed VI to your computer with a USB cable. In Windows,
Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ OpenXC Vehicle Interface Firmware

.. image:: /_static/logo.png

:Version: 7.2.1-dev
:Version: 7.3.0
:Web: http://openxcplatform.com
:Documentation: http://vi-firmware.openxcplatform.com
:Source: http://github.com/openxc/vi-firmware
Expand Down
19 changes: 14 additions & 5 deletions docs/output.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,15 @@ Device ID Query
openxc-control id
.. _platform-query:

Platform Query
---------------

.. code-block:: sh
openxc-control platform
Set CAN Message Passthrough Status
----------------------------------

Expand Down Expand Up @@ -105,7 +114,7 @@ wireless I/O with the VI.
The VI will send all messages it is configured to received out over the UART
interface using the OpenXC message format. The data may be serialized as either
JSON or protocol buffers, depending on the selected output format. Each message
is followed by a ``\r\n`` delimiter.
is followed by a ``\0`` delimiter.

The UART interface also accepts all valid OpenXC commands. JSON is the only
support format for commands in this version. Commands must be delimited with a
Expand All @@ -125,7 +134,7 @@ go about 100KB/s.
The VI will publish all messages it is configured to received to USB bulk ``IN``
endpoint 2 using the OpenXC message format. The data may be serialized as either
JSON or protocol buffers, depending on the selected output format. Each message
is followed by a ``\r\n`` delimiter. A larger read request from the host request
is followed by a ``\0`` delimiter. A larger read request from the host request
will allow more messages to be batched together into one USB request and give
high overall throughput (with the downside of introducing delay depending on the
size of the request).
Expand All @@ -136,11 +145,11 @@ Commands must be delimited with a ``\0`` (NULL) character. Commands must
be no more than 256 bytes (4 USB packets).

Finally, the VI publishes log messages to bulk ``IN`` endpoint 11 when compiled
with the ``DEBUG`` flag. The log messages are delimited with ``\r\n``.
with the ``DEBUG`` flag. The log messages are delimited with ``\0``.

If you are using one of the support libraries (e.g. `openxc-python
<https://github.com/openxc/openxc/python>`_ or `openxc-android
<https://github.com/openxc/openxc-android>`_, you don't need to worry about the
<https://github.com/openxc/openxc-python/>`_ or `openxc-android
<https://github.com/openxc/openxc-android/>`_, you don't need to worry about the
details of the USB device driver, but for creating new libraries the endpoints
are documented here.

Expand Down
Loading

0 comments on commit f1d517f

Please sign in to comment.