From 65a094bd57829118503802220b7125053c643c41 Mon Sep 17 00:00:00 2001
From: qvyuanxin <qvyuanxin@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 04 七月 2017 18:58:25 +0800
Subject: [PATCH] 

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp |   92 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 91 insertions(+), 1 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
index 6aa67c6..902077f 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -17,7 +17,7 @@
 #include <stdlib.h>
 
 #include "DebugNetwork.h"
-
+#include "serial.h"
 //#include <mediastreamer2/include/mediastreamer2/msjava.h>
 
 std::stringstream logss;
@@ -691,3 +691,93 @@
 }
 
 }
+
+
+void Delay(unsigned int nDelay)
+{
+    unsigned int i,j,k;
+    for ( i=0;i<nDelay;i++ )
+        for ( j=0;j<6144;j++ )
+            k++;
+}
+
+void callNum(int fd,char phone)
+{
+    switch ( phone)
+    {
+        case '1':
+            serialWriteString(fd,"DA");//1
+            break;
+        case '2':
+            serialWriteString(fd,"DB");//2
+            break;
+        case '3':
+            serialWriteString(fd,"DC");//3
+            break;
+        case '4':
+            serialWriteString(fd,"DD");//4
+            break;
+        case '5':
+            serialWriteString(fd,"DE");//5
+            break;
+        case '6':
+            serialWriteString(fd,"DF");//6
+            break;
+        case '7':
+            serialWriteString(fd,"DG");//7
+            break;
+        case '8':
+            serialWriteString(fd,"DH");//8
+            break;
+        case '9':
+            serialWriteString(fd,"DI");//9
+            break;
+        case '0':
+            serialWriteString(fd,"DJ");//0
+            break;
+    }
+}
+
+void call(const char * phone)
+{
+    int  fd = serialOpen("/dev/ttyS1",2400);
+    serialWriteString(fd,"AA");
+    Delay(10000);
+   while (*phone)
+   {
+       Delay(10000);
+       callNum(fd,*(phone++));
+   }
+}
+
+
+char* jstringTostring(JNIEnv* env, jstring jstr)
+{
+char* rtn = NULL;
+jclass clsstring = env->FindClass("java/lang/String");
+jstring strencode = env->NewStringUTF("utf-8");
+jmethodID mid = env->GetMethodID(clsstring, "getBytes", "(Ljava/lang/String;)[B");
+jbyteArray barr= (jbyteArray)env->CallObjectMethod(jstr, mid, strencode);
+jsize alen = env->GetArrayLength(barr);
+jbyte* ba = env->GetByteArrayElements(barr, JNI_FALSE);
+if (alen > 0)
+{
+rtn = (char*)malloc(alen + 1);
+
+memcpy(rtn, ba, alen);
+rtn[alen] = 0;
+}
+env->ReleaseByteArrayElements(barr, ba, 0);
+return rtn;
+}
+
+void Java_cn_com_basic_face_util_RtspFaceNative_telCall(JNIEnv* env, jclass clazz,jstring phone)
+ {
+     call(jstringTostring(phone));
+ }
+
+ void Java_cn_com_basic_face_util_RtspFaceNative_Hang(JNIEnv* env, jclass clazz)
+ {
+       int  fd = serialOpen("/dev/ttyS1",2400);
+           serialWriteString(fd,"BA");
+ }
\ No newline at end of file

--
Gitblit v1.8.0