MembersPage/GunnarReynisson/AdvancedCAN

This only refers to the currently available AIM2CAN module:

Temp CAN solutions :

As the aim2CAN module at the moment can´t be adjusted or configured by user can I recommend the following so that its at least easier for the user. (of course Vemstune user update-able STM32 would be much more preferred for users to make their own custom streams for their requirements as quick changes are often needed to find out what works etc.)

This is a two fold process.


I propose in AIM Stream settings that there is a drop down menu that has all the available currently known CAN streams selectable.

To make this switchable I propose this solution

the CAN selection is a value sent out on one of the aim channels, maybe 125 the error channel,

So BMW = 0 , VAG = 1 , AIMCAN = 2 etc.

The aim2can module sees the value and stores it locally, next time it boots up it´ll load the CAN config for the last known CAN requested value. I say this because it should be possible to load dozens if not hundreds of streams in the module and select which one gets used instead of having specific firmware for each. So to swap CAN configs all you have to do is unplug and replug the CAN module to the V3. The work is done by the users in the only place they can - Vemstune


Alternative options for getting the CAN desired across is hiding the information in the aim stream,

In the V3 -

If actual RPM = 0 and CAN is changed send out

RPM=0001

RPM=0000

RPM=0002

RPM=0000

RPM=0003

RPM=0000

RPM=0004

RPM=0000

RPM=0005

Next value is the desired stream number

RPM=0001 or RPM=0002 etc

then

RPM=0005

RPM=0000

RPM=0004

RPM=0000

RPM=0003

RPM=0000

RPM=0002

RPM=0000

RPM=0001

RPM=RPM

End

Could be much simpler but these kinds of values are not actually possible by any kind of engine and would normally not trigger a logger to initiate or trigger errors etc.


Advanced CAN:

Requirement: STM32 is reachable by laptop to talk to / perform a "burn" so quick changes and data can be seen in the module (aim stream / analogs, digitals, nfet state, selected CAN stream)

Advanced CAN could be one of the following

Predefined is pretty straight forward and is maintained by VEMS and updated through the .ini files process maybe

Custom CAN:

The way custom CAN works can make or break how usable this function is. Alot of ECU manufacturers get this wrong.

My recommendation is DO NOT MAKE YOUR OWN CONFIG FORMAT TO SAVE CAN CONFIG IN, to many companies do this, use the very much known and understood .dbc file format, lots of free .dbc viewers out there and some dash/logger manufacturers make use of .dbc converters into their formats so the primary format should be .dbc, many allow importing .dbc files directly saving every one the hassle.

Use case options:

Option 1:

VEMStune has a gui / setup where the user can make messages, choose aim channels(via drop down), select length, gain, offset, intel/motorola etc.

Pro : done within Vemstune, can be saved for sending to others, sharing

Con : requires lots of work by VEMS to add this GUI.

Option 2:

VEMS makes the user build a .dbc file in one of the free dbc

viewers (Kvaser is nice and easy to use). Then VEMStune uploads the dbc file to the STM32.

Channel names in the dbc must be exactly as the aim stream dictates (available in the vemstune help)

RPM or rpm not enginespeed

Pro : FREE

Con : Vemstune needs to understand .dbc file format, VEMS needs to write some help for users.

https://www.kvaser.com/download/


Advanced CAN2V3:

I think everyone can agree that there is a desire to have functionality for getting more than what is available now information into the V3, either uni directional or bi directional.

These are things like

Can the V3 even support more channels? Latest aim2can analog input takes away the ability to also have a multiplexer for instance.