"""Contains Python equivalents of the structures in CANLIB's canlib.h,with some supporting functionality specific to Python."""importctypes
[docs]classBusStatistics(ctypes.Structure):"""This structure is used with the method :meth:`~can.interfaces.kvaser.canlib.KvaserBus.get_stats`. """_fields_=[("m_stdData",ctypes.c_ulong),("m_stdRemote",ctypes.c_ulong),("m_extData",ctypes.c_ulong),("m_extRemote",ctypes.c_ulong),("m_errFrame",ctypes.c_ulong),("m_busLoad",ctypes.c_ulong),("m_overruns",ctypes.c_ulong),]def__str__(self):return("std_data: {}, std_remote: {}, ext_data: {}, ext_remote: {}, ""err_frame: {}, bus_load: {:.1f}%, overruns: {}").format(self.std_data,self.std_remote,self.ext_data,self.ext_remote,self.err_frame,self.bus_load/100.0,self.overruns,)@propertydefstd_data(self):"""Number of received standard (11-bit identifiers) data frames."""returnself.m_stdData@propertydefstd_remote(self):"""Number of received standard (11-bit identifiers) remote frames."""returnself.m_stdRemote@propertydefext_data(self):"""Number of received extended (29-bit identifiers) data frames."""returnself.m_extData@propertydefext_remote(self):"""Number of received extended (29-bit identifiers) remote frames."""returnself.m_extRemote@propertydeferr_frame(self):"""Number of error frames."""returnself.m_errFrame@propertydefbus_load(self):"""The bus load, expressed as an integer in the interval 0 - 10000 representing 0.00% - 100.00% bus load."""returnself.m_busLoad@propertydefoverruns(self):"""Number of overruns."""returnself.m_overruns