[hal] Various CAN fixes (#8043)

This commit is contained in:
Thad House
2025-07-14 23:46:57 -07:00
committed by GitHub
parent 3497a7d09f
commit 8d248f61fd
9 changed files with 187 additions and 58 deletions

View File

@@ -214,8 +214,9 @@ Java_edu_wpi_first_hal_can_CANJNI_readCANStreamSession
}
}
JLocal<jbyteArray> toSetArray{
env, SetCANStreamObject(env, elem, msg->message.message.dataSize,
msg->messageId, msg->message.timeStamp)};
env, SetCANStreamObject(env, elem, msg->message.message.flags,
msg->message.message.dataSize, msg->messageId,
msg->message.timeStamp)};
auto javaLen = env->GetArrayLength(toSetArray);
if (javaLen < msg->message.message.dataSize) {
ThrowIllegalArgumentException(

View File

@@ -235,13 +235,13 @@ jbyteArray SetCANReceiveMessageObject(JNIEnv* env, jobject canData,
}
jbyteArray SetCANStreamObject(JNIEnv* env, jobject canStreamData,
int32_t length, uint32_t messageId,
int32_t length, int32_t flags, uint32_t messageId,
uint64_t timestamp) {
static jmethodID func =
env->GetMethodID(canStreamMessageCls, "setStreamData", "(IIJ)[B");
env->GetMethodID(canStreamMessageCls, "setStreamData", "(IIIJ)[B");
jbyteArray retVal = static_cast<jbyteArray>(env->CallObjectMethod(
canStreamData, func, static_cast<jint>(length),
canStreamData, func, static_cast<jint>(length), static_cast<jint>(flags),
static_cast<jint>(messageId), static_cast<jlong>(timestamp)));
return retVal;
}

View File

@@ -67,7 +67,7 @@ jbyteArray SetCANReceiveMessageObject(JNIEnv* env, jobject canData,
uint64_t timestamp);
jbyteArray SetCANStreamObject(JNIEnv* env, jobject canStreamData,
int32_t length, uint32_t messageId,
int32_t length, int32_t flags, uint32_t messageId,
uint64_t timestamp);
jobject CreateHALValue(JNIEnv* env, const HAL_Value& value);