CanSender

This commit is contained in:
rusefillc 2024-01-06 00:29:29 -05:00
parent e05d02475f
commit 5707eabaa9
3 changed files with 27 additions and 2 deletions

View File

@ -0,0 +1,5 @@
package com.rusefi.io.can;
public interface CanSender {
void send(int id, byte[] payload);
}

View File

@ -9,7 +9,7 @@ public class PCanHelper {
public static final TPCANHandle CHANNEL = TPCANHandle.PCAN_USBBUS1; public static final TPCANHandle CHANNEL = TPCANHandle.PCAN_USBBUS1;
// @NotNull // @NotNull
public static PCANBasic create() { public static PCANBasic createPCAN() {
PCANBasic can = new PCANBasic(); PCANBasic can = new PCANBasic();
can.initializeAPI(); can.initializeAPI();
return can; return can;
@ -27,7 +27,7 @@ public class PCanHelper {
} }
public static PCANBasic createAndInit() { public static PCANBasic createAndInit() {
PCANBasic pcan = create(); PCANBasic pcan = createPCAN();
TPCANStatus initStatus = init(pcan); TPCANStatus initStatus = init(pcan);
if (initStatus != TPCANStatus.PCAN_ERROR_OK) { if (initStatus != TPCANStatus.PCAN_ERROR_OK) {
System.out.println("TPCANStatus " + initStatus); System.out.println("TPCANStatus " + initStatus);
@ -35,4 +35,14 @@ public class PCanHelper {
} }
return pcan; return pcan;
} }
public static CanSender create() {
PCANBasic pcan = createAndInit();
return new CanSender() {
@Override
public void send(int id, byte[] payload) {
PCanHelper.send(pcan, id, payload);
}
};
}
} }

View File

@ -36,4 +36,14 @@ public class SocketCANHelper {
throw new IllegalStateException(e); throw new IllegalStateException(e);
} }
} }
public static CanSender create() {
RawCanChannel canChannel = createSocket();
return new CanSender() {
@Override
public void send(int id, byte[] payload) {
SocketCANHelper.send(id, payload, canChannel);
}
};
}
} }