初始提交
This commit is contained in:
143
inc/host_interface/iot_cli_host_interface.h
Executable file
143
inc/host_interface/iot_cli_host_interface.h
Executable file
@@ -0,0 +1,143 @@
|
||||
/****************************************************************************
|
||||
|
||||
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_HOST_INTERFACE_H
|
||||
#define IOT_CLI_HOST_INTERFACE_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_uart_h.h"
|
||||
|
||||
#include "iot_cli_module_config.h"
|
||||
#include "iot_cli.h"
|
||||
#include "iot_cli_msg.h"
|
||||
#include "iot_cli_common.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#pragma pack(push) /* save the pack status */
|
||||
#pragma pack(1) /* 1 byte align */
|
||||
|
||||
typedef void(*HOST_SEND_PACKAGE_EVENT_CB) (uint32_t moduleid,
|
||||
uint32_t msgid, uint8_t *buffer, uint32_t length, uint16_t sn,
|
||||
uint8_t *src_mac);
|
||||
|
||||
/* module id */
|
||||
#define MODULEID_HOSTINTERFACE (2)
|
||||
/* request id */
|
||||
#define CLI_HOST_USE_API_BY_PLCM (1)
|
||||
|
||||
typedef struct _iot_cli_host_info_t {
|
||||
/* link id used for sending msdu */
|
||||
uint8_t link_id;
|
||||
/* handle of task for this app */
|
||||
os_task_h host_task_h;
|
||||
/* send ul package callback*/
|
||||
HOST_SEND_PACKAGE_EVENT_CB pfunc_send_ul_package;
|
||||
/* mac address of local device */
|
||||
uint8_t mac_addr[IOT_MAC_ADDR_LEN];
|
||||
/* plc_mgr_state */
|
||||
uint8_t host_app_state;
|
||||
/* plc mgr live flag */
|
||||
uint8_t host_app_live;
|
||||
/* live query timer */
|
||||
timer_id_t live_timer;
|
||||
/* log timer */
|
||||
timer_id_t log_timer;
|
||||
/* is ready flag */
|
||||
/* bit7: ctrl proto connect flag */
|
||||
uint8_t is_ready;
|
||||
/* hplc link load, value: 0 - 100 */
|
||||
uint8_t link_load;
|
||||
} iot_cli_host_info_t;
|
||||
|
||||
typedef void(*CLI_MSG_HANDLER)(uint8_t *buffer, uint32_t len, uint8_t *src_mac);
|
||||
typedef struct _CLI_MSG_ENTRY
|
||||
{
|
||||
cli_moduleid_t module_id;
|
||||
uint32_t msg_id;
|
||||
CLI_MSG_HANDLER pFun;
|
||||
}*PCLI_MSG_ENTRY, CLI_MSG_ENTRY;
|
||||
|
||||
uint8_t iot_cli_host_interface_init(HOST_SEND_PACKAGE_EVENT_CB cb,
|
||||
iot_task_h task_h);
|
||||
void iot_cli_host_interface_deinit();
|
||||
|
||||
uint8_t iot_cli_host_interface_handle_msg(
|
||||
cli_moduleid_t moduleid, uint32_t msgid, iot_cli_msg_t *msg);
|
||||
uint8_t iot_cli_host_interface_handle_task_msg(
|
||||
iot_cli_msg_t *cli_msg, uint16_t id);
|
||||
uint8_t iot_cli_host_interface_cancel_task_msg(
|
||||
iot_cli_msg_t *cli_msg, uint16_t id);
|
||||
void iot_cli_host_interface_init_uart(
|
||||
commnucator_t * com, uint8_t interface_type);
|
||||
uint8_t cli_execute_msg_entry(
|
||||
cli_moduleid_t moduleid, uint32_t msgid,
|
||||
CLI_MSG_ENTRY *msg_entry, iot_cli_msg_t *msg);
|
||||
|
||||
// for cli module interface
|
||||
void iot_cli_module_init_uart(
|
||||
commnucator_t * com, uint8_t interface_type);
|
||||
uint8_t iot_cli_proto_module_init();
|
||||
void iot_cli_proto_module_deinit();
|
||||
uint8_t iot_cli_module_handle_msg(
|
||||
cli_moduleid_t moduleid, uint32_t msgid, iot_cli_msg_t *msg);
|
||||
uint8_t iot_cli_module_handle_task_msg(
|
||||
iot_cli_msg_t *cli_msg, uint16_t id);
|
||||
uint8_t iot_cli_module_cancel_task_msg(
|
||||
iot_cli_msg_t *cli_msg, uint16_t id);
|
||||
|
||||
/**
|
||||
* @brief iot_cli_host_is_ctrl_connected - check is ctrl connected
|
||||
* @retval: 1 - is ctrl connected, 0 - is not.
|
||||
*/
|
||||
uint8_t iot_cli_host_is_ctrl_connected();
|
||||
/**
|
||||
* @brief iot_cli_host_set_ctrl_connected - set ctrl connect
|
||||
* @param enable: 1 - set ctrl connected flag, 0 - clean ctrl connected
|
||||
* flag.
|
||||
*/
|
||||
void iot_cli_host_set_ctrl_connected(uint8_t setting);
|
||||
|
||||
|
||||
/**
|
||||
* @brief iot_cli_host_is_join_connected - check is join connected
|
||||
* @retval: 1 - is join connected, 0 - is not.
|
||||
*/
|
||||
uint8_t iot_cli_host_is_join_connected();
|
||||
/**
|
||||
* @brief iot_cli_host_set_join_connected - set join connect
|
||||
* @param enable: 1 - set join connected flag, 0 - clean join connected
|
||||
* flag.
|
||||
*/
|
||||
void iot_cli_host_set_join_connected(uint8_t setting);
|
||||
|
||||
#pragma pack(pop) /* restore the pack status */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* IOT_CLI_HOST_INTERFACE_H */
|
||||
Reference in New Issue
Block a user