Переглянути джерело

修改 : 频率追踪更新方式;

lch 5 місяців тому
батько
коміт
ca7b3d8c0a
3 змінених файлів з 15 додано та 5 видалено
  1. 2 1
      README.md
  2. 10 4
      dtu/dtu_main_t536/app/set.c
  3. 3 0
      dtu/dtu_main_t536/main_mod.c

+ 2 - 1
README.md

@@ -63,4 +63,5 @@
 01. 修改 : 开出接口;
 02. 修改 : 压板赋值;
 03. 增加 : 频率追踪投退下发到RV核;
-04. 修改 : 开入防抖数据赋值;
+04. 修改 : 开入防抖数据赋值;
+05. 修改 : 频率追踪更新方式;

+ 10 - 4
dtu/dtu_main_t536/app/set.c

@@ -2284,14 +2284,14 @@ void check_shmdata_change(void)
 {
     static uint8_t suc_freq_track = 0xff;
     struct t_shmdata_cvalue t_cvale = {0};
+    
+    printf("check_shmdata_change\r\n");
 
-    if (0xff == suc_freq_track)
+    if (suc_freq_track != pRunSet->bTT_FREQ)
     {
         t_cvale.uc_freq_track = pRunSet->bTT_FREQ;
-    }
-    else if (suc_freq_track != pRunSet->bTT_FREQ)
-    {
         shm_packet_write_v2(SHM_ADDR_R_MACHINEPARAM, (uint8_t *)&t_cvale, sizeof(struct t_shmdata_cvalue));
+        suc_freq_track = pRunSet->bTT_FREQ;
     }
 }
 
@@ -3560,6 +3560,12 @@ bool MakeRunSet(bool bFirst)
 
 #if !defined CPU_FUXI
     create_set_data_txt();
+#else
+    extern int g_l_shm_init;
+    if (0 == g_l_shm_init)
+    {
+        check_shmdata_change();
+    }
 #endif
     return bRet;
 }

+ 3 - 0
dtu/dtu_main_t536/main_mod.c

@@ -31,6 +31,7 @@
 #include <pthread.h>
 // #include <alchemy/task.h>
 
+int g_l_shm_init = 0xff;
 static int m_reset; //¿´ÃŹ·¸´Î»±äÁ¿
 struct completion *g_exit_completion_gprs_net_IEC_proc;
 static int g_exit_flag;
@@ -320,10 +321,12 @@ int di_do_adc (void *unused)
     if (share_mem_init_v2(&shmem_fd) < 0)
     {
         dp_err_n_c("--->shmem_init fail !!!");
+        g_l_shm_init = -1;
         return -1;
     }
     else
     {
+        g_l_shm_init = 0;
         dp_info_n_c("--->shmem_init success !!!");
     }