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

AVT-425
Firmware Version Descriptions
Updated: 4 September 2023

Version 0001
Release date: 21 May 2022
Never released.

Starting point: AVT-423 version 0065.


Version 0002
Release date: 9 July 2022
Taken from version 0001

Never released.


Version 0003
Release date: 21 September 2022
Taken from version 0002

Never released.


Version 0004
Release date: 13 October 2022
Taken from version 0003

Never released.


Version 0005
Release date: 17 October 2022
Taken from version 0004

First real release.


Version 0006
Release date: 18 October 2022
Taken from version 0005

Removed all 'mirror' commands and functions.


Version 0007
Release date: 18 October 2022
Taken from version 0006

Removed all 'frame buffer' commands and functions.

The manual was updated and posted.


Version 0008
Release date: 8 November 2022
Taken from version 0007

Corrected an error in CAN2/3 ISO15765 transmit buffer manager.
Corrected an error in CAN0/1 ISO15765 single frame transmit ack.

No changes to the manual were necessary.


Version 0009
Release date: 3 March 2023
Taken from version 0008

I discovered that the variable length DLC feature for CAN2/3 ISO15765 transmitting multiple frames - does not work.
The first frame was the correct length, but all consecutive frames were 0x40 bytes long.
The problem was corrected and tested.

The manual has been updated and posted.
The changes to the manual were not related to firmware updates.
Rather the manual changes were to emphasize that the maximum supply voltage for the AVT-425 should not exceed +18 VDC.
I also updated the section on over-voltage protection to emphasize that the fuse would blow if the supply voltage exceeded about +20 VDC.


Version 0010
Release date: 9 April 2023
Taken from version 0009

Enabled DMA timer DTMR0. It is a free running 32-bit counter running at 411,184.2 kHz; 2.432 usec.
Added a J1850 CRC computation routine.
Added the '7x 58' routine to check the J1850 CRC routine.
Changed all the periodic message structures.
Changed the periodic message 'flags' from 16 to 32-bit.
Added the '7x 56' command for CAN periodic message special functions 1, 2, and 3.
Added the '7x 57' command for CAN periodic message special function 4.
Special function 4 is only valid for channels CAN2 and CAN3. Added all the computation routines for 'canA' and 'canB' for all four CAN channels.

The manual has not been updated, yet.


Version 0011
Release date: 10 April 2023
Taken from version 0010

Added the '7x 55' command for the 'Data Change' function for all CAN channels.
It is a 'hard wired' function and only supports messages with ID = 0x05A.
I re-wrote the 'canA' receive manager. I now use a pointer. I changed the flow.

The manual has not been updated, yet.


Version 0012
Release date: 11 April 2023
Taken from version 0011

Re-wrote the data change function to allow the Client to specify the ID and a data mask.
Added the '7x 53' command to specify the ID.
Added the '7x 54' command to specify the mask.
Re-wrote the 'canA' and 'canB' receive managers.
The manual has not been updated, yet.


Version 0013
Release date: 12 April 2023
Taken from version 0012

Had to re-write the data change function for CAN2 and CAN3.
The data field to monitor for CAN0/1 is 8 bytes.
The data field to monitor for CAN2/3 is 32 bytes.
Complete re-wrote the '7x 54' command to support the long mask field.

The manual has been updated and has been posted.


Version 0014
Release date: 5 May 2023
Taken from version 0013

Added the '5x 10' command to control if '22 0E yy' error responses are sent to the Client.
The default state is 'enabled' - which means the AVT-425 will send the '22 0E yy' error responses to the Client.

Changed the '7x 1A' periodic message command for all CAN channels.
An undefined periodic message can not be enabled.

Corrected a bug in the '7x 1A' command.
Disabling one periodic message would disable all periodic messages for that channel.

Corrected a bug in ISO processing of a received CAN2/3 frame.
Corrected a bug in ISO processing of a transmitted CAN2 frame, single frame, would have the wrong pad byte value.

Corrected a bug in CAN2/3 receive processing where the 'data change' function was interferring with ISO processing.

The manual was not updated.


Version 0015
Release date: 16 May 2023
Taken from version 0014

During testing I discovered that I could generate a number of '2E 97 02 00 08 xx' error responses with ISO processing enabled, sending a multi-frame message, with zero separation time.
That error response is for transmit fifo full. This is, technically, not an error since no frames are lost.
Changed the code so that if only that flag is set, the '2E 97' response is not sent to the Client.

Corrected a bug in CAN0/1 receive processing where the 'data change' function was interferring with ISO processing.

Changed the '7x 1A' command by adding the '03' enable option. The '03' enable option will enable the periodic message (even if it is already enabled) and clear the timer. This causes the specified periodic message to be transmitted on the next call to the periodic message manager; which should be within 1 msec of receipt of the command.

The manual has been updated and posted.


Version 0016
Release date: never released
Taken from version 0015

Never released. Only used for debugging purposes.

manual status - no manual updates required.


Version 0017
Release date: 23 June 2023
Taken from version 0015

Added the 'data change' function to channels LIN0 and LIN1.
Added the following commands:
'5x 11' - LINx data change function, set ID.
'5x 12' - LINx data change function, set mask.
'5x 13' - LINx data change function, set mode.

Added four new error codes for the LINx data change function:
'22 14 rr', '22 15 rr', '22 16 rr', '22 17 rr'.

In main loop, now only call the CANx periodic message managers if the channel is enabled.
For CAN2 and CAN3, modified the periodic message manager to look at the status of the transmit buffer before attempting to load a periodic message.

Now use a 'pending' flag if the transmit buffer went full. In the main loop, call the pm manager if a message is pending.
Otherwise, only call the pm manager if the timer flags have been updated.

manual status - manual was not updated


Version 0018
Release date: 2 July 2023
Taken from version 0017

Added the '5x 14' in support of the LINx data change function.

manual status - manual has been updated and posted.


Version 0019
Release date: 1 September 2023
Taken from version 0018

Added support for periodic message Special Function # 6; for CAN2 and CAN3 only.
It is another counter and CRC format. Details in the User's Manual.
Added special function 4 and 6 to the '7x 56' command.
Added the '7x 59' command to query/set the msgID Offset - part of special function # 6.
Added the '7x 5A' command to test the CRC16 computation algorithm.

The manual has been updated and posted.


Version xxx
Release date: xxx
Taken from version xxx

xxx - notes here - xxx.

manual status


Version xxx
Release date: xxx
Taken from version xxx

xxx - notes here - xxx.

manual status


Version xxx
Release date: xxx
Taken from version xxx

xxx - notes here - xxx.

manual status


Version xxx
Release date: xxx
Taken from version xxx

xxx - notes here - xxx.

manual status


Version xxx
Release date: xxx
Taken from version xxx

xxx - notes here - xxx.

manual status


Version xxx
Release date: xxx
Taken from version xxx

xxx - notes here - xxx.

manual status


Version xxx
Release date: xxx
Taken from version xxx

xxx - notes here - xxx.

manual status