#ifndef _DATA_REAL_TIME_H
#define _DATA_REAL_TIME_H

#include "bsp_type.h"
#include "menu/Manu_str.h"
#include "data_telemet_common.h"

// 遥信总数量变量声明
extern uint8_t g_yx_total_count;

// 遥测遥信数组声明
extern REAL_OPTTypeDef Telemet_opt[SUBMENU_TELEMET_NUM];
extern YX_OPTTypeDef Telesignal_opt[SUBMENU_TELESIGMAL_NUM];

// 遥控数组声明
extern Para_OPTTypeDef Remote_ctrl_opt[SUBMENU_REMOTCRTL_NUM];

/***** 函数对外声明 *****/

/**
 * @brief           初始化实时数据模块
 * @return         * void 
 * @retval         
 * 
 * @warning        
 * @note           
 */
extern void data_real_time_init(void);

/**
 * @brief           获取并更新遥信数据
 * @return         * void 
 * @retval         
 * 
 * @warning        
 * @note           参考原有GetandChange_disp_yx函数实现
 */
extern void data_real_time_get_yx_data(void);

/**
 * @brief           获取并更新遥测数据
 * @param[in]      {GET_TYPE} type 遥测类型：TYPE_YCDISPLY_PRIMARY(一次值) / TYPE_YCDISPLY_SECONDY(二次值)
 * @return         * void 
 * @retval         
 * 
 * @warning        
 * @note           参考原有Get_pageyc_data函数实现
 *                 使用公共遥测取值接口data_telemet_get_value()替代本地yc_display_handle()
 */
extern void data_real_time_get_yc_data(GET_TYPE type);

/**
 * @brief           获取遥信总数量
 * @return         * uint8_t 遥信总数量
 * @retval         
 * 
 * @warning        
 * @note           返回当前配置的遥信总数量，该值在data_real_time_get_yx_data()中更新
 */
extern uint8_t data_real_time_get_yx_count(void);

/**
 * @brief           获取并更新遥控数据
 * @return         * void 
 * @retval         
 * 
 * @warning        
 * @note           参考原有GetandChange_disp_yk函数实现
 */
extern void data_real_time_get_yk_data(void);

#endif //_DATA_REAL_TIME_H
