inwudriver-weibo/app/mrs/cco/mrs_cco_srv.h

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__ */