55 lines
1.3 KiB
C
55 lines
1.3 KiB
C
|
|
/*
|
||
|
|
* Copyright (c) CompanyNameMagicTag 2019-2020. All rights reserved.
|
||
|
|
* Description: MRS cco service.
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifndef MRS_CCO_SERVICE_H__
|
||
|
|
#define MRS_CCO_SERVICE_H__
|
||
|
|
|
||
|
|
#include "mrs_cco_mr_manage.h"
|
||
|
|
|
||
|
|
#if defined(PRODUCT_CFG_PRODUCT_TYPE_CCO)
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
#define MRS_CCO_STATUS_IDLE (0x00)
|
||
|
|
#define MRS_CCO_STATUS_SEARCH_METER (0x01)
|
||
|
|
#define MRS_CCO_STATUS_UPGRADE (0x02)
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
mr_task_list_head mr_list_head;
|
||
|
|
mrs_mr_pool mr_pool;
|
||
|
|
|
||
|
|
td_u8 simu_ch_status;
|
||
|
|
td_u8 seq;
|
||
|
|
td_u8 main_node[EXT_METER_ADDR_LEN];
|
||
|
|
|
||
|
|
td_u8 status; /* working status: 0-idle; 0x01-search meter; 0x02-upgrade */
|
||
|
|
td_bool chl_status; /* PLC channel status */
|
||
|
|
td_u16 plc_seq;
|
||
|
|
} mrs_cco_srv_ctx;
|
||
|
|
|
||
|
|
typedef td_void (*mrs_msg_timer_func)(td_void);
|
||
|
|
typedef struct {
|
||
|
|
mrs_timer_id id;
|
||
|
|
mrs_msg_timer_func func;
|
||
|
|
} mrs_msg_timer_func_map;
|
||
|
|
|
||
|
|
mrs_cco_srv_ctx *mrs_cco_get_srv_ctx(td_void);
|
||
|
|
td_u32 mrs_cco_srv_init(td_void);
|
||
|
|
td_void mrs_cco_simu_ctrl(td_bool enable);
|
||
|
|
td_bool mrs_cco_simu_status(td_void);
|
||
|
|
td_void mrs_cco_setup_whitelist(td_void);
|
||
|
|
|
||
|
|
#define mrs_srv_init() mrs_cco_srv_init()
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#endif /* defined(PRODUCT_CFG_PRODUCT_TYPE_CCO) */
|
||
|
|
#endif /* __MRS_CCO_SERVICE_H__ */
|
||
|
|
|