intrepidcs / libicsneo

An open source solution to integrate Intrepid Control Systems vehicle networking hardware with your application.
Other
37 stars 32 forks source link

About the ISO15765-2 functions. #18

Open zengli136742681 opened 4 years ago

zengli136742681 commented 4 years ago

Hi~ Do you have any plan about the realization of the below ISO15765-2 functions?

//ISO15765-2 Functions int icsneoISO15765_EnableNetworks(void* hObject, unsigned long ulNetworks) { // TODO Implement return false; }

int icsneoISO15765_DisableNetworks(void* hObject) { // TODO Implement return false; }

int icsneoISO15765_TransmitMessage(void hObject, unsigned long ulNetworkID, stCM_ISO157652_TxMessage pMsg, unsigned long ulBlockingTimeout) { // TODO Implement return false; }

int icsneoISO15765_ReceiveMessage(void hObject, int ulNetworkID, stCM_ISO157652_RxMessage pMsg) { // TODO Implement return false; }

hollinsky-intrepid commented 4 years ago

Hi @zengli136742681,

We've been waiting to see what Vehicle Spy X requires in terms of API (on the main API, you're looking at the legacy API, which is meant to mimic the icsneo40.dll API), so that we don't have to make breaking changes when we support hardware accelerated ISO15765-2.

It would help to know what you're attempting to do with these functions. The functions are meant to enable hardware acceleration of ISO15765-2, ensuring that there is no USB round trip latency when responding to the flow control. In most cases, this will only make a difference for firmware flashes or very high DAQ throughput, where the added latency of a round trip / OS scheduler / etc can add up over tens of thousands of transactions.

Some devices, such as the ValueCAN 4 line, have low enough USB latency that it doesn't even make a difference.

--Paul

zengli136742681 commented 4 years ago

Hi @hollinsky-intrepid Thanks for your explanation. I do have used the icsneo40.dll API and its ISO15765-2 functions to help me handle the flow control frame during the ECU firmware flashes. For now I am attemping to study the possibility of the usage of ValueCAN 4 on Embedded System like Raspberry Pie. I want to try whether libicsneo(Legacy API)+python-ics can meet my demand. As you mentioned that ValueCAN 4 has low enough USB latency, so is it possible I handle the flow control frame by myself with python and meet the requirement of firmware flashes?