The Kvaser Memorator Light HS v2 features a single CAN channel, but two CAN message buffers that are used as ring (FIFO) buffers. One buffer logs all messages on the bus, the other buffer logs approximately 1000 messages before and 1000 messages after any error frame. The Kvaser Memorator Light HS v2 also automatically determines the correct CAN bus bit rate so no configuration is needed.
Connecting a Kvaser Memorator Light HS v2 to the Kvaser Memorator Config Tool, each log file is marked with Track “Err” or “All” based on which of the two buffers the log file is taken from.
Figure 1: A look at the two different types of logfiles logged by a Kvaser Memorator Light HS v2 inside Kvaser Memorator Config Tool.
Reading the log files is done in the same way as you would read log files from any Kvaser Memorator, the only difference is that the ‘logfile.log_type‘ now gives us “Err” for the files originating from the buffer that only triggers on Error Frames (with about 1000 events before and after the Error Frame).
from canlib import EAN, Device
from canlib import kvmlib
dev = Device.find(ean=EAN('01058-1'))
memo = kvmlib.openDevice(dev.channel_number(), mount=True)
fileCount = len(memo.log)
print('Found {} file{} on card.'.format(
fileCount,
"s" if fileCount > 1 else "")
)
for i, logfile in enumerate(memo.log):
track = logfile.log_type
events = logfile.event_count_estimation()
start = logfile.start_time.isoformat(' ')
stop = logfile.end_time.isoformat(' ')
print("%s: %s %s events, start: %s, stop: %s" % (i, track, events, start, stop))
for event in logfile:
print(str(event)[10:])
time part
break
memo.close()
Listing 1: List logged files to stdout
Running the program reports the same information as was seen in the Kvaser Memorator Config Tool.
Found 7 files on card.
0: LogFileType.ERR 1420 events, start: 2019-08-22 13:13:06, stop: 2019-08-22 13:13:30
- EAN:73-30130-01058-1 s/n:204 FW:v3.16.100 LIO:v4.0
1: LogFileType.ERR 2140 events, start: 2019-08-22 13:13:30, stop: 2019-08-22 13:13:49
- EAN:73-30130-01058-1 s/n:204 FW:v3.16.100 LIO:v4.0
2: LogFileType.ERR 2940 events, start: 2019-08-22 13:14:11, stop: 2019-08-22 13:14:56
- EAN:73-30130-01058-1 s/n:204 FW:v3.16.100 LIO:v4.0
3: LogFileType.ERR 2900 events, start: 2019-08-22 13:15:24, stop: 2019-08-22 13:15:43
- EAN:73-30130-01058-1 s/n:204 FW:v3.16.100 LIO:v4.0
4: LogFileType.ALL 3500 events, start: 2019-08-22 13:13:05, stop: 2019-08-22 13:13:49
- EAN:73-30130-01058-1 s/n:204 FW:v3.16.100 LIO:v4.0
5: LogFileType.ALL 2500 events, start: 2019-08-22 13:14:08, stop: 2019-08-22 13:14:56
- EAN:73-30130-01058-1 s/n:204 FW:v3.16.100 LIO:v4.0
6: LogFileType.ALL 2500 events, start: 2019-08-22 13:15:13, stop: 2019-08-22 13:15:43
- EAN:73-30130-01058-1 s/n:204 FW:v3.16.100 LIO:v4.0