Merge "[feature][SZZT-56][V2X]Added v2X automatic startup" into SZZT
diff --git a/meta/meta-mediatek-mt2731/conf/machine/auto2731evb-ivt-main.conf b/meta/meta-mediatek-mt2731/conf/machine/auto2731evb-ivt-main.conf
index c382e9a..c61969e 100755
--- a/meta/meta-mediatek-mt2731/conf/machine/auto2731evb-ivt-main.conf
+++ b/meta/meta-mediatek-mt2731/conf/machine/auto2731evb-ivt-main.conf
@@ -15,7 +15,7 @@
DEFAULTTUNE_virtclass-multilib-lib64 = "aarch64"
#LYNQ
-LYNQ_SW_VERSION = "T103R4_SZZT_v02.MP2_MR2.b02.03"
+LYNQ_SW_VERSION = "T103R4_SZZT_v02.MP2_MR2.b02.04"
SMS_INDEX = "0"
SMS_FLAG = "0"
# lynq
diff --git a/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp b/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
index 9d033cd..df2eee8 100755
--- a/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
@@ -16,6 +16,8 @@
int already_gps = 0;
int enable_nema = 0;
int sustain = 1;
+char rgmii[32] = {0};
+//char sgmii[32] = {0};
pthread_t lynq_gps_tid;
// static pthread_mutex_t s_gps_state_change_mutex = PTHREAD_MUTEX_INITIALIZER;
// static pthread_cond_t s_gps_change_cond = PTHREAD_COND_INITIALIZER;
@@ -118,53 +120,46 @@
}
void *thread_test_RGMII(void *arg){
+ char cmd[128] = {0};
FILE *fp;
- char ipv4[128] = {0};
- fp= popen("ifconfig 'eth0' | grep \"inet addr\" | cut -f 2 -d \":\" | cut -f 1 -d \" \" 2>&1", "r");
+ sprintf(cmd, "%s %s %s %s", "ping -I eth0", rgmii, "-c4", "2>&1");
+ fp=popen(cmd, "r");
if(NULL == fp){
lynq_factory_response_ttyGS3("popen errorn\n");
- return 0;
+ return NULL;
}
- fgets(ipv4,sizeof(ipv4),fp);
- if(strstr(ipv4, "error"))
+ char lynq_factory_buf[1024] = {0};
+ while (NULL != fgets(lynq_factory_buf,sizeof(lynq_factory_buf),fp))
{
- lynq_factory_response_ttyGS3("RGMII don't insert\n");
- return 0;
- }
- else
- {
- parse_ipv4(ipv4);
- char cmd[128] = {0};
- sprintf(cmd, "%s %s %s %s", "ping -I eth0", ipv4, "-c4", "2>&1");
- fp=popen(cmd, "r");
- if(NULL == fp){
- lynq_factory_response_ttyGS3("popen errorn\n");
- return 0;
- }
- char lynq_factory_buf[1024] = {0};
- while (NULL != fgets(lynq_factory_buf,sizeof(lynq_factory_buf),fp))
+ if(strstr(lynq_factory_buf, "Usage"))
{
- if(strstr(lynq_factory_buf, "Usage"))
- {
- lynq_factory_response_ttyGS3("RGMII cannot recognize IP addresses\n");
- lynq_factory_response_ttyGS3("ERROR\n");
- pclose(fp);
- return 0;
- }
- lynq_factory_response_ttyGS3(lynq_factory_buf);
+ lynq_factory_response_ttyGS3("RGMII cannot recognize IP addresses\n");
+ lynq_factory_response_ttyGS3("ERROR\n");
+ pclose(fp);
+ return NULL;
}
- lynq_factory_response_ttyGS3("OK\n");
- pclose(fp);
- return 0;
+ lynq_factory_response_ttyGS3(lynq_factory_buf);
}
+ lynq_factory_response_ttyGS3("OK\n");
+ pclose(fp);
+ return NULL;
}
-static void lynq_test_RGMII(void){
- pthread_t thid;
- if(pthread_create(&thid, NULL, thread_test_RGMII, NULL) != 0) {
+static void lynq_test_RGMII(char *argv){
+ if(argv == NULL)
+ {
+ lynq_factory_response_ttyGS3("\nERROR\n");
return;
}
- pthread_join(thid, NULL);
+ strcpy(rgmii, argv);
+ pthread_t thid;
+ pthread_attr_t a;
+ pthread_attr_init(&a);
+ pthread_attr_setdetachstate(&a, PTHREAD_CREATE_DETACHED);
+ if(pthread_create(&thid, &a, thread_test_RGMII, NULL) != 0) {
+ return;
+ }
+ //pthread_join(thid, NULL);
return;
}
@@ -549,6 +544,15 @@
return err;
}
+static void lynq_gps_close(void)
+{
+ already_gps = 0;
+ enable_nema = 0;
+ system("killall lynq-gnss-test");
+ lynq_factory_response_ttyGS3("+GPS CLOSE:OK\n");
+ return;
+}
+
int lynq_factory_read_sn()
{
int err = -1;
@@ -568,6 +572,13 @@
return err;
}
+static void lynq_gps_disable(void)
+{
+ enable_nema = 0;
+ lynq_factory_response_ttyGS3("+GPS DISABLE:OK\n");
+ return;
+}
+
int lynq_get_factory_data(int num,char *argv[MAX_ARGS]){
if(num < 4)
return -1;
@@ -583,6 +594,12 @@
else if(!strcmp(argv[3], "gps_enable")){
lynq_gps_enable();
}
+ else if(!strcmp(argv[3], "gps_disable")){
+ lynq_gps_disable();
+ }
+ else if(!strcmp(argv[3], "gps_close")){
+ lynq_gps_close();
+ }
#if 0
else if(!strcmp(argv[3], "gpsinfo")){
lynq_gpsinfo(argv[4]);
@@ -595,7 +612,7 @@
}
#endif
else if(!strcmp(argv[3], "rgmii")){
- lynq_test_RGMII();
+ lynq_test_RGMII(argv[4]);
}
else if((!strcmp(argv[3],"adc")))
{