Hi, dhuff:
Thanks a lot!
The device is called Collimator, which is for vCT machine and adjust the X-ray path. it uses CAN extended specification.
There are 3 step motors need to be controlled, and the parameters are more than 8 bytes. THIS IS THE REAL PROBLEM HERE! colllimator uses 29 bits as arbitration ID, there are a few bits for SEQ_FRAME, FRAME_RESP, FRAME_CTRL among the ID, it is complicated though, All of them have different cases, we have to figure out how to set those bits for different messages, the docs are not very direct, we have to dig into the source codes we have, it is very bitter.
It looks like the device is the first case by increasing the seq_frame. But for each frame, we have to sent ack back to the sender, if not good, se
nt it again automatically.
on the collimator side, there are a few tasks under RTOS (VxWorks) dedicated for the CAN message transfer,
and use Interrupt Service Routine, for combining data from 2 or more CAN frames. this makes life difficult.
My question is: how do we do the same thing (ISR) by using NI-CAN card and API under Win2K?
We can't just simply wait for all frames complete,
do we have to put another layer above NI-API?
Your reply will be appreciated!
James