"""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(f"std_data: {self.std_data}, "f"std_remote: {self.std_remote}, "f"ext_data: {self.ext_data}, "f"ext_remote: {self.ext_remote}, "f"err_frame: {self.err_frame}, "f"bus_load: {self.bus_load/100.0:.1f}%, "f"overruns: {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