105 lines
3.7 KiB
C
105 lines
3.7 KiB
C
/****************************************************************************
|
|
|
|
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_SG_CTRL_API_H
|
|
#define IOT_CLI_SG_CTRL_API_H
|
|
|
|
#include "os_types_api.h"
|
|
|
|
#include "iot_pkt_api.h"
|
|
#include "iot_utils_api.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#pragma pack(push) /* save the pack status */
|
|
#pragma pack(1) /* 1 byte align */
|
|
|
|
/** message id used for cli report message to sg ctrl */
|
|
#define IOT_CLI_SG_CTRL_MSG_REQ_JOIN_NODE (0x01)
|
|
#define IOT_CLI_SG_CTRL_MSG_REQ_DATA_DL (0x02)
|
|
|
|
/** message id used for sg ctrl report message to cli */
|
|
#define IOT_CLI_SG_CTRL_MSG_RPT_IS_READY (0x01)
|
|
#define IOT_CLI_SG_CTRL_MSG_RPT_DATA_UL (0x02)
|
|
|
|
/** translate packet proto type */
|
|
#define IOT_CTRL_PROTO_3762 (0x00)
|
|
#define IOT_CTRL_PROTO_SPG (0x01)
|
|
#define IOT_CTRL_PROTO_INVALID (0xFF)
|
|
|
|
typedef struct _iot_cli_sg_ctrl_join_node_dl {
|
|
/** connect node mac address : big endian */
|
|
uint8_t node[IOT_MAC_ADDR_LEN];
|
|
/** node band id */
|
|
uint8_t band_id;
|
|
/** 1 - ckq connect; 0 - ckb connect */
|
|
uint8_t ckq;
|
|
} iot_cli_sg_ctrl_join_node_dl;
|
|
|
|
typedef struct _iot_cli_sg_ctrl_join_node_ack {
|
|
/** 0 - receive join node ack, other is wrong */
|
|
uint8_t result;
|
|
} iot_cli_sg_ctrl_join_node_ack;
|
|
|
|
/** cli notify plc mgr state to sg */
|
|
typedef struct _iot_cli_sg_ctrl_is_ready {
|
|
/** new state of plc mgr 0 - is disconnect, 1 - connect */
|
|
uint8_t ready;
|
|
/** mac address of the device had connected */
|
|
uint8_t mac[IOT_MAC_ADDR_LEN];
|
|
} iot_cli_sg_ctrl_is_ready_t;
|
|
|
|
/** plc mgr send cctt data to ctrl sg */
|
|
typedef struct _iot_cli_sg_ctrl_data_dl {
|
|
/** reserved space for future use. */
|
|
uint8_t reserved[16];
|
|
/** app proto packet sequence number */
|
|
uint16_t app_sn;
|
|
/** cctt proto type see - IOT_CTRL_PROTO_XXX */
|
|
uint8_t proto;
|
|
/** data length */
|
|
uint16_t data_len;
|
|
/** cctt data */
|
|
uint8_t data[0];
|
|
} iot_cli_sg_ctrl_data_dl_t;
|
|
|
|
typedef struct _iot_cli_sg_ctrl_data_dl_ack {
|
|
/** 0 - receive data ok, see ERR_XX */
|
|
uint8_t result;
|
|
uint16_t app_sn;
|
|
} iot_cli_sg_ctrl_data_dl_ack_t;
|
|
|
|
/** sg ctrl uplink data to plc mgr */
|
|
typedef struct _iot_cli_sg_ctrl_data_ul {
|
|
/** reserved space for future use. */
|
|
uint8_t reserved[16];
|
|
/** cctt proto type see - IOT_CTRL_PROTO_XXX */
|
|
uint8_t proto;
|
|
/** uplink data length */
|
|
uint16_t data_len;
|
|
/** uplink data */
|
|
uint8_t data[0];
|
|
} iot_cli_sg_ctrl_data_ul_t;
|
|
|
|
#pragma pack(pop) /* restore the pack status */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* IOT_CLI_SG_CTRL_API_H */
|