|
|
@ -10,7 +10,6 @@ jobject Decode981A::DecodeA1(JNIEnv* env, CFrameFK_D_JE& Parse)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
jclass jReturnClass = env->FindClass("com/htfp/jni/uav981A/bean/Uav981AFlightDataFrameA1");
|
|
|
|
jclass jReturnClass = env->FindClass("com/htfp/jni/uav981A/bean/Uav981AFlightDataFrameA1");
|
|
|
|
std::cout << jReturnClass << std::endl;
|
|
|
|
|
|
|
|
// 2)获取构造方法ID;
|
|
|
|
// 2)获取构造方法ID;
|
|
|
|
jmethodID jmId = env->GetMethodID(jReturnClass, "<init>", "()V");
|
|
|
|
jmethodID jmId = env->GetMethodID(jReturnClass, "<init>", "()V");
|
|
|
|
// 3)通过构造方法ID创建Java ReturnInfo对象;
|
|
|
|
// 3)通过构造方法ID创建Java ReturnInfo对象;
|
|
|
@ -35,7 +34,6 @@ jobject Decode981A::DecodeA1(JNIEnv* env, CFrameFK_D_JE& Parse)
|
|
|
|
jfieldID DataA1OpenCMDRe = (env)->GetFieldID(jReturnClass, "DataA1OpenCMDRe", "I");
|
|
|
|
jfieldID DataA1OpenCMDRe = (env)->GetFieldID(jReturnClass, "DataA1OpenCMDRe", "I");
|
|
|
|
|
|
|
|
|
|
|
|
env->SetIntField(jReturnObj, DataA1FlyID, static_cast<int>(Parse.Data.DataA1.FlyID));
|
|
|
|
env->SetIntField(jReturnObj, DataA1FlyID, static_cast<int>(Parse.Data.DataA1.FlyID));
|
|
|
|
std::cout << static_cast<int>(Parse.Data.DataA1.FlyID) << std::endl;
|
|
|
|
|
|
|
|
env->SetIntField(jReturnObj, DataA1FrameCount, static_cast<int>(Parse.Data.DataA1.FrameCount));
|
|
|
|
env->SetIntField(jReturnObj, DataA1FrameCount, static_cast<int>(Parse.Data.DataA1.FrameCount));
|
|
|
|
env->SetFloatField(jReturnObj, DataA1FyAngle, Parse.Data.DataA1.FyAngle);
|
|
|
|
env->SetFloatField(jReturnObj, DataA1FyAngle, Parse.Data.DataA1.FyAngle);
|
|
|
|
env->SetFloatField(jReturnObj, DataA1GzAngle, Parse.Data.DataA1.GzAngle);
|
|
|
|
env->SetFloatField(jReturnObj, DataA1GzAngle, Parse.Data.DataA1.GzAngle);
|
|
|
@ -53,8 +51,6 @@ jobject Decode981A::DecodeA1(JNIEnv* env, CFrameFK_D_JE& Parse)
|
|
|
|
env->SetByteField(jReturnObj, DataA1ExcuteState, Parse.Data.DataA1.ExcuteState);
|
|
|
|
env->SetByteField(jReturnObj, DataA1ExcuteState, Parse.Data.DataA1.ExcuteState);
|
|
|
|
env->SetIntField(jReturnObj, DataA1OpenCMDRe, static_cast<int>(Parse.Data.DataA1.OpenCMDRe));
|
|
|
|
env->SetIntField(jReturnObj, DataA1OpenCMDRe, static_cast<int>(Parse.Data.DataA1.OpenCMDRe));
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << "------A1-------" << Parse.Data.DataA1.ExcuteState << std::endl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return jReturnObj;
|
|
|
|
return jReturnObj;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -81,9 +77,6 @@ jobject Decode981A::DecodeA2(JNIEnv* env, CFrameFK_D_JE& Parse)
|
|
|
|
jfieldID EastSpeedGived = (env)->GetFieldID(jReturnClass, "DataA2EastSpeedGived", "F");
|
|
|
|
jfieldID EastSpeedGived = (env)->GetFieldID(jReturnClass, "DataA2EastSpeedGived", "F");
|
|
|
|
jfieldID AirSpeed = (env)->GetFieldID(jReturnClass, "DataA2AirSpeed", "F");
|
|
|
|
jfieldID AirSpeed = (env)->GetFieldID(jReturnClass, "DataA2AirSpeed", "F");
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << Parse.Data.DataA2.FrameCount << std::endl;
|
|
|
|
|
|
|
|
std::cout << static_cast<int>(Parse.Data.DataA2.FrameCount) << std::endl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 5)通过字段ID给每个字段赋值
|
|
|
|
// 5)通过字段ID给每个字段赋值
|
|
|
|
env->SetIntField(jReturnObj, FrameCount, static_cast<int>(Parse.Data.DataA2.FrameCount));
|
|
|
|
env->SetIntField(jReturnObj, FrameCount, static_cast<int>(Parse.Data.DataA2.FrameCount));
|
|
|
|
env->SetDoubleField(jReturnObj, GPSLongitude, Parse.Data.DataA2.GPSLongitude);
|
|
|
|
env->SetDoubleField(jReturnObj, GPSLongitude, Parse.Data.DataA2.GPSLongitude);
|
|
|
@ -98,8 +91,6 @@ jobject Decode981A::DecodeA2(JNIEnv* env, CFrameFK_D_JE& Parse)
|
|
|
|
env->SetFloatField(jReturnObj, EastSpeedGived, Parse.Data.DataA2.EastSpeedGived);
|
|
|
|
env->SetFloatField(jReturnObj, EastSpeedGived, Parse.Data.DataA2.EastSpeedGived);
|
|
|
|
env->SetFloatField(jReturnObj, AirSpeed, Parse.Data.DataA2.AirSpeed);
|
|
|
|
env->SetFloatField(jReturnObj, AirSpeed, Parse.Data.DataA2.AirSpeed);
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << "----A2 end----" << std::endl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 返回Java对象;
|
|
|
|
// 返回Java对象;
|
|
|
|
return jReturnObj;
|
|
|
|
return jReturnObj;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -642,8 +633,6 @@ jobject Decode981A::DecodeAC(JNIEnv* env, CFrameFK_D_JE& Parse)
|
|
|
|
jmethodID jmId = env->GetMethodID(jReturnClass, "<init>", "()V");
|
|
|
|
jmethodID jmId = env->GetMethodID(jReturnClass, "<init>", "()V");
|
|
|
|
jobject jReturnObj = env->NewObject(jReturnClass, jmId);
|
|
|
|
jobject jReturnObj = env->NewObject(jReturnClass, jmId);
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << jReturnClass << std::endl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jfieldID DataACFrameCount = (env)->GetFieldID(jReturnClass, "DataACFrameCount", "I");
|
|
|
|
jfieldID DataACFrameCount = (env)->GetFieldID(jReturnClass, "DataACFrameCount", "I");
|
|
|
|
jfieldID DataACsubFrameID = (env)->GetFieldID(jReturnClass, "DataACsubFrameID", "I");
|
|
|
|
jfieldID DataACsubFrameID = (env)->GetFieldID(jReturnClass, "DataACsubFrameID", "I");
|
|
|
|
jfieldID DataACsub0FlyCtrolTime = (env)->GetFieldID(jReturnClass, "DataACsub0FlyCtrolTime", "I");
|
|
|
|
jfieldID DataACsub0FlyCtrolTime = (env)->GetFieldID(jReturnClass, "DataACsub0FlyCtrolTime", "I");
|
|
|
@ -700,8 +689,6 @@ jobject Decode981A::DecodeAC(JNIEnv* env, CFrameFK_D_JE& Parse)
|
|
|
|
env->SetDoubleField(jReturnObj, DataACsub2TargetLatitude, Parse.Data.DataAC.sub2.TargetLatitude);
|
|
|
|
env->SetDoubleField(jReturnObj, DataACsub2TargetLatitude, Parse.Data.DataAC.sub2.TargetLatitude);
|
|
|
|
env->SetFloatField(jReturnObj, DataACsub2TargetAltitude, Parse.Data.DataAC.sub2.TargetAltitude);
|
|
|
|
env->SetFloatField(jReturnObj, DataACsub2TargetAltitude, Parse.Data.DataAC.sub2.TargetAltitude);
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << Parse.Data.DataAC.sub2.TargetLongitude << std::endl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return jReturnObj;
|
|
|
|
return jReturnObj;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|