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

增加 : 频率追踪投退下发到RV核;

(cherry picked from commit db89956deb190292b8e46e64533091c6624477bd)

# Conflicts:
#	README.md
#	app_public/fuxi_public/fuxi_bsp/include/debug_print.h
#	app_public/fuxi_public/fuxi_bsp/source/dido.c
#	dtu/dtu_main_t536/app/defineSys.h
#	dtu/dtu_main_t536/app/main.c
#	dtu/dtu_main_t536/app/set.h
#	dtu/dtu_main_t536/main_mod.c
lch 3 місяців тому
батько
коміт
4a79fed537

+ 4 - 1
README.md

@@ -80,4 +80,7 @@
 
 # 20251219
 01. 合并: 液晶处理部分代码。
-02. 修改: 为提高液晶响应速度将主循环休眠时间修改为10ms。
+02. 修改: 为提高液晶响应速度将主循环休眠时间修改为10ms。
+
+# 202601(04-11)
+01. 增加 : 频率追踪投退下发到RV核;

+ 11 - 0
app_public/fuxi_public/fuxi_bsp/include/shm_api.h

@@ -116,6 +116,17 @@ struct t_shmdata_timestamp
     uint16_t us_crc;         /* crc 应用不用处理 底层接口处理 */
 } __attribute__ ((packed)); /* 大小16个字节 */
 
+/* 定值参数 */
+struct t_shmdata_cvalue
+{
+    uint16_t us_updata;    /* 数据更新标志 */
+    uint16_t us_op;        /* 操作标志 */
+    uint16_t us_op_bk;     /* 操作标志备份 */
+    uint8_t uc_freq_track; /* 频率跟踪 */
+    uint8_t uc_cv_bk;      /* 对齐使用 */
+    uint16_t us_crc;       /* crc 应用不用处理 底层接口处理 */
+} __attribute__((packed)); /* 大小16个字节 */
+
 /****************************** A核读, R核写 ******************************/
 
 /* 开入量 */

+ 26 - 0
dtu/dtu_main_t536/app/set.c

@@ -4146,6 +4146,32 @@ void get_yx_ac(u8 index, u32 type)
 	gb_yx_ac = true;
 }
 
+/**
+ * @brief          检测频率跟踪投退是否有变化
+ * @author         lch (lch_work@foxmail.com)
+ * @version        1.0
+ * @date           20260106
+ * @return         * void
+ * @retval         none
+ * 
+ * @warning        none
+ * @note           none
+ */
+void check_shmdata_change(void)
+{
+    static uint8_t suc_freq_track = 0xff;
+    struct t_shmdata_cvalue t_cvale = {0};
+
+    if (0xff == suc_freq_track)
+    {
+        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));
+    }
+}
+
 /**************************************************************************
 函数名称:MakeRunSet
 函数版本:1.00 

+ 1 - 0
dtu/dtu_main_t536/app/set.h

@@ -3196,6 +3196,7 @@ void create_set_data_txt(void); //
 void get_yx_ac(u8 index, u32 type);
 WORD GetCstValForwardAddr(const BYTE type,const int index);
 extern DWORD GetSetSQR(float ff,float fk);
+extern void check_shmdata_change(void);
 
 char *get_replace_setdisp(u8 index, u8 menu);
 

+ 2 - 0
dtu/dtu_main_t536/main_mod.c

@@ -324,6 +324,8 @@ int di_do_adc (void *unused)
 		printf("--->shmem_init success !!!\r\n");
 	}
 
+    check_shmdata_change();
+
 	// 装置类型us_machine_type (分布式:1,集中式:2)
 	struct t_shmdata_machine_type machine_type = {0};
 	machine_type.us_machine_type = 2;