初始提交
This commit is contained in:
122
inc/host_interface/plc/iot_cli_plc_module.h
Normal file
122
inc/host_interface/plc/iot_cli_plc_module.h
Normal file
@@ -0,0 +1,122 @@
|
||||
/****************************************************************************
|
||||
|
||||
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
||||
|
||||
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
||||
be copied by any method or incorporated into another program without
|
||||
the express written consent of Aerospace C.Power. This Information or any portion
|
||||
thereof remains the property of Aerospace C.Power. The Information contained herein
|
||||
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
||||
liability for its use in any way and conveys no license or title under
|
||||
any patent or copyright and makes no representation or warranty that this
|
||||
Information is free from patent or copyright infringement.
|
||||
|
||||
****************************************************************************/
|
||||
#ifndef IOT_CLI_PLC_MODULE_H
|
||||
#define IOT_CLI_PLC_MODULE_H
|
||||
|
||||
/* os shim includes */
|
||||
#include "os_types.h"
|
||||
#include "os_task.h"
|
||||
#include "os_event.h"
|
||||
#include "os_timer_api.h"
|
||||
|
||||
#include "iot_task.h"
|
||||
#include "iot_utils.h"
|
||||
#include "iot_queue.h"
|
||||
#include "iot_ipc_api.h"
|
||||
|
||||
#include "iot_plc_cco_api.h"
|
||||
#include "iot_plc_sta_api.h"
|
||||
#include "iot_plc_lib.h"
|
||||
|
||||
#include "iot_cli.h"
|
||||
#include "iot_cli_sg_api.h"
|
||||
#include "iot_cli_ckb.h"
|
||||
#include "iot_cli_sg.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#pragma pack(push) /* save the pack status */
|
||||
#pragma pack(1) /* 1 byte align */
|
||||
|
||||
typedef struct _iot_plc_host_config_t {
|
||||
/** a flag indicating if app registered successfully */
|
||||
uint8_t app_registered;
|
||||
/* handle of this app */
|
||||
iot_plc_app_h app_handle;
|
||||
/* event indicate if there are message in the queue to be handled */
|
||||
os_event_h ready_event;
|
||||
/* tei of local device */
|
||||
uint16_t dev_tei;
|
||||
/* role of local device */
|
||||
uint8_t dev_role;
|
||||
/* type of local device. see IOT_PLC_DEV_TYPE_XXX */
|
||||
uint8_t dev_type;
|
||||
/* mac address of local device */
|
||||
uint8_t mac_addr[IOT_MAC_ADDR_LEN];
|
||||
/* mac address of CCo */
|
||||
uint8_t cco_mac[IOT_MAC_ADDR_LEN];
|
||||
/* topo count in one packet for plc manager */
|
||||
uint16_t topo_count_in_packet;
|
||||
/* ckb auto query start index */
|
||||
uint16_t topo_query_start_index;
|
||||
/* if continually query topo */
|
||||
uint8_t continue_query : 1,
|
||||
/* ckb query miss topo data */
|
||||
query_miss_topo : 1,
|
||||
/* topo version, see IOT_PLC_CCO_TOPO_REQ_DATA_VER_XXX */
|
||||
topo_ver : 4,
|
||||
/* reserved for further use */
|
||||
rsvd : 2;
|
||||
/* network sn */
|
||||
uint8_t network_sn;
|
||||
/* switch part */
|
||||
uint8_t switch_flag;
|
||||
/* ipc handler */
|
||||
iot_ipc_h ipc_h;
|
||||
|
||||
#if IOT_TPUT_APP_ENABLE
|
||||
iot_cli_tput_interface_t *cli_tput_interface;
|
||||
#endif
|
||||
|
||||
#if IOT_CLI_SG_INTERFACE_ENABLE
|
||||
/* cli host app config */
|
||||
iot_cli_sg_interface_t *cli_sg_interface;
|
||||
#endif /* IOT_CLI_SG_INTERFACE_ENABLE */
|
||||
|
||||
#if IOT_CLI_CKB_ADDR_MAPPING
|
||||
cli_app_cmd_mapping_item* cmd_mapping_table;
|
||||
os_mutex_h m_mapping_table_lock;
|
||||
#endif /* IOT_CLI_CKB_ADDR_MAPPING */
|
||||
|
||||
#if PLC_SUPPORT_CCO_ROLE
|
||||
|
||||
/* req id for cli search meter result*/
|
||||
uint8_t cli_request_id;
|
||||
/* network protocol see - IOT_SG_APP_PROTO_XX */
|
||||
uint8_t proto : 2,
|
||||
reserved : 6;
|
||||
/* network formation done */
|
||||
uint8_t nw_fmt_done;
|
||||
/* route learning done */
|
||||
uint8_t route_learn_done;
|
||||
uint8_t cli_upgrade_enabled;
|
||||
/* cmd src mac addr */
|
||||
uint8_t cmd_src_addr[IOT_MAC_ADDR_LEN];
|
||||
/* nid */
|
||||
uint32_t nid;
|
||||
/* rpt topo data timer */
|
||||
timer_id_t topo_data_timer;
|
||||
#endif
|
||||
} iot_plc_host_config_t;
|
||||
|
||||
#pragma pack(pop) /* restore the pack status */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user