With the Frame API's, I do not believe I coded the application in the most efficient way, particularly when decoding the messages from the CAN frames relating to the DAQ DTO's. I had struggled using many while loops, queues and occurrences to split all the DAQ DTO's into 10 groups (since I have 10 events) and then decoding the messages in each group which are encompassed across 3 CAN frames (where a message can be spanned across 2 CAN frames, thus more efficient use of available memory), thus I have to wait for transmission of all 3 CAN frames before decoding the messages. The decoding of messages is the main issue I have really.
This gave me some problems with buffer overload, queue overload although I did look into some support papers regarding memory management and performance issues. I have not really looked into using C functions and have always coded in LabVIEW blocks, do you think this would improve performance of some of my code?
One other issue I wanted to check, I assume the CCP functions do not span messages across CAN frames as mentioned above. For example an ODT table will have 7 blocks of 1byte data and if you set the pointer to this ODT table and write data such that it then exceeds the 7bytes, I assume it will give an error.
As a comparison, we have always used Vector CANape for ECU data acquisition and calibration which we have no issues, but for my purpose now, I need to use LabVIEW to perform in almost the same way.
I dont have the CCP version which we are using at the moment.
Biker 2000, I am out of the country early next month but let me know what your email address is and I can contact you. Thanks.