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;
// @NotNull
public static PCANBasic create() {
public static PCANBasic createPCAN() {
PCANBasic can = new PCANBasic();
can.initializeAPI();
return can;
@ -27,7 +27,7 @@ public class PCanHelper {
}
public static PCANBasic createAndInit() {
PCANBasic pcan = create();
PCANBasic pcan = createPCAN();
TPCANStatus initStatus = init(pcan);
if (initStatus != TPCANStatus.PCAN_ERROR_OK) {
System.out.println("TPCANStatus " + initStatus);
@ -35,4 +35,14 @@ public class PCanHelper {
}
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);
}
}
public static CanSender create() {
RawCanChannel canChannel = createSocket();
return new CanSender() {
@Override
public void send(int id, byte[] payload) {
SocketCANHelper.send(id, payload, canChannel);
}
};
}
}