Commit 21e2ec9d authored by captainwong's avatar captainwong

add pack2

parent 7c9b950b
......@@ -76,6 +76,24 @@ JNIEXPORT jstring JNICALL Java_javademo_jni_AdemcoHbLibrary_pack
return 0;
}
JNIEXPORT jstring JNICALL Java_javademo_jni_AdemcoHbLibrary_pack2
(JNIEnv* env, jobject, jint seq, jint ademco_id, jint ademco_event, jint zone, jint gg, jstring xdata)
{
jboolean iscopy = 0;
std::string s = env->GetStringUTFChars(xdata, &iscopy);
auto xdata_ = ademco::makeXData(s.data(), s.size());
ademco::AdemcoPacket ap;
char buff[1024];
auto res = ap.make_hb(buff, sizeof(buff), static_cast<uint16_t>(seq),
nullptr, static_cast<size_t>(ademco_id), static_cast<unsigned char>(gg),
static_cast<ademco::ADEMCO_EVENT>(ademco_event), static_cast<size_t>(zone), xdata_);
if (res > 0) {
buff[res] = 0;
return env->NewStringUTF(buff);
}
return 0;
}
JNIEXPORT jstring JNICALL Java_javademo_jni_AdemcoHbLibrary_packAck
(JNIEnv* env, jobject, jint seq, jint ademco_id)
{
......
......@@ -31,6 +31,14 @@ JNIEXPORT jobject JNICALL Java_javademo_jni_AdemcoHbLibrary_parse
JNIEXPORT jstring JNICALL Java_javademo_jni_AdemcoHbLibrary_pack
(JNIEnv *, jobject, jint, jint, jint, jint, jint);
/*
* Class: javademo_jni_AdemcoHbLibrary
* Method: pack2
* Signature: (IIIIILjava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_javademo_jni_AdemcoHbLibrary_pack2
(JNIEnv *, jobject, jint, jint, jint, jint, jint, jstring);
/*
* Class: javademo_jni_AdemcoHbLibrary
* Method: packAck
......
......@@ -39,7 +39,7 @@ public class AdemcoHbLibrary
public native ParseResult parse(String pack, int pack_len);
/*
* @brief 将远程控制命令打包成网络传输数据
* @brief 将远程控制命令(不包含xdata)打包成网络传输数据
* @param[in] seq 序号
* @param[in] ademco_id 安定宝ID
* @param[in] ademco_event 安定宝事件码
......@@ -49,6 +49,18 @@ public class AdemcoHbLibrary
*/
public native String pack(int seq, int ademco_id, int ademco_event, int zone, int gg);
/*
* @brief 将远程控制命令(包含xdata)打包成网络传输数据
* @param[in] seq 序号
* @param[in] ademco_id 安定宝ID
* @param[in] ademco_event 安定宝事件码
* @param[in] zone 防区号
* @param[in] gg 分防区号
* @return String
*/
public native String pack2(int seq, int ademco_id, int ademco_event, int zone, int gg, String xdata);
/*
* @brief 打包ACK
* @param[in] seq 序号
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment