Advanced Vehicle Technologies, Inc. - AVT-85x Firmware
ADVANCED VEHICLE TECHNOLOGIES, Inc.

AVT-423
Firmware Version Descriptions
Updated: 22 April 2018

Version 0001
Release date: Never released. Very early testing only.

Version 0002
Release date: Never released. Early testing only.

Version 0003
Release date: 4 August 2016
Taken from version: 0002.
First 'real' release.

Version 0004
Release date: Never released.
Taken from version 0003.

Version 0005
Release date: 22 January 2017.
Taken from version 0004.
Moved all TCP/IP functions to interrupt driven routines.
That removed all application delays associated with reading data from the control computer.
Added support for LIN0 and LIN1.
Some corrections to CAN commands and other CAN routines.

Version 0006
Release date: 4 July 2017
Taken from version 0005
Lots of changes and updates. Corrected many CAN control bits: IDE, RTR, EDL, and BRS.
Commands affected: 0x (transmit), 7x 18 (periodic message set-up), 7x 2A (object set-up), 7x 2C (object mask).
Error checking for invalid CAN bit definitions.
Updated error responses.
Increased number of CAN periodic messages to 48 (each CAN channel).
Moved the CAN timer update routine to an assembly language routine to speed it up.
Some Flexray routines have been implemented (comms between the Netburner CPU and the Flexray CPU).

Version 0007
Release date: 5 July 2017
Taken from version 0006
No general release. Only released to one customer for testing.
Primarily changes to FIFO2 manager. Investigating problems a customer has encountered.

Version 0008
Release date: 25 July 2017
Taken from version 0007
No general release. Only released to one customer for testing.
Rewrote tcp_error_manager. Changes to fifo2_manager. Corrections to fifo2_manager. Changes to tcp_rcv_manager task. Changed TICKS_PER_SECOND to 100. Changes to predef.h and constants.h. Rebuilt all system files. Rewrote CAN0 and CAN1 protection code when updating receive message fifo pointers and flags.

Version 0009
Release date: 30 July 2017
Taken from version 0008
Added SysLog feature; messages are broadcast (no ip address specified).
Lots and lots of changes. Primarily in how data is moved into FIFO2 and how it is moved off the board to the client. Created a new tcp send task. Re-ordered the priority of the three tasks. The three tasks are, in order of priority (high to low): tcp send, tcp receive, and usermain. Corrections to a number of commands and responses. At least one new error response, one error response corrected, and one error response deleted. The manual has been updated and posted. For CAN2 and CAN3, if the "error counter ii" rolls over (any element therein), that CAN channel is NOT reset (it used to be), only the client is notified of the condition but operations continue un-interrupted. Completely re-wrote the two tcp tasks and the fifo2_manager routines.
Users are encouraged to load this new version of firmware and work with it. It is much more reliable and moves data quicker.

Users are invited to let me know of any problems, questions, or corrections that need to be addressed.

Version 0010
Release date: 8 August 2017
Taken from version 0009
Converted to new development system (2.7.7).
Corrected /CS4 timing parameter.
Moved periodic message timers to FAST SRAM.
For all CAN channels removed the 'auto reset' feature from the error managers.  Now I only inform the user that an error occurred.  The user is responsible for handling recovery of the CAN channel.

Version 0012
Release date: 14 November 2017
Taken from versions 0010 and 0011
Version 0011 was never released.  Major upgrade from previous versions.  Lots of changes to improve code efficiency and maintainability.  Cleaned up many routines.  Corrected many errors.  (Details can be found in notes in "main.cpp".)
Biggest change of note is the addition of ISO 15765 support for CAN0 and CAN1.
The following previously existing commands were changed and are not compatible with previous versions.

0x - transmit command
11 xx - transmit command
12 xx yy - transmit command
7x 2A - object set-up ID command
7x 2C - object set-up acceptance mask

New commands
7x 05 - object set-up
7x 06 - object set data
7x 07 - transmit status
7x 08 - transmit acknowledgements
7x 0E - outbound flow control separation time
7x 27 - padding
7x 28 - object pairing

The manual has been updated and posted.
As always - if you find an error in the manual, please let me know so that I can correct it.
If you have any questions - contact me.  I will answer as quickly and as best I can.  Call if you need a fast answer.

Version 0013
Release date: 26 November 2017
Taken from version 0012
Corrected several errors in the CAN mask command (7x 2C).
Corrected an error in the CAN acceptance ID commands (7x 05 and 7x 2A).

Version 0014
Release date: never released
Taken from version 0013
One correction to an ISO15765 processing routine.

Version 0015
Release date: never released
Taken from version 0014
One correction to an ISO15765 processing routine.

Version 0016
Release date: 12 March 2018
Taken from version 0015
Considerable re-work of all the ISO15765 processing routines.
Changed the defined states.
Corrected the non-zero block size functionality.
Incorporated changes from versions 0014 and 0015.
A number of other changes to correct or improve ISO15765 message processing.
Removed a few "22 5F xx" error responses and added a few others.
The manual has been updated and posted.

Version 0017
Release date: 15 March 2018
Taken from version 0016.
Lots of changes on how errors are detected and handled for CAN0 and CAN1.
Previously certain failure conditions would result in a non-stop (fast) series of error responses to the client.
CAN0 and CAN1 error registers are now monitored by a polling routine (not interrupt driven).
Those two channels are monitored on a alternating basis.
If a 'bus off' condition is detected: a 'bus off' message is sent to the client, the CAN channel is reset, and a reset response is sent to the client.
There were also changes to the '7x 0A' and '7x 0B' baud rate routines to stop writing fixed values.

Version 0018
Release date: 22 April 2018
Taken from version 0017.
For CAN0 and CAN1:
The timing register load values were changed to put the number of time quanta and the sample point more in line with CAN-CiA recommendations.
For CAN2 and CAN3:
A new CAN-FD IP core version was introduced.
For core version '0004' the CAN clock was 128.0000 MHz.
For core version '0010' the CAN clock is 160.0000 MHz.
The firmware was updated to query for the core version number to determine CAN2 and CAN3 timing register load values.
The timing register load values were changed for both the previous and the new core to put the number of time quanta and the sample point more in line with CAN-CiA recommendations.

CAN-CiA recommends the sample point be at nominal 87.5% (85% to 90%); where possible.

Version xxxx
Release date: xxx
Taken from version xxx

Version xxxx
Release date: xxx
Taken from version xxx

Version xxxx
Release date: xxx
Taken from version xxx

Version xxxx
Release date: xxx
Taken from version xxx



Site Map