package com.rusefi.can.reader.impl; import com.rusefi.can.CANPacket; import com.rusefi.can.reader.CANLineReader; import java.io.IOException; import java.util.List; public enum CANoeReader implements CANLineReader { INSTANCE; @Override public CANPacket readLine(String line, String fileName, int lineIndex) { if (line.contains("ErrorFrame")) return null; String[] tokens = line.trim().split("\\s+"); double timeStamp = Double.parseDouble(tokens[0]); int sid = Integer.parseInt(tokens[2], 16); int size = Integer.parseInt(tokens[5]); byte[] data = CANLineReader.readHexArray(tokens, 6, size); return new CANPacket(timeStamp, sid, data); } @Override public List readFile(String fileName) throws IOException { return skipHeaderAndRead(fileName, 5); } }