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.
- BMW E46
- VAG_2001_A4_AWM_18T
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 CAN for road car
- Predefined CAN for road + customer custom addition
- Customer custom CAN
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
- ABS wheelspeeds from ABS modules, which almost all cars have had since 1995 and even earlier.
- Analog input expansion
- Digital input expansion
- EGT expansion
- Lambda expansion
- Picking up information from the vehicle (button presses/ press2latch (steering wheel, clutch, launch, ESP, brake pedal)
Can the V3 even support more channels? Latest aim2can analog input takes away the ability to also have a multiplexer for instance.