70 likes | 90 Views
Kvaser to SysTec API Interface. JCOP Meeting 2 November 2006 Daniel Davids / IT-CO-BE. Big Overview Picture. Winhost+ Application. USB-CANmodul Control. canlib32.dll. UsbCan32.dll. Kvaser H/w. SysTec H/w. Back-lock. Back-lock. Frame Loss. Frame Loss. Back-lock. Back-lock.
E N D
Kvaser to SysTecAPI Interface JCOP Meeting 2 November 2006 Daniel Davids / IT-CO-BE
Big Overview Picture Winhost+ Application USB-CANmodul Control canlib32.dll UsbCan32.dll Kvaser H/w SysTec H/w
Back-lock Back-lock Frame Loss Frame Loss Back-lock Back-lock Back-lock Back-lock Queueing Architecture Sending Application Receiving Kvaser API No State One Cell canlib32.dll SysTec API 4096 Cells 4096 Cells UsbCan32.dll USB 768 Cells USB-CANmodul 3004006 768 Cells Even Nr Ports Odd Nr Ports
Limitations of the Usage of H/w & S/w Odd Nb Ports Maximum ‘64’ Devices Numbered 0..63 Even Nb Ports USBs 0 1 2 3 4 5 6 7 8 9 10 11 20 21 22 23 Note 1 device ↔ 1 applic UsbCan32.dll Shared Memory canlib32.dll Threads Threads Global Mem Applic-One Applic-Two Global Mem Mutexes & Events are Global to System
Configuration Parameters • Debugging Flags • Set ‘Debug’ & ‘DbgFlush’ to ‘1’ in production environments • Specification of the Number of Devices • ‘Modules’ should be strict-positive in production environments • Security-Attributes for ‘Events’ & ‘Mutexes’ (New) • Synchronisation between API function calls (New)
Restrictions in the API DLL Interface • Error Counters • ‘canReadErrorCounters’ • Bus Parameters • ‘canTranslateBaud’ • ‘canSetBusParams’ • ‘canGetBusParams’ • ‘canSetBusOutputControl’ • Bus Control • ‘canIoCtl’ • Bus Status • ‘canReadStatus’ • (De-)Initialisation • ‘canGetNumberOfChannels’ • ‘canOpenChannel’ • Frame Filtering • ‘canAccept’ • Writing Frames • ‘canWriteWait’ • ‘canWriteSync’
Bug-Fixes between Versions 1.1 & 1.2 • The ‘canReadWait’ function returned wrong return-code if no frames were received in the time-lapse • A race-condition caused 'standard' frames to be occasionally mis-identified as being 'remote' frames • Security-attr were introduced for applications under different logons to call the same DLL functions • SysTec’s API call ‘UcanInitHardwareEx’ was not thread-safe under versions up to and incl V3.6.89