It should be nice to create a low level CAN toolkit which could create or parse the 64 data bits of a CAN frame, without having to use the existing heavy tools.
What i would like to see is a list of low level VI's like readBoolean, readInteger, readFloat, readSingle ... writeBoolean, writeInteger ... with direct handling of the data coding (Intel / motorola)
These VI's could read/write channels directly to the 64 data bits of the frame.
These VI's are not very difficult to build ... and everyone who has already use the frame API, without DBC or NCD has done this work before.
My need is to create an official, validated list of low level channel read/write ... without having to use the channel API or CAN engine which ar not very powerfull.
For example :
ReadInteger ( in data, in startBit, in integerLength, in coding(Intel/motorola) , out integerValue )
ReadUInteger ( in data , in startBit, in integerLength, in coding(Intel/motorola) , out UIntegerValue )
ReadFloatCodedInteger( ........ offset, gain )
When you speak with NI CAN users they all say ... NI CAN is too slow ... I think that this toolkit could help many CAN users to come back to NI CAN.
The top would be to create, using this low level API and a little bit scripting, a wizzard which could generate automaticaly the read and write VIs for selected frames of a DBC/NCD file. ( A frame = 1 read VI, One write VI and 1 cluster per frame containing the channels )
The generated result could be something like a polymorphic VI.